[SCIP] "Resolve instable" in SCIP statistics?
Marc Pfetsch
pfetsch at mathematik.tu-darmstadt.de
Mon Dec 21 12:56:14 CET 2020
Hi Christian,
the lines
> Warning: unscaled dual violation = 1.07138e-06 and residual = 1.07138e-06
> (node 1) numerical troubles in LP 117 -- solve again with primal
simplex without scaling
indicate the behavior I explained earlier. Gurobi terminates with the
status that the unscaled problem is not feasible (or rather very
slightly infeasible). The SCIP tries to recover.
You can add a call to SCIPlpiWriteLP() in the file lpi_grb.c in function
SCIPlpiSolveDual() to write out the files.
Best
Marc
On 20/12/2020 14:03, Franzen, Christian wrote:
> Hi Marc.
>
>
> I did some further investigation and the log output of Gurobi indicates
> some numerical issues:
>
>
> ...
>
> Gurobi Optimizer version 9.0.2 build v9.0.2rc0
> Optimize a model with 32793 rows, 102025 columns and 2555610 nonzeros
> Coefficient statistics:
> Matrix range [1e+00, 2e+03]
> Objective range [3e+01, 6e+05]
> Bounds range [1e+00, 1e+00]
> RHS range [1e+00, 5e+04]
> Iteration Objective Primal Inf. Dual Inf. Time
> 0 4.3786197e+07 0.000000e+00 1.667889e+04 0s
> 1152 4.3786110e+07 0.000000e+00 0.000000e+00 1s
>
> Solved in 1152 iterations and 0.90 seconds
> Optimal objective 4.378611043e+07
> Warning: unscaled dual violation = 1.07138e-06 and residual = 1.07138e-06
> (node 1) numerical troubles in LP 117 -- solve again with primal simplex
> without scaling
> ...
> ...
> Gurobi Optimizer version 9.0.2 build v9.0.2rc0
> Optimize a model with 32326 rows, 87534 columns and 2182273 nonzeros
> Coefficient statistics:
> Matrix range [1e+00, 2e+03]
> Objective range [3e+01, 6e+05]
> Bounds range [1e+00, 1e+00]
> RHS range [1e+00, 5e+04]
> Iteration Objective Primal Inf. Dual Inf. Time
> 0 4.4043728e+07 0.000000e+00 4.354066e+04 0s
> Warning: 1 variables dropped from basis
> Warning: switch to quad precision
> 2506 4.4034847e+07 0.000000e+00 1.764252e+04 5s
> 3271 4.4034676e+07 0.000000e+00 0.000000e+00 8s
>
> Solved in 3271 iterations and 8.15 seconds
> Optimal objective 4.403467558e+07
> ...
>
> Do I have any chance, to get an LP file of the program with that
> numerical issues? I tried to output the LP file at the end of each
> pricing iteration within my pricer, but that does not output exactly the
> LP that is solved in above examples? Is there anything else I can do to
> figure out the root cause of that issues?
>
> Regards
> Christian
>
> ------------------------------------------------------------------------
> *Von:* Scip <scip-bounces at zib.de> im Auftrag von Franzen, Christian
> <franzen at or.rwth-aachen.de>
> *Gesendet:* Sonntag, 20. Dezember 2020 09:58
> *An:* Marc Pfetsch; scip at zib.de
> *Betreff:* Re: [SCIP] "Resolve instable" in SCIP statistics?
>
>
> Hi Marc.
>
>
> Thanks for your support. I am using Gurobi as LP-solver. Scale of the
> coefficients should be fine, they are all between 1e2 and 1e6, however I
> have some Big-M's in my objective function that I can not get rid of. I
> am wondering why I run into stability issues only when I solve my LP for
> some time (e.g., for a day). It seems to me that after some time my
> pricer generates columns that imply that issues. I will activate LP
> solver logging and see if Gurobi is giving me some hints.
>
>
> Regards
>
> Christian
>
>
>
> ------------------------------------------------------------------------
> *Von:* Scip <scip-bounces at zib.de> im Auftrag von Marc Pfetsch
> <pfetsch at mathematik.tu-darmstadt.de>
> *Gesendet:* Freitag, 18. Dezember 2020 20:58
> *An:* scip at zib.de
> *Betreff:* Re: [SCIP] "Resolve instable" in SCIP statistics?
>
>
>
> Hi Christian,
>
> the "resolve instable" indeed refers to the work that SCIP and the
> LP-solver try to obtain a numerically correct result. SCIP checks
> whether the solution returned by the solver is actually feasible. If
> this is not the case, then it tries to switch the LP-solver from dual to
> primal, tries to tighten the feasibility tolerance, starts from scratch
> (no warm start) etc.
>
> In your case, the LP-solver seems to struggle with the LP-relaxation.
> Which solver are you using?
>
> You can try to improve your model, e.g., by scaling or checking that you
> do not have very large coefficients together with very small ones in
> constraints or the coefficients. You can also check whether you have
> big-Ms in the model that you might be able to reduce. But first should
> probably turn on the output of the LP-solver to maybe get an idea of
> what is going wrong (parameter display/lpinfo).
>
> Best
>
> Marc
>
>
>
> On 18/12/2020 13:56, Franzen, Christian wrote:
>> Hi SCIP Team.
>>
>>
>> I am implementing a branch-and-price solver and for one of my benchmark
>> instances solving is significantly slower than for other instances. In
>> the statistics of SCIP is see the following output:
>>
>>
>> LP : Time Calls Iterations Iter/call
>> Iter/sec Time-0-It Calls-0-It ItLimit
>> primal LP : 39822.63 1350 22117847 22431.89
>> 555.41 80.20 364
>> dual LP : 903.64 9 622937 69215.22
>> 689.36 0.00 0
>> lex dual LP : 0.00 0 0 0.00 -
>> barrier LP : 0.00 0 0 0.00
>> - 0.00 0
>> resolve instable : 32994.26 583 21004525 36028.34 636.61
>> diving/probing LP: 8.31 27 28543 1057.15 3436.36
>> strong branching : 0.00 0 0 0.00
>> - - - 0
>> (at root node) : - 0 0 0.00 -
>> conflict analysis: 0.00 0 0 0.00 -
>>
>> I am not sure what these statistics tell me. Most of the time the LP
>> solver is struggeling with resolving any instability. What kind of
>> instability is meant here? Is this something related to numerical
>> issues? What can I do to solve that "issue"?
>>
>>
>> Regards
>>
>> Christian
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
More information about the Scip
mailing list