mpq_lpdata.c File Reference

#include "qs_config.h"
#include "mpq_iqsutil.h"
#include "mpq_lpdata.h"
#include "mpq_qstruct.h"
#include "mpq_qsopt.h"
#include "mpq_lp.h"
#include "mpq_mps.h"
#include "mpq_rawlp.h"

Include dependency graph for mpq_lpdata.c:

Go to the source code of this file.

Functions

void mpq_ILLchange_precision (void)
void mpq_ILLend (void)
int mpq_ILLlp_basis_alloc (mpq_ILLlp_basis *B, int nstruct, int nrows)
void mpq_ILLlp_basis_free (mpq_ILLlp_basis *B)
void mpq_ILLlp_basis_init (mpq_ILLlp_basis *B)
int mpq_ILLlp_cache_alloc (mpq_ILLlp_cache *C, int nstruct, int nrows)
void mpq_ILLlp_cache_free (mpq_ILLlp_cache *C)
void mpq_ILLlp_cache_init (mpq_ILLlp_cache *C)
void mpq_ILLlp_rows_clear (mpq_ILLlp_rows *lprows)
int mpq_ILLlp_rows_init (mpq_ILLlp_rows *lprows, mpq_ILLlpdata *lp, int include_logicals)
void mpq_ILLlpdata_free (mpq_ILLlpdata *lp)
void mpq_ILLlpdata_init (mpq_ILLlpdata *lp)
int mpq_ILLprint_report (mpq_ILLlpdata *lp, const char *format,...)
mpq_QSdatampq_ILLread (mpq_qsline_reader *file, const char *mpq_fname, int isMps)
void mpq_ILLstart (void)
static int mpq_wr_line (mpq_ILLlpdata *lp, const char *format, va_list argptr)

Variables

int mpq___QSEX_SETUP = 0
mpq_t mpq_ALTPIV_TOLER
mpq_t mpq_BD_TOLER
mpq_t mpq_CB_EPS
mpq_t mpq_CB_INF_RATIO
mpq_t mpq_CB_PRI_RLIMIT
mpq_t mpq_DBNDPIV_RATIO
mpq_t mpq_DBNDPIV_TOLER
mpq_t mpq_DFEAS_TOLER
mpq_t mpq_ILL_MAXDOUBLE
mpq_t mpq_ILL_MINDOUBLE
mpq_t mpq_OBJBND_TOLER
mpq_t mpq_PARAM_IBASIS_RPIVOT
mpq_t mpq_PARAM_IBASIS_RTRIANG
mpq_t mpq_PARAM_MIN_DNORM
mpq_t mpq_PFEAS_TOLER
mpq_t mpq_PIVOT_TOLER
mpq_t mpq_PIVZ_TOLER
mpq_t mpq_PROGRESS_THRESH
mpq_t mpq_PROGRESS_ZERO
mpq_t mpq_SZERO_TOLER


Function Documentation

void mpq_ILLchange_precision ( void   ) 

This function re-compute the internal

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

Definition at line 178 of file mpq_lpdata.c.

References mpq_ALTPIV_TOLER, mpq_BD_TOLER, mpq_DFEAS_TOLER, mpq_OBJBND_TOLER, mpq_PARAM_MIN_DNORM, mpq_PFEAS_TOLER, mpq_PIVOT_TOLER, mpq_PIVZ_TOLER, mpq_PROGRESS_THRESH, mpq_PROGRESS_ZERO, and mpq_SZERO_TOLER.

Referenced by mpq_QSset_precision().

void mpq_ILLend ( void   ) 

free any internal data asociated with variable

mpq_precision numbers

Definition at line 229 of file mpq_lpdata.c.

References mpq___QSEX_SETUP, mpq_ALTPIV_TOLER, mpq_BD_TOLER, mpq_CB_EPS, mpq_CB_INF_RATIO, mpq_CB_PRI_RLIMIT, mpq_DBNDPIV_RATIO, mpq_DBNDPIV_TOLER, mpq_DFEAS_TOLER, mpq_ILL_MAXDOUBLE, mpq_ILL_MINDOUBLE, mpq_OBJBND_TOLER, mpq_PARAM_IBASIS_RPIVOT, mpq_PARAM_IBASIS_RTRIANG, mpq_PARAM_MIN_DNORM, mpq_PFEAS_TOLER, mpq_PIVOT_TOLER, mpq_PIVZ_TOLER, mpq_PROGRESS_THRESH, mpq_PROGRESS_ZERO, and mpq_SZERO_TOLER.

