lpdata.h File Reference

#include "config.h"
#include "qstruct.h"
#include "iqsutil.h"
#include "readline.h"
#include "reporter.h"
#include "format.h"
#include "dstruct.h"

Include dependency graph for lpdata.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ILLlp_basis
struct  ILLlp_cache
struct  ILLlp_predata
struct  ILLlp_preline
struct  ILLlp_preop
struct  ILLlp_rows
struct  ILLlp_sinfo
struct  ILLlpdata

Defines

#define ILL_MAX   (-1)
#define ILL_MAXINT   (2147483647)
#define ILL_MIN   (1)
#define ILL_PRE_ALL
#define ILL_PRE_DUPLICATE_COL   64
#define ILL_PRE_DUPLICATE_ROW   32
#define ILL_PRE_EMPTY_COL   128
#define ILL_PRE_FIXED   2
#define ILL_PRE_FORCING   8
#define ILL_PRE_SCALE   1
#define ILL_PRE_SIMPLE   (ILL_PRE_FIXED | ILL_PRE_EMPTY_COL)
#define ILL_PRE_SINGLE_COL   16
#define ILL_PRE_SINGLE_ROW   4

Functions

void ILLchange_precision (void)
void ILLend (void)
int ILLlp_add_logicals (ILLlpdata *lp)
int ILLlp_basis_alloc (ILLlp_basis *B, int ncols, int nrows)
void ILLlp_basis_free (ILLlp_basis *B)
void ILLlp_basis_init (ILLlp_basis *B)
int ILLlp_cache_alloc (ILLlp_cache *C, int ncols, int nrows)
void ILLlp_cache_free (ILLlp_cache *C)
void ILLlp_cache_init (ILLlp_cache *C)
void ILLlp_predata_free (ILLlp_predata *pre)
void ILLlp_predata_init (ILLlp_predata *pre)
int ILLlp_presolve (ILLlpdata *lp, int pre_types)
void ILLlp_rows_clear (ILLlp_rows *lp_rows)
int ILLlp_rows_init (ILLlp_rows *lp_rows, ILLlpdata *lp, int include_logicals)
int ILLlp_scale (ILLlpdata *lp)
void ILLlp_sinfo_free (ILLlp_sinfo *sinfo)
void ILLlp_sinfo_init (ILLlp_sinfo *sinfo)
void ILLlpdata_free (ILLlpdata *lp)
void ILLlpdata_init (ILLlpdata *lp)
int ILLprint_report (ILLlpdata *lp, const char *format,...)
qsdataILLread (qsline_reader *file, const char *fname, int isMps)
void ILLstart (void)

Variables

int __QSEX_SETUP
EGlpNum_t ILL_MAXDOUBLE
EGlpNum_t ILL_MINDOUBLE


Define Documentation

#define ILL_MAX   (-1)

Definition at line 40 of file lpdata.h.

Referenced by build_internal_lpinfo(), cleanup_mip(), convert_rawlpdata_to_lpdata(), ILLlib_solution(), ILLlib_strongbranch(), ILLmip_bfs(), ILLsimplex_set_bound(), read_minmax(), and read_mps_objsense().

#define ILL_MAXINT   (2147483647)

Definition at line 38 of file lpdata.h.

Referenced by duplicate_cols(), duplicate_rows(), and gather_dup_lists().

#define ILL_MIN   (1)

Definition at line 39 of file lpdata.h.

Referenced by cleanup_mip(), convert_rawlpdata_to_lpdata(), ILLinit_rawlpdata(), ILLlp_sinfo_init(), ILLlpdata_init(), ILLwrite_mps(), read_minmax(), read_mps_objsense(), and write_objective().

#define ILL_PRE_ALL

Value:

Definition at line 52 of file lpdata.h.

#define ILL_PRE_DUPLICATE_COL   64

Definition at line 50 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_DUPLICATE_ROW   32

Definition at line 49 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_EMPTY_COL   128

Definition at line 51 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_FIXED   2

Definition at line 45 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_FORCING   8

