#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 nameas 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 trueupon 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 267 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, soplex::clear_from(), 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(), and MPSInput::ROWS.
| 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().