lpdata.c File Reference

#include "qs_config.h"
#include "iqsutil.h"
#include "lpdata.h"
#include "qstruct.h"
#include "qsopt.h"
#include "lp.h"
#include "mps.h"
#include "rawlp.h"

Include dependency graph for lpdata.c:

Go to the source code of this file.

Functions

void ILLchange_precision (void)
void ILLend (void)
int ILLlp_basis_alloc (ILLlp_basis *B, int nstruct, int nrows)
void ILLlp_basis_free (ILLlp_basis *B)
void ILLlp_basis_init (ILLlp_basis *B)
int ILLlp_cache_alloc (ILLlp_cache *C, int nstruct, int nrows)
void ILLlp_cache_free (ILLlp_cache *C)
void ILLlp_cache_init (ILLlp_cache *C)
void ILLlp_rows_clear (ILLlp_rows *lprows)
int ILLlp_rows_init (ILLlp_rows *lprows, ILLlpdata *lp, int include_logicals)
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)
static int wr_line (ILLlpdata *lp, const char *format, va_list argptr)

Variables

int __QSEX_SETUP = 0
EGlpNum_t ALTPIV_TOLER
EGlpNum_t BD_TOLER
EGlpNum_t CB_EPS
EGlpNum_t CB_INF_RATIO
EGlpNum_t CB_PRI_RLIMIT
EGlpNum_t DBNDPIV_RATIO
EGlpNum_t DBNDPIV_TOLER
EGlpNum_t DFEAS_TOLER
EGlpNum_t ILL_MAXDOUBLE
EGlpNum_t ILL_MINDOUBLE
EGlpNum_t OBJBND_TOLER
EGlpNum_t PARAM_IBASIS_RPIVOT
EGlpNum_t PARAM_IBASIS_RTRIANG
EGlpNum_t PARAM_MIN_DNORM
EGlpNum_t PFEAS_TOLER
EGlpNum_t PIVOT_TOLER
EGlpNum_t PIVZ_TOLER
EGlpNum_t PROGRESS_THRESH
EGlpNum_t PROGRESS_ZERO
EGlpNum_t SZERO_TOLER


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_basis_alloc ( ILLlp_basis B,
int  nstruct,
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  nstruct,
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_rows_clear ( ILLlp_rows lprows  ) 

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 lprows,
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:

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:

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.

static int wr_line ( ILLlpdata lp,
const char *  format,
va_list  argptr 
) [static]

Definition at line 687 of file lpdata.c.

References ILL_namebufsize, ILLstring_report, and ILLlpdata::reporter.

Referenced by ILLprint_report().


Variable Documentation

int __QSEX_SETUP = 0

Definition at line 100 of file lpdata.c.

Referenced by ILLend(), and ILLstart().

EGlpNum_t ALTPIV_TOLER

Definition at line 89 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), and ILLstart().

EGlpNum_t BD_TOLER

Definition at line 81 of file lpdata.c.

Referenced by get_initial_basis2(), ILLchange_precision(), ILLend(), and ILLstart().

EGlpNum_t CB_EPS

Definition at line 93 of file lpdata.c.

Referenced by choose_basis(), ILLend(), and ILLstart().

EGlpNum_t CB_INF_RATIO

Definition at line 94 of file lpdata.c.

Referenced by choose_basis(), ILLend(), and ILLstart().

EGlpNum_t CB_PRI_RLIMIT

Definition at line 95 of file lpdata.c.

Referenced by choose_basis(), ILLend(), and ILLstart().

EGlpNum_t DBNDPIV_RATIO

Definition at line 88 of file lpdata.c.

Referenced by ILLend(), and ILLstart().

EGlpNum_t DBNDPIV_TOLER

Definition at line 87 of file lpdata.c.

Referenced by ILLend(), and ILLstart().

EGlpNum_t DFEAS_TOLER

Definition at line 82 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLlib_delrows(), ILLstart(), and init_simplex_tols().

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().

EGlpNum_t OBJBND_TOLER

Definition at line 86 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLfactor_init_factor_work(), ILLsimplex(), and ILLstart().

EGlpNum_t PARAM_IBASIS_RPIVOT

Definition at line 77 of file lpdata.c.

Referenced by ILLend(), ILLstart(), and primal_col_select().

EGlpNum_t PARAM_IBASIS_RTRIANG

Definition at line 78 of file lpdata.c.

Referenced by ILLend(), ILLstart(), and primal_col_select().

EGlpNum_t PARAM_MIN_DNORM

Definition at line 79 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLprice_build_dsteep_norms(), ILLprice_load_rownorms(), ILLprice_update_dsteep_norms(), and ILLstart().

EGlpNum_t PFEAS_TOLER

Definition at line 80 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLstart(), and init_simplex_tols().

EGlpNum_t PIVOT_TOLER

Definition at line 83 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLstart(), and init_simplex_tols().

EGlpNum_t PIVZ_TOLER

Definition at line 85 of file lpdata.c.

Referenced by ILLbasis_tableau_row(), ILLchange_precision(), ILLend(), ILLfct_compute_yz(), ILLfct_compute_zA(), ILLfct_compute_zz(), and ILLstart().

EGlpNum_t PROGRESS_THRESH

Definition at line 92 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLstart(), and test_progress().

EGlpNum_t PROGRESS_ZERO

Definition at line 91 of file lpdata.c.

Referenced by ILLchange_precision(), ILLend(), ILLstart(), and test_progress().

EGlpNum_t SZERO_TOLER

Definition at line 84 of file lpdata.c.

Referenced by grab_cache(), ILLchange_precision(), ILLend(), ILLfactor_init_factor_work(), ILLfct_compute_binvrow(), ILLfct_compute_vA(), ILLfct_compute_yz(), ILLstart(), and init_simplex_tols().


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