[Clp] CoinUtils MPS format

Horand Gassmann Horand.Gassmann at Dal.Ca
Wed Oct 2 10:53:21 EDT 2013


________________________________________
From: clp-bounces at list.coin-or.org <clp-bounces at list.coin-or.org> on behalf of John Forrest <john.forrest at fastercoin.com>
Sent: October-02-13 6:27 AM
To: clp at list.coin-or.org
Subject: Re: [Clp] CoinUtils MPS format

I think CoinUtils supports
S1
S2
SOSORG (translates to S1)
QUADOBJ
QSECTION (I think it has to be all 8 characters)

If you or anyone else is willing to provide sample files, we can
a) get that format to work
b) put sample files in Data/Sample for future reference

John Forrest

Thanks very much for the response, John. Full disclosure: I am interested in this subject because I am working on interfaces with OS. The file I am working with is

NAME
ROWS
 N  obj     
 L  c1      
COLUMNS
    x0        obj                  1   c1                   1
    INT       'MARKER'                 'INTORG'
    x1        obj                 -1   c1                  10
    INT       'MARKER'                 'INTEND'
* S1 NAME1     'MARKER'                 'SOSORG'
    x2        obj                 -9   c1                   5
    x3        obj                 -6   c1                   8
*    NAME1     'MARKER'                 'SOSEND'
    x4        obj                  1   c1                   1
    x5        obj                 -6   c1                   8
    x6        obj                  1   c1                   1
    x7        obj                  1   c1                   1
    x8        obj                 -6   c1                   8
    x9        obj                 -2   c1                   1
    x10       obj                 -3   c1                   1
    x11       obj                 -1   c1                  -1
    x12       obj                 -2   c1                   1
    x13       obj                 -3   c1                   1
    x14       obj                 -9   c1                   5
RHS
    rhs       c1               10000
RANGES
    range     c1                2000
BOUNDS
 LI BOUND     x1                   2
 UI BOUND     x1                   3
SOS
 S1 set1
    x2                         
    x3                         
 S2 set2
    x4                            20
    x5                            40
QUADOBJ
    x6        x6                   1
    x6        x7                   2
    x7        x7                   7
CSECTION      cone1       0.0          QUAD
    x8
    x9
    x10
CSECTION      cone2       0.0          RQUAD
    x11
    x12
    x13
    x14
ENDATA

Never mind that the problem makes little sense --- I am not interested in the solution. I am likewise not concerned that there is probably no solver that can handle it. All I want is to read the file (or a corrected version of it). To me the file looks OK as is, but when I read this file using

    m_MpsData = new CoinMpsIO();
    int status = m_MpsData->readMps( &mpsfilename[ 0], "mps", nOfSOS, SOS );
    status = m_MpsData->readQuadraticMps(NULL, columnStart, columnIdx, elements, 0);
    status = m_MpsData->readConicMps(NULL, coneStart, coneIdx, nOfCones);

I get several error messages:

Coin0001I At line 1 NAME
Coin0001I At line 2 ROWS
Coin0001I At line 5 COLUMNS
Coin0001I At line 25 RHS
Coin0001I At line 27 RANGES
Coin0001I At line 29 BOUNDS
Coin3002W Bad image at line 31 <  UI BOUND     x1                   3 >
Coin0001I At line 32 SOS
Coin0001I At line 39 QUADOBJ
Coin0002I Problem no_name has 1 rows, 15 columns and 15 elements
Coin0001I At line 43 CSECTION      cone1       0.0          QUAD
Coin0001I At line 44     x8
Coin6002E Unknown image     x9 at line 45 of file bin/test.mps

I have been in contact with Matt Saltzman about the first of these error messages, I produced a patch, and I am willing to help with the other messages as well. But before I go there, I think it would be useful to establish that the input is correct.

Thanks

gus gassmann




More information about the Clp mailing list