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.
Report an issue | ||
<< qpsolve | Optimization and Simulation | XML Management >> |