mpf_lpdata.c File Reference

#include "qs_config.h"
#include "mpf_iqsutil.h"
#include "mpf_lpdata.h"
#include "mpf_qstruct.h"
#include "mpf_qsopt.h"
#include "mpf_lp.h"
#include "mpf_mps.h"
#include "mpf_rawlp.h"

Include dependency graph for mpf_lpdata.c:

Go to the source code of this file.

Functions

void mpf_ILLchange_precision (void)
void mpf_ILLend (void)
int mpf_ILLlp_basis_alloc (mpf_ILLlp_basis *B, int nstruct, int nrows)
void mpf_ILLlp_basis_free (mpf_ILLlp_basis *B)
void mpf_ILLlp_basis_init (mpf_ILLlp_basis *B)
int mpf_ILLlp_cache_alloc (mpf_ILLlp_cache *C, int nstruct, int nrows)
void mpf_ILLlp_cache_free (mpf_ILLlp_cache *C)
void mpf_ILLlp_cache_init (mpf_ILLlp_cache *C)
void mpf_ILLlp_rows_clear (mpf_ILLlp_rows *lprows)
int mpf_ILLlp_rows_init (mpf_ILLlp_rows *lprows, mpf_ILLlpdata *lp, int include_logicals)
void mpf_ILLlpdata_free (mpf_ILLlpdata *lp)
void mpf_ILLlpdata_init (mpf_ILLlpdata *lp)
int mpf_ILLprint_report (mpf_ILLlpdata *lp, const char *format,...)
mpf_QSdatampf_ILLread (mpf_qsline_reader *file, const char *mpf_fname, int isMps)
void mpf_ILLstart (void)
static int mpf_wr_line (mpf_ILLlpdata *lp, const char *format, va_list argptr)

Variables

int mpf___QSEX_SETUP = 0
mpf_t mpf_ALTPIV_TOLER
mpf_t mpf_BD_TOLER
mpf_t mpf_CB_EPS
mpf_t mpf_CB_INF_RATIO
mpf_t mpf_CB_PRI_RLIMIT
mpf_t mpf_DBNDPIV_RATIO
mpf_t mpf_DBNDPIV_TOLER
mpf_t mpf_DFEAS_TOLER
mpf_t mpf_ILL_MAXDOUBLE
mpf_t mpf_ILL_MINDOUBLE
mpf_t mpf_OBJBND_TOLER
mpf_t mpf_PARAM_IBASIS_RPIVOT
mpf_t mpf_PARAM_IBASIS_RTRIANG
mpf_t mpf_PARAM_MIN_DNORM
mpf_t mpf_PFEAS_TOLER
mpf_t mpf_PIVOT_TOLER
mpf_t mpf_PIVZ_TOLER
mpf_t mpf_PROGRESS_THRESH
mpf_t mpf_PROGRESS_ZERO
mpf_t mpf_SZERO_TOLER


Function Documentation

void mpf_ILLchange_precision ( void   ) 

This function re-compute the internal

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

Definition at line 178 of file mpf_lpdata.c.

References mpf_ALTPIV_TOLER, mpf_BD_TOLER, mpf_DFEAS_TOLER, mpf_OBJBND_TOLER, mpf_PARAM_MIN_DNORM, mpf_PFEAS_TOLER, mpf_PIVOT_TOLER, mpf_PIVZ_TOLER, mpf_PROGRESS_THRESH, mpf_PROGRESS_ZERO, and mpf_SZERO_TOLER.

Referenced by mpf_QSset_precision().

void mpf_ILLend ( void   ) 

free any internal data asociated with variable

mpf_precision numbers

Definition at line 229 of file mpf_lpdata.c.

References mpf___QSEX_SETUP, mpf_ALTPIV_TOLER, mpf_BD_TOLER, mpf_CB_EPS, mpf_CB_INF_RATIO, mpf_CB_PRI_RLIMIT, mpf_DBNDPIV_RATIO, mpf_DBNDPIV_TOLER, mpf_DFEAS_TOLER, mpf_ILL_MAXDOUBLE, mpf_ILL_MINDOUBLE, mpf_OBJBND_TOLER, mpf_PARAM_IBASIS_RPIVOT, mpf_PARAM_IBASIS_RTRIANG, mpf_PARAM_MIN_DNORM, mpf_PFEAS_TOLER, mpf_PIVOT_TOLER, mpf_PIVZ_TOLER, mpf_PROGRESS_THRESH, mpf_PROGRESS_ZERO, and mpf_SZERO_TOLER.

Referenced by QSexactClear().

int mpf_ILLlp_basis_alloc ( mpf_ILLlp_basis B,
int  nstruct,
int  nrows 
)

