[SCIP] Restart after root node

Jens Leoff jens.leoff at itwm.fraunhofer.de
Mon Aug 31 08:33:16 CEST 2015


Hi,

I also tried to write a heuristic to solve my Branch & Price problem as 
Price & Branch. I tried to copy the node problem to a subscip where I 
change the constraints to be non-modifiable. Apart from that the scips 
differ in what plugins are included (no pricer, but e.g. separators).
However, I also wasn't able to produce the same results this way as one 
can obtain by writing the node problem as a MIP and solving this 
separately with scip.

I guess this kind of heuristic would be interesting for lots of Branch & 
Price applications.
So, I would like to know how to do this properly as well.

Best,

Jens


On 31.08.2015 08:06, Jakob Witzig wrote:
> Hi Emily,
>
> you can use the method SCIPvarChgType to convert the variables into 
> integers, but the method can only be called if the variables are not 
> part of the problem, e.g., before you call SCIPtransformProb. Do you 
> use sub-SCIPs to solve your subproblems? If yes, than you can call the 
> method mentioned above before you start solving the subproblem.
>
> I don't get the connection between your two ways. Why is changing the 
> variables and changing the modifiability flag of the constraint 
> equivalent?
>
> If you restart your problem SCIP tries to transform cuts into globally 
> valid constraints and will fix all variables that have equal global 
> upper and lower bounds, i.e., the variables can removed from the 
> problem. Hence, if you could not tighten the bounds of your variables 
> enough or you didn't found global valid cuts a restart directly after 
> the root will give you the same problem as before.
>
> I think changing the flags of a constraint should be done before you 
> start solving your subproblem.
>
> Best,
> Jakob
>
>
> On 08/31/15 04:38, Aao Du wrote:
>> Dear all,
>>
>> I have a decomposed model, a master problem and subproblems. I am trying
>> to perform pricing only at the root node, and then change the variables
>> to integer and solve it again. I have tried two ways. One is to print
>> the lp format of the problem after root node, with variables as integer,
>> and give it to SCIP binaries. In this way, the second part of the
>> solving process ( solving the final master problem with binaries) is
>> performed fast.
>> The other way, is to define the variables as integer from begining, and
>> stop pricing at the root node, and change the constarints to
>> unmodifiable. In this way, after the lp of master problem is solved, it
>> takes way more than the first method to solve it. Following a previous
>> email, I tried to restart the master problem after root node, but it did
>> not make any change in the time. I thought maybe i am doing sth wrong.
>> What is the proper place in the pricerobj to change the modifiable flag
>> of constraints? I think it should be somewhere before redcost, or maybe
>> in it.
>>
>> Sorry for the long email.
>>
>> Thanks,
>> Emily
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>>
>
>

-- 
Jens Leoff
Abteilung Optimierung

Fraunhofer-Institut für
Techno- und Wirtschaftsmathematik ITWM

Fraunhofer-Platz 1
D-67663 Kaiserslautern

Telefon:  +49 (0)631 / 31600-4708
Fax:      +49 (0)631 / 31600-1099
E-Mail:   jens.leoff at itwm.fraunhofer.de
Internet: www.itwm.fraunhofer.de



More information about the Scip mailing list