<br><font size=2 face="sans-serif">I can stop crash with a bit of work,
but it is probably going to be a lot of work to get correct original rows.
&nbsp;The problem is that CglPreProcess is not only reducing the number
of rows but also (temporarily) adding rows of different flavors. &nbsp;</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>Esben Mose Hansen &lt;esben@ange.dk&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">03/03/2007 05:23 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">Discussions about open source software
for Operations Research &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">Re: [Coin-discuss] Cbc crashes when
solving this mps file</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>On Thursday March 1 2007 23:20, John J Forrest wrote:<br>
&gt; Esben,<br>
&gt;<br>
&gt; Code was trying to recreate original row indices for processed problem
-<br>
&gt; but CglPreProcess had added rows rather than just reducing - don't
really<br>
&gt; know why error hadn't happened before. &nbsp;Row indices were never
used - it<br>
&gt; was just a by-product of getting original column indices - which were<br>
&gt; correct.<br>
&gt;<br>
&gt; So I have just moved some code around so just column indices computed.<br>
&gt; Should be OK now.<br>
<br>
Thank you. Now cbc can solve the problem, but my &quot;custom&quot; solver
(which is <br>
mostly a copy of cbc) attempts to save the original column and row names
<br>
after preprocessing. However, now when calling <br>
<br>
process.originalRows()<br>
<br>
CglPreprocess crashes in createOriginalIndices() in this line<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;originalRow_[i]=originalRows[originalRow_[i]];<br>
<br>
This happens on the last pass for me (iPass has decreased all the way to
0).<br>
<br>
No wonder, since originalRow_[i] is huge and negative. It seems to be the
size <br>
of the array since the precedent indices (like originalRow_[i-1]) seems
<br>
reasonble, but the following are off.<br>
<br>
I'll continue to see if I can spot what goes wrong. However, much of these
<br>
problems could be mitigated and the code made much simpler if you used
the <br>
std::vector&lt;double&gt; instead of raw pointers. I'd urge you to consider
using <br>
the STL some more :)<br>
<br>
Again, thanks for your invaluable help :)<br>
<br>
-- <br>
regards, Esben<br>
<br>
-- <br>
This message has been scanned for viruses and<br>
dangerous content by MailScanner, and is<br>
believed to be clean.<br>
<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>