[Coin-lpsolver] Another bug - smaller example. Re: Coin-lpsolver Digest, Vol 34, Issue 9

Gleb Belov gleb.belov at tu-dresden.de
Thu Sep 20 11:25:01 EDT 2007


Here is a smaller example (easier to reproduce). They may be connected 
because in both cases, primal and dual are called interchangedly. Again, 
using Clp 1.4.0.

Given the following mps (named strBr_1.mps):
NAME          BLANK  
ROWS
 N  OBJROW
 E  R0000000
 E  R0000001
 E  R0000002
COLUMNS
    C0000000  OBJROW    100000.        R0000000  1.         
    C0000001  OBJROW    100000.        R0000001  1.         
    C0000002  OBJROW    100000.        R0000002  1.         
    C0000003  OBJROW    1.             R0000001  1.         
    C0000003  R0000002  1.         
    C0000004  OBJROW    1.             R0000000  1.         
    C0000004  R0000002  1.         
    C0000005  OBJROW    1.             R0000002  1.         
RHS
    RHS       R0000000  3.             R0000001  5.         
    RHS       R0000002  9.         
ENDATA

I run the following:
  ClpSimplex model;
  int status;
  status=model.readMps("strBr_1.mps");
  if (status) {
    printf("errors on input\n");
    exit(77);
  }
  model.initialSolve();
  model.setColUpper(4,0.0);
  model.dual(0,7);
  int i=0; double coef = 1.0;
  model.addColumn(1, &i, &coef, 0.0, 1e100, 1.0);
  model.primal(0,7);
  model.setColUpper(4,1e100);
  model.writeMps("modif2.mps");
  model.primal(0,7);

The output:
Coin0001I At line 19 ENDATA
Coin0002I Problem BLANK has 3 rows, 6 columns and 8 elements
Clp0027I Model was imported from strBr_1.mps in 0.01 seconds
Coin0506I Presolve 1 (-2) rows, 2 (-4) columns and 2 (-6) elements
Clp0006I 0  Obj 8.9 Primal inf 0.0999999 (1)
Clp0006I 1  Obj 9
Clp0000I Optimal - objective value 9
Coin0511I After Postsolve, objective 9, infeasibilities - dual 0 (0), 
primal 0 (
0)
Clp0032I Optimal objective 9 - 1 iterations time 0.052, Presolve 0.01
Clp0006I 0  Obj 9 Primal inf 3 (1)
Clp0006I 1  Obj 300009
Clp0000I Optimal - objective value 300009
Clp0006I 0  Obj 300009 Dual inf 99999 (1)
Clp0006I 1  Obj 12
Clp0000I Optimal - objective value 12
Clp0006I 0  Obj 12 Dual inf 1 (1)
Clp0006I 0  Obj 12 Dual inf 1 (1)
Clp0006I 0  Obj 12 Dual inf 1 (1)
... and so on (hung).

I would be glad for help. Ok, in this example I just looked for a quick 
solution to custom strong branching and the proper method would be to 
save factorization. But in the example before, I don't know what to do 
else... And, both seem to be bugs :-)

Best regards,
Gleb

-- 
Mit freundlichen Gruessen

G. Belov
----------------------------------------------------------------------
Dr. Gleb Belov                                Gleb.Belov at tu-dresden.de
Wiss. Assistent                   http://www.math.tu-dresden.de/~belov
Technische Universitaet Dresden                 Tel: +49 351 463 34186
Institut fuer Numerische Mathematik             Fax: +49 351 463 34268
Mommsenstr. 13                            Tel. priv.:+49 351 3743754
01062 Dresden




More information about the Clp mailing list