ldbl_lpdata.c File Reference

#include "qs_config.h"
#include "ldbl_iqsutil.h"
#include "ldbl_lpdata.h"
#include "ldbl_qstruct.h"
#include "ldbl_qsopt.h"
#include "ldbl_lp.h"
#include "ldbl_mps.h"
#include "ldbl_rawlp.h"

Include dependency graph for ldbl_lpdata.c:

Go to the source code of this file.

Functions

void ldbl_ILLchange_precision (void)
void ldbl_ILLend (void)
int ldbl_ILLlp_basis_alloc (ldbl_ILLlp_basis *B, int nstruct, int nrows)
void ldbl_ILLlp_basis_free (ldbl_ILLlp_basis *B)
void ldbl_ILLlp_basis_init (ldbl_ILLlp_basis *B)
int ldbl_ILLlp_cache_alloc (ldbl_ILLlp_cache *C, int nstruct, int nrows)
void ldbl_ILLlp_cache_free (ldbl_ILLlp_cache *C)
void ldbl_ILLlp_cache_init (ldbl_ILLlp_cache *C)
void ldbl_ILLlp_rows_clear (ldbl_ILLlp_rows *lprows)
int ldbl_ILLlp_rows_init (ldbl_ILLlp_rows *lprows, ldbl_ILLlpdata *lp, int include_logicals)
void ldbl_ILLlpdata_free (ldbl_ILLlpdata *lp)
void ldbl_ILLlpdata_init (ldbl_ILLlpdata *lp)
int ldbl_ILLprint_report (ldbl_ILLlpdata *lp, const char *format,...)
ldbl_QSdataldbl_ILLread (ldbl_qsline_reader *file, const char *ldbl_fname, int isMps)
void ldbl_ILLstart (void)
static int ldbl_wr_line (ldbl_ILLlpdata *lp, const char *format, va_list argptr)

Variables

int ldbl___QSEX_SETUP = 0
long double ldbl_ALTPIV_TOLER
long double ldbl_BD_TOLER
long double ldbl_CB_EPS
long double ldbl_CB_INF_RATIO
long double ldbl_CB_PRI_RLIMIT
long double ldbl_DBNDPIV_RATIO
long double ldbl_DBNDPIV_TOLER
long double ldbl_DFEAS_TOLER
long double ldbl_ILL_MAXDOUBLE
long double ldbl_ILL_MINDOUBLE
long double ldbl_OBJBND_TOLER
long double ldbl_PARAM_IBASIS_RPIVOT
long double ldbl_PARAM_IBASIS_RTRIANG
long double ldbl_PARAM_MIN_DNORM
long double ldbl_PFEAS_TOLER
long double ldbl_PIVOT_TOLER
long double ldbl_PIVZ_TOLER
long double ldbl_PROGRESS_THRESH
long double ldbl_PROGRESS_ZERO
long double ldbl_SZERO_TOLER


Function Documentation

void ldbl_ILLchange_precision ( void   ) 

This function re-compute the internal

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

Definition at line 178 of file ldbl_lpdata.c.

References ldbl_ALTPIV_TOLER, ldbl_BD_TOLER, ldbl_DFEAS_TOLER, ldbl_OBJBND_TOLER, ldbl_PARAM_MIN_DNORM, ldbl_PFEAS_TOLER, ldbl_PIVOT_TOLER, ldbl_PIVZ_TOLER, ldbl_PROGRESS_THRESH, ldbl_PROGRESS_ZERO, and ldbl_SZERO_TOLER.

Referenced by ldbl_QSset_precision().

void ldbl_ILLend ( void   ) 

free any internal data asociated with variable

ldbl_precision numbers

Definition at line 229 of file ldbl_lpdata.c.

References ldbl___QSEX_SETUP, ldbl_ALTPIV_TOLER, ldbl_BD_TOLER, ldbl_CB_EPS, ldbl_CB_INF_RATIO, ldbl_CB_PRI_RLIMIT, ldbl_DBNDPIV_RATIO, ldbl_DBNDPIV_TOLER, ldbl_DFEAS_TOLER, ldbl_ILL_MAXDOUBLE, ldbl_ILL_MINDOUBLE, ldbl_OBJBND_TOLER, ldbl_PARAM_IBASIS_RPIVOT, ldbl_PARAM_IBASIS_RTRIANG, ldbl_PARAM_MIN_DNORM, ldbl_PFEAS_TOLER, ldbl_PIVOT_TOLER, ldbl_PIVZ_TOLER, ldbl_PROGRESS_THRESH, ldbl_PROGRESS_ZERO, and ldbl_SZERO_TOLER.

Referenced by QSexactClear().

int ldbl_ILLlp_basis_alloc ( ldbl_ILLlp_basis B,
int  nstruct,
int  nrows 
)

Definition at line 433 of file ldbl_lpdata.c.

