[SCIP] Restart after root node

Jakob Witzig witzig at zib.de
Tue Sep 1 09:41:17 CEST 2015


Hi Emily,

probably the presolving in the second case is finished earlier because 
[i] presolving after a restarts is reduced (but I'm not sure) [ii] the 
presolver itself remember that they could not find anything (because 
your constraints were modifiable) and they do not run.

If you want, you can send me your two log-files and I will have a look 
at it.

Best,
Jakob

On 08/31/15 15:57, Aao Du wrote:
> Hi Jacob,
>
> I believe I did not explain my question well. Here are the two methods I
> have tried:
> 1) Solve the master problem at the root node. Change the variables type
> and write it as an lp file.Then solve the MIP separately with SCIP.
> 2) Define the variables as integer from the beginning. After the root
> node, restart the scip and change the modifiable flag of constraints.
>
> Now these two methods solve in two significantly different solution
> time. From the log files, I figured the number of variables in the final
> master problem is decreased in the first method after presolving by
> SCIP. However, in the second method, after the scip is restarted(which I
> think does the presolving too), the number of variables stay the same.
> I would appreciate if you can help me figure out the reason
>
> Thanks,
> Emily
>
> On Mon, Aug 31, 2015 at 4:19 AM, Jakob Witzig <witzig at zib.de
> <mailto:witzig at zib.de>> wrote:
>
>     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 <tel:31.08.2015%2008>: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 <mailto: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 <tel:%2B49%20%280%2930%2084185-416>
>     Fax  : +49 (0)30 84185-269 <tel:%2B49%20%280%2930%2084185-269>
>     email: witzig at zib.de <mailto:witzig at zib.de>
>     _______________________________________________
>     Scip mailing list
>     Scip at zib.de <mailto: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