[SCIP] Restart after root node

Jakob Witzig witzig at zib.de
Mon Aug 31 10:19:36 CEST 2015


Hi Jens,

what do you mean was 'differ in the results'? Only solving time and 
nodes? The problem is, that the variable order can change if you write 
the problem is an lp file. You can try to write your problem as an mps 
or cip file.

If you want, you can send me the log-files including the statistics of 
the two solves (1: copy into a subscip, 2: write as an lp and solve 
separately) and I will have a look on it.

Best,
Jakob

On 08/31/15 08:33, Jens Leoff wrote:
> 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
>>>
>>
>>
>


-- 
Jakob Witzig

Konrad-Zuse-Zentrum für
Informationstechnik Berlin (ZIB)

Division Mathematical Optimization and Scientific Information
Research Group Mathematical Optimization Methods

Takustrasse 7
14195 Berlin

Tel. : +49 (0)30 84185-416
Fax  : +49 (0)30 84185-269
email: witzig at zib.de


More information about the Scip mailing list