[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