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(); } }