[SCIP] Strategies for Tuning Parameters in MILP problems & Pyomo compatibility

aiman social aimansocialacc at gmail.com
Fri Jun 10 18:13:19 CEST 2022


Dear Marc,

Really appreciate the detailed reply. Especially the reasoning behind
output variations.

Will follow the recommendations on SCIP 8.0.0 and PySCIPopt.
Currently, I am in the process of doing so but am facing some
install/running issues. I'll try debugging on my side first before raising
another thread.

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?

I really appreciate your time.

Many thanks,
Aiman Nazmi

On Fri, Jun 10, 2022 at 5:01 PM Marc Pfetsch <
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) 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
> https://listserv.zib.de/mailman/listinfo/scip
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220611/837e0d07/attachment.html>


More information about the Scip mailing list