<br><font size=2 face="sans-serif">Jan-Willem,</font>
<br>
<br><font size=2 face="sans-serif">The easy answer is that &quot;resolve&quot;
is designed mainly for branch and bound so has a bias towards the dual
algorithm while &quot;initialsolve&quot; does not. &nbsp;So initialSolve
used primal while resolve used dual. &nbsp;When there are odd values involved
or other lack of accuracy the use of tolerances means that simplex can
get a local optimum (or infeasible solution in this case).</font>
<br>
<br><font size=2 face="sans-serif">If the problem (with 1.0e-17 element
values) is actually infeasible with a zero feasibility tolerance then the
results are reasonable. &nbsp;If it should be feasible, even with a zero
tolerance, then it is a defect in the code. &nbsp;If you wish me to investigate
further then I can.</font>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;Jan-Willem Goossens&quot;
&lt;j.goossens@t75.nl&gt;</b> </font>
<br><font size=1 face="sans-serif">Sent by: coin-discuss-bounces@list.coin-or.org</font>
<p><font size=1 face="sans-serif">02/07/2006 08:16 AM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Discussions about open source software for Operations Research &nbsp; &nbsp;
&nbsp; &nbsp;&lt;coin-discuss@list.coin-or.org&gt;</font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">&quot;Discussions about open source
software for Operations Research&quot; &lt;coin-discuss@list.coin-or.org&gt;</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">[Coin-discuss] OsiClp initialSolve vs
resolve</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>Dear all,<br>
<br>
While attempting to solve my LP problem via OsiClp, I noticed the following:<br>
<br>
after an initialSolve, I modify the problem (change some coefficients in<br>
the constraints etc.), and<br>
<br>
1) try a &quot;resolve&quot;. This results in &quot;Primal Infeasible&quot;<br>
<br>
or, I modify my source code to alternatively<br>
<br>
2) try another &quot;initialSolve&quot;. This finds the (correct) optimal
solution.<br>
<br>
&gt;From the log file, I noticed that I was putting in some 1e-17<br>
coefficients. After removing these, _both_ approaches above worked fine<br>
(So I'm happy basically..)<br>
<br>
However, I was hoping someone could shed some light on why doing another<br>
initialSolve works fine, whereas the resolve fails.<br>
<br>
With OsiCpx (CPLEX 9.0.2), both the resolve and initialSolve work fine<br>
even _with_ the 1e-17 coefficients.<br>
<br>
Oh, and I'm running today's tarball sources (07/02/2006).<br>
<br>
Below are the interesting parts of the two logs.<br>
<br>
Thanks in advance,<br>
<br>
Jan-Willem<br>
<br>
<br>
<br>
<br>
---------------<br>
The failing &quot;resolve&quot; log:<br>
<br>
... (here the first solve does its thing)<br>
Clp0102I 88 1.55291e+007 In: C74 Out: R118 dj ratio 0.00934009 distance
0<br>
Clp0060I Primal error 1.13687e-013, dual error 1.13671e-016<br>
Clp0006I 88 &nbsp;Obj 1.55291e+007<br>
Clp0025I Looking optimal checking bounds with 1e+010<br>
Clp0013I Going back to original objective<br>
Clp0060I Primal error 1.13687e-013, dual error 0<br>
Clp0025I Looking optimal checking bounds with 1e+010<br>
Clp0000I Optimal - objective value 1.55291e+007<br>
Clp0033I Dual took 0.67 seconds (total 0.85)<br>
Coin0511I After Postsolve, objective 1.55291e+007, infeasibilities - dual<br>
0 (0), primal 0 (0)<br>
Clp0032I Optimal objective 15529105.63 - 88 iterations time 0.852,<br>
Presolve 0.18<br>
(-----------here the _first_ solve ends)<br>
Clp1001I Initial range of elements is 1.17553e-017 to 9.25e+006<br>
Clp1002I Range of elements is 2.42439e-009 to 4.12475e+008<br>
Clp1002I Range of elements is 4.5576e-005 to 21941.4<br>
Clp1003I Final range of elements is 3.94313e-006 to 100<br>
Clp0022I Absolute values of scaled rhs range from 23.5309 to 63574.8,<br>
minimum gap 1e+100<br>
Clp0020I Absolute values of scaled objective range from 134289 to<br>
1.27223e+006<br>
Clp0021I Absolute values of scaled bounds range from 0.0704473 to 70.3883,<br>
minimum gap 0.0704473<br>
Clp0060I Primal error 1.16173e-005, dual error 7.86685e-011<br>
Clp0060I Primal error 1.16173e-005, dual error 7.86685e-011<br>
Clp0006I 0 &nbsp;Obj -3.37723e+008 Dual inf 2.369e+007 (185)<br>
Clp0060I Primal error 496, dual error 7.86685e-011<br>
Clp0102I 1 1.83038e+017 In: C1332 Out: R1959 dj ratio 1.26265e+010<br>
distance 0.000402448<br>
Clp0102I 2 1.83037e+017 In: C308 Out: R233 dj ratio 3.44977e+009 distance<br>
4.02448e-006<br>
.... (here the resolve does its work, skipping forward)<br>
Clp0102I 145 8.43696e+006 In: R274 Out: C358 dj ratio 261473 distance 1e-018<br>
Clp0102I 146 8.26764e+006 In: R233 Out: R239 dj ratio 4.20725e+010<br>
distance 4.33448<br>
Clp0102I 147 -1.02732e+007 In: C107 Out: C547 dj ratio 2051.92 distance<br>
0.0196402<br>
Clp0102I 148 -2.03486e+008 In: C32 Out: R413 dj ratio -5069.25 distance<br>
941.62<br>
Clp0060I Primal error 7.62939e-006, dual error 5.5607e-011<br>
Clp0006I 148 &nbsp;Obj -2.03486e+008 Primal inf 1.81325e+009 (161)<br>
Clp0001I Primal infeasible - objective value -2.03486e+008<br>
<br>
<br>
---------------<br>
The &quot;initialSolve&quot;-version log:<br>
<br>
... (here the first solve does its thing (same as above))<br>
Clp0102I 88 1.55291e+007 In: C74 Out: R118 dj ratio 0.00934009 distance
0<br>
Clp0060I Primal error 1.13687e-013, dual error 1.13671e-016<br>
Clp0006I 88 &nbsp;Obj 1.55291e+007<br>
Clp0025I Looking optimal checking bounds with 1e+010<br>
Clp0013I Going back to original objective<br>
Clp0060I Primal error 1.13687e-013, dual error 0<br>
Clp0025I Looking optimal checking bounds with 1e+010<br>
Clp0000I Optimal - objective value 1.55291e+007<br>
Clp0033I Dual took 0.71 seconds (total 0.81)<br>
Coin0511I After Postsolve, objective 1.55291e+007, infeasibilities - dual<br>
0 (0), primal 0 (0)<br>
Clp0032I Optimal objective 15529105.63 - 88 iterations time 0.812,<br>
Presolve 0.10<br>
(-----------here the _first_ solve ends)<br>
Clp1001I Initial range of elements is 1.17553e-017 to 9.25e+006<br>
Clp1002I Range of elements is 2.42439e-009 to 4.12475e+008<br>
Clp1002I Range of elements is 4.5576e-005 to 21941.4<br>
Clp1003I Final range of elements is 3.94313e-006 to 100<br>
Clp0022I Absolute values of scaled rhs range from 23.5309 to 63574.8,<br>
minimum gap 1e+100<br>
Clp0020I Absolute values of scaled objective range from 134289 to<br>
1.27223e+006<br>
Clp0021I Absolute values of scaled bounds range from 0.0704473 to 70.3883,<br>
minimum gap 0.0704473<br>
Clp0103I Primal nonlinear change 0 (6)<br>
Clp0060I Primal error 7.63312e-006, dual error 7.86685e-011<br>
Clp0103I Primal nonlinear change 0 (6)<br>
Clp0060I Primal error 7.63312e-006, dual error 7.86685e-011<br>
Clp0006I 0 &nbsp;Obj -3.37723e+008 Primal inf 2.23164e-005 (6) Dual inf<br>
6.2369e+008 (192)<br>
Clp0102I 1 -3.37946e+008 In: R43 Out: R43 dj -4.02448e-006 distance<br>
3.23169e-006<br>
Clp0102I 2 -3.37935e+008 In: R234 Out: R234 dj 1e+010 distance -1.11759e-006<br>
Clp0102I 3 -3.37875e+008 In: R430 Out: R430 dj 1e+010 distance -6.00517e-006<br>
Clp0102I 4 -3.3784e+008 In: R757 Out: R757 dj 1e+010 distance -3.43844e-006<br>
Clp0102I 5 -3.3784e+008 In: R1084 Out: R1084 dj -4.02448e-006 distance<br>
1.36509e-006<br>
Clp0102I 6 -3.37804e+008 In: R1275 Out: R1275 dj 1e+010 distance<br>
-3.64333e-006<br>
Clp0102I 7 -3.37767e+008 In: R1471 Out: R1471 dj 1e+010 distance<br>
-3.64333e-006<br>
Clp0102I 8 -3.37767e+008 In: R1667 Out: R1667 dj -0.000402448 distance<br>
2.29105e-007<br>
Clp0102I 9 -3.37723e+008 In: R1960 Out: R1960 dj 1e+010 distance<br>
-4.46849e-006<br>
Clp0029I End of values pass after 9 iterations<br>
Clp0060I Primal error 1.16173e-005, dual error 7.86685e-011<br>
Clp0006I 9 &nbsp;Obj -3.37723e+008 Dual inf 2.369e+007 (185)<br>
Clp0102I 10 -3.30113e+008 In: C102 Out: R569 dj -1.09194e+007 distance<br>
0.696859<br>
....<br>
Clp0102I 188 -7.12343e+007 In: C1589 Out: R1996 dj -0.113365 distance<br>
1.31753e-008<br>
Clp0107I For C232 btran dj -0.00855317, ftran dj 0<br>
Clp0060I Primal error 7.62939e-006, dual error 2.0063e-010<br>
Clp0006I 188 &nbsp;Obj -7.12343e+007 Dual inf 5766 (26)<br>
Clp0060I Primal error 7.62939e-006, dual error 2.0063e-010<br>
Clp0102I 189 -7.12343e+007 In: C232 Out: R19 dj -0.00855317 distance 1e-012<br>
...<br>
Clp0102I 213 -7.11638e+007 In: C1586 Out: C1618 dj -0.00262515 distance<br>
1.4281e-012<br>
Clp0060I Primal error 8.26828e-006, dual error 2.0063e-010<br>
Clp0006I 213 &nbsp;Obj -7.11638e+007<br>
Clp0017I Looking optimal with tolerance of 1e-007<br>
Clp0060I Primal error 8.26828e-006, dual error 2.0063e-010<br>
Clp0000I Optimal - objective value -7.11638e+007<br>
_______________________________________________<br>
Coin-discuss mailing list<br>
Coin-discuss@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/coin-discuss<br>
</font></tt>
<br>