Definition at line 433 of file mpf_lpdata.c.

References mpf_ILLlp_basis::cstat, ILL_FAILtrue, ILL_SAFE_MALLOC, mpf_ILLlp_basis_free(), mpf_ILLlp_basis::nrows, mpf_ILLlp_basis::nstruct, NULL, and mpf_ILLlp_basis::rstat.

Referenced by mpf_ILLlib_loadbasis(), and mpf_ILLlib_strongbranch().

Here is the call graph for this function:

void mpf_ILLlp_basis_free ( mpf_ILLlp_basis B  ) 

Definition at line 418 of file mpf_lpdata.c.

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

Referenced by mpf_grab_basis(), mpf_ILLlib_strongbranch(), mpf_ILLlp_basis_alloc(), mpf_opt_work(), mpf_QSdelete_cols(), mpf_QSdelete_rows(), mpf_QSfree_prob(), mpf_QSload_basis(), mpf_QSload_basis_array(), mpf_QSread_and_load_basis(), mpf_QSread_basis(), mpf_QSwrite_basis(), and QSexact_solver().

void mpf_ILLlp_basis_init ( mpf_ILLlp_basis B  ) 

Definition at line 404 of file mpf_lpdata.c.

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

Referenced by mpf_grab_basis(), mpf_ILLlib_loadbasis(), mpf_ILLlib_readbasis(), mpf_ILLlib_strongbranch(), mpf_process_bfs_bbnode(), mpf_QSload_basis(), mpf_QSload_basis_array(), mpf_QSread_and_load_basis(), mpf_QSread_basis(), and mpf_QSwrite_basis().

int mpf_ILLlp_cache_alloc ( mpf_ILLlp_cache C,
int  nstruct,
int  nrows 
)

Definition at line 496 of file mpf_lpdata.c.

References ILL_FAILtrue, mpf_ILLlp_cache_free(), mpf_ILLlp_cache::nrows, mpf_ILLlp_cache::nstruct, NULL, mpf_ILLlp_cache::pi, mpf_ILLlp_cache::rc, mpf_ILLlp_cache::slack, and mpf_ILLlp_cache::x.

Referenced by mpf_grab_cache().

Here is the call graph for this function:

void mpf_ILLlp_cache_free ( mpf_ILLlp_cache C  ) 

Definition at line 481 of file mpf_lpdata.c.

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

Referenced by mpf_free_cache(), mpf_grab_cache(), mpf_ILLlp_cache_alloc(), and mpf_QSfree_prob().

void mpf_ILLlp_cache_init ( mpf_ILLlp_cache C  ) 

Definition at line 465 of file mpf_lpdata.c.

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

Referenced by mpf_grab_cache().

void mpf_ILLlp_rows_clear ( mpf_ILLlp_rows lprows  ) 

Definition at line 674 of file mpf_lpdata.c.

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

Referenced by ILL_PTRWORLD_ROUTINES(), mpf_ILLlib_addcol(), mpf_ILLlib_addrow(), mpf_ILLlib_chgcoef(), mpf_ILLlib_delcols(), mpf_ILLlib_delrows(), mpf_ILLlp_rows_init(), and mpf_ILLlpdata_free().

int mpf_ILLlp_rows_init ( mpf_ILLlp_rows lprows,
mpf_ILLlpdata lp,
int  include_logicals 
)

Definition at line 531 of file mpf_lpdata.c.

References mpf_ILLlpdata::A, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matind, mpf_ILLmatrix::matval, mpf_ILLlp_rows_clear(), mpf_ILLlpdata::ncols, mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, NULL, mpf_ILLlpdata::nzcount, mpf_ILLlp_rows::rowbeg, mpf_ILLlp_rows::rowcnt, mpf_ILLlp_rows::rowind, mpf_ILLlpdata::rowmap, mpf_ILLlp_rows::rowval, and mpf_ILLlpdata::structmap.

Referenced by mpf_ILLlib_getrows(), mpf_ILLwrite_lp(), and mpf_ILLwrite_mps().

Here is the call graph for this function:

void mpf_ILLlpdata_free ( mpf_ILLlpdata lp  ) 

Definition at line 347 of file mpf_lpdata.c.

