[SCIP] **EXTERN** Re: Strategies for Tuning Parameters in MILP problems & Pyomo compatibility

Marc Pfetsch pfetsch at mathematik.tu-darmstadt.de
Mon Jun 13 19:45:35 CEST 2022



Dear Aiman!

> On the topic of addressing dual vs primal bound problem, I've always 
> maily looked at improving the primal bound, never the dual bound.
> What are some indicators that dual bound might be needing improvement?

There is no unique indication, but if you think that the primal bound is 
very close to optimal, but the dual is still far away, then the problem 
is probably the dual bound. In this case you should either try to add 
more cutting planes or reformulate your problem.

Best

Marc

> On Fri, Jun 10, 2022 at 5:01 PM Marc Pfetsch 
> <pfetsch at mathematik.tu-darmstadt.de 
> <mailto:pfetsch at mathematik.tu-darmstadt.de>> wrote:
> 
> 
> 
>     Hi Aiman,
> 
>     in addition to the suggestions by James, I will try to give some hints
>     below.
> 
>      > Using Pyomo framework, SCIP 6.0.0 does not seem to report back
>     the final
>      > “dualbound” and “primalbound”. Is this expected?
> 
>     I have never looked into the Pyomo framework, so I do not know. You
>     might consider switching to PySCIPopt
>     (https://github.com/scipopt/PySCIPOpt
>     <https://github.com/scipopt/PySCIPOpt>) the "native" Python
>     interface to
>     SCIP.
> 
>      > I'm also looking to improve the current performance (time to gap)
>     of the
>      > model.
>      > I’ve tried the preset changes suggested by SCIP (set emphasis
>      > feasibility gives the best current time to gap), but would like
>     to make
>      > more granular changes.
>      > For this we have a few questions:
>      >
>      >  1. Are there any suggested strategies to employ in changing
>     individual
>      >     params?
> 
>     In general, it depends on whether the dual or the primal bound seems to
>     be the problem. In the former, you want to strengthen the formulation,
>     in the latter you want to find better primal solutions.
> 
>     In general, it is also a good idea to check whether you can improve the
>     model.
> 
>      >  2. Should I tackle granular settings in a specific order? (Try
>     presolve
>      >     first, then heuristics, and later nodeselection etc.)
> 
>     This depends on the answers in 1. If the primal solution is the
>     problem,
>     you want to put emphasis (i.e., use the corresponding settings of SCIP)
>     on finding primal solutions. If the dual bound is the problem, you want
>     to put emphasis on it.
> 
>      >  3. Are automated parameter tuning methods available? (similar to
>      >     Bayesian parameter tuning in ML)
> 
>     See James' answer. In general, such methods require significant
>     computing times.
> 
>      >  4. Are there other low hanging fruits I should try to improve
>      >     performance before making granular changes?
> 
>     You can change to SCIP 8.
> 
>      > Additionally, I've experienced that different hardware led to
>     different
>      > performance outcomes (the hardware had ample headroom in each test).
>      > Is this behavior expected?
> 
>     Yes. For example, there can be little differences in the LP solution,
>     which can change the solution path because different branching
>     variables
>     might be chosen. Such differences should average out over many
>     instances. However, differnt hardware might be better suited for SCIP,
>     e.g., difference cache sizes might significantly impact the performance.
> 
> 
>     I hope that this a least gives some indications.
> 
>     Best
> 
>     Marc
>     _______________________________________________
>     Scip mailing list
>     Scip at zib.de <mailto:Scip at zib.de>
>     https://listserv.zib.de/mailman/listinfo/scip
>     <https://listserv.zib.de/mailman/listinfo/scip>
> 


More information about the Scip mailing list