Referenced by QSexactClear().

int mpq_ILLlp_basis_alloc ( mpq_ILLlp_basis B,
int  nstruct,
int  nrows 
)

Definition at line 433 of file mpq_lpdata.c.

References mpq_ILLlp_basis::cstat, ILL_FAILtrue, ILL_SAFE_MALLOC, mpq_ILLlp_basis_free(), mpq_ILLlp_basis::nrows, mpq_ILLlp_basis::nstruct, NULL, and mpq_ILLlp_basis::rstat.

Referenced by mpq_ILLlib_loadbasis(), and mpq_ILLlib_strongbranch().

Here is the call graph for this function:

void mpq_ILLlp_basis_free ( mpq_ILLlp_basis B  ) 

Definition at line 418 of file mpq_lpdata.c.

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

Referenced by mpq_grab_basis(), mpq_ILLlib_strongbranch(), mpq_ILLlp_basis_alloc(), mpq_opt_work(), mpq_QSdelete_cols(), mpq_QSdelete_rows(), mpq_QSfree_prob(), mpq_QSload_basis(), mpq_QSload_basis_array(), mpq_QSread_and_load_basis(), mpq_QSread_basis(), and mpq_QSwrite_basis().

void mpq_ILLlp_basis_init ( mpq_ILLlp_basis B  ) 

Definition at line 404 of file mpq_lpdata.c.

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

Referenced by mpq_grab_basis(), mpq_ILLlib_loadbasis(), mpq_ILLlib_readbasis(), mpq_ILLlib_strongbranch(), mpq_process_bfs_bbnode(), mpq_QSload_basis(), mpq_QSload_basis_array(), mpq_QSread_and_load_basis(), mpq_QSread_basis(), and mpq_QSwrite_basis().

int mpq_ILLlp_cache_alloc ( mpq_ILLlp_cache C,
int  nstruct,
int  nrows 
)

Definition at line 496 of file mpq_lpdata.c.

References ILL_FAILtrue, mpq_ILLlp_cache_free(), mpq_ILLlp_cache::nrows, mpq_ILLlp_cache::nstruct, NULL, mpq_ILLlp_cache::pi, mpq_ILLlp_cache::rc, mpq_ILLlp_cache::slack, and mpq_ILLlp_cache::x.

Referenced by mpq_grab_cache(), and QSexact_optimal_test().

Here is the call graph for this function:

void mpq_ILLlp_cache_free ( mpq_ILLlp_cache C  ) 

Definition at line 481 of file mpq_lpdata.c.

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

Referenced by mpq_free_cache(), mpq_grab_cache(), mpq_ILLlp_cache_alloc(), mpq_QSfree_prob(), QSexact_basis_dualstatus(), QSexact_basis_optimalstatus(), QSexact_basis_status(), and QSexact_optimal_test().

void mpq_ILLlp_cache_init ( mpq_ILLlp_cache C  ) 

Definition at line 465 of file mpq_lpdata.c.

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

Referenced by mpq_grab_cache(), and QSexact_optimal_test().

void mpq_ILLlp_rows_clear ( mpq_ILLlp_rows lprows  ) 

Definition at line 674 of file mpq_lpdata.c.

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

Referenced by ILL_PTRWORLD_ROUTINES(), mpq_ILLlib_addcol(), mpq_ILLlib_addrow(), mpq_ILLlib_chgcoef(), mpq_ILLlib_delcols(), mpq_ILLlib_delrows(), mpq_ILLlp_rows_init(), mpq_ILLlpdata_free(), QSexact_basis_dualstatus(), QSexact_basis_optimalstatus(), and QSexact_basis_status().

int mpq_ILLlp_rows_init ( mpq_ILLlp_rows lprows,
mpq_ILLlpdata lp,
int  include_logicals 
)

Definition at line 531 of file mpq_lpdata.c.

