<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Dear Lorenzo and Ahmed,<br>
<br>
SCIP solves MINLPs to global optimality even if the problem is
non-convex. Of course, if there are several optimal solutions you
might end up with different of those if you change the solution
process (e.g., by using different start solutions).<br>
<br>
Clearly, the solution value of the relaxed version of your problem
should lead to a better objective value. It seems to be that there
is a bug which appears when SCIP restarts the solution process. This
restart does not happen if s is continuous and thus you end up
(luckily) with the same solution as before.<br>
<br>
I will send you a patch as soon as I have fixed the bug. Until then
you could disable restarts (set limits restarts 0).<br>
<br>
<br>
Regards,<br>
<br>
Benny<br>
<br>
<br>
<br>
<div class="moz-cite-prefix">On 01/13/2016 09:47 PM, Ahmed Ibrahim
wrote:<br>
</div>
<blockquote
cite="mid:7BE9AA462EB7354CAA5256EB22A6A0DCB8ADFB4F@UMCE3EXMD01.ad.umanitoba.ca"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" id="owaParaStyle"></style>
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;"><span style="font-size: 13.3333px;">I
meant to say, you may end up with different solutions for the
different instances 0<=s<=10 and for </span><span
style="font-size: 13.3333px;">0<=s<=9. If it is the same
instance and you use different initial points, you can also
end up with different solutions.</span>
<div><span style="font-size: 13.3333px;"><br>
</span></div>
<div><span style="font-size: 13.3333px;">Regards,</span></div>
<div><span style="font-size: 13.3333px;">Ahmed<br>
</span>
<div style="font-family: Times New Roman; color: #000000;
font-size: 16px">
<hr tabindex="-1">
<div id="divRpF305819" style="direction: ltr;"><font
size="2" color="#000000" face="Tahoma"><b>From:</b> Scip
[<a class="moz-txt-link-abbreviated" href="mailto:scip-bounces@zib.de">scip-bounces@zib.de</a>] on behalf of Ahmed Ibrahim
[<a class="moz-txt-link-abbreviated" href="mailto:Ahmed.Ibrahim@umanitoba.ca">Ahmed.Ibrahim@umanitoba.ca</a>]<br>
<b>Sent:</b> Wednesday, January 13, 2016 2:08 PM<br>
<b>To:</b> Lorenzo Gentile<br>
<b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:scip@zib.de">scip@zib.de</a><br>
<b>Subject:</b> Re: [SCIP] Unexpected behavior<br>
</font><br>
</div>
<div>
<div style="direction:ltr; font-family:Tahoma;
color:#000000; font-size:10pt">Hi Lorenzo,
<div>It seems this is a non-convex MINLP problem. I'm
not sure if such problems, except for quadratic ones,
are "<u>guaranteed</u>" to be solved to global
optimality by most solvers. I think it's more likely
that you are hitting the node limit or iteration limit
and it returns the best solution it found so far.
Hence every time you solve it, you may end up with
different solutions.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Ahmed <br>
<div style="font-family:Times New Roman;
color:#000000; font-size:16px">
<hr tabindex="-1">
<div id="divRpF610613" style="direction:ltr"><font
size="2" color="#000000" face="Tahoma"><b>From:</b>
Scip [<a class="moz-txt-link-abbreviated" href="mailto:scip-bounces@zib.de">scip-bounces@zib.de</a>] on behalf of Lorenzo
Gentile [<a class="moz-txt-link-abbreviated" href="mailto:lorenzo.gentile@moxoff.com">lorenzo.gentile@moxoff.com</a>]<br>
<b>Sent:</b> Wednesday, January 13, 2016 9:12 AM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:scip@zib.de">scip@zib.de</a><br>
<b>Subject:</b> [SCIP] Unexpected behavior<br>
</font><br>
</div>
<div>
<div dir="ltr">
<div>
<div>Hello,</div>
<div><br>
</div>
<div>I'm a new user on SCIP, and interested
in solving a non linear constrained
optimization problem. I would like to
understand why SCIP seems to return a wrong
result if applied to a simplified
optimization problem whose solution is known
a priori.</div>
<div><br>
</div>
<div>Here is my first formulation:</div>
<div><br>
</div>
<div>var y real >= 0;</div>
<div>var x real >= 0 <= 10;</div>
<div>var s integer >= 0 <= 9;</div>
<div>var z binary;</div>
<div><br>
</div>
<div>subto c1: y <=
(1-exp(-x))*(1-z)+(1-exp(-(x-s))+1-exp(-s))*z;</div>
<div>subto c2: s*z <= x;</div>
<div>subto c3: x <= 10*z + s*(1-z);</div>
<div><br>
</div>
<div>maximize obj: y;</div>
<div><br>
</div>
<div>In this case I obtain what I expect (y
almost equal to 2): </div>
<div><br>
</div>
<div>objective value:
1.98652410600183</div>
<div>z
1 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>s
5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>y
1.98652410600183 <span class="" style="white-space:pre">
</span>(obj:1)</div>
<div>x
10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_0
-5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_1
0.00673794699908548 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_2
-5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_3
0.00673794699908546 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_4
-10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_5
4.43999297170849e-05 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>prodt_z_t_s_c2_1
5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>prodt_z_t_s_c3_1
5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>nlreform0
-5 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div><br>
</div>
<div>Now, If I enlarge the admissible region
by writing 'var s integer >= 0 <= 10;'
(and keeping everything else unchanged), I
obtain a worse solution (y almost equal to
1):</div>
<div><br>
</div>
<div>objective value:
0.999955600070283</div>
<div>s
10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>y
0.999955600070283 <span class="" style="white-space:pre">
</span>(obj:1)</div>
<div>x
10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_1
1 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_2
-10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_3
4.53999297624415e-05 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_4
-10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_5
4.43999297170849e-05 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div><br>
</div>
<div>The solution found with the first
formulation is still admissible, it is
better (higher y value) but it is not
returned by the second formulation.</div>
<div><br>
</div>
<div>Finally, if I write 'var s real >= 0
<= 10;'(and keeping everything else
unchanged), SCIP returns again what I expect
(y almost equal to 2):</div>
<div><br>
</div>
<div>objective value:
1.98652491319583</div>
<div>z
1 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>x
10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>s
5.00321312966099 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>y
1.98652491319583 <span class="" style="white-space:pre">
</span>(obj:1)</div>
<div>@@c1_1_t_0
-4.99678687033901 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_1
0.00675919526185386 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_2
-5.00321312966099 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_3
0.0067158915423183 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_t_4
-10 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>@@c1_1_r_5
4.43999297170849e-05 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>prodt_z_t_@@c1_1_t_2_c2_1
5.00321312966099 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>prodt_z_t_@@c1_1_t_2_c3_1
5.00321312966099 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div>nlreform0
-4.99678687033901 <span class="" style="white-space:pre">
</span>(obj:0)</div>
<div><br>
</div>
<div>Can you please explain me the reason of
this unexpected behavior and, if possible,
tell me which part of the code is called by
these formulations.</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Scip mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Scip@zib.de">Scip@zib.de</a>
<a class="moz-txt-link-freetext" href="http://listserv.zib.de/mailman/listinfo/scip">http://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
______________________________
Benjamin Müller
Zuse Institute Berlin
Takustr. 7, 14195 Berlin
<a class="moz-txt-link-abbreviated" href="mailto:benjamin.mueller@zib.de">benjamin.mueller@zib.de</a>
+49 30 841 85-195</pre>
</body>
</html>