[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