Definition at line 47 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_SCALE   1

Definition at line 44 of file lpdata.h.

#define ILL_PRE_SIMPLE   (ILL_PRE_FIXED | ILL_PRE_EMPTY_COL)

Definition at line 55 of file lpdata.h.

#define ILL_PRE_SINGLE_COL   16

Definition at line 48 of file lpdata.h.

Referenced by simple_presolve().

#define ILL_PRE_SINGLE_ROW   4

Definition at line 46 of file lpdata.h.

Referenced by simple_presolve().


Function Documentation

void ILLchange_precision ( void   ) 

This function re-compute the internal

variables precision to the (previously set) EGLPNUM_PRECISION value (done with EGlpNumSetPrecision)

Definition at line 178 of file lpdata.c.

References ALTPIV_TOLER, BD_TOLER, DFEAS_TOLER, OBJBND_TOLER, PARAM_MIN_DNORM, PFEAS_TOLER, PIVOT_TOLER, PIVZ_TOLER, PROGRESS_THRESH, PROGRESS_ZERO, and SZERO_TOLER.

Referenced by QSset_precision().

void ILLend ( void   ) 

free any internal data asociated with variable

precision numbers

Definition at line 229 of file lpdata.c.

References __QSEX_SETUP, ALTPIV_TOLER, BD_TOLER, CB_EPS, CB_INF_RATIO, CB_PRI_RLIMIT, DBNDPIV_RATIO, DBNDPIV_TOLER, DFEAS_TOLER, ILL_MAXDOUBLE, ILL_MINDOUBLE, OBJBND_TOLER, PARAM_IBASIS_RPIVOT, PARAM_IBASIS_RTRIANG, PARAM_MIN_DNORM, PFEAS_TOLER, PIVOT_TOLER, PIVZ_TOLER, PROGRESS_THRESH, PROGRESS_ZERO, and SZERO_TOLER.

int ILLlp_add_logicals ( ILLlpdata lp  ) 

Referenced by ILLrawlpdata_to_lpdata().

int ILLlp_basis_alloc ( ILLlp_basis B,
int  ncols,
int  nrows 
)

Definition at line 433 of file lpdata.c.

References ILLlp_basis::cstat, ILL_FAILtrue, ILL_SAFE_MALLOC, ILLlp_basis_free(), ILLlp_basis::nrows, ILLlp_basis::nstruct, NULL, and ILLlp_basis::rstat.

Referenced by ILLlib_loadbasis(), and ILLlib_strongbranch().

Here is the call graph for this function:

void ILLlp_basis_free ( ILLlp_basis B  ) 

Definition at line 418 of file lpdata.c.

References ILLlp_basis::colnorms, ILLlp_basis::cstat, ILL_IFFREE, ILLlp_basis::nrows, ILLlp_basis::nstruct, ILLlp_basis::rownorms, and ILLlp_basis::rstat.

Referenced by grab_basis(), ILLlib_strongbranch(), ILLlp_basis_alloc(), opt_work(), QSdelete_cols(), QSdelete_rows(), QSfree_prob(), QSload_basis(), QSload_basis_array(), QSread_and_load_basis(), QSread_basis(), and QSwrite_basis().

void ILLlp_basis_init ( ILLlp_basis B  ) 

Definition at line 404 of file lpdata.c.

References ILLlp_basis::colnorms, ILLlp_basis::cstat, ILLlp_basis::nrows, ILLlp_basis::nstruct, ILLlp_basis::rownorms, and ILLlp_basis::rstat.

Referenced by grab_basis(), ILLlib_loadbasis(), ILLlib_readbasis(), ILLlib_strongbranch(), process_bfs_bbnode(), QSload_basis(), QSload_basis_array(), QSread_and_load_basis(), QSread_basis(), and QSwrite_basis().

int ILLlp_cache_alloc ( ILLlp_cache C,
int  ncols,
int  nrows 
)

Definition at line 496 of file lpdata.c.

