[Coin-discuss] Cbc crashes when solving this mps file

John J Forrest jjforre at us.ibm.com
Sat Mar 3 12:25:45 EST 2007


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.  The problem is that CglPreProcess 
is not only reducing the number of rows but also (temporarily) adding rows 
of different flavors. 

John Forrest 



Esben Mose Hansen <esben at ange.dk> 
Sent by: coin-discuss-bounces at list.coin-or.org
03/03/2007 05:23 AM
Please respond to
Discussions about open source software for Operations Research 
<coin-discuss at list.coin-or.org>


To
Discussions about open source software for Operations Research 
<coin-discuss at list.coin-or.org>
cc

Subject
Re: [Coin-discuss] Cbc crashes when solving this mps file






On Thursday March 1 2007 23:20, John J Forrest wrote:
> Esben,
>
> Code was trying to recreate original row indices for processed problem -
> but CglPreProcess had added rows rather than just reducing - don't 
really
> know why error hadn't happened before.  Row indices were never used - it
> was just a by-product of getting original column indices - which were
> correct.
>
> So I have just moved some code around so just column indices computed.
> Should be OK now.

Thank you. Now cbc can solve the problem, but my "custom" solver (which is 

mostly a copy of cbc) attempts to save the original column and row names 
after preprocessing. However, now when calling 

process.originalRows()

CglPreprocess crashes in createOriginalIndices() in this line

        originalRow_[i]=originalRows[originalRow_[i]];

This happens on the last pass for me (iPass has decreased all the way to 
0).

No wonder, since originalRow_[i] is huge and negative. It seems to be the 
size 
of the array since the precedent indices (like originalRow_[i-1]) seems 
reasonble, but the following are off.

I'll continue to see if I can spot what goes wrong. However, much of these 

problems could be mitigated and the code made much simpler if you used the 

std::vector<double> instead of raw pointers. I'd urge you to consider 
using 
the STL some more :)

Again, thanks for your invaluable help :)

-- 
regards, Esben

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20070303/67b69213/attachment.html>


More information about the Coin-discuss mailing list