References mpq_ILLlpdata::A, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_SAFE_MALLOC, mpq_ILLmatrix::matbeg, mpq_ILLmatrix::matcnt, mpq_ILLmatrix::matind, mpq_ILLmatrix::matval, mpq_ILLlp_rows_clear(), mpq_ILLlpdata::ncols, mpq_ILLlpdata::nrows, mpq_ILLlpdata::nstruct, NULL, mpq_ILLlpdata::nzcount, mpq_ILLlp_rows::rowbeg, mpq_ILLlp_rows::rowcnt, mpq_ILLlp_rows::rowind, mpq_ILLlpdata::rowmap, mpq_ILLlp_rows::rowval, and mpq_ILLlpdata::structmap.

Referenced by mpq_ILLlib_getrows(), mpq_ILLwrite_lp(), and mpq_ILLwrite_mps().

Here is the call graph for this function:

void mpq_ILLlpdata_free ( mpq_ILLlpdata lp  ) 

Definition at line 347 of file mpq_lpdata.c.

References mpq_ILLlpdata::A, mpq_ILLlpdata::colnames, mpq_ILLlpdata::coltab, ILL_IFFREE, ILLsymboltab_free(), mpq_ILLlpdata::intmarker, mpq_ILLlpdata::is_sos_mem, mpq_ILLlpdata::lower, mpq_ILLlp_rows_clear(), mpq_ILLlp_sinfo_free(), mpq_ILLlpdata_init(), mpq_ILLmatrix_free(), mpq_ILLlpdata::nrows, mpq_ILLlpdata::nstruct, mpq_ILLlpdata::obj, mpq_ILLlpdata::objname, mpq_ILLlpdata::probname, mpq_ILLlpdata::rA, mpq_ILLlpdata::rangeval, mpq_ILLlpdata::refrowname, mpq_ILLlpdata::rhs, mpq_ILLlpdata::rowmap, mpq_ILLlpdata::rownames, mpq_ILLlpdata::rowtab, mpq_ILLlpdata::sense, mpq_ILLlpdata::sinfo, mpq_ILLlpdata::sos, mpq_ILLlpdata::structmap, and mpq_ILLlpdata::upper.

Referenced by mpq_QSfree_prob().

Here is the call graph for this function:

void mpq_ILLlpdata_init ( mpq_ILLlpdata lp  ) 

Definition at line 302 of file mpq_lpdata.c.

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

Referenced by mpq_convert_rawlpdata_to_lpdata(), mpq_ILLlp_sinfo_print(), mpq_ILLlpdata_free(), mpq_ILLread(), and mpq_QScreate_prob().

Here is the call graph for this function:

int mpq_ILLprint_report ( mpq_ILLlpdata lp,
const char *  format,
  ... 
)

Definition at line 712 of file mpq_lpdata.c.

References mpq_wr_line().

Referenced by mpq_ILLwrite_lp(), mpq_ILLwrite_mps(), mpq_mps_write_col(), mpq_write_bounds(), mpq_write_intvars(), mpq_write_objective(), mpq_write_row(), and mpq_write_the_expr().

Here is the call graph for this function:

mpq_QSdata* mpq_ILLread ( mpq_qsline_reader file,
const char *  mpq_fname,
int  isMps 
)

Definition at line 257 of file mpq_lpdata.c.

References mpq_qsline_reader::error_collector, ILL_CHECKnull, ILL_FAILfalse, ILL_IFFREE, mpq_ILLfree_rawlpdata(), mpq_ILLinit_rawlpdata(), mpq_ILLlpdata_init(), mpq_ILLrawlpdata_to_lpdata(), mpq_ILLread_lp(), mpq_ILLread_mps(), mpq_QScreate_prob(), mpq_QSfree_prob(), NULL, mpq_ILLlpdata::probname, QS_MIN, and mpq_qsdata::qslp.

Referenced by mpq_QSget_prob().

Here is the call graph for this function:

void mpq_ILLstart ( void   ) 

initialize mpq_ILL_MAXDOUBLE and other

constants, this funtion should be callef AFTER EGlpNumStart()

Definition at line 102 of file mpq_lpdata.c.