References ILL_FAILtrue, ILLlp_cache_free(), ILLlp_cache::nrows, ILLlp_cache::nstruct, NULL, ILLlp_cache::pi, ILLlp_cache::rc, ILLlp_cache::slack, and ILLlp_cache::x.

Referenced by grab_cache().

Here is the call graph for this function:

void ILLlp_cache_free ( ILLlp_cache C  ) 

Definition at line 481 of file lpdata.c.

References ILLlp_cache::nrows, ILLlp_cache::nstruct, ILLlp_cache::pi, ILLlp_cache::rc, ILLlp_cache::slack, ILLlp_cache::status, and ILLlp_cache::x.

Referenced by free_cache(), grab_cache(), ILLlp_cache_alloc(), and QSfree_prob().

void ILLlp_cache_init ( ILLlp_cache C  ) 

Definition at line 465 of file lpdata.c.

References ILLlp_cache::nrows, ILLlp_cache::nstruct, ILLlp_cache::pi, ILLlp_cache::rc, ILLlp_cache::slack, ILLlp_cache::status, ILLlp_cache::val, and ILLlp_cache::x.

Referenced by grab_cache().

void ILLlp_predata_free ( ILLlp_predata pre  ) 

Definition at line 2599 of file presolve.c.

References ILLlp_predata::colfixval, ILLlp_predata::colmap, ILLlp_predata::colscale, ILL_IFFREE, ILLlp_predata_init(), ILLlp_preop_free(), ILLlp_predata::opcount, ILLlp_predata::oplist, ILLlp_predata::rowfixval, ILLlp_predata::rowmap, and ILLlp_predata::rowscale.

Referenced by ILLlp_presolve().

Here is the call graph for this function:

void ILLlp_predata_init ( ILLlp_predata pre  ) 

Definition at line 2580 of file presolve.c.

References ILLlp_predata::colfixval, ILLlp_predata::colmap, ILLlp_predata::colscale, ILLlp_predata::opcount, ILLlp_predata::oplist, ILLlp_predata::opsize, ILLlp_predata::r_ncols, ILLlp_predata::r_nrows, ILLlp_predata::rowfixval, ILLlp_predata::rowmap, and ILLlp_predata::rowscale.

Referenced by ILLlp_predata_free(), and ILLlp_presolve().

int ILLlp_presolve ( ILLlpdata lp,
int  pre_types 
)

Definition at line 462 of file presolve.c.

References ILL_CLEANUP_IF, ILL_IFFREE, ILL_LP_STATUS_OK, ILL_RETURN, ILL_SAFE_MALLOC, ILLlp_predata_free(), ILLlp_predata_init(), ILLlp_sinfo_free(), ILLlp_sinfo_init(), ILLlpdata::presolve, simple_presolve(), and ILLlpdata::sinfo.

Here is the call graph for this function:

void ILLlp_rows_clear ( ILLlp_rows lp_rows  ) 

Definition at line 674 of file lpdata.c.

References ILL_IFFREE, NULL, ILLlp_rows::rowbeg, ILLlp_rows::rowcnt, ILLlp_rows::rowind, and ILLlp_rows::rowval.

Referenced by ILL_PTRWORLD_ROUTINES(), ILLlib_addcol(), ILLlib_addrow(), ILLlib_chgcoef(), ILLlib_delcols(), ILLlib_delrows(), ILLlp_rows_init(), and ILLlpdata_free().

int ILLlp_rows_init ( ILLlp_rows lp_rows,
ILLlpdata lp,
int  include_logicals 
)

Definition at line 531 of file lpdata.c.

References ILLlpdata::A, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_SAFE_MALLOC, ILLlp_rows_clear(), ILLmatrix::matbeg, ILLmatrix::matcnt, ILLmatrix::matind, ILLmatrix::matval, ILLlpdata::ncols, ILLlpdata::nrows, ILLlpdata::nstruct, NULL, ILLlpdata::nzcount, ILLlp_rows::rowbeg, ILLlp_rows::rowcnt, ILLlp_rows::rowind, ILLlpdata::rowmap, ILLlp_rows::rowval, and ILLlpdata::structmap.

