Detailed Description
(extended) MPS file reader
This reader/writer handles MPS files in extended MPS format, as it is used by CPLEX. In the extended format the limits on variable name lengths and coefficients are considerably relaxed. The columns in the format are then separated by whitespaces.
Definition in file reader_mps.c.
#include "blockmemshell/memory.h"
#include <ctype.h>
#include "scip/cons_and.h"
#include "scip/cons_bounddisjunction.h"
#include "scip/cons_indicator.h"
#include "scip/cons_knapsack.h"
#include "scip/cons_linear.h"
#include "scip/cons_logicor.h"
#include "scip/cons_quadratic.h"
#include "scip/cons_setppc.h"
#include "scip/cons_soc.h"
#include "scip/cons_sos1.h"
#include "scip/cons_sos2.h"
#include "scip/cons_varbound.h"
#include "scip/pub_cons.h"
#include "scip/pub_fileio.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_misc_sort.h"
#include "scip/pub_reader.h"
#include "scip/pub_var.h"
#include "scip/reader_mps.h"
#include "scip/scip_cons.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_reader.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_var.h"
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | ConsNameFreq |
Macros | |
#define | READER_NAME "mpsreader" |
#define | READER_DESC "file reader for MIQPs in IBM's Mathematical Programming System format" |
#define | READER_EXTENSION "mps" |
#define | DEFAULT_LINEARIZE_ANDS TRUE |
#define | DEFAULT_AGGRLINEARIZATION_ANDS TRUE |
#define | MPS_MAX_LINELEN 1024 |
#define | MPS_MAX_NAMELEN 256 |
#define | MPS_MAX_VALUELEN 26 |
#define | MPS_MAX_FIELDLEN 20 |
#define | PATCH_CHAR '_' |
#define | BLANK ' ' |
Typedefs | |
typedef enum MpsSection | MPSSECTION |
typedef struct MpsInput | MPSINPUT |
typedef struct SparseMatrix | SPARSEMATRIX |
typedef struct ConsNameFreq | CONSNAMEFREQ |
Enumerations | |
enum | MpsSection { MPS_NAME, MPS_OBJSEN, MPS_OBJNAME, MPS_ROWS, MPS_USERCUTS, MPS_LAZYCONS, MPS_COLUMNS, MPS_RHS, MPS_RANGES, MPS_BOUNDS, MPS_SOS, MPS_QUADOBJ, MPS_QMATRIX, MPS_QCMATRIX, MPS_INDICATORS, MPS_ENDATA, MPS_NAME, MPS_OBJSEN, MPS_OBJNAME, MPS_ROWS, MPS_USERCUTS, MPS_LAZYCONS, MPS_COLUMNS, MPS_RHS, MPS_RANGES, MPS_BOUNDS, MPS_SOS, MPS_QUADOBJ, MPS_QMATRIX, MPS_QCMATRIX, MPS_INDICATORS, MPS_ENDATA } |
Functions | |
static SCIP_RETCODE | mpsinputCreate (SCIP *scip, MPSINPUT **mpsi, SCIP_FILE *fp) |
static void | mpsinputFree (SCIP *scip, MPSINPUT **mpsi) |
static MPSSECTION | mpsinputSection (const MPSINPUT *mpsi) |
static const char * | mpsinputField0 (const MPSINPUT *mpsi) |
static const char * | mpsinputField1 (const MPSINPUT *mpsi) |
static const char * | mpsinputField2 (const MPSINPUT *mpsi) |
static const char * | mpsinputField3 (const MPSINPUT *mpsi) |
static const char * | mpsinputField4 (const MPSINPUT *mpsi) |
static const char * | mpsinputField5 (const MPSINPUT *mpsi) |
static const char * | mpsinputObjname (const MPSINPUT *mpsi) |
static SCIP_OBJSENSE | mpsinputObjsense (const MPSINPUT *mpsi) |
static SCIP_Bool | mpsinputHasError (const MPSINPUT *mpsi) |
static SCIP_Bool | mpsinputIsInteger (const MPSINPUT *mpsi) |
static void | mpsinputSetSection (MPSINPUT *mpsi, MPSSECTION section) |
static void | mpsinputSetProbname (MPSINPUT *mpsi, const char *probname) |
static void | mpsinputSetObjname (MPSINPUT *mpsi, const char *objname) |
static void | mpsinputSetObjsense (MPSINPUT *mpsi, SCIP_OBJSENSE sense) |
static void | mpsinputSyntaxerror (MPSINPUT *mpsi) |
static void | mpsinputEntryIgnored (SCIP *scip, MPSINPUT *mpsi, const char *what, const char *what_name, const char *entity, const char *entity_name, SCIP_VERBLEVEL verblevel) |
static void | clearFrom (char *buf, unsigned int pos) |
static void | patchField (char *buf, int beg, int end) |
static SCIP_Bool | mpsinputReadLine (MPSINPUT *mpsi) |
static void | mpsinputInsertField4 (MPSINPUT *mpsi, const char *str) |
static void | mpsinputInsertName (MPSINPUT *mpsi, const char *name, SCIP_Bool second) |
static SCIP_RETCODE | addVarNameToStorage (SCIP *scip, const char ***varnames, int *varnamessize, int *nvars, const char *colname) |
static SCIP_RETCODE | addConsNameToStorage (SCIP *scip, const char ***consnames, int *consnamessize, int *ncons, const char *rowname) |
static SCIP_RETCODE | readName (SCIP *scip, MPSINPUT *mpsi) |
static SCIP_RETCODE | readObjsen (SCIP *scip, MPSINPUT *mpsi) |
static SCIP_RETCODE | readObjname (SCIP *scip, MPSINPUT *mpsi) |
static SCIP_RETCODE | readRows (MPSINPUT *mpsi, SCIP *scip, const char ***consnames, int *consnamessize, int *nconsnames) |
static SCIP_RETCODE | readCols (MPSINPUT *mpsi, SCIP *scip, const char ***varnames, int *varnamessize, int *nvarnames) |
static SCIP_RETCODE | readRhs (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readRanges (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readBounds (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readSOS (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readQMatrix (MPSINPUT *mpsi, SCIP_Bool isQuadObj, SCIP *scip) |
static SCIP_RETCODE | readQCMatrix (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readIndicators (MPSINPUT *mpsi, SCIP *scip) |
static SCIP_RETCODE | readMps (SCIP *scip, const char *filename, const char ***varnames, const char ***consnames, int *varnamessize, int *consnamessize, int *nvarnames, int *nconsnames) |
static | SCIP_DECL_HASHGETKEY (hashGetKeyNamefreq) |
static | SCIP_DECL_HASHKEYEQ (hashKeyEqString) |
static | SCIP_DECL_HASHGETKEY (hashGetKeyVar) |
static | SCIP_DECL_HASHKEYEQ (hashKeyEqVar) |
static | SCIP_DECL_HASHKEYVAL (hashKeyValVar) |
static unsigned int | computeFieldWidth (unsigned int width) |
static void | printRecord (SCIP *scip, FILE *file, const char *col1, const char *col2, unsigned int maxnamelen) |
static void | printStart (SCIP *scip, FILE *file, const char *col1, const char *col2, int maxnamelen) |
static void | printEntry (SCIP *scip, FILE *file, const char *varname, const char *consname, SCIP_Real value, int *recordcnt, unsigned int maxnamelen) |
static void | printRowType (SCIP *scip, FILE *file, SCIP_Real lhs, SCIP_Real rhs, const char *name) |
static SCIP_RETCODE | initializeMatrix (SCIP *scip, SPARSEMATRIX **matrix, int slots) |
static SCIP_RETCODE | checkSparseMatrixCapacity (SCIP *scip, SPARSEMATRIX *matrix, int capacity) |
static void | freeMatrix (SCIP *scip, SPARSEMATRIX *matrix) |
static SCIP_RETCODE | getLinearCoeffs (SCIP *scip, const char *consname, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Bool transformed, SPARSEMATRIX *matrix, SCIP_Real *rhs) |
static SCIP_RETCODE | collectAggregatedVars (SCIP *scip, SCIP_VAR **vars, int nvars, SCIP_VAR ***aggvars, int *naggvars, int *saggvars, SCIP_HASHTABLE *varAggregated) |
static SCIP_RETCODE | checkVarnames (SCIP *scip, SCIP_VAR **vars, int nvars, unsigned int *maxnamelen, const char ***varnames, SCIP_HASHMAP **varnameHashmap) |
static SCIP_RETCODE | checkConsnames (SCIP *scip, SCIP_CONS **conss, int nconss, SCIP_Bool transformed, unsigned int *maxnamelen, const char ***consnames, SCIP_Bool *error) |
static void | printColumnSection (SCIP *scip, FILE *file, SPARSEMATRIX *matrix, SCIP_HASHMAP *varnameHashmap, SCIP_HASHTABLE *indicatorSlackHash, unsigned int maxnamelen) |
static void | printRhsSection (SCIP *scip, FILE *file, int nconss, const char **consnames, SCIP_Real *rhss, unsigned int maxnamelen, SCIP_Real objoffset) |
static void | printRangeSection (SCIP *scip, FILE *file, SCIP_CONS **conss, int nconss, const char **consnames, SCIP_Bool transformed, unsigned int maxnamelen) |
static void | printBoundSectionName (SCIP *scip, FILE *file) |
static void | printBoundSection (SCIP *scip, FILE *file, SCIP_VAR **vars, int nvars, SCIP_VAR **aggvars, int naggvars, SCIP_VAR **fixvars, int nfixvars, SCIP_Bool transformed, const char **varnames, SCIP_HASHTABLE *indicatorSlackHash, unsigned int maxnamelen) |
static | SCIP_DECL_READERCOPY (readerCopyMps) |
static | SCIP_DECL_READERFREE (readerFreeMps) |
static | SCIP_DECL_READERREAD (readerReadMps) |
static | SCIP_DECL_READERWRITE (readerWriteMps) |
SCIP_RETCODE | SCIPincludeReaderMps (SCIP *scip) |
SCIP_RETCODE | SCIPreadMps (SCIP *scip, SCIP_READER *reader, const char *filename, SCIP_RESULT *result, const char ***varnames, const char ***consnames, int *varnamessize, int *consnamessize, int *nvarnames, int *nconsnames) |
SCIP_RETCODE | SCIPwriteMps (SCIP *scip, SCIP_READER *reader, FILE *file, const char *name, SCIP_Bool transformed, SCIP_OBJSENSE objsense, SCIP_Real objscale, SCIP_Real objoffset, SCIP_VAR **vars, int nvars, int nbinvars, int nintvars, int nimplvars, int ncontvars, SCIP_VAR **fixedvars, int nfixedvars, SCIP_CONS **conss, int nconss, SCIP_RESULT *result) |
Macro Definition Documentation
◆ READER_NAME
#define READER_NAME "mpsreader" |
Definition at line 70 of file reader_mps.c.
Referenced by SCIP_DECL_READERCOPY(), SCIP_DECL_READERFREE(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), SCIPincludeReaderMps(), and SCIPwriteMps().
◆ READER_DESC
#define READER_DESC "file reader for MIQPs in IBM's Mathematical Programming System format" |
Definition at line 71 of file reader_mps.c.
Referenced by SCIPincludeReaderMps().
◆ READER_EXTENSION
#define READER_EXTENSION "mps" |
Definition at line 72 of file reader_mps.c.
Referenced by SCIPincludeReaderMps().
◆ DEFAULT_LINEARIZE_ANDS
#define DEFAULT_LINEARIZE_ANDS TRUE |
should possible "and" constraint be linearized when writing the mps file?
Definition at line 74 of file reader_mps.c.
Referenced by SCIPincludeReaderMps().
◆ DEFAULT_AGGRLINEARIZATION_ANDS
#define DEFAULT_AGGRLINEARIZATION_ANDS TRUE |
should an aggregated linearization for and constraints be used?
Definition at line 75 of file reader_mps.c.
Referenced by SCIPincludeReaderMps().
◆ MPS_MAX_LINELEN
#define MPS_MAX_LINELEN 1024 |
Definition at line 81 of file reader_mps.c.
Referenced by mpsinputReadLine().
◆ MPS_MAX_NAMELEN
#define MPS_MAX_NAMELEN 256 |
Definition at line 82 of file reader_mps.c.
Referenced by checkConsnames(), checkVarnames(), mpsinputSetObjname(), mpsinputSetProbname(), printRecord(), printStart(), readBounds(), readCols(), readIndicators(), readRanges(), readRhs(), readSOS(), SCIP_DECL_HASHKEYEQ(), and SCIPwriteMps().
◆ MPS_MAX_VALUELEN
#define MPS_MAX_VALUELEN 26 |
Definition at line 83 of file reader_mps.c.
Referenced by printBoundSection(), printEntry(), printRecord(), and SCIPwriteMps().
◆ MPS_MAX_FIELDLEN
#define MPS_MAX_FIELDLEN 20 |
Definition at line 84 of file reader_mps.c.
Referenced by computeFieldWidth().
◆ PATCH_CHAR
#define PATCH_CHAR '_' |
Definition at line 86 of file reader_mps.c.
Referenced by patchField().
◆ BLANK
#define BLANK ' ' |
Definition at line 87 of file reader_mps.c.
Referenced by clearFrom(), mpsinputReadLine(), and patchField().
Typedef Documentation
◆ MPSSECTION
typedef enum MpsSection MPSSECTION |
Definition at line 116 of file reader_mps.c.
◆ MPSINPUT
typedef struct MpsInput MPSINPUT |
Definition at line 142 of file reader_mps.c.
◆ SPARSEMATRIX
typedef struct SparseMatrix SPARSEMATRIX |
Definition at line 153 of file reader_mps.c.
◆ CONSNAMEFREQ
typedef struct ConsNameFreq CONSNAMEFREQ |
Definition at line 161 of file reader_mps.c.
Enumeration Type Documentation
◆ MpsSection
enum MpsSection |
enum containing all mps sections
Definition at line 97 of file reader_mps.c.
Function Documentation
◆ mpsinputCreate()
|
static |
creates the mps input structure
- Parameters
-
scip SCIP data structure mpsi mps input structure fp file object for the input file
Definition at line 165 of file reader_mps.c.
References FALSE, MPS_NAME, NULL, SCIP_CALL, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIPallocBlockMemory, and SCIPgetBoolParam().
Referenced by readMps().
◆ mpsinputFree()
free the mps input structure
- Parameters
-
scip SCIP data structure mpsi mps input structure
Definition at line 203 of file reader_mps.c.
References SCIPfreeBlockMemory.
Referenced by readMps().
◆ mpsinputSection()
|
static |
returns the current section
- Parameters
-
mpsi mps input structure
Definition at line 213 of file reader_mps.c.
References NULL.
Referenced by readMps(), and readRows().
◆ mpsinputField0()
|
static |
return the current value of field 0
- Parameters
-
mpsi mps input structure
Definition at line 224 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputField1()
|
static |
return the current value of field 1
- Parameters
-
mpsi mps input structure
Definition at line 235 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputField2()
|
static |
return the current value of field 2
- Parameters
-
mpsi mps input structure
Definition at line 246 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputField3()
|
static |
return the current value of field 3
- Parameters
-
mpsi mps input structure
Definition at line 257 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), and readSOS().
◆ mpsinputField4()
|
static |
return the current value of field 4
- Parameters
-
mpsi mps input structure
Definition at line 268 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), and readSOS().
◆ mpsinputField5()
|
static |
return the current value of field 5
- Parameters
-
mpsi mps input structure
Definition at line 279 of file reader_mps.c.
References NULL.
Referenced by readCols(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), and readSOS().
◆ mpsinputObjname()
|
static |
returns the objective name
- Parameters
-
mpsi mps input structure
Definition at line 290 of file reader_mps.c.
References NULL.
Referenced by readCols(), readRhs(), and readRows().
◆ mpsinputObjsense()
|
static |
returns the objective sense
- Parameters
-
mpsi mps input structure
Definition at line 301 of file reader_mps.c.
References NULL.
Referenced by readMps(), and readQMatrix().
◆ mpsinputHasError()
returns if an error was detected
- Parameters
-
mpsi mps input structure
Definition at line 312 of file reader_mps.c.
References NULL.
Referenced by readMps().
◆ mpsinputIsInteger()
returns the value of the Bool "is integer" in the mps input
- Parameters
-
mpsi mps input structure
Definition at line 323 of file reader_mps.c.
References NULL.
Referenced by readCols().
◆ mpsinputSetSection()
|
static |
set the section in the mps input structure to given section
- Parameters
-
mpsi mps input structure section section that is set
Definition at line 334 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readCols(), readIndicators(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputSetProbname()
|
static |
set the problem name in the mps input structure to given problem name
- Parameters
-
mpsi mps input structure probname name of the problem to set
Definition at line 346 of file reader_mps.c.
References MPS_MAX_NAMELEN, NULL, and SCIPmemccpy().
Referenced by readName().
◆ mpsinputSetObjname()
|
static |
set the objective name in the mps input structure to given objective name
- Parameters
-
mpsi mps input structure objname name of the objective function to set
Definition at line 360 of file reader_mps.c.
References MPS_MAX_NAMELEN, NULL, and SCIPmemccpy().
Referenced by readObjname(), and readRows().
◆ mpsinputSetObjsense()
|
static |
set the objective sense in the mps input structure to given objective sense
- Parameters
-
mpsi mps input structure sense sense of the objective function
Definition at line 374 of file reader_mps.c.
References NULL.
Referenced by readObjsen().
◆ mpsinputSyntaxerror()
|
static |
- Parameters
-
mpsi mps input structure
Definition at line 385 of file reader_mps.c.
References MPS_ENDATA, NULL, SCIPerrorMessage, and TRUE.
Referenced by readBounds(), readCols(), readIndicators(), readMps(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputEntryIgnored()
|
static |
method post a ignore message
- Parameters
-
scip SCIP data structure mpsi mps input structure what what get ignored what_name name of that object entity entity entity_name entity name verblevel SCIP verblevel for this message
Definition at line 398 of file reader_mps.c.
References NULL, and SCIPverbMessage().
Referenced by readBounds(), readCols(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ clearFrom()
|
static |
fill the line from pos
up to column 80 with blanks.
- Parameters
-
buf buffer to clear pos position to start the clearing process
Definition at line 420 of file reader_mps.c.
References BLANK.
Referenced by mpsinputReadLine().
◆ patchField()
|
static |
change all blanks inside a field to PATCH_CHAR.
- Parameters
-
buf buffer to patch beg position to begin end position to end
Definition at line 434 of file reader_mps.c.
References BLANK, and PATCH_CHAR.
Referenced by mpsinputReadLine().
◆ mpsinputReadLine()
read a mps format data line and parse the fields.
- Parameters
-
mpsi mps input structure
Definition at line 455 of file reader_mps.c.
References BLANK, clearFrom(), FALSE, MPS_BOUNDS, MPS_COLUMNS, MPS_MAX_LINELEN, MPS_RANGES, MPS_RHS, NULL, number, patchField(), SCIP_Bool, SCIPdebugMessage, SCIPfgets(), SCIPstrtok(), and TRUE.
Referenced by readBounds(), readCols(), readIndicators(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), and readSOS().
◆ mpsinputInsertField4()
|
static |
Insert str
as field 4 and shift all other fields up.
- Parameters
-
mpsi mps input structure str str to insert
Definition at line 631 of file reader_mps.c.
References NULL.
Referenced by readBounds().
◆ mpsinputInsertName()
Insert name
as field 1 or 2 and shift all other fields up.
- Parameters
-
mpsi mps input structure name name to insert second insert as second field?
Definition at line 645 of file reader_mps.c.
References NULL.
Referenced by readBounds(), readRanges(), and readRhs().
◆ addVarNameToStorage()
|
static |
Add variable name to storage
- Parameters
-
scip SCIP data structure varnames the variable name storage varnamessize the size of the variable names storage nvars the number of variables colname the name of the variable
Definition at line 669 of file reader_mps.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, and SCIPensureBlockMemoryArray.
Referenced by readCols().
◆ addConsNameToStorage()
|
static |
Add constraint name to storage
- Parameters
-
scip SCIP data structure consnames the constraint name storage consnamessize the size of the constraint names storage ncons the number of constraint rowname the name of the constraint
Definition at line 691 of file reader_mps.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, and SCIPensureBlockMemoryArray.
Referenced by readRows().
◆ readName()
|
static |
Process NAME section.
- Parameters
-
scip SCIP data structure mpsi mps input structure
Definition at line 713 of file reader_mps.c.
References MPS_LAZYCONS, MPS_OBJNAME, MPS_OBJSEN, MPS_ROWS, MPS_USERCUTS, mpsinputField0(), mpsinputField1(), mpsinputReadLine(), mpsinputSetProbname(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_OKAY, and SCIPdebugMsg.
Referenced by readMps().
◆ readObjsen()
|
static |
Process OBJSEN section. This Section is a CPLEX extension.
- Parameters
-
scip SCIP data structure mpsi mps input structure
Definition at line 761 of file reader_mps.c.
References MPS_LAZYCONS, MPS_OBJNAME, MPS_ROWS, MPS_USERCUTS, mpsinputField0(), mpsinputField1(), mpsinputReadLine(), mpsinputSetObjsense(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, and SCIPdebugMsg.
Referenced by readMps().
◆ readObjname()
|
static |
Process OBJNAME section. This Section is a CPLEX extension.
- Parameters
-
scip SCIP data structure mpsi mps input structure
Definition at line 814 of file reader_mps.c.
References MPS_LAZYCONS, MPS_ROWS, MPS_USERCUTS, mpsinputField0(), mpsinputField1(), mpsinputReadLine(), mpsinputSetObjname(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_OKAY, and SCIPdebugMsg.
Referenced by readMps().
◆ readRows()
|
static |
Process ROWS, USERCUTS, or LAZYCONS section.
- Parameters
-
mpsi mps input structure scip SCIP data structure consnames storage for the constraint names, or NULL consnamessize the size of the constraint names storage, or NULL nconsnames the number of stored constraint names, or NULL
Definition at line 853 of file reader_mps.c.
References addConsNameToStorage(), FALSE, MPS_COLUMNS, MPS_LAZYCONS, MPS_ROWS, MPS_USERCUTS, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputObjname(), mpsinputReadLine(), mpsinputSection(), mpsinputSetObjname(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VERBLEVEL_NORMAL, SCIPaddCons(), SCIPcreateConsLinear(), SCIPdebugMsg, SCIPfindCons(), SCIPinfinity(), SCIPreleaseCons(), and TRUE.
Referenced by readMps().
◆ readCols()
|
static |
Process COLUMNS section.
- Parameters
-
mpsi mps input structure scip SCIP data structure varnames storage for the variable names, or NULL varnamessize the size of the variable names storage, or NULL nvarnames the number of stored variable names, or NULL
Definition at line 948 of file reader_mps.c.
References addVarNameToStorage(), MPS_MAX_NAMELEN, MPS_RHS, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputIsInteger(), mpsinputObjname(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VERBLEVEL_FULL, SCIPaddCoefLinear(), SCIPaddVar(), SCIPchgVarObj(), SCIPconsGetName(), SCIPcreateVar(), SCIPdebugMsg, SCIPerrorMessage, SCIPfindCons(), SCIPfindVar(), SCIPgetBoolParam(), SCIPinfinity(), SCIPisInfinity(), SCIPisZero(), SCIPmemccpy(), SCIPreleaseVar(), SCIPvarGetName(), and SCIPwarningMessage().
Referenced by readMps().
◆ readRhs()
|
static |
Process RHS section.
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 1079 of file reader_mps.c.
References FALSE, MPS_BOUNDS, MPS_ENDATA, MPS_INDICATORS, MPS_MAX_NAMELEN, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, MPS_RANGES, MPS_SOS, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputInsertName(), mpsinputObjname(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_NORMAL, SCIPaddOrigObjoffset(), SCIPchgLhsLinear(), SCIPchgRhsLinear(), SCIPdebugMsg, SCIPfindCons(), SCIPgetLhsLinear(), SCIPgetRhsLinear(), SCIPisInfinity(), SCIPisZero(), SCIPmemccpy(), and SCIPwarningMessage().
Referenced by readMps().
◆ readRanges()
|
static |
Process RANGES section
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 1226 of file reader_mps.c.
References FALSE, MPS_BOUNDS, MPS_ENDATA, MPS_INDICATORS, MPS_MAX_NAMELEN, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, MPS_SOS, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputInsertName(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_NORMAL, SCIPchgLhsLinear(), SCIPchgRhsLinear(), SCIPdebugMsg, SCIPfindCons(), SCIPgetLhsLinear(), SCIPgetRhsLinear(), SCIPisEQ(), SCIPisInfinity(), SCIPmemccpy(), and SCIPwarningMessage().
Referenced by readMps().
◆ readBounds()
|
static |
Process BOUNDS section.
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 1366 of file reader_mps.c.
References FALSE, MPS_ENDATA, MPS_INDICATORS, MPS_MAX_NAMELEN, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, MPS_SOS, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputInsertField4(), mpsinputInsertName(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIP_VERBLEVEL_NORMAL, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPchgVarLb(), SCIPchgVarType(), SCIPchgVarUb(), SCIPcreateConsBounddisjunction(), SCIPcreateVar(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPfindVar(), SCIPfreeBufferArrayNull, SCIPinfinity(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPisZero(), SCIPmemccpy(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE.
Referenced by readMps().
◆ readSOS()
|
static |
Process SOS section.
We read the SOS section, which is a nonstandard section introduced by CPLEX.
- Note
- Currently we do not support the standard way of specifying SOS constraints via markers.
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 1742 of file reader_mps.c.
References FALSE, MPS_ENDATA, MPS_INDICATORS, MPS_MAX_NAMELEN, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_NORMAL, SCIPABORT, SCIPaddCons(), SCIPaddVarSOS1(), SCIPaddVarSOS2(), SCIPconsGetName(), SCIPcreateConsSOS1(), SCIPcreateConsSOS2(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPerrorMessage, SCIPfindVar(), SCIPmemccpy(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), SCIPwarningMessage(), and TRUE.
Referenced by readMps().
◆ readQMatrix()
|
static |
Process QMATRIX or QUADOBJ section.
- We read the QMATRIX or QUADOBJ section, which is a nonstandard section introduced by CPLEX.
- We create a quadratic constraint for this matrix and add a variable to the objective to represent the value of the QMATRIX.
- For a QMATRIX, we expect that both lower and upper diagonal elements are given and every coefficient has to be divided by 2.0.
- For a QUADOBJ, we expect that only the upper diagonal elements are given and thus only coefficients on the diagonal have to be divided by 2.0.
- Parameters
-
mpsi mps input structure isQuadObj whether we actually read a QUADOBJ section scip SCIP data structure
Definition at line 1936 of file reader_mps.c.
References FALSE, MPS_ENDATA, MPS_INDICATORS, MPS_QCMATRIX, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputObjsense(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIP_VERBLEVEL_NORMAL, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPconsGetName(), SCIPcreateConsQuadratic(), SCIPcreateVar(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPerrorMessage, SCIPfindVar(), SCIPfreeBufferArray, SCIPinfinity(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPreleaseVar(), SCIPvarGetName(), SCIPwarningMessage(), and TRUE.
Referenced by readMps().
◆ readQCMatrix()
|
static |
Process QCMATRIX section.
We read the QCMATRIX section, which is a nonstandard section introduced by CPLEX.
We replace the corresponding linear constraint by a quadratic constraint which contains the original linear constraint plus the quadratic part specified in the QCMATRIX.
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 2149 of file reader_mps.c.
References MPS_ENDATA, MPS_INDICATORS, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, mpsinputEntryIgnored(), mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputField5(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_NORMAL, SCIPaddCons(), SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPcreateConsQuadratic(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPdelCons(), SCIPerrorMessage, SCIPfindCons(), SCIPfindVar(), SCIPfreeBufferArray, SCIPgetLhsLinear(), SCIPgetNVarsLinear(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPvarGetName(), and SCIPwarningMessage().
Referenced by readMps().
◆ readIndicators()
|
static |
Process INDICATORS section.
We read the INDICATORS section, which is a nonstandard section introduced by CPLEX. Note that CPLEX does not allow ranged rows.
If the linear constraints are equations or ranged rows, we generate two indicator constraints.
The section has to come after the QMATRIX* sections.
- Parameters
-
mpsi mps input structure scip SCIP data structure
Definition at line 2333 of file reader_mps.c.
References FALSE, MPS_ENDATA, MPS_MAX_NAMELEN, mpsinputField0(), mpsinputField1(), mpsinputField2(), mpsinputField3(), mpsinputField4(), mpsinputReadLine(), mpsinputSetSection(), mpsinputSyntaxerror(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPaddCoefLinear(), SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPchgLhsLinear(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPcreateConsIndicator(), SCIPcreateConsIndicatorLinCons(), SCIPcreateVar(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPerrorMessage, SCIPfindCons(), SCIPfindVar(), SCIPfreeBufferArray, SCIPgetLhsLinear(), SCIPgetNegatedVar(), SCIPgetNVarsLinear(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPinfinity(), SCIPisInfinity(), SCIPisIntegral(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarGetType(), SCIPvarIsIntegral(), sign(), and TRUE.
Referenced by readMps().
◆ readMps()
|
static |
Read LP in "MPS File Format".
A specification of the MPS format can be found at
http://plato.asu.edu/ftp/mps_format.txt, ftp://ftp.caam.rice.edu/pub/people/bixby/miplib/mps_format,
and in the
CPLEX Reference Manual
This routine should read all valid MPS format files. What it will not do, is to find all cases where a file is ill formed. If this happens it may complain and read nothing or read "something".
- Parameters
-
scip SCIP data structure filename name of the input file varnames storage for the variable names, or NULL consnames storage for the constraint names, or NULL varnamessize the size of the variable names storage, or NULL consnamessize the size of the constraint names storage, or NULL nvarnames the number of stored variable names, or NULL nconsnames the number of stored constraint names, or NULL
Definition at line 2570 of file reader_mps.c.
References FALSE, MPS_BOUNDS, MPS_COLUMNS, MPS_ENDATA, MPS_INDICATORS, MPS_LAZYCONS, MPS_OBJNAME, MPS_OBJSEN, MPS_QCMATRIX, MPS_QMATRIX, MPS_QUADOBJ, MPS_RANGES, MPS_RHS, MPS_ROWS, MPS_SOS, MPS_USERCUTS, mpsinputCreate(), mpsinputFree(), mpsinputHasError(), mpsinputObjsense(), mpsinputSection(), mpsinputSyntaxerror(), NULL, readBounds(), readCols(), readIndicators(), readName(), readObjname(), readObjsen(), readQCMatrix(), readQMatrix(), readRanges(), readRhs(), readRows(), readSOS(), SCIP_Bool, SCIP_CALL, SCIP_CALL_TERMINATE, SCIP_NOFILE, SCIP_OKAY, SCIP_READERROR, SCIPcreateProb(), SCIPerrorMessage, SCIPfclose(), SCIPfopen(), SCIPprintSysError(), SCIPsetObjsense(), and TRUE.
Referenced by SCIPreadMps().
◆ SCIP_DECL_HASHGETKEY() [1/2]
|
static |
gets the key (i.e. the name) of the given namefreq
Definition at line 2684 of file reader_mps.c.
References ConsNameFreq::consname, and NULL.
◆ SCIP_DECL_HASHKEYEQ() [1/2]
|
static |
returns TRUE iff both keys (i.e. strings) are equal up to max length
Definition at line 2696 of file reader_mps.c.
References MPS_MAX_NAMELEN.
◆ SCIP_DECL_HASHGETKEY() [2/2]
|
static |
hash key retrieval function for variables
Definition at line 2706 of file reader_mps.c.
◆ SCIP_DECL_HASHKEYEQ() [2/2]
|
static |
returns TRUE iff the indices of both variables are equal
Definition at line 2713 of file reader_mps.c.
◆ SCIP_DECL_HASHKEYVAL()
|
static |
returns the hash value of the key
Definition at line 2722 of file reader_mps.c.
References SCIPvarGetIndex().
◆ computeFieldWidth()
|
static |
computes the field width such that the output file is nicely arranged
- Parameters
-
width required width
Definition at line 2731 of file reader_mps.c.
References MAX, and MPS_MAX_FIELDLEN.
Referenced by printRecord(), and printStart().
◆ printRecord()
|
static |
output two strings in columns 1 and 2 with computed widths
- Parameters
-
scip SCIP data structure file output file (or NULL for standard output) col1 column 1 col2 column 2 maxnamelen maximum name length
Definition at line 2742 of file reader_mps.c.
References computeFieldWidth(), MPS_MAX_NAMELEN, MPS_MAX_VALUELEN, NULL, SCIPinfoMessage(), and SCIPsnprintf().
Referenced by printBoundSection(), printColumnSection(), printEntry(), and SCIPwriteMps().
◆ printStart()
|
static |
output two strings in columns 1 (width 2) and 2 (width 8)
- Parameters
-
scip SCIP data structure file output file (or NULL for standard output) col1 column 1 col2 column 2 maxnamelen maximum name length (-1 if irrelevant)
Definition at line 2768 of file reader_mps.c.
References computeFieldWidth(), MPS_MAX_NAMELEN, NULL, SCIPinfoMessage(), and SCIPsnprintf().
Referenced by printBoundSection(), printColumnSection(), printEntry(), printRowType(), and SCIPwriteMps().
◆ printEntry()
|
static |
prints the given data as column entry
- Parameters
-
scip SCIP data structure file output file (or NULL for standard output) varname variable name consname constraint name value value to display recordcnt pointer to store the number of records per line maxnamelen maximum name length
Definition at line 2802 of file reader_mps.c.
References MPS_MAX_VALUELEN, NULL, printRecord(), printStart(), SCIPinfoMessage(), and SCIPsnprintf().
Referenced by printColumnSection(), printRangeSection(), and printRhsSection().
◆ printRowType()
|
static |
prints the constraint type to file stream
- Parameters
-
scip SCIP data structure file output file (or NULL for standard output) lhs left hand side rhs right hand side name constraint name
Definition at line 2840 of file reader_mps.c.
References NULL, printStart(), SCIPinfoMessage(), SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), and SCIPsnprintf().
Referenced by SCIPwriteMps().
◆ initializeMatrix()
|
static |
initializes the sparse matrix
- Parameters
-
scip SCIP data structure matrix pointer to sparse matrix containing the entries slots number of slots
Definition at line 2878 of file reader_mps.c.
References SCIP_CALL, SCIP_OKAY, SCIPallocBuffer, and SCIPallocBufferArray.
Referenced by SCIPwriteMps().
◆ checkSparseMatrixCapacity()
|
static |
this method takes care that the required capacity is available in the sparse matrix
- Parameters
-
scip SCIP data structure matrix sparse matrix for storing the coefficient capacity needed capacity
Definition at line 2896 of file reader_mps.c.
References SCIP_CALL, SCIP_OKAY, and SCIPreallocBufferArray.
Referenced by getLinearCoeffs(), and SCIPwriteMps().
◆ freeMatrix()
|
static |
frees the sparse matrix
- Parameters
-
scip SCIP data structure matrix sparse matrix to free
Definition at line 2914 of file reader_mps.c.
References SCIPfreeBuffer, and SCIPfreeBufferArray.
Referenced by SCIPwriteMps().
◆ getLinearCoeffs()
|
static |
computes the coefficient for the given variables and linear constraint information
- Parameters
-
scip SCIP data structure consname name of the constraint vars array of variables vals array of coefficients values (or NULL if all coefficient values are 1) nvars number of variables transformed transformed constraint? matrix sparse matrix for storing the coefficient rhs pointer to right hand side
Definition at line 2929 of file reader_mps.c.
References checkSparseMatrixCapacity(), ConsNameFreq::consname, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_NEGATED, SCIPallocBufferArray, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetProbvarLinearSum(), SCIPisInfinity(), SCIPreallocBufferArray, SCIPvarGetNegatedVar(), SCIPvarGetOrigvarSum(), SCIPvarGetStatus(), and TRUE.
Referenced by SCIPwriteMps().
◆ collectAggregatedVars()
|
static |
check whether given variables are aggregated and put them into an array without duplication
- Parameters
-
scip SCIP data structure vars variable array nvars number of active variables in the problem aggvars pointer to array storing the aggregated variables on output naggvars pointer to number of aggregated variables on output saggvars pointer to number of slots in aggvars array varAggregated hashtable for checking duplicates
Definition at line 3032 of file reader_mps.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPcalcMemGrowSize(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPreallocBlockMemoryArray, and SCIPvarGetStatus().
Referenced by SCIPwriteMps().
◆ checkVarnames()
|
static |
method check if the variable names are not longer than MPS_MAX_NAMELEN - 1
- Parameters
-
scip SCIP data structure vars array of variables nvars number of variables maxnamelen pointer to store the maximum name length varnames pointer to array of variable names varnameHashmap pointer to hash map storing variable, variable name mapping
Definition at line 3089 of file reader_mps.c.
References MAX, MPS_MAX_NAMELEN, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPblkmem(), SCIPhashmapCreate(), SCIPhashmapExists(), SCIPhashmapInsert(), SCIPsnprintf(), SCIPvarGetName(), and SCIPwarningMessage().
Referenced by SCIPwriteMps().
◆ checkConsnames()
|
static |
method check if the constraint names are not longer than MPS_MAX_NAMELEN - 1
- Parameters
-
scip SCIP data structure conss array of all constraints nconss number of all constraints transformed TRUE iff problem is the transformed problem maxnamelen pointer to store the maximum name length consnames pointer to array of constraint names error pointer to store whether all constraint names exist
Definition at line 3153 of file reader_mps.c.
References ConsNameFreq::consname, FALSE, ConsNameFreq::freq, MAX, MPS_MAX_NAMELEN, NULL, SCIP_CALL, SCIP_HASHSIZE_NAMES, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPblkmem(), SCIPconsGetName(), SCIPconsIsEnabled(), SCIPfreeBufferArray, SCIPhashtableCreate(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), SCIPsnprintf(), SCIPwarningMessage(), and TRUE.
Referenced by SCIPwriteMps().
◆ printColumnSection()
|
static |
outputs the COLUMNS section of the MPS format
- Parameters
-
scip SCIP data structure file output file, or NULL if standard output should be used matrix sparse matrix containing the entries varnameHashmap map from SCIP_VAR* to variable name indicatorSlackHash hashtable containing slack variables from indicators (or NULL) maxnamelen maximum name length
Definition at line 3259 of file reader_mps.c.
References FALSE, NULL, printEntry(), printRecord(), printStart(), SCIP_Bool, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMsg, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashtableExists(), SCIPinfoMessage(), SCIPsortPtrPtrReal(), SCIPvarGetName(), SCIPvarGetType(), and TRUE.
Referenced by SCIPwriteMps().
◆ printRhsSection()
|
static |
outputs the right hand side section
- Parameters
-
scip SCIP data structure file output file, or NULL if standard output should be used nconss number of constraints consnames constraint names rhss right hand side array maxnamelen maximum name length objoffset objective offset
Definition at line 3351 of file reader_mps.c.
References NULL, printEntry(), SCIPdebugMsg, SCIPinfoMessage(), SCIPisInfinity(), and SCIPisZero().
Referenced by SCIPwriteMps().
◆ printRangeSection()
|
static |
outputs the range section
- Parameters
-
scip SCIP data structure file output file, or NULL if standard output should be used conss constraint array nconss number of constraints consnames constraint names transformed TRUE iff problem is the transformed problem maxnamelen maximum name length
Definition at line 3394 of file reader_mps.c.
References NULL, printEntry(), SCIP_Real, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsIsEnabled(), SCIPdebugMsg, SCIPgetLhsLinear(), SCIPgetLhsVarbound(), SCIPgetRhsLinear(), SCIPgetRhsVarbound(), SCIPinfoMessage(), SCIPisEQ(), SCIPisGT(), and SCIPisInfinity().
Referenced by SCIPwriteMps().
◆ printBoundSectionName()
|
static |
print bound section name
- Parameters
-
scip SCIP data structure file output file, or NULL if standard output should be used
Definition at line 3459 of file reader_mps.c.
References SCIPdebugMsg, and SCIPinfoMessage().
Referenced by printBoundSection().
◆ printBoundSection()
|
static |
output bound section
- Parameters
-
scip SCIP data structure file output file, or NULL if standard output should be used vars active variables nvars number of active variables aggvars needed aggregated variables naggvars number of aggregated variables fixvars all fixed variables (or NULL if nfixvars is 0) nfixvars number of fixed variables transformed TRUE iff problem is the transformed problem varnames array with variable names indicatorSlackHash hashtable containing slack variables from indicators (or NULL) maxnamelen maximum name length
Definition at line 3470 of file reader_mps.c.
References FALSE, MPS_MAX_VALUELEN, NULL, printBoundSectionName(), printRecord(), printStart(), SCIP_Bool, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARTYPE_BINARY, SCIPhashtableExists(), SCIPinfoMessage(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisZero(), SCIPsnprintf(), SCIPvarGetLbLocal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarGetUbOriginal(), and TRUE.
Referenced by SCIPwriteMps().
◆ SCIP_DECL_READERCOPY()
|
static |
copy method for reader plugins (called when SCIP copies plugins) ! [SnippetReaderCopyMps]
Definition at line 3733 of file reader_mps.c.
References NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludeReaderMps(), and SCIPreaderGetName().
◆ SCIP_DECL_READERFREE()
|
static |
! [SnippetReaderCopyMps] destructor of reader to free user data (called when SCIP is exiting) ! [SnippetReaderFreeMps]
Definition at line 3749 of file reader_mps.c.
References NULL, READER_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPreaderGetData(), and SCIPreaderGetName().
◆ SCIP_DECL_READERREAD()
|
static |
! [SnippetReaderFreeMps] problem reading method of reader
Definition at line 3764 of file reader_mps.c.
References NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPreaderGetName(), and SCIPreadMps().
◆ SCIP_DECL_READERWRITE()
|
static |
problem writing method of reader
Definition at line 3777 of file reader_mps.c.
References NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPreaderGetName(), and SCIPwriteMps().