[Cbc] another cbc failure on small IP (Cbc2.3 Stable)

Matthew Galati Matthew.Galati at sas.com
Wed Sep 30 16:26:15 EDT 2009


The problem with this one is, it happens when running CbcMain1() function through my code, but when I dump the .lp then read it back into cbc executable, it does not repeat.  I can only assume it is due to some kind of truncation issue with the .lp file. Any ideas on how to debug this one? The assertion failure is below.


decomp_atm: ../../../Clp/src/ClpPackedMatrix.cpp:3393: virtual int ClpPackedMatrix::scale(ClpModel*, const ClpSimplex*) const: Assertion `columnStart[iColumn+1]==columnStart[iColumn]+columnLength[iColumn]' failed.
Aborted


Running thru code with CbcMain call.

D-ALGO   : 179.93173    [CPU: 178.47387   ]  --- printCurrentProblem() ---> funcT = 0.003999
Coin Cbc and Clp Solver version 2.3stable, build Sep 30 2009
command line - cbc -log 1 -allowableGap 0.0001 -solve -quit (default strategy 1)
logLevel was changed from 1 to 1
allowableGap was changed from 1e-10 to 0.0001
Continuous objective value is 79583.8 - 0.01 seconds
Cgl0003I 0 fixed, 352 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 33 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0004I processed model has 124 rows, 160 columns (56 integer) and 1322 elements
Cbc0038I Pass   1: suminf.    0.00000 (0) obj. 357020 iterations 33
Cbc0038I Solution found of 357020
Cbc0038I Rounding solution of 357020 is better than previous of 357020 !

Cbc0038I Before mini branch and bound, 34 integers at bound fixed and 35 continuous
Cbc0038I Full problem 124 rows 160 columns, reduced to 67 rows 87 columns
Cbc0038I Mini branch and bound improved solution from 357020 to 157108 (0.19 seconds)
Cbc0038I Freeing continuous variables gives a solution of 157108
Cbc0038I Round again with cutoff of 149355




Running thru cbc executable.

Coin Cbc and Clp Solver version 2.3stable, build Sep 30 2009
command line - /users/magala/COIN/coin-Decomp/build-g/bin/cbc PRICE_AND_CUT_subProb_CASH_COUNT2.n0.c0.p8.b2.lp -log 1 -allowableGap 0.0001 -solve -quit (de\
fault strategy 1)
### WARNING: CoinLpIO::readLp(): Variable x1(0_ATM0,1) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable x1(1_ATM0,2) does not appear in objective function or constraints
...
### WARNING: CoinLpIO::readLp(): Variable v(854_ATM4,DATE44) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable v(855_ATM4,DATE45) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable v(856_ATM4,DATE46) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable v(857_ATM4,DATE47) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable v(858_ATM4,DATE48) does not appear in objective function or constraints
### WARNING: CoinLpIO::readLp(): Variable v(859_ATM4,DATE49) does not appear in objective function or constraints
logLevel was changed from 1 to 1
allowableGap was changed from 1e-10 to 0.0001
Continuous objective value is 79583.8 - 0.01 seconds
Cgl0003I 0 fixed, 340 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 43 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0003I 0 fixed, 3 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0004I processed model has 124 rows, 160 columns (56 integer) and 1322 elements
Cbc0038I Pass   1: suminf.    0.00000 (0) obj. 415989 iterations 31
Cbc0038I Solution found of 415989
Cbc0038I Rounding solution of 415989 is better than previous of 415989 !



Is it possible that the cbc executable does something different (reading in .lp) for variables that are not appearing in obj/constraints? While CbcMain does not handle this case properly?

.lp file is here:
http://coral.ie.lehigh.edu/~magh/tmp/PRICE_AND_CUT_subProb_CASH_COUNT2.n0.c0.p8.b2.lp




More information about the Cbc mailing list