[SCIP] Unexpected behavior
Lorenzo Gentile
lorenzo.gentile at moxoff.com
Wed Jan 13 16:12:09 CET 2016
Hello,
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.
Here is my first formulation:
var y real >= 0;
var x real >= 0 <= 10;
var s integer >= 0 <= 9;
var z binary;
subto c1: y <= (1-exp(-x))*(1-z)+(1-exp(-(x-s))+1-exp(-s))*z;
subto c2: s*z <= x;
subto c3: x <= 10*z + s*(1-z);
maximize obj: y;
In this case I obtain what I expect (y almost equal to 2):
objective value: 1.98652410600183
z 1 (obj:0)
s 5 (obj:0)
y 1.98652410600183 (obj:1)
x 10 (obj:0)
@@c1_1_t_0 -5 (obj:0)
@@c1_1_r_1 0.00673794699908548 (obj:0)
@@c1_1_t_2 -5 (obj:0)
@@c1_1_r_3 0.00673794699908546 (obj:0)
@@c1_1_t_4 -10 (obj:0)
@@c1_1_r_5 4.43999297170849e-05 (obj:0)
prodt_z_t_s_c2_1 5 (obj:0)
prodt_z_t_s_c3_1 5 (obj:0)
nlreform0 -5 (obj:0)
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):
objective value: 0.999955600070283
s 10 (obj:0)
y 0.999955600070283 (obj:1)
x 10 (obj:0)
@@c1_1_r_1 1 (obj:0)
@@c1_1_t_2 -10 (obj:0)
@@c1_1_r_3 4.53999297624415e-05 (obj:0)
@@c1_1_t_4 -10 (obj:0)
@@c1_1_r_5 4.43999297170849e-05 (obj:0)
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.
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):
objective value: 1.98652491319583
z 1 (obj:0)
x 10 (obj:0)
s 5.00321312966099 (obj:0)
y 1.98652491319583 (obj:1)
@@c1_1_t_0 -4.99678687033901 (obj:0)
@@c1_1_r_1 0.00675919526185386 (obj:0)
@@c1_1_t_2 -5.00321312966099 (obj:0)
@@c1_1_r_3 0.0067158915423183 (obj:0)
@@c1_1_t_4 -10 (obj:0)
@@c1_1_r_5 4.43999297170849e-05 (obj:0)
prodt_z_t_@@c1_1_t_2_c2_1 5.00321312966099 (obj:0)
prodt_z_t_@@c1_1_t_2_c3_1 5.00321312966099 (obj:0)
nlreform0 -4.99678687033901 (obj:0)
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20160113/f1fb34ef/attachment.html>
More information about the Scip
mailing list