dbl_mps.c File Reference

#include "qs_config.h"
#include "dbl_iqsutil.h"
#include "dbl_mps.h"
#include "dbl_rawlp.h"
#include "dbl_lpdata.h"

Include dependency graph for dbl_mps.c:

Go to the source code of this file.

Functions

static int dbl_add_bounds (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_add_col (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_add_ranges (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_add_rhs (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_add_row (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_check_section_order (dbl_ILLread_mps_state *state, int sec)
int dbl_ILLread_mps (dbl_qsline_reader *file, const char *f, dbl_rawlpdata *lp)
int dbl_ILLwrite_mps (dbl_ILLlpdata *lp, dbl_qserror_collector *collector)
static int dbl_is_marker_line (dbl_ILLread_mps_state *state)
static int dbl_mps_fill_in (dbl_rawlpdata *lp, const char *obj)
static int dbl_mps_read_col_line (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_mps_read_marker_line (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static void dbl_mps_set_bound (dbl_rawlpdata *lp, dbl_ILLread_mps_state *state, int colind, const char *bndtype, double bnd)
static int dbl_mps_write_col (int i, int iorig, char *colname, dbl_ILLlpdata *lp, char **rownames, int intmode, char *objname)
static int dbl_read_mps_line_in_section (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_read_mps_name (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_read_mps_objname (dbl_ILLread_mps_state *state)
static int dbl_read_mps_objnamesense (ILLmps_section sec, dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_read_mps_objsense (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_read_mps_refrow (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)
static int dbl_read_mps_section (dbl_ILLread_mps_state *state, dbl_rawlpdata *lp)

Variables

const char * dbl_ILLmps_section_name [ILL_MPS_N_SECTIONS+2]
static const char * dbl_mps_bound_name []
static int TRACE = 0


Function Documentation

static int dbl_add_bounds ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 761 of file dbl_mps.c.

References dbl_rawlpdata::coltab, dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_bound(), dbl_ILLmps_next_field(), dbl_ILLmps_possibly_blank_name(), dbl_ILLmps_set_end_of_line(), dbl_ILLraw_set_bounds_name(), dbl_ILLutil_index(), dbl_mps_bound_name, dbl_mps_set_bound(), ILL_FAILtrue, ILL_RESULT, ILLsymboltab_lookup(), and NULL.

Referenced by dbl_read_mps_line_in_section().

Here is the call graph for this function:

static int dbl_add_col ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 538 of file dbl_mps.c.

References dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_is_marker_line(), dbl_mps_read_col_line(), dbl_mps_read_marker_line(), ILL_FAILtrue, and ILL_RETURN.

Here is the call graph for this function:

static int dbl_add_ranges ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 900 of file dbl_mps.c.

References dbl_ILLmps_error(), dbl_ILLmps_next_coef(), dbl_ILLmps_next_field(), dbl_ILLmps_possibly_blank_name(), dbl_ILLmps_set_end_of_line(), dbl_ILLmps_warn(), dbl_ILLraw_add_ranges_coef(), dbl_ILLraw_rowname(), dbl_ILLraw_set_ranges_name(), dbl_ILLread_mps_state_struct::field, ILLsymboltab_lookup(), and dbl_rawlpdata::rowtab.

Referenced by dbl_read_mps_line_in_section().

Here is the call graph for this function:

static int dbl_add_rhs ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 695 of file dbl_mps.c.

References dbl_ILLmps_error(), dbl_ILLmps_next_coef(), dbl_ILLmps_next_field(), dbl_ILLmps_possibly_blank_name(), dbl_ILLmps_set_end_of_line(), dbl_ILLmps_warn(), dbl_ILLraw_rowname(), dbl_ILLraw_set_rhs_name(), dbl_ILLread_mps_state_struct::field, ILLsymboltab_lookup(), and dbl_rawlpdata::rowtab.

Referenced by dbl_read_mps_line_in_section().

Here is the call graph for this function:

static int dbl_add_row ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 491 of file dbl_mps.c.

References dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_field(), dbl_ILLraw_add_row(), ILL_FAILtrue, ILL_RESULT, ILLsymboltab_lookup(), and dbl_rawlpdata::rowtab.

Here is the call graph for this function:

static int dbl_check_section_order ( dbl_ILLread_mps_state state,
int  sec 
) [static]

Definition at line 201 of file dbl_mps.c.

References dbl_ILLmps_error(), dbl_ILLmps_section_name, ILL_MPS_BOUNDS, ILL_MPS_COLS, ILL_MPS_RANGES, ILL_MPS_REFROW, ILL_MPS_RHS, ILL_MPS_ROWS, and dbl_ILLread_mps_state_struct::section.

Referenced by dbl_read_mps_section().

Here is the call graph for this function:

int dbl_ILLread_mps ( dbl_qsline_reader file,
const char *  f,
dbl_rawlpdata lp 
)

Definition at line 132 of file dbl_mps.c.

References dbl_rawlpdata::coltab, dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_line(), dbl_ILLmps_section_name, dbl_ILLmps_state_init(), dbl_ILLmps_warn(), dbl_mps_fill_in(), dbl_read_mps_line_in_section(), dbl_read_mps_section(), ILL_IFTRACE, ILL_MPS_ENDATA, ILL_RESULT, ILLsymboltab_create(), and dbl_rawlpdata::rowtab.

Here is the call graph for this function:

int dbl_ILLwrite_mps ( dbl_ILLlpdata lp,
dbl_qserror_collector collector 
)

Definition at line 1084 of file dbl_mps.c.

References dbl_ILLlpdata::colnames, dbl_ILL_MIN, dbl_ILL_UTIL_STR, dbl_ILLdata_warn(), dbl_ILLlp_rows_init(), dbl_ILLprint_report(), ILL_CHECKnull, ILL_CLEANUP_IF, ILL_FAILfalse, ILL_FAILtrue, ILL_namebufsize, ILLsymboltab_uname(), dbl_ILLlpdata::nrows, NULL, dbl_ILLlpdata::objname, dbl_ILLlpdata::objsense, dbl_ILLlpdata::probname, dbl_ILLlpdata::refind, dbl_ILLlpdata::refrowname, dbl_ILLlp_rows::rowcnt, dbl_ILLlpdata::rownames, dbl_ILLlpdata::rowtab, and dbl_ILLlpdata::sense.

Here is the call graph for this function:

static int dbl_is_marker_line ( dbl_ILLread_mps_state state  )  [static]

Definition at line 630 of file dbl_mps.c.

References dbl_ILL_ISBLANK, dbl_ILLutil_strchr(), and dbl_ILLread_mps_state_struct::line.

Referenced by dbl_add_col().

Here is the call graph for this function:

static int dbl_mps_fill_in ( dbl_rawlpdata lp,
const char *  obj 
) [static]

Definition at line 966 of file dbl_mps.c.

References dbl_ILLdata_error(), dbl_ILLdata_warn(), dbl_rawlpdata::error_collector, ILLsymboltab_lookup(), dbl_rawlpdata::nrows, dbl_rawlpdata::objindex, dbl_rawlpdata::rowsense, and dbl_rawlpdata::rowtab.

Referenced by dbl_ILLread_mps().

Here is the call graph for this function:

static int dbl_mps_read_col_line ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 559 of file dbl_mps.c.

References dbl_rawlpdata::coltab, dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_coef(), dbl_ILLmps_next_field(), dbl_ILLraw_add_col(), dbl_ILLraw_add_col_coef(), dbl_ILLraw_add_sos_member(), dbl_ILLraw_colname(), dbl_ILLraw_is_mem_other_sos(), ILL_CLEANUP_IF, ILL_FAILfalse, ILL_FAILtrue, ILL_RESULT, ILLsymboltab_lookup(), dbl_rawlpdata::intmarker, dbl_rawlpdata::ncols, and dbl_rawlpdata::rowtab.

Referenced by dbl_add_col().

Here is the call graph for this function:

static int dbl_mps_read_marker_line ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 649 of file dbl_mps.c.

References dbl_ILL_SOS_TYPE1, dbl_ILL_SOS_TYPE2, dbl_ILLmps_error(), dbl_ILLmps_int_sos_mode(), dbl_ILLmps_next_field(), dbl_ILLraw_add_sos(), dbl_ILLread_mps_state_struct::field, ILL_RESULT, and dbl_ILLread_mps_state_struct::sosvar.

Referenced by dbl_add_col().

Here is the call graph for this function:

static void dbl_mps_set_bound ( dbl_rawlpdata lp,
dbl_ILLread_mps_state state,
int  colind,
const char *  bndtype,
double  bnd 
) [static]

Definition at line 833 of file dbl_mps.c.

References dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILLmps_warn(), dbl_ILLraw_set_binaryBound(), dbl_ILLraw_set_fixedBound(), dbl_ILLraw_set_lowerBound(), dbl_ILLraw_set_unbound(), dbl_ILLraw_set_upperBound(), ILL_CLEANUP, ILL_REPRT, dbl_rawlpdata::intmarker, and NULL.

Referenced by dbl_add_bounds().

Here is the call graph for this function:

static int dbl_mps_write_col ( int  i,
int  iorig,
char *  colname,
dbl_ILLlpdata lp,
char **  rownames,
int  intmode,
char *  objname 
) [static]

Definition at line 1301 of file dbl_mps.c.

References dbl_ILLlpdata::A, dbl_ILLprint_report(), dbl_ILLlpdata::intmarker, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matind, dbl_ILLmatrix::matval, and dbl_ILLlpdata::obj.

Here is the call graph for this function:

static int dbl_read_mps_line_in_section ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 442 of file dbl_mps.c.

References dbl_add_bounds(), dbl_add_col(), dbl_add_ranges(), dbl_add_rhs(), dbl_add_row(), dbl_ILLmps_check_end_of_line(), dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), ILL_CLEANUP, ILL_FAILtrue, ILL_MPS_BOUNDS, ILL_MPS_COLS, ILL_MPS_NONE, ILL_MPS_RANGES, ILL_MPS_RHS, ILL_MPS_ROWS, ILL_REPRT, and ILL_RESULT.

Referenced by dbl_ILLread_mps().

Here is the call graph for this function:

static int dbl_read_mps_name ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 311 of file dbl_mps.c.

References dbl_ILL_UTIL_STR, dbl_ILLmps_empty_field(), dbl_ILLmps_warn(), ILL_RESULT, and dbl_rawlpdata::name.

Referenced by dbl_read_mps_section().

Here is the call graph for this function:

static int dbl_read_mps_objname ( dbl_ILLread_mps_state state  )  [static]

Definition at line 431 of file dbl_mps.c.

References dbl_ILL_UTIL_STR, dbl_ILLread_mps_state_struct::field, ILL_FAILfalse, ILL_MPS_OBJNAME, ILL_RETURN, dbl_ILLread_mps_state_struct::obj, and dbl_ILLread_mps_state_struct::section.

Referenced by dbl_read_mps_objnamesense().

static int dbl_read_mps_objnamesense ( ILLmps_section  sec,
dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 355 of file dbl_mps.c.

References dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_line(), dbl_ILLmps_section_name, dbl_read_mps_objname(), dbl_read_mps_objsense(), dbl_read_mps_section(), ILL_MPS_OBJNAME, and dbl_ILLread_mps_state_struct::section.

Referenced by dbl_read_mps_section().

Here is the call graph for this function:

static int dbl_read_mps_objsense ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 399 of file dbl_mps.c.

References dbl_ILL_MAX, dbl_ILL_MIN, dbl_ILLmps_error(), dbl_ILLread_mps_state_struct::field, ILL_FAILfalse, ILL_MPS_OBJSENSE, ILL_RESULT, dbl_rawlpdata::objsense, and dbl_ILLread_mps_state_struct::section.

Referenced by dbl_read_mps_objnamesense().

Here is the call graph for this function:

static int dbl_read_mps_refrow ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 329 of file dbl_mps.c.

References dbl_ILL_UTIL_STR, dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_line(), ILL_MPS_REFROW, ILL_RETURN, dbl_rawlpdata::refrow, and dbl_ILLread_mps_state_struct::section.

Referenced by dbl_read_mps_section().

Here is the call graph for this function:

static int dbl_read_mps_section ( dbl_ILLread_mps_state state,
dbl_rawlpdata lp 
) [static]

Definition at line 236 of file dbl_mps.c.

References dbl_check_section_order(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_section_name, dbl_ILLmps_set_section(), dbl_ILLraw_init_bounds(), dbl_ILLraw_init_ranges(), dbl_ILLraw_init_rhs(), dbl_ILLutil_index(), dbl_read_mps_name(), dbl_read_mps_objnamesense(), dbl_read_mps_refrow(), ILL_FAILtrue, ILL_MPS_BOUNDS, ILL_MPS_COLS, ILL_MPS_NAME, ILL_MPS_NONE, ILL_MPS_OBJNAME, ILL_MPS_OBJSENSE, ILL_MPS_RANGES, ILL_MPS_REFROW, ILL_MPS_RHS, ILL_MPS_ROWS, ILL_REPRT, and ILL_RESULT.

Referenced by dbl_ILLread_mps(), and dbl_read_mps_objnamesense().

Here is the call graph for this function:


Variable Documentation

const char* dbl_ILLmps_section_name[ILL_MPS_N_SECTIONS+2]

Initial value:

 {
  "NAME", "OBJSENSE", "OBJNAME", "ROWS", "COLUMNS",
  "RHS", "RANGES", "BOUNDS", "REFROW", "ENDATA",
  NULL
}

Definition at line 57 of file dbl_mps.c.

const char* dbl_mps_bound_name[] [static]

Initial value:

 {
  "LO", "UP", "FX", "FR", "MI", "PL", "BV", "UI", "LI", NULL
}

Definition at line 63 of file dbl_mps.c.

Referenced by dbl_add_bounds().

int TRACE = 0 [static]

Definition at line 55 of file dbl_mps.c.


Generated on Thu Mar 29 09:33:52 2012 for QSopt_ex by  doxygen 1.4.7