Referenced by ILLlib_getrows(), ILLwrite_lp(), and ILLwrite_mps().

Here is the call graph for this function:

int ILLlp_scale ( ILLlpdata lp  ) 

Referenced by opt_work().

void ILLlp_sinfo_free ( ILLlp_sinfo sinfo  ) 

Definition at line 2556 of file presolve.c.

References ILLlp_sinfo::A, ILLlp_sinfo::colnames, ILL_IFFREE, ILLlp_sinfo_init(), ILLmatrix_free(), ILLlp_sinfo::lower, ILLlp_sinfo::ncols, ILLlp_sinfo::obj, ILLlp_sinfo::rhs, and ILLlp_sinfo::upper.

Referenced by ILLlib_addcol(), ILLlib_addrow(), ILLlib_chgbnd(), ILLlib_chgcoef(), ILLlib_chgobj(), ILLlib_chgrange(), ILLlib_chgrhs(), ILLlp_presolve(), and ILLlpdata_free().

Here is the call graph for this function:

void ILLlp_sinfo_init ( ILLlp_sinfo sinfo  ) 

Definition at line 2536 of file presolve.c.

References ILLlp_sinfo::A, ILLlp_sinfo::colnames, ILLlp_sinfo::colsize, ILL_MIN, ILLmatrix_init(), ILLlp_sinfo::lower, ILLlp_sinfo::ncols, ILLlp_sinfo::nrows, ILLlp_sinfo::nzcount, ILLlp_sinfo::obj, ILLlp_sinfo::objsense, ILLlp_sinfo::rhs, ILLlp_sinfo::rowsize, and ILLlp_sinfo::upper.

Referenced by ILLlp_presolve(), and ILLlp_sinfo_free().

Here is the call graph for this function:

void ILLlpdata_free ( ILLlpdata lp  ) 

Definition at line 347 of file lpdata.c.

References ILLlpdata::A, ILLlpdata::colnames, ILLlpdata::coltab, ILL_IFFREE, ILLlp_rows_clear(), ILLlp_sinfo_free(), ILLlpdata_init(), ILLmatrix_free(), ILLsymboltab_free(), ILLlpdata::intmarker, ILLlpdata::is_sos_mem, ILLlpdata::lower, ILLlpdata::nrows, ILLlpdata::nstruct, ILLlpdata::obj, ILLlpdata::objname, ILLlpdata::probname, ILLlpdata::rA, ILLlpdata::rangeval, ILLlpdata::refrowname, ILLlpdata::rhs, ILLlpdata::rowmap, ILLlpdata::rownames, ILLlpdata::rowtab, ILLlpdata::sense, ILLlpdata::sinfo, ILLlpdata::sos, ILLlpdata::structmap, and ILLlpdata::upper.

Referenced by QSfree_prob().

Here is the call graph for this function:

void ILLlpdata_init ( ILLlpdata lp  ) 

Definition at line 302 of file lpdata.c.

References ILLlpdata::A, ILLlpdata::basis, ILLlpdata::colnames, ILLlpdata::colsize, ILLlpdata::coltab, ILL_fprintf(), ILL_MIN, ILLmatrix_init(), ILLstring_reporter_init(), ILLsymboltab_init(), ILLlpdata::intmarker, ILLlpdata::is_sos_mem, ILLlpdata::lower, ILLlpdata::ncols, ILLlpdata::nrows, ILLlpdata::nstruct, NULL, ILLlpdata::nzcount, ILLlpdata::obj, ILLlpdata::objname, ILLlpdata::objsense, ILLlpdata::probname, ILLlpdata::rA, ILLlpdata::rangeval, ILLlpdata::refind, ILLlpdata::refrowname, ILLlpdata::reporter, ILLlpdata::rhs, ILLlpdata::rowmap, ILLlpdata::rownames, ILLlpdata::rowsize, ILLlpdata::rowtab, ILLlpdata::sense, ILLlpdata::sinfo, ILLlpdata::sos, ILLlpdata::structmap, ILLlpdata::structsize, and ILLlpdata::upper.