References ldbl_ILLlp_basis::cstat, ILL_FAILtrue, ILL_SAFE_MALLOC, ldbl_ILLlp_basis_free(), ldbl_ILLlp_basis::nrows, ldbl_ILLlp_basis::nstruct, NULL, and ldbl_ILLlp_basis::rstat.

Referenced by ldbl_ILLlib_loadbasis(), and ldbl_ILLlib_strongbranch().

Here is the call graph for this function:

void ldbl_ILLlp_basis_free ( ldbl_ILLlp_basis B  ) 

Definition at line 418 of file ldbl_lpdata.c.

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

Referenced by ldbl_grab_basis(), ldbl_ILLlib_strongbranch(), ldbl_ILLlp_basis_alloc(), ldbl_opt_work(), ldbl_QSdelete_cols(), ldbl_QSdelete_rows(), ldbl_QSfree_prob(), ldbl_QSload_basis(), ldbl_QSload_basis_array(), ldbl_QSread_and_load_basis(), ldbl_QSread_basis(), and ldbl_QSwrite_basis().

void ldbl_ILLlp_basis_init ( ldbl_ILLlp_basis B  ) 

Definition at line 404 of file ldbl_lpdata.c.

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

Referenced by ldbl_grab_basis(), ldbl_ILLlib_loadbasis(), ldbl_ILLlib_readbasis(), ldbl_ILLlib_strongbranch(), ldbl_process_bfs_bbnode(), ldbl_QSload_basis(), ldbl_QSload_basis_array(), ldbl_QSread_and_load_basis(), ldbl_QSread_basis(), and ldbl_QSwrite_basis().

int ldbl_ILLlp_cache_alloc ( ldbl_ILLlp_cache C,
int  nstruct,
int  nrows 
)

Definition at line 496 of file ldbl_lpdata.c.

References ILL_FAILtrue, ldbl_ILLlp_cache_free(), ldbl_ILLlp_cache::nrows, ldbl_ILLlp_cache::nstruct, NULL, ldbl_ILLlp_cache::pi, ldbl_ILLlp_cache::rc, ldbl_ILLlp_cache::slack, and ldbl_ILLlp_cache::x.

Referenced by ldbl_grab_cache().

Here is the call graph for this function:

void ldbl_ILLlp_cache_free ( ldbl_ILLlp_cache C  ) 

Definition at line 481 of file ldbl_lpdata.c.

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

Referenced by ldbl_free_cache(), ldbl_grab_cache(), ldbl_ILLlp_cache_alloc(), and ldbl_QSfree_prob().

void ldbl_ILLlp_cache_init ( ldbl_ILLlp_cache C  ) 

Definition at line 465 of file ldbl_lpdata.c.

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

Referenced by ldbl_grab_cache().

void ldbl_ILLlp_rows_clear ( ldbl_ILLlp_rows lprows  ) 

Definition at line 674 of file ldbl_lpdata.c.

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

Referenced by ILL_PTRWORLD_ROUTINES(), ldbl_ILLlib_addcol(), ldbl_ILLlib_addrow(), ldbl_ILLlib_chgcoef(), ldbl_ILLlib_delcols(), ldbl_ILLlib_delrows(), ldbl_ILLlp_rows_init(), and ldbl_ILLlpdata_free().

int ldbl_ILLlp_rows_init ( ldbl_ILLlp_rows lprows,
ldbl_ILLlpdata lp,
int  include_logicals 
)

Definition at line 531 of file ldbl_lpdata.c.

References ldbl_ILLlpdata::A, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlp_rows_clear(), ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matval, ldbl_ILLlpdata::ncols, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, NULL, ldbl_ILLlpdata::nzcount, ldbl_ILLlp_rows::rowbeg, ldbl_ILLlp_rows::rowcnt, ldbl_ILLlp_rows::rowind, ldbl_ILLlpdata::rowmap, ldbl_ILLlp_rows::rowval, and ldbl_ILLlpdata::structmap.

Referenced by ldbl_ILLlib_getrows(), ldbl_ILLwrite_lp(), and ldbl_ILLwrite_mps().

Here is the call graph for this function:

void ldbl_ILLlpdata_free ( ldbl_ILLlpdata lp  ) 

Definition at line 347 of file ldbl_lpdata.c.

References ldbl_ILLlpdata::A, ldbl_ILLlpdata::colnames, ldbl_ILLlpdata::coltab, ILL_IFFREE, ILLsymboltab_free(), ldbl_ILLlpdata::intmarker, ldbl_ILLlpdata::is_sos_mem, ldbl_ILLlp_rows_clear(), ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata_init(), ldbl_ILLmatrix_free(), ldbl_ILLlpdata::lower, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_ILLlpdata::obj, ldbl_ILLlpdata::objname, ldbl_ILLlpdata::probname, ldbl_ILLlpdata::rA, ldbl_ILLlpdata::rangeval, ldbl_ILLlpdata::refrowname, ldbl_ILLlpdata::rhs, ldbl_ILLlpdata::rowmap, ldbl_ILLlpdata::rownames, ldbl_ILLlpdata::rowtab, ldbl_ILLlpdata::sense, ldbl_ILLlpdata::sinfo, ldbl_ILLlpdata::sos, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