References mpf_ILLlpdata::A, mpf_ILLlpdata::colnames, mpf_ILLlpdata::coltab, ILL_IFFREE, ILLsymboltab_free(), mpf_ILLlpdata::intmarker, mpf_ILLlpdata::is_sos_mem, mpf_ILLlpdata::lower, mpf_ILLlp_rows_clear(), mpf_ILLlp_sinfo_free(), mpf_ILLlpdata_init(), mpf_ILLmatrix_free(), mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_ILLlpdata::obj, mpf_ILLlpdata::objname, mpf_ILLlpdata::probname, mpf_ILLlpdata::rA, mpf_ILLlpdata::rangeval, mpf_ILLlpdata::refrowname, mpf_ILLlpdata::rhs, mpf_ILLlpdata::rowmap, mpf_ILLlpdata::rownames, mpf_ILLlpdata::rowtab, mpf_ILLlpdata::sense, mpf_ILLlpdata::sinfo, mpf_ILLlpdata::sos, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

Referenced by mpf_QSfree_prob().

Here is the call graph for this function:

void mpf_ILLlpdata_init ( mpf_ILLlpdata lp  ) 

Definition at line 302 of file mpf_lpdata.c.

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

Referenced by mpf_convert_rawlpdata_to_lpdata(), mpf_ILLlp_sinfo_print(), mpf_ILLlpdata_free(), mpf_ILLread(), and mpf_QScreate_prob().

Here is the call graph for this function:

int mpf_ILLprint_report ( mpf_ILLlpdata lp,
const char *  format,
  ... 
)

Definition at line 712 of file mpf_lpdata.c.

References mpf_wr_line().

Referenced by mpf_ILLwrite_lp(), mpf_ILLwrite_mps(), mpf_mps_write_col(), mpf_write_bounds(), mpf_write_intvars(), mpf_write_objective(), mpf_write_row(), and mpf_write_the_expr().

Here is the call graph for this function:

mpf_QSdata* mpf_ILLread ( mpf_qsline_reader file,
const char *  mpf_fname,
int  isMps 
)

Definition at line 257 of file mpf_lpdata.c.

References mpf_qsline_reader::error_collector, ILL_CHECKnull, ILL_FAILfalse, ILL_IFFREE, mpf_ILLfree_rawlpdata(), mpf_ILLinit_rawlpdata(), mpf_ILLlpdata_init(), mpf_ILLrawlpdata_to_lpdata(), mpf_ILLread_lp(), mpf_ILLread_mps(), mpf_QScreate_prob(), mpf_QSfree_prob(), NULL, mpf_ILLlpdata::probname, QS_MIN, and mpf_qsdata::qslp.

Referenced by mpf_QSget_prob().

Here is the call graph for this function:

void mpf_ILLstart ( void   ) 

initialize mpf_ILL_MAXDOUBLE and other

constants, this funtion should be callef AFTER EGlpNumStart()

Definition at line 102 of file mpf_lpdata.c.

References mpf___QSEX_SETUP, mpf_ALTPIV_TOLER, mpf_BD_TOLER, mpf_CB_EPS, mpf_CB_INF_RATIO, mpf_CB_PRI_RLIMIT, mpf_DBNDPIV_RATIO, mpf_DBNDPIV_TOLER, mpf_DFEAS_TOLER, mpf_ILL_MAXDOUBLE, mpf_ILL_MINDOUBLE, mpf_OBJBND_TOLER, mpf_PARAM_IBASIS_RPIVOT, mpf_PARAM_IBASIS_RTRIANG, mpf_PARAM_MIN_DNORM, mpf_PFEAS_TOLER, mpf_PIVOT_TOLER, mpf_PIVZ_TOLER, mpf_PROGRESS_THRESH, mpf_PROGRESS_ZERO, mpf_SZERO_TOLER, and VERBOSE_LEVEL.

Referenced by QSexactStart().

static int mpf_wr_line ( mpf_ILLlpdata lp,
const char *  format,
va_list  argptr 
) [static]

Definition at line 687 of file mpf_lpdata.c.

References ILL_namebufsize, ILLstring_report, and mpf_ILLlpdata::reporter.

Referenced by mpf_ILLprint_report().


Variable Documentation

int mpf___QSEX_SETUP = 0

Definition at line 100 of file mpf_lpdata.c.

Referenced by mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_ALTPIV_TOLER

Definition at line 89 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_BD_TOLER

Definition at line 81 of file mpf_lpdata.c.

Referenced by mpf_get_initial_basis2(), mpf_ILLchange_precision(), mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_CB_EPS

Definition at line 93 of file mpf_lpdata.c.

Referenced by mpf_choose_basis(), mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_CB_INF_RATIO

Definition at line 94 of file mpf_lpdata.c.

Referenced by mpf_choose_basis(), mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_CB_PRI_RLIMIT

Definition at line 95 of file mpf_lpdata.c.

Referenced by mpf_choose_basis(), mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_DBNDPIV_RATIO

Definition at line 88 of file mpf_lpdata.c.

Referenced by mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_DBNDPIV_TOLER

Definition at line 87 of file mpf_lpdata.c.

