<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">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>