Referenced by ldbl_QSfree_prob().

Here is the call graph for this function:

void ldbl_ILLlpdata_init ( ldbl_ILLlpdata lp  ) 

Definition at line 302 of file ldbl_lpdata.c.

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

Referenced by ldbl_convert_rawlpdata_to_lpdata(), ldbl_ILLlp_sinfo_print(), ldbl_ILLlpdata_free(), ldbl_ILLread(), and ldbl_QScreate_prob().

Here is the call graph for this function:

int ldbl_ILLprint_report ( ldbl_ILLlpdata lp,
const char *  format,
  ... 
)

Definition at line 712 of file ldbl_lpdata.c.

References ldbl_wr_line().

Referenced by ldbl_ILLwrite_lp(), ldbl_ILLwrite_mps(), ldbl_mps_write_col(), ldbl_write_bounds(), ldbl_write_intvars(), ldbl_write_objective(), ldbl_write_row(), and ldbl_write_the_expr().

Here is the call graph for this function:

ldbl_QSdata* ldbl_ILLread ( ldbl_qsline_reader file,
const char *  ldbl_fname,
int  isMps 
)

Definition at line 257 of file ldbl_lpdata.c.

References ldbl_qsline_reader::error_collector, ILL_CHECKnull, ILL_FAILfalse, ILL_IFFREE, ldbl_ILLfree_rawlpdata(), ldbl_ILLinit_rawlpdata(), ldbl_ILLlpdata_init(), ldbl_ILLrawlpdata_to_lpdata(), ldbl_ILLread_lp(), ldbl_ILLread_mps(), ldbl_QScreate_prob(), ldbl_QSfree_prob(), NULL, ldbl_ILLlpdata::probname, QS_MIN, and ldbl_qsdata::qslp.

Referenced by ldbl_QSget_prob().

Here is the call graph for this function:

void ldbl_ILLstart ( void   ) 

initialize ldbl_ILL_MAXDOUBLE and other

constants, this funtion should be callef AFTER EGlpNumStart()

Definition at line 102 of file ldbl_lpdata.c.

References ldbl___QSEX_SETUP, ldbl_ALTPIV_TOLER, ldbl_BD_TOLER, ldbl_CB_EPS, ldbl_CB_INF_RATIO, ldbl_CB_PRI_RLIMIT, ldbl_DBNDPIV_RATIO, ldbl_DBNDPIV_TOLER, ldbl_DFEAS_TOLER, ldbl_ILL_MAXDOUBLE, ldbl_ILL_MINDOUBLE, ldbl_OBJBND_TOLER, ldbl_PARAM_IBASIS_RPIVOT, ldbl_PARAM_IBASIS_RTRIANG, ldbl_PARAM_MIN_DNORM, ldbl_PFEAS_TOLER, ldbl_PIVOT_TOLER, ldbl_PIVZ_TOLER, ldbl_PROGRESS_THRESH, ldbl_PROGRESS_ZERO, ldbl_SZERO_TOLER, and VERBOSE_LEVEL.

Referenced by QSexactStart().

static int ldbl_wr_line ( ldbl_ILLlpdata lp,
const char *  format,
va_list  argptr 
) [static]

Definition at line 687 of file ldbl_lpdata.c.

References ILL_namebufsize, ILLstring_report, and ldbl_ILLlpdata::reporter.

Referenced by ldbl_ILLprint_report().


Variable Documentation

int ldbl___QSEX_SETUP = 0

Definition at line 100 of file ldbl_lpdata.c.

Referenced by ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_ALTPIV_TOLER

Definition at line 89 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_BD_TOLER

Definition at line 81 of file ldbl_lpdata.c.

Referenced by ldbl_get_initial_basis2(), ldbl_ILLchange_precision(), ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_CB_EPS

Definition at line 93 of file ldbl_lpdata.c.

Referenced by ldbl_choose_basis(), ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_CB_INF_RATIO

Definition at line 94 of file ldbl_lpdata.c.

Referenced by ldbl_choose_basis(), ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_CB_PRI_RLIMIT

Definition at line 95 of file ldbl_lpdata.c.

Referenced by ldbl_choose_basis(), ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_DBNDPIV_RATIO

Definition at line 88 of file ldbl_lpdata.c.

Referenced by ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_DBNDPIV_TOLER

Definition at line 87 of file ldbl_lpdata.c.