Referenced by mpf_ILLend(), and mpf_ILLstart().

mpf_t mpf_DFEAS_TOLER

Definition at line 82 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLlib_delrows(), mpf_ILLstart(), and mpf_init_simplex_tols().

mpf_t mpf_ILL_MAXDOUBLE

Definition at line 96 of file mpf_lpdata.c.

Referenced by ILL_PTRWORLD_ROUTINES(), mpf_best_bbnode(), mpf_child_work(), mpf_empty_columns(), mpf_fix_variables(), mpf_get_implied_rhs_bounds(), mpf_get_implied_variable_bounds(), mpf_ILLend(), mpf_ILLlib_addcol(), mpf_ILLlib_chgsense(), mpf_ILLlib_readbasis(), mpf_ILLlp_scale(), mpf_ILLmip_bfs(), mpf_ILLmps_next_bound(), mpf_ILLraw_default_upper(), mpf_ILLraw_set_unbound(), mpf_ILLread_lp_state_possible_bound_value(), mpf_ILLstart(), mpf_ILLwrite_lp_state_append_number(), mpf_init_mipinfo(), mpf_mps_set_bound(), mpf_plunge_work(), mpf_process_bfs_bbnode(), mpf_QScreate_prob(), mpf_QSset_param_EGlpNum(), mpf_singleton_columns(), mpf_solver_main(), mpf_startup_mip(), and mpf_write_bounds().

mpf_t mpf_ILL_MINDOUBLE

Definition at line 97 of file mpf_lpdata.c.

Referenced by ILL_PTRWORLD_ROUTINES(), mpf_empty_columns(), mpf_find_penalty_branch(), mpf_find_strong_branch(), mpf_get_implied_rhs_bounds(), mpf_get_implied_variable_bounds(), mpf_ILLend(), mpf_ILLlib_addcol(), mpf_ILLlib_readbasis(), mpf_ILLlp_scale(), mpf_ILLmps_next_bound(), mpf_ILLraw_default_lower(), mpf_ILLraw_fill_in_bounds(), mpf_ILLraw_set_unbound(), mpf_ILLread_lp_state_possible_bound_value(), mpf_ILLstart(), mpf_ILLwrite_lp_state_append_number(), mpf_init_bbnode(), mpf_maxchild(), mpf_mps_set_bound(), mpf_QScreate_prob(), mpf_QSset_param_EGlpNum(), mpf_singleton_columns(), mpf_solver_main(), mpf_startup_mip(), and mpf_write_bounds().

mpf_t mpf_OBJBND_TOLER

Definition at line 86 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLfactor_init_factor_work(), mpf_ILLsimplex(), and mpf_ILLstart().

mpf_t mpf_PARAM_IBASIS_RPIVOT

Definition at line 77 of file mpf_lpdata.c.

Referenced by mpf_ILLend(), mpf_ILLstart(), and mpf_primal_col_select().

mpf_t mpf_PARAM_IBASIS_RTRIANG

Definition at line 78 of file mpf_lpdata.c.

Referenced by mpf_ILLend(), mpf_ILLstart(), and mpf_primal_col_select().

mpf_t mpf_PARAM_MIN_DNORM

Definition at line 79 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLprice_build_dsteep_norms(), mpf_ILLprice_load_rownorms(), mpf_ILLprice_update_dsteep_norms(), and mpf_ILLstart().

mpf_t mpf_PFEAS_TOLER

Definition at line 80 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLstart(), and mpf_init_simplex_tols().

mpf_t mpf_PIVOT_TOLER

Definition at line 83 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLstart(), and mpf_init_simplex_tols().

mpf_t mpf_PIVZ_TOLER

Definition at line 85 of file mpf_lpdata.c.

Referenced by mpf_ILLbasis_tableau_row(), mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLfct_compute_yz(), mpf_ILLfct_compute_zA(), mpf_ILLfct_compute_zz(), and mpf_ILLstart().

mpf_t mpf_PROGRESS_THRESH

Definition at line 92 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLstart(), and mpf_test_progress().

mpf_t mpf_PROGRESS_ZERO

Definition at line 91 of file mpf_lpdata.c.

Referenced by mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLstart(), and mpf_test_progress().

mpf_t mpf_SZERO_TOLER

Definition at line 84 of file mpf_lpdata.c.

Referenced by mpf_grab_cache(), mpf_ILLchange_precision(), mpf_ILLend(), mpf_ILLfactor_init_factor_work(), mpf_ILLfct_compute_binvrow(), mpf_ILLfct_compute_vA(), mpf_ILLfct_compute_yz(), mpf_ILLstart(), and mpf_init_simplex_tols().


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