Referenced by convert_rawlpdata_to_lpdata(), ILLlp_sinfo_print(), ILLlpdata_free(), ILLread(), and QScreate_prob().

Here is the call graph for this function:

int ILLprint_report ( ILLlpdata lp,
const char *  format,
  ... 
)

Definition at line 712 of file lpdata.c.

References wr_line().

Referenced by ILLwrite_lp(), ILLwrite_mps(), mps_write_col(), write_bounds(), write_intvars(), write_objective(), write_row(), and write_the_expr().

Here is the call graph for this function:

struct qsdata* ILLread ( qsline_reader file,
const char *  fname,
int  isMps 
)

Definition at line 257 of file lpdata.c.

References qsline_reader::error_collector, ILL_CHECKnull, ILL_FAILfalse, ILL_IFFREE, ILLfree_rawlpdata(), ILLinit_rawlpdata(), ILLlpdata_init(), ILLrawlpdata_to_lpdata(), ILLread_lp(), ILLread_mps(), NULL, ILLlpdata::probname, QS_MIN, QScreate_prob(), QSfree_prob(), and qsdata::qslp.

Referenced by QSget_prob().

Here is the call graph for this function:

void ILLstart ( void   ) 

initialize ILL_MAXDOUBLE and other

constants, this funtion should be callef AFTER EGlpNumStart()

Definition at line 102 of file lpdata.c.

References __QSEX_SETUP, ALTPIV_TOLER, BD_TOLER, CB_EPS, CB_INF_RATIO, CB_PRI_RLIMIT, DBNDPIV_RATIO, DBNDPIV_TOLER, DFEAS_TOLER, ILL_MAXDOUBLE, ILL_MINDOUBLE, OBJBND_TOLER, PARAM_IBASIS_RPIVOT, PARAM_IBASIS_RTRIANG, PARAM_MIN_DNORM, PFEAS_TOLER, PIVOT_TOLER, PIVZ_TOLER, PROGRESS_THRESH, PROGRESS_ZERO, SZERO_TOLER, and VERBOSE_LEVEL.


Variable Documentation

int __QSEX_SETUP

Definition at line 100 of file lpdata.c.

Referenced by ILLend(), and ILLstart().

EGlpNum_t ILL_MAXDOUBLE

Definition at line 96 of file lpdata.c.

Referenced by best_bbnode(), child_work(), empty_columns(), fix_variables(), get_implied_rhs_bounds(), get_implied_variable_bounds(), ILL_PTRWORLD_ROUTINES(), ILLend(), ILLlib_addcol(), ILLlib_chgsense(), ILLlib_readbasis(), ILLlp_scale(), ILLmip_bfs(), ILLmps_next_bound(), ILLraw_default_upper(), ILLraw_set_unbound(), ILLread_lp_state_possible_bound_value(), ILLstart(), ILLwrite_lp_state_append_number(), init_mipinfo(), mps_set_bound(), plunge_work(), process_bfs_bbnode(), QScreate_prob(), QSset_param_EGlpNum(), singleton_columns(), solver_main(), startup_mip(), and write_bounds().

EGlpNum_t ILL_MINDOUBLE

Definition at line 97 of file lpdata.c.

Referenced by empty_columns(), find_penalty_branch(), find_strong_branch(), get_implied_rhs_bounds(), get_implied_variable_bounds(), ILL_PTRWORLD_ROUTINES(), ILLend(), ILLlib_addcol(), ILLlib_readbasis(), ILLlp_scale(), ILLmps_next_bound(), ILLraw_default_lower(), ILLraw_fill_in_bounds(), ILLraw_set_unbound(), ILLread_lp_state_possible_bound_value(), ILLstart(), ILLwrite_lp_state_append_number(), init_bbnode(), maxchild(), mps_set_bound(), QScreate_prob(), QSset_param_EGlpNum(), singleton_columns(), solver_main(), startup_mip(), and write_bounds().


Generated on Thu Mar 29 09:41:32 2012 for QSopt_ex by  doxygen 1.4.7