[SCIP] Using SCIPdisableCons in problem creation stage

Gregor Hendel hendel at zib.de
Thu Oct 10 08:47:38 CEST 2019


Hello Lan,

find the answers to your two questions inline.

Am 10.10.19 um 01:40 schrieb Ngô Lan:
>
> Hi Gregor,
>
>
> Thank you for your reply. It works now. Would it be possible to add 
> the deleted constraints again to scip? Ideally, when a node is entered 
> again, I would like to enable the constraint instead of creating a new 
> one. My code does not run yet so I haven't had chance to test it.
>
As long as you do not release the constraint pointers (using 
SCIPreleaseCons()), SCIP will not physically delete the constraint, but 
only remove it from the problem, so that you can later add them again. 
An explanation of the capture/release mechanism for variables can be 
found here https://scip.zib.de/doc/html/OBJ.php, the explanation also 
applies to constraints.
>
>
> I also have another problem with the child nodes. So for branching, I 
> created a linear branching constraint and a marker constraint from my 
> constraints handler and added them into a child node (sticking at node 
> is true). However, in subscip when I check in which branch I am at 
> using SCIPconsIsActive, I get true even for the constraints that 
> were not created in this node. Do you have any idea where things might 
> go wrong?
>
As far as I understand your approach, all constraints of the subscip 
should be active, because at every node (of the main solving process), 
you free the transformed problem of the subscip and then you add exactly 
those constraints that reflect your current branching decision. Are you 
using SCIPconsIsActive on the main solving process constraints, or on 
the subscip constraints? For the main SCIP, I expect that all branching 
constraints (there might be several ones along the path from the root) 
are active, and the rest is not active.

Kind regards,
Gregor

>
> Best,
>
> Lan
>
> ------------------------------------------------------------------------
> *From:* Scip <scip-bounces at zib.de> on behalf of Gregor Hendel 
> <hendel at zib.de>
> *Sent:* 09 October 2019 10:32:17
> *To:* scip at zib.de
> *Subject:* Re: [SCIP] Using SCIPdisableCons in problem creation stage
> Good morning Lan,
>
> how about using SCIPdelCons() instead of SCIPdisableCons()?
>
> Let me know if that works for you,
> Gregor
>
> Am 09.10.19 um 01:03 schrieb Ngô Lan:
>>
>> Hi all,
>>
>>
>> I am solving a project scheduling problem using branch-price-cut and 
>> I am having an issue with SCIPdisableCons function. So after each 
>> pricing iteration, I will not release the subscip but only free the 
>> transformed problem using SCIPfreetransform and modify the objective 
>> function of the subscip in the next iteration. During branching, in 
>> CONSACTIVE, I will create an additional constraint for the subproblem 
>> depending on the branching decision and in CONSDEACTIVE, I will 
>> disable the related constraint using SCIPdisableCons. However, I got 
>> the error: cannot call method <SCIPdisableCons> in problem creation 
>> stage. Do you know another function that can work? Or what should I 
>> do differently?
>>
>>
>> Thank you for your time,
>>
>>
>> Best,
>>
>> Lan
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20191010/d53ad9c4/attachment.html>


More information about the Scip mailing list