Referenced by ldbl_ILLend(), and ldbl_ILLstart().

long double ldbl_DFEAS_TOLER

Definition at line 82 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLlib_delrows(), ldbl_ILLstart(), and ldbl_init_simplex_tols().

long double ldbl_ILL_MAXDOUBLE

Definition at line 96 of file ldbl_lpdata.c.

Referenced by ILL_PTRWORLD_ROUTINES(), ldbl_best_bbnode(), ldbl_child_work(), ldbl_empty_columns(), ldbl_fix_variables(), ldbl_get_implied_rhs_bounds(), ldbl_get_implied_variable_bounds(), ldbl_ILLend(), ldbl_ILLlib_addcol(), ldbl_ILLlib_chgsense(), ldbl_ILLlib_readbasis(), ldbl_ILLlp_scale(), ldbl_ILLmip_bfs(), ldbl_ILLmps_next_bound(), ldbl_ILLraw_default_upper(), ldbl_ILLraw_set_unbound(), ldbl_ILLread_lp_state_possible_bound_value(), ldbl_ILLstart(), ldbl_ILLwrite_lp_state_append_number(), ldbl_init_mipinfo(), ldbl_mps_set_bound(), ldbl_plunge_work(), ldbl_process_bfs_bbnode(), ldbl_QScreate_prob(), ldbl_QSset_param_EGlpNum(), ldbl_singleton_columns(), ldbl_solver_main(), ldbl_startup_mip(), and ldbl_write_bounds().

long double ldbl_ILL_MINDOUBLE

Definition at line 97 of file ldbl_lpdata.c.

Referenced by ILL_PTRWORLD_ROUTINES(), ldbl_empty_columns(), ldbl_find_penalty_branch(), ldbl_find_strong_branch(), ldbl_get_implied_rhs_bounds(), ldbl_get_implied_variable_bounds(), ldbl_ILLend(), ldbl_ILLlib_addcol(), ldbl_ILLlib_readbasis(), ldbl_ILLlp_scale(), ldbl_ILLmps_next_bound(), ldbl_ILLraw_default_lower(), ldbl_ILLraw_fill_in_bounds(), ldbl_ILLraw_set_unbound(), ldbl_ILLread_lp_state_possible_bound_value(), ldbl_ILLstart(), ldbl_ILLwrite_lp_state_append_number(), ldbl_init_bbnode(), ldbl_maxchild(), ldbl_mps_set_bound(), ldbl_QScreate_prob(), ldbl_QSset_param_EGlpNum(), ldbl_singleton_columns(), ldbl_solver_main(), ldbl_startup_mip(), and ldbl_write_bounds().

long double ldbl_OBJBND_TOLER

Definition at line 86 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLfactor_init_factor_work(), ldbl_ILLsimplex(), and ldbl_ILLstart().

long double ldbl_PARAM_IBASIS_RPIVOT

Definition at line 77 of file ldbl_lpdata.c.

Referenced by ldbl_ILLend(), ldbl_ILLstart(), and ldbl_primal_col_select().

long double ldbl_PARAM_IBASIS_RTRIANG

Definition at line 78 of file ldbl_lpdata.c.

Referenced by ldbl_ILLend(), ldbl_ILLstart(), and ldbl_primal_col_select().

long double ldbl_PARAM_MIN_DNORM

Definition at line 79 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLprice_build_dsteep_norms(), ldbl_ILLprice_load_rownorms(), ldbl_ILLprice_update_dsteep_norms(), and ldbl_ILLstart().

long double ldbl_PFEAS_TOLER

Definition at line 80 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLstart(), and ldbl_init_simplex_tols().

long double ldbl_PIVOT_TOLER

Definition at line 83 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLstart(), and ldbl_init_simplex_tols().

long double ldbl_PIVZ_TOLER

Definition at line 85 of file ldbl_lpdata.c.

Referenced by ldbl_ILLbasis_tableau_row(), ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLfct_compute_yz(), ldbl_ILLfct_compute_zA(), ldbl_ILLfct_compute_zz(), and ldbl_ILLstart().

long double ldbl_PROGRESS_THRESH

Definition at line 92 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLstart(), and ldbl_test_progress().

long double ldbl_PROGRESS_ZERO

Definition at line 91 of file ldbl_lpdata.c.

Referenced by ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLstart(), and ldbl_test_progress().

long double ldbl_SZERO_TOLER

Definition at line 84 of file ldbl_lpdata.c.

Referenced by ldbl_grab_cache(), ldbl_ILLchange_precision(), ldbl_ILLend(), ldbl_ILLfactor_init_factor_work(), ldbl_ILLfct_compute_binvrow(), ldbl_ILLfct_compute_vA(), ldbl_ILLfct_compute_yz(), ldbl_ILLstart(), and ldbl_init_simplex_tols().


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