<br><font size=2 face="sans-serif">Bozhena,</font>
<br>
<br><font size=2 face="sans-serif">This sounds like the stochastic bug
reported a few days ago. It looks as if there is a problem if bounds
are passed in as 1.0e20 to 1.0e25? as I must have some sloppy coding. I
could not manage to reproduce with stochastic unitTest but will try again.</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>"Bozhena Bidyuk"
<bbidyuk@dcse.com></b> </font>
<br><font size=1 face="sans-serif">Sent by: coin-lpsolver-bounces@list.coin-or.org</font>
<p><font size=1 face="sans-serif">03/15/2005 06:00 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif"><Coin-lpsolver@list.coin-or.org></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">[Coin-lpsolver] bug</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>John,<br>
<br>
I have come across a bug that has caused major memory problems for me.<br>
Could you please fix it for future releases?<br>
<br>
Location: ClpNonLinearCost.hpp<br>
In lines 83-84<br>
<br>
if (lower[iSequence]>-1.0e20)<br>
put++;<br>
if (upper[iSequence]<1.0e20)<br>
put++;<br>
<br>
put is incremented based on bounds 1.0e20 and -1.0e20.<br>
Then arrays are allocated based on precomputed size put:<br>
<br>
lower_ = new double [put];<br>
cost_ = new double [put];<br>
<br>
But then in line 101:<br>
<br>
for (iSequence=0;iSequence<numberTotal1;iSequence++) {<br>
if (!always4) {<br>
if (lower[iSequence]>-COIN_DBL_MAX) {<br>
<br>
The lower[iSequence] is compared to -COIN_DLB_MAX=-DBL_MAX=-1.7976931348623158e+308<br>
Needless to say that this causes problems when you have many constraints
that are "unbounded"<br>
with a lower bound value between -1.0e20 and -1.7976931348623158e+308.<br>
(The upper bound is fine:<br>
if (upper[iSequence]<1.0e20) {<br>
)<br>
<br>
<br>
Thanks.<br>
<br>
Bozhena<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Coin-lpsolver mailing list<br>
Coin-lpsolver@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/coin-lpsolver<br>
</tt></font>
<br>