package com.imsl.test.example.io;
import com.imsl.io.MPSReader;
import java.io.*;
import java.util.Iterator;
/**
*
*
Reads an MPS file.
*
* This example reads the data for a linear programming problem from an MPS
* file, using the class {@link MPSReader}.
*
* @see Code
* @see Output
*/
public class MPSReaderEx1 {
static public void main(String arg[])
throws IOException, MPSReader.InvalidMPSFileException {
InputStream stream
= MPSReaderEx1.class.getResourceAsStream("testprob.mps");
Reader reader = new InputStreamReader(stream);
MPSReader mps = new MPSReader();
mps.read(reader);
System.out.println("Name " + mps.getName());
System.out.println("RHS " + mps.getNameRHS());
System.out.println("BOUNDS " + mps.getNameBounds());
System.out.println("RANGES " + mps.getNameRanges());
int nRows = mps.getNumberOfRows();
System.out.println("NumberOfConstraints " + nRows);
for (int i = 0; i < nRows; i++) {
System.out.println(" "
+ mps.getLowerRange(i)
+ " <= row[" + i + "] = "
+ mps.getNameRow(i)
+ " <= " + mps.getUpperRange(i));
}
int nColumns = mps.getNumberOfColumns();
System.out.println("NumberOfColumns " + nColumns);
for (int i = 0; i < nColumns; i++) {
System.out.println(" "
+ mps.getLowerBound(i)
+ " <= var[" + i + "] = "
+ mps.getNameColumn(i)
+ " <= " + mps.getUpperBound(i));
}
System.out.println("NumberOfNonZeros " + mps.getNumberOfNonZeros());
for (int iRow = 0; iRow < nRows; iRow++) {
System.out.println(" row " + mps.getNameRow(iRow));
Iterator iter = mps.getRow(iRow).iterator();
while (iter.hasNext()) {
MPSReader.Element elem = (MPSReader.Element) iter.next();
int iColumn = elem.getColumn();
String nameColumn = mps.getNameColumn(iColumn);
System.out.println(" " + nameColumn
+ ": " + elem.getValue());
}
}
reader.close();
stream.close();
}
}