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