<div dir="ltr">Hello!.<br>I'm sorry for the delay in responding.<br>Marc and Mathieu, thank you very much for your replies. These were very helpful. <div>Working on developing a heuristic I am noticing that the curves that take the shape of "s" are the ones that complicate the model the most. </div><div>For example, I share a model where only one curve takes that shape and the same model where I modify a parameter only to that curve to smooth it. The difference can be seen in c74 constraint. The performance of both models when optimized is very noticeable. Is it possible that it is that? Has anyone ever come across these types of curves or know what could be done to help scip in these cases?<br></div><div><br></div><div><br></div><div>import pyscipopt as pyscip<br>import os <br>if os.path.exists('log_scip_5pl.log'):<br>    os.remove('log_scip_5pl.log')<br><br>model=pyscip.Model()<br>model.hideOutput(quiet=True)<br>model.setParam('limits/gap', 1e-02)<br>model.setParam('display/verblevel', 5)<br>model.setParam('limits/time', 360000)<br>model.setLogfile('log_scip_5pl.log')<br>model.readProblem('modelMM5pl.cip')<br>#model.readProblem('modelMM5pl_modified.cip')<br>model.optimize()<br></div><div><br></div><div><br></div><div>Thanks, Best Regards. </div><div>Pedro. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El sáb, 24 feb 2024 a las 11:19, Mathieu Besançon (<<a href="mailto:mathieu.besancon@gmail.com">mathieu.besancon@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear Pedro,<div><br></div><div>I took a look at the model, it seems to be fairly badly conditioned, with huge and very small coefficients. There is also potentially a logarithmic transformation that should be possible for the nonlinear expressions, passing the second part of the addition of the nonlinear constraints to the right of the equality, applying a log on both sides (should be safe to do since all variables seem positive.</div><div><br></div><div>Best,</div><div>Mathieu</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 20, 2024 at 9:39 PM Pedro Matias Carrancio <<a href="mailto:pedro.carrancio@gmail.com" target="_blank">pedro.carrancio@gmail.com</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"><div dir="ltr"><p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Hello all.</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I am
working with a MINLP. It has N variables, a linear objective function (actually
it is the sum of N 5-parameter logistics curves but by substitution of
variables the non-linearities were taken to constraints) and N+1 constraints (N
to linearize the function objective and 1 specific to the problem)</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I ran
several instances of the same problem ok.  Around 90 cases, with gap <=1e-04 and
obtaining maximum response times of 15 sec. Even some of them have more than
100 variables.</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">But
particularly this example of 85 variables is giving me problems to obtain a
quality response and desirable time. It executes it with a time limit of
360,000 seconds (100 hours) and it stops for timeout with a gap of 2.5%, far
from the gap that we consider to be good quality.</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US"> </span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">I attach a
.cip file with the example and the log.</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">In Python
it can be executed with this code.</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">######################################</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">import
pyscipopt as pyscip</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">import
os </span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">if
os.path.exists('log_scip_5pl.log'):</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">    os.remove('log_scip_5pl.log')</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model=pyscip.Model()</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.hideOutput(quiet=True)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setParam('limits/gap',
1e-04)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setParam('display/verblevel',
5)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setParam('limits/time',
300)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setLogfile('log_scip_5pl.log')</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setParam('numerics/feastol',
1e-04)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.setParam('numerics/dualfeastol',
1e-04)</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.readProblem('model_5pl.cip')</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><i><span lang="EN-US">model.optimize()</span></i></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">######################################</span></p>

<p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span lang="EN-US">Can you
help me understand what alternatives I have to improve this condition?</span></p>

<span lang="EN-US" style="font-size:11pt;line-height:107%;font-family:Calibri,sans-serif">Thank you in advance for your help. </span><br></div>
_______________________________________________<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><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mathieu Besançon</div></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mathieu Besançon</div></div>
</blockquote></div>