[SCIP] Reoptimization
Ambros Gleixner
gleixner at zib.de
Mon Jul 3 17:54:54 CEST 2023
Hi Thiago,
> I imagine that SCIP is somehow taking advantage of the solution of the
> last LP resolved to solve the next one, I would like to disable this.
No, after SCIPfreeTransform(), all solving information should be gone,
so there is nothing you need to disable.
> However, after some problems solved, I have an error due to numerical
> instability. However, when writing each of the LPS and solving them
> separately, I don't have this error.
This is most likely due to minimal numerical differences or a different
order of variables and constraints when writing and reading the problems.
Generally, SCIP is not the right tool if you want to solve a sequence of
LPs most efficiently. It works, but like this you do not profit from
warm starts as you would when you use a (simplex-based) LP solver
directly. (The reoptimization feature you mention is meant for warm
starting the branch-and-bound search under specific conditions on the
problem modifications, so the integer part of the MIP.)
Nevertheless, you could file a bug report with more details on
github.com/scipopt/scip regarding the numerical issues.
Best,
Ambros
Am 03.07.2023 um 11:35 schrieb Thiago NOVAES:
> Hi,
>
> I'm having a problem that I can't solve even after consulting the
> appropriate documentation and channels.
>
> What I want to do is solve a sequence of LPs, between each problem I
> make modifications (e.g. add variables and constraints, modify variables
> and constraints...). Initially I used SCIPfreeTransforme() after every
> SCIPsolve().
>
> However, after some problems solved, I have an error due to numerical
> instability. However, when writing each of the LPS and solving them
> separately, I don't have this error.
>
> I imagine that SCIP is somehow taking advantage of the solution of the
> last LP resolved to solve the next one, I would like to disable this. I
> found this link https://www.scipopt.org/doc-4.0.1/html/REOPT.php
> <https://www.scipopt.org/doc-4.0.1/html/REOPT.php>which seems to be what
> I need.
>
> The problem is that even using SCIPenableReoptimization() and
> SCIPfreeReoptSolve(), I can't use SCIPchgCoefLinear(), because I'm not
> in the correct stage.
>
> If I use SCIPenableReoptimization() and SCIPfreeTransforme() I get an
> error saying "ERROR: constraint handler <benderslp> already initialized".
>
> I don't know if my explanation is clear, but my problem seems to be the
> same one described here:
> https://stackoverflow.com/questions/72027891/resolving-lps-with-constraint-addition-deletion-in-scip <https://stackoverflow.com/questions/72027891/resolving-lps-with-constraint-addition-deletion-in-scip>
>
> Could you send me a small example using SCIPenableReoptimization(),
> resolving an LP, then making additions and modifications and solving the
> problem again?
>
> Best Regards,
>
> Thiago NOVAES
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
More information about the Scip
mailing list