[Clp] MPS Free Integer variable without 1e+30?

William H. Patton pattonwh at comcast.net
Thu Feb 19 17:22:40 EST 2009


Is it possible to represent a free INT variable

in CLP/CBC MPS format without an explicit approximate

value for inf?

 

Thanks

William

 

==================================================

 

Clp translates the following mps with MARKERs 

into a bounds section with several +/-1e+30

place holders. I can get rid of all but 1.

 

NAME                  

ROWS

 N  R0      

 L  c1      

 L  c2      

 E  c3      

COLUMNS

    MARK0000  'MARKER'                 'INTORG'

    x1        R0        -1.000000000   c1        -1.000000000

    x1        c2        1.0000000000

    x2        R0        -2.000000000   c1        1.0000000000

    x2        c2        -3.000000000   c3        1.0000000000

    x3        R0        -3.000000000   c1        1.0000000000

    x3        c2        1.0000000000

    x4        R0        -1.000000000   c1        10.000000000

    x4        c3        -3.500000000

    x5        R0        -1.000000000

    x6        R0        1.0000000000

    x7        R0        1.0000000000

    MARK0001  'MARKER'                 'INTEND'

RHS

    RHS       c1        30.000000000   c2        30.000000000

BOUNDS

 LO BND       x1        0.0000000000

 UP BND       x1        40.000000000

 FR BND       x2      

 LO BND       x3        0.0000000000

 LO BND       x4        2.0000000000

 UP BND       x4        3.0000000000

 MI BND       x5      

 UP BND       x5        -6.000000000

 LO BND       x7        0.0000000000

ENDATA

 

clp exports the bounds as:  (free var x2 )

      ( I understand the BV convention for x6 which has no explicit bound.).

 

BOUNDS

 UI BOUND     x1        40.         

 MI BOUND     x2              -1e+30

 UI BOUND     x2               1e+30

 UI BOUND     x3               1e+30

 LO BOUND     x4        2.          

 UI BOUND     x4        3.          

 MI BOUND     x5              -1e+30

 UI BOUND     x5         -6.        

 BV BOUND     x6        1.          

 UI BOUND     x7               1e+30

ENDATA

 

I can rewrite this by replacing UI inf with LI 0 which implies UI inf.

The other variations seem to get parse errors due to

setting a bound explicitly a second time.

 

BOUNDS

 UI BOUND     x1        40.  

*

 MI BOUND     x2              

 UI BOUND     x2               1e+30   ( or 0, 1 ,1000 with following PL
override)

* PL BOUND     x2      

*

* LI BOUND     x2               0.

* MI BOUND     x2            

*

 LI BOUND     x3               0.

 LO BOUND     x4        2.          

 UI BOUND     x4        3.          

 MI BOUND     x5

 UI BOUND     x5         -6.        

 BV BOUND     x6                  

 LI BOUND     x7               0.

ENDATA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20090219/5d6b272b/attachment.html>


More information about the Clp mailing list