[Coin-lpsolver] Re: COIN and CLP concern
John J Forrest
jjforre at us.ibm.com
Tue Nov 20 10:25:02 EST 2007
Larry,
A possible (sl)eazy solution is to use output option on standalone version
which corresponds to some parameter on writeMps. Use clp and enter
output??
clp ...... -output 6 -export file.mps puts out exact IEEE format encoded
as gibberish looking characters i.e. 64 bit doubles are encoded as 11 or
12 ascii characters.
John Forrest
"Larry A. Taylor" <ltaylor at seas.ucla.edu>
11/19/2007 04:51 PM
To
John J Forrest/Watson/IBM at IBMUS
cc
coin-lpsolver at list.coin-or.org
Subject
Re: COIN and CLP concern
At 10:04 AM 11/19/2007, John J Forrest wrote:
>Larry,
>
>Your problem as defined by the mps file you sent is infeasible. The
>trouble with infeasible problems is that they can have local optima! i.e.
>if you get just the right basis you may be able to get enough variables
to
>come in just under the feasibility tolerance. Also different codes have
>different tolerances.
>
>If I grep for R71 on your file I get -
>
> E R71
> C2144 R71 1. R72 4691.9899002
> C2145 R71 -1. R72 -4691.9899
> C2146 R71 -1. R72 -4691.9899
> C2147 R71 -1. R72 -4691.9899
> C2148 R71 -1. R72 -4691.9899
> C2149 R71 -1. R72 -4691.9899
> C2150 R71 -1. R72 -4691.9899
> C2151 R71 -1. R72 -4691.9899
>
>R72 is also an E row with zero rhs
>
>So as long as any of C2144-C2151 are nonzero then this problem is
infeasible.
I see a problem that I did not understand, and it brings up another one.
The example you give is only infeasible given a much stricter tolerance
than
is possible to express on the MPS cards. The file I sent was, indeed,
produced
by COIN-CLP itself: the 4691.9899002 and the -4691.9899 is exactly the
same double precision floating point number with opposite sign. That is, I
have a dump of the numbers that were given to COIN, and they have the
same magnitude as double floats as each other.
It appears that it is not possible to express greater precision in the
twelve
columns of the ancient MPS format. When COIN writes out the problem
in MPS format, the negative number takes a column for the minus sign,
and drops some significant digits that wouldn't fit in the field.
How can I:
(1) Use relative rather than absolute tolerance for feasibility in
COIN-CLP, etc.
(2) express that some constraints are strict conditions in feasiblity,
others
lax;
(3) Force COIN-MP output of MPS files to keep the same number of
significant digits for each output number, so that it will "round-trip"
correctly;
(4) Predict what COIN-CLP will do with my files?
LAT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20071120/c4177e2f/attachment.html>
More information about the Clp
mailing list