#include <MpsReader.h>
Public Methods | |
void | numberOfNonZeros (int &nnzQ, int &nnzA, int &nnzC) |
virtual void | readQpBound (OoqpVector &c, SymMatrix &Q, OoqpVector &xlow, OoqpVector &ixlow, OoqpVector &xupp, OoqpVector &ixupp, int &ierr) |
virtual void | readQpGen (OoqpVector &c, SymMatrix &Q, OoqpVector &xlow, OoqpVector &ixlow, OoqpVector &xupp, OoqpVector &ixupp, GenMatrix &A, OoqpVector &b, GenMatrix &C, OoqpVector &clow, OoqpVector &iclow, OoqpVector &cupp, OoqpVector &icupp, int &ierr) |
virtual void | readQpGen (double c[], int irowQ[], int jcolQ[], double dQ[], double xlow[], char ixlow[], double xupp[], char ixupp[], int irowA[], int jcolA[], double dA[], double b[], int irowC[], int jcolC[], double dC[], double clow[], char iclow[], double cupp[], char icupp[], int &ierr) |
virtual void | getSizes (int &nx, int &my, int &mz) |
virtual void | releaseFile (int &ierr) |
virtual | ~MpsReader () |
void | printSolution (double x[], int nx, double xlow[], char ixlow[], double xupp[], char ixupp[], double gamma[], double phi[], double y[], int my, double s[], int mz, double clow[], char iclow[], double cupp[], char icupp[], double lambda[], double pi[], double z[], double objectiveValue, int &iErr) |
Static Public Methods | |
MpsReader * | newReadingFile (char filename[], int &iErr) |
void | findFile (FILE *&file, char *&resolvedName, char filename[]) |
Public Attributes | |
int | scalingOption |
char | objectiveSense [3] |
Protected Methods | |
MpsReader () | |
MpsReader (FILE *file) | |
virtual void | scanFile (int &iErr) |
Protected Attributes | |
char * | infilename |
int | iline |
int | nnzA |
int | nnzC |
int | nnzQ |
int | my |
int | mz |
FILE * | file |
char * | boundType |
HashTable * | rowTable |
HashTable * | colTable |
The problem to be read is in QpGen format:
minimize c' x + ( 1/2 ) x' * Q x ; subject to A x = b ; clow <= C x <= cupp ; xlow <= x <= xupp ;
The general linear equality constraints must have either an upper or lower bound, but need not have both bounds. The variables may have no bounds; an upper bound; a lower bound or both an upper and lower bound.
|
protected constructor. Call the class method MpsReader::newReadingFile to obtain a new, initalized MpsReader.
|
|
protected constructor. Call the class method MpsReader::newReadingFile to obtain a new, initalized MpsReader.
|
|
Destructor |
|
Locate an input file, given the user-supplied name and applying the MpsReader search rules |
|
Returns the sizes of the various components of the QP.
|
|
Creates a new MpsReader that initializes itself from the data in a file.
|
|
responds with the number of non-zeros in the QP data.
|
|
print the solution contained in the individual arrays of the QpGenVars "variables" object as an ascii file,associating the numerical values with the names stored in the MpsReader structure |
|
Reads the various components of a QP in the "general" formulation into their respective matrices and vectors, stored as objects from OOQP's linear algebra classes. See the class comments for the meaning of the variables.
|
|
Reads the various components of a QP in the "general" formulation into data representaions consisting of arrays of doubles and ints. For instance, the matrices Q, A, and C from this formulation each are represented in three arrays, in Harwell-Boeing format. See the class comments for the meaning of the various variables.
|
|
Reads the various components of a QP in the "general" formulation into their respective matrices and vectors, stored as objects from OOQP's linear algebra classes. See the class comments for the meaning of the variables.
|
|
Closes the data file if necessary, and forgets all references to it. Call this method immediately before deleting the MpsReader. We do not close the data file in the destructor, because that operation can fail! Call this method even when reading from stdin. This method will not close stdin.
|
|
protected method for scanning the file while initializing the MpsReader. Once the dimensions of the problem have been determined, it calls the class method MpsReader::newReadingFile to obtain an MpsReader with the dimensions appropriately initialized.
|
|
the type of bound on each variable, normal, free, upper, lower, upperlower, fix, minfty |
|
has table containing column names |
|
the file to be read |
|
Input file line number |
|
root of the filename for input (and possibly output) files |
|
cached values for the sizes of the parts of this QP |
|
cached values for the sizes of the parts of this QP |
|
cached values for the number of non-zeros in the parts of this QP |
|
cached values for the number of non-zeros in the parts of this QP |
|
cached values for the number of non-zeros in the parts of this QP |
|
Objective sense is either MAX or MIN |
|
hash tables containing row names |
|
The scaling option allows solution of problems in which the variables or equations have a vast range of values. By default, we do not scale unless the user requests it via the commandline argument. |