# readmps

Reads a Linear Program from a MPS file.

### Syntax

mps= readmps (file-name, bounds); mps= readmps (file-name, bounds,maxsizes);

### Arguments

- file-name
a string, the name of the mps file

- bounds
2-vector

`[lowbound,upbound]`

, default lower and upper bounds- maxsizes
3-vector

`[maxm,maxn,maxnza]`

Maximum number of constraints and variables, maximum number of nonzeros entries in the LP constraint matrix. If omitted readmps reads the file once just to compute these numbers.- mps
a tlist, with type "mps" and with following fields

- irobj
integer (index of the objective row).

- namec
character string (Name of the objective).

- nameb
character string (Name of the right hand side).

- namran
character string (Name of the ranges section).

- nambnd
character string (Name of the bounds section).

- name
character string (Name of the LP problem).

- rownames
character string column vector (Name of the rows).

- colnames
character string row vector (Name of the columns).

- rowstat
integer vector, row types:

- 1
row type is "="

- 2
row type is ">="

- 3
row type is "<="

- 4
objective row

- 5
other free row

- rowcode
real matrix

`[hdrowcd,lnkrow]`

with- hdrowcd
real vector (Header to the linked list of rows with the same codes).

- lnkrow
integer vector (Linked list of rows with the same codes).

- colcode
real matrix

`[hdcolcd,lnkcol]`

with- hdcolcd
integer vector (Header to the linked list of columns with the same codes).

- lnkcol
integer vector (Linked list of columns with the same codes).

- rownmbs
integer vector (Row numbers of nonzeros in columns of matrix A.)

- colpnts
integer vector (Pointers to the beginning of columns of matrix A).

- acoeff
real vector (Array of nonzero elements for each column).

- rhs
real vector ( Right hand side of the linear program).

- ranges
real vector of constraint ranges.

- bounds
real matrix

`[lbounds,ubounds]`

with- ubounds
full column vector of upper bounds

- lbounds
full column vector of lower bounds

- stavar
full column vector of variable status

- 0
standard (non negative) variable

- 1
upper bounded variable

- 2
lower bounded variable

- 3
lower and upper bounded variable

- 4
minus infinity type variable i.e -inf<x<=u

- 5
plus infinity type variable i.e l<=x< inf

- 6
fixed type variable i.e l=x=u

- -k
free variable

### Description

Reads a file containing description of an LP problem
given in MPS format and returns a `tlist`

which describes the problem.

MPS format is a standard ASCII medium for Linear Programs. MPS format is described in more detail in Murtagh's book "Advanced Linear Programming".

### Examples

//Let the LP problem: //objective: // min XONE + 4 YTWO + 9 ZTHREE //constraints: // LIM1: XONE + YTWO < = 5 // LIM2: XONE + ZTHREE > = 10 // MYEQN: - YTWO + ZTHREE = 7 //Bounds // 0 < = XONE < = 4 // -1 < = YTWO < = 1 path = fullfile(SCI,"modules","optimization","tests","unit_tests"); filename = fullfile(path,"test1.mps"); //Read the MPS file P=readmps(filename,[0 10^30]) disp(P) // // Loads the 25FV47 problem. // An LP, contributed by John Reid. // Source: The NETLIB collection of test problems. path = fullfile(SCI,"modules","optimization","tests","unit_tests"); filename = fullfile(path,"25FV47.SIF"); huge = number_properties("huge"); P=readmps(filename,[-huge huge])

### Implementation notes

This function provides an interface to the program `rdmps1.f`

of
hopdm (J. Gondzio).

### References

"Advanced Linear Programming", Murtagh B. (1981). McGrew-Hill, New York, 1981.

## Comments

Add a comment:Please login to comment this page.