References mpq___QSEX_SETUP, mpq_ALTPIV_TOLER, mpq_BD_TOLER, mpq_CB_EPS, mpq_CB_INF_RATIO, mpq_CB_PRI_RLIMIT, mpq_DBNDPIV_RATIO, mpq_DBNDPIV_TOLER, mpq_DFEAS_TOLER, mpq_ILL_MAXDOUBLE, mpq_ILL_MINDOUBLE, mpq_OBJBND_TOLER, mpq_PARAM_IBASIS_RPIVOT, mpq_PARAM_IBASIS_RTRIANG, mpq_PARAM_MIN_DNORM, mpq_PFEAS_TOLER, mpq_PIVOT_TOLER, mpq_PIVZ_TOLER, mpq_PROGRESS_THRESH, mpq_PROGRESS_ZERO, mpq_SZERO_TOLER, and VERBOSE_LEVEL.

Referenced by QSexactStart().

static int mpq_wr_line ( mpq_ILLlpdata lp,
const char *  format,
va_list  argptr 
) [static]

Definition at line 687 of file mpq_lpdata.c.

References ILL_namebufsize, ILLstring_report, and mpq_ILLlpdata::reporter.

Referenced by mpq_ILLprint_report().


Variable Documentation

int mpq___QSEX_SETUP = 0

Definition at line 100 of file mpq_lpdata.c.

Referenced by mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_ALTPIV_TOLER

Definition at line 89 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_BD_TOLER

Definition at line 81 of file mpq_lpdata.c.

Referenced by mpq_get_initial_basis2(), mpq_ILLchange_precision(), mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_CB_EPS

Definition at line 93 of file mpq_lpdata.c.

Referenced by mpq_choose_basis(), mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_CB_INF_RATIO

Definition at line 94 of file mpq_lpdata.c.

Referenced by mpq_choose_basis(), mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_CB_PRI_RLIMIT

Definition at line 95 of file mpq_lpdata.c.

Referenced by mpq_choose_basis(), mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_DBNDPIV_RATIO

Definition at line 88 of file mpq_lpdata.c.

Referenced by mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_DBNDPIV_TOLER

Definition at line 87 of file mpq_lpdata.c.

Referenced by mpq_ILLend(), and mpq_ILLstart().

mpq_t mpq_DFEAS_TOLER

Definition at line 82 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLlib_delrows(), mpq_ILLstart(), and mpq_init_simplex_tols().

mpq_t mpq_OBJBND_TOLER

Definition at line 86 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLfactor_init_factor_work(), mpq_ILLsimplex(), and mpq_ILLstart().

mpq_t mpq_PARAM_IBASIS_RPIVOT

Definition at line 77 of file mpq_lpdata.c.

Referenced by mpq_ILLend(), mpq_ILLstart(), and mpq_primal_col_select().

mpq_t mpq_PARAM_IBASIS_RTRIANG

Definition at line 78 of file mpq_lpdata.c.

Referenced by mpq_ILLend(), mpq_ILLstart(), and mpq_primal_col_select().

mpq_t mpq_PARAM_MIN_DNORM

Definition at line 79 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLprice_build_dsteep_norms(), mpq_ILLprice_load_rownorms(), mpq_ILLprice_update_dsteep_norms(), and mpq_ILLstart().

mpq_t mpq_PFEAS_TOLER

Definition at line 80 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLstart(), and mpq_init_simplex_tols().

mpq_t mpq_PIVOT_TOLER

Definition at line 83 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLstart(), and mpq_init_simplex_tols().

mpq_t mpq_PIVZ_TOLER

Definition at line 85 of file mpq_lpdata.c.

Referenced by mpq_ILLbasis_tableau_row(), mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLfct_compute_yz(), mpq_ILLfct_compute_zA(), mpq_ILLfct_compute_zz(), and mpq_ILLstart().

mpq_t mpq_PROGRESS_THRESH

Definition at line 92 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLstart(), and mpq_test_progress().

mpq_t mpq_PROGRESS_ZERO

Definition at line 91 of file mpq_lpdata.c.

Referenced by mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLstart(), and mpq_test_progress().

mpq_t mpq_SZERO_TOLER

Definition at line 84 of file mpq_lpdata.c.

Referenced by mpq_grab_cache(), mpq_ILLchange_precision(), mpq_ILLend(), mpq_ILLfactor_init_factor_work(), mpq_ILLfct_compute_binvrow(), mpq_ILLfct_compute_vA(), mpq_ILLfct_compute_yz(), mpq_ILLstart(), and mpq_init_simplex_tols().


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