[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