#include <mpsinput.h>
Public Types | |
Types | |
enum | Section { NAME , OBJSEN , OBJNAME , ROWS , COLUMNS , RHS , RANGES , BOUNDS , ENDATA } |
enum | Sense { MAXIMIZE = 1 , MINIMIZE = -1 } |
optimization sense. More... | |
enum | { MAX_LINE_LEN = 256 } |
Public Member Functions | |
Construction / destruction | |
MPSInput (std::istream &p_input) | |
virtual | ~MPSInput () |
Access | |
Section | section () const |
int | lineno () const |
const char * | field0 () const |
const char * | field1 () const |
const char * | field2 () const |
const char * | field3 () const |
const char * | field4 () const |
const char * | field5 () const |
const char * | probName () const |
const char * | objName () const |
Sense | objSense () const |
bool | hasError () const |
bool | isInteger () const |
Modification | |
void | setSection (Section p_section) |
void | setProbName (const char *p_probname) |
void | setObjName (const char *p_objname) |
void | setObjSense (Sense sense) |
Warnings and Errors | |
void | syntaxError () |
void | entryIgnored (const char *what, const char *what_name, const char *entity, const char *entity_name) |
Helpers | |
bool | readLine () |
reads an MPS format data line and parse the fields. More... | |
void | insertName (const char *name, bool second=false) |
Inserts name as field 1 and shifts all other fields up. More... | |
Private data | |
Section | m_section |
std::istream & | m_input |
the input stream from which the file is read More... | |
int | m_lineno |
line number More... | |
Sense | m_objsense |
objctive sense (maximization or minimization) More... | |
bool | m_has_error |
is set to true upon a syntax error More... | |
char | m_buf [MAX_LINE_LEN] |
the line buffer More... | |
const char * | m_f0 |
first field in a line More... | |
const char * | m_f1 |
second field in a line More... | |
const char * | m_f2 |
third field in a line More... | |
const char * | m_f3 |
fourth field in a line More... | |
const char * | m_f4 |
fifth field in a line More... | |
const char * | m_f5 |
sixth field in a line More... | |
char | m_probname [MAX_LINE_LEN] |
problem name More... | |
char | m_objname [MAX_LINE_LEN] |
objective name More... | |
bool | m_is_integer |
bool | m_is_new_format |
new MPS format? More... | |
int | m_ignored |
Number of already ignored entries. More... | |
static const int | m_max_ignore = 1000 |
Maximal number of ignored entries for which a warning will be issued. More... | |
Reads MPS input files. A right-hand side for the objective function is allowed but ignored.
Definition at line 43 of file mpsinput.h.
anonymous enum |
Enumerator | |
---|---|
MAX_LINE_LEN |
Definition at line 65 of file mpsinput.h.
enum Section |
Enumerator | |
---|---|
NAME | |
OBJSEN | |
OBJNAME | |
ROWS | |
COLUMNS | |
RHS | |
RANGES | |
BOUNDS | |
ENDATA |
Definition at line 52 of file mpsinput.h.
enum Sense |
|
explicit |
Definition at line 119 of file mpsinput.h.
References MPSInput::m_buf, MPSInput::m_f0, MPSInput::m_f1, MPSInput::m_f2, MPSInput::m_f3, MPSInput::m_f4, MPSInput::m_f5, MPSInput::m_objname, and MPSInput::m_probname.
|
virtual |
Definition at line 137 of file mpsinput.h.
References MPSInput::m_f0, MPSInput::m_f1, MPSInput::m_f2, MPSInput::m_f3, MPSInput::m_f4, and MPSInput::m_f5.
void entryIgnored | ( | const char * | what, |
const char * | what_name, | ||
const char * | entity, | ||
const char * | entity_name | ||
) |
Definition at line 253 of file mpsinput.h.
References MPSInput::m_ignored, MPSInput::m_lineno, MPSInput::m_max_ignore, and SPX_MSG_ERROR.
const char * field0 | ( | ) | const |
Definition at line 159 of file mpsinput.h.
References MPSInput::m_f0.
const char * field1 | ( | ) | const |
Definition at line 164 of file mpsinput.h.
References MPSInput::m_f1.
const char * field2 | ( | ) | const |
Definition at line 169 of file mpsinput.h.
References MPSInput::m_f2.
const char * field3 | ( | ) | const |
Definition at line 174 of file mpsinput.h.
References MPSInput::m_f3.
const char * field4 | ( | ) | const |
Definition at line 179 of file mpsinput.h.
References MPSInput::m_f4.
const char * field5 | ( | ) | const |
Definition at line 184 of file mpsinput.h.
References MPSInput::m_f5.
bool hasError | ( | ) | const |
Definition at line 204 of file mpsinput.h.
References MPSInput::m_has_error.
void insertName | ( | const char * | name, |
bool | second = false |
||
) |
Inserts name
as field 1 and shifts all other fields up.
Insert name
as field 1 and shift all other fields up.
Definition at line 268 of file mpsinput.cpp.
References MPSInput::m_f1, MPSInput::m_f2, MPSInput::m_f3, MPSInput::m_f4, and MPSInput::m_f5.
bool isInteger | ( | ) | const |
Definition at line 209 of file mpsinput.h.
References MPSInput::m_is_integer.
int lineno | ( | ) | const |
Definition at line 154 of file mpsinput.h.
References MPSInput::m_lineno.
const char * objName | ( | ) | const |
Definition at line 194 of file mpsinput.h.
References MPSInput::m_objname.
Sense objSense | ( | ) | const |
Definition at line 199 of file mpsinput.h.
References MPSInput::m_objsense.
const char * probName | ( | ) | const |
Definition at line 189 of file mpsinput.h.
References MPSInput::m_probname.
bool readLine | ( | ) |
reads an MPS format data line and parse the fields.
read a MPS format data line and parse the fields.
Definition at line 67 of file mpsinput.cpp.
References BLANK, MPSInput::BOUNDS, soplex::clear_from(), MPSInput::COLUMNS, SPxOut::debug(), MPSInput::m_buf, MPSInput::m_f0, MPSInput::m_f1, MPSInput::m_f2, MPSInput::m_f3, MPSInput::m_f4, MPSInput::m_f5, MPSInput::m_input, MPSInput::m_is_integer, MPSInput::m_is_new_format, MPSInput::m_lineno, MPSInput::m_section, soplex::patch_field(), MPSInput::RANGES, and MPSInput::RHS.
Section section | ( | ) | const |
Definition at line 149 of file mpsinput.h.
References MPSInput::m_section.
void setObjName | ( | const char * | p_objname | ) |
Definition at line 230 of file mpsinput.h.
References MPSInput::m_objname, MPSInput::MAX_LINE_LEN, and soplex::spxSnprintf().
void setObjSense | ( | Sense | sense | ) |
Definition at line 236 of file mpsinput.h.
References MPSInput::m_objsense.
void setProbName | ( | const char * | p_probname | ) |
Definition at line 224 of file mpsinput.h.
References MPSInput::m_probname, MPSInput::MAX_LINE_LEN, and soplex::spxSnprintf().
void setSection | ( | Section | p_section | ) |
Definition at line 219 of file mpsinput.h.
References MPSInput::m_section.
void syntaxError | ( | ) |
Definition at line 246 of file mpsinput.h.
References MPSInput::ENDATA, MPSInput::m_has_error, MPSInput::m_lineno, MPSInput::m_section, and SPX_MSG_ERROR.
|
private |
the line buffer
Definition at line 85 of file mpsinput.h.
Referenced by MPSInput::MPSInput(), and MPSInput::readLine().
|
private |
first field in a line
Definition at line 87 of file mpsinput.h.
Referenced by MPSInput::field0(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
second field in a line
Definition at line 89 of file mpsinput.h.
Referenced by MPSInput::field1(), MPSInput::insertName(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
third field in a line
Definition at line 91 of file mpsinput.h.
Referenced by MPSInput::field2(), MPSInput::insertName(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
fourth field in a line
Definition at line 93 of file mpsinput.h.
Referenced by MPSInput::field3(), MPSInput::insertName(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
fifth field in a line
Definition at line 95 of file mpsinput.h.
Referenced by MPSInput::field4(), MPSInput::insertName(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
sixth field in a line
Definition at line 97 of file mpsinput.h.
Referenced by MPSInput::field5(), MPSInput::insertName(), MPSInput::MPSInput(), MPSInput::readLine(), and MPSInput::~MPSInput().
|
private |
is set to true
upon a syntax error
Definition at line 83 of file mpsinput.h.
Referenced by MPSInput::hasError(), and MPSInput::syntaxError().
|
private |
Number of already ignored entries.
Definition at line 107 of file mpsinput.h.
Referenced by MPSInput::entryIgnored().
|
private |
the input stream from which the file is read
Definition at line 77 of file mpsinput.h.
Referenced by MPSInput::readLine().
|
private |
Definition at line 103 of file mpsinput.h.
Referenced by MPSInput::isInteger(), and MPSInput::readLine().
|
private |
|
private |
line number
Definition at line 79 of file mpsinput.h.
Referenced by MPSInput::entryIgnored(), MPSInput::lineno(), MPSInput::readLine(), and MPSInput::syntaxError().
|
staticprivate |
Maximal number of ignored entries for which a warning will be issued.
Definition at line 109 of file mpsinput.h.
Referenced by MPSInput::entryIgnored().
|
private |
objective name
Definition at line 101 of file mpsinput.h.
Referenced by MPSInput::MPSInput(), MPSInput::objName(), and MPSInput::setObjName().
|
private |
objctive sense (maximization or minimization)
Definition at line 81 of file mpsinput.h.
Referenced by MPSInput::objSense(), and MPSInput::setObjSense().
|
private |
problem name
Definition at line 99 of file mpsinput.h.
Referenced by MPSInput::MPSInput(), MPSInput::probName(), and MPSInput::setProbName().
|
private |
Definition at line 75 of file mpsinput.h.
Referenced by MPSInput::readLine(), MPSInput::section(), MPSInput::setSection(), and MPSInput::syntaxError().