Format of data for LP’s in standard form:
min c’x subject to Ax = b, lobnd <= x <= upbnd
name - problem name (same as mps name card)
m - number or rows (input)
n - number of columns (input)
Ap - pointers to the begining of storage of column (size n+1)
Ai - row indices for each non zero entry (input, nnz A)
Ax - non zero entries (input, nnz A)
b - right hand side (input, size m)
c - objective vector (minimize, size n)
z0 - initial fixed value for objective
lobnd - lower bounds on variables (size n)
upbnd - upper bounds on variables (size n)
Note: Matrix is stored by columns in Fortran format where the
(1,1) element is in column 1 and row 1 (rather than C format
where it is in column 0 and row 0).
Ap (j) = location of start of column j
Ai (Ap (j)) through Ai (Ap (j+1)-1) are the row indices in column j
Ax (Ap (j)) through Ax (Ap (j+1)-1) are the numerical values in column j
read(file,'(a8)') name
read(file,*) m,n
read(file,*) (ia(i),i=1,n+1)
read(file,*) (ja(i),i=1,ia(n+1)-1)
read(file,*) (a(i),i=1,ia(n+1)-1)
read(file,*) (b(i),i=1,m)
read(file,*) (c(i),i=1,n)
read(file,*) z0
read(file,*) (lobnd(i),i=1,n)
read(file,*) (upbnd(i),i=1,n)