[Cbc] Cbc crashed solving MIP

Haroldo Gambini Santos haroldo.santos at gmail.com
Tue Mar 1 12:03:39 EST 2016


Dear Marco,

I take a look at your linear program. I think that the problem may be 
related to numerical precision:

In your constraint matrix there are coefficients such as

0.000000815218676787828980000000 Buy_A_100032
as well:
BuyOpBigM_A_100032:  Buy_A_100032 -124770.535999999990000000000000000000 
BuyOp_A_100032 <= 0

Usually all (fast) linear programming solvers are imprecise due to 
hardware limitations.
If your applications needs accurate solutions with precision up to, lets 
say, the tenth decimal place, you will probably face some numerical 
difficulties.
The problems becomes more prominent when large coefficients are mixed 
with very small ones, which is the specific case of your matrix. These 
matrixes are called "ill conditioned".

Solutions:
-  you may try to scale your matrix: i.e.:  multiply some rows by a constant
- some solvers have an "exact arithmetic mode", but these modes are 
usually hundreds of times slowers (glpk has the parameter --exact, if I 
remember correctly).

Cheers

Haroldo








On 01-03-2016 12:23, mg wrote:
> Hi All,
> I'm facing a crash (std::bad_alloc) solving a MIP problem.
> Attached you can find the zipped lp file causing the problem and the 
> C++ code I used to load and solve it.
>
> Cbc version 2.9.8 stable, on Windows
>
> Problem seems located here (location is approximated since I could 
> only see mangled code in visual studio) :
> ClpNode --> gutsOfConstructor --> ClpFactorization
>
>
> Thanks in advance,
> Marco
>
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc

-- 
==================================================
Haroldo Gambini Santos
D.Sc, Computer Science
Universidade Federal de Ouro Preto
http://www.decom.ufop.br/haroldo/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20160301/402a1c9c/attachment.html>


More information about the Cbc mailing list