float128_simplex.c File Reference

#include "basicdefs.h"
#include "config.h"
#include "float128_iqsutil.h"
#include "float128_lpdata.h"
#include "float128_lpdefs.h"
#include "stddefs.h"
#include "float128_fct.h"
#include "float128_ratio.h"
#include "float128_price.h"
#include "float128_basis.h"
#include "float128_simplex.h"
#include "float128_dstruct.h"
#include "float128_qstruct.h"
#include "float128_qsopt.h"
#include "float128_lib.h"
#include "float128_lp.h"

Include dependency graph for float128_simplex.c:

Go to the source code of this file.

Defines

#define float128_QSOPT_CURRENT_PRECICION

Functions

int float128_build_internal_lpinfo (float128_lpinfo *lp)
static int float128_dual_phaseI_step (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *updz, float128_svector *wz, float128_iter_info *it)
static int float128_dual_phaseII_step (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *updz, float128_svector *wz, float128_iter_info *it)
void float128_free_internal_lpinfo (float128_lpinfo *lp)
static void float128_get_current_stat (float128_lp_status_info *p, int algorithm, int *bstat)
int float128_ILLsimplex (float128_lpinfo *lp, int algorithm, float128_ILLlp_basis *B, float128_price_info *pinf, int *status, int sdisplay, itcnt_t *itcnt)
void float128_ILLsimplex_free_lpinfo (float128_lpinfo *lp)
int float128_ILLsimplex_infcertificate (float128_lpinfo *lp, float128 *pi)
void float128_ILLsimplex_init_lpinfo (float128_lpinfo *lp)
void float128_ILLsimplex_load_lpinfo (float128_ILLlpdata *qslp, float128_lpinfo *lp)
int float128_ILLsimplex_pivotin (float128_lpinfo *lp, float128_price_info *pinf, int rcnt, int *rlist, int pivot_opt, int *basis_mod)
int float128_ILLsimplex_retest_dsolution (float128_lpinfo *lp, float128_price_info *p, int phase, float128_feas_info *fi)
int float128_ILLsimplex_retest_psolution (float128_lpinfo *lp, float128_price_info *p, int phase, float128_feas_info *fi)
void float128_ILLsimplex_set_bound (float128_lpinfo *lp, const float128 *objbound, int sense)
int float128_ILLsimplex_solution (float128_lpinfo *lp, float128 *xz, float128 *piz, float128 *dz, float128 *objval)
void float128_init_internal_lpinfo (float128_lpinfo *lp)
static void float128_init_lp_status_info (float128_lp_status_info *ls)
static void float128_init_simplex_tols (float128_lpinfo *lp)
static void float128_monitor_iter (float128_lpinfo *lp, float128_price_info *p, float128_iter_info *it, int cphase)
static int float128_primal_phaseI_step (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *updz, float128_svector *wz, float128_iter_info *it)
static int float128_primal_phaseII_step (float128_lpinfo *lp, float128_price_info *pinf, float128_svector *updz, float128_svector *wz, float128_iter_info *it)
static int float128_report_value (float128_lpinfo *lp, float128_iter_info *it, const char *value_name, float128 value)
static void float128_restore_paraminfo (float128_iter_info *it, float128_price_info *pinf)
static void float128_save_paraminfo (float128_price_info *pinf, float128_iter_info *it)
static int float128_terminate_simplex (float128_lpinfo *lp, int phase, float128_iter_info *it)
static int float128_test_progress (float128 objval, float128 prevobj)

Variables

static int TRACE = 0


Define Documentation

#define float128_QSOPT_CURRENT_PRECICION

Definition at line 26 of file float128_simplex.c.


Function Documentation

int float128_build_internal_lpinfo ( float128_lpinfo lp  ) 

Definition at line 318 of file float128_simplex.c.

References float128_ILLlpdata::A, float128_ILLlp_sinfo::A, float128_lpinfo::basisstat, float128_lpinfo::bz, float128_lpinfo::cz, float128_ILL_MAX, float128_init_lp_status_info(), float128_ILLlpdata::lower, float128_ILLlp_sinfo::lower, float128_lpinfo::lz, float128_ILLmatrix::matbeg, float128_lpinfo::matbeg, float128_ILLmatrix::matcnt, float128_lpinfo::matcnt, float128_ILLmatrix::matind, float128_lpinfo::matind, float128_ILLmatrix::matval, float128_lpinfo::matval, float128_ILLlpdata::ncols, float128_ILLlp_sinfo::ncols, float128_lpinfo::ncols, float128_lpinfo::nnbasic, float128_ILLlpdata::nrows, float128_ILLlp_sinfo::nrows, float128_lpinfo::nrows, float128_lpinfo::O, float128_ILLlpdata::obj, float128_ILLlp_sinfo::obj, float128_ILLlpdata::objsense, float128_lpinfo::probstat, float128_ILLlpdata::rhs, float128_ILLlp_sinfo::rhs, float128_ILLlpdata::sinfo, float128_ILLlpdata::upper, float128_ILLlp_sinfo::upper, and float128_lpinfo::uz.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

static int float128_dual_phaseI_step ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector updz,
float128_svector wz,
float128_iter_info it 
)

Definition at line 2150 of file float128_simplex.c.

References __QS_SB_VERB, float128_iter_info::algorithm, CNT_DPHASE1ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, COMPLETE_PRICING, float128_price_info::d_strategy, float128_tol_struct::dfeas_tol, float128_price_info::dI_price, float128_lpinfo::dinfeas, float128_price_res::dinfeas, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, float128_ratio_res::ecoeff, float128_ratio_res::eindex, float128_lpinfo::final_phase, float128_ILLbasis_factor(), float128_ILLbasis_update(), float128_ILLfct_check_dfeasible(), float128_ILLfct_compute_dpIy(), float128_ILLfct_compute_dsteep_upv(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_phaseI_xbz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_yz(), float128_ILLfct_compute_zA(), float128_ILLfct_compute_zz(), float128_ILLfct_dual_adjust(), float128_ILLfct_set_status_values(), float128_ILLfct_test_pivot(), float128_ILLfct_update_basis_info(), float128_ILLfct_update_counts(), float128_ILLfct_update_dfeas(), float128_ILLfct_update_dpI_prices(), float128_ILLfct_update_dz(), float128_ILLfct_update_piz(), float128_ILLprice_compute_primal_inf(), float128_ILLprice_dual(), float128_ILLprice_free_heap(), float128_ILLprice_init_mpartial_price(), float128_ILLprice_test_for_heap(), float128_ILLprice_update_pricing_info(), float128_ILLratio_dI_test(), float128_ILLsimplex_retest_dsolution(), float128_monitor_iter(), float128_test_dsteep_norms(), float128_test_progress(), float128_tol_struct::id_tol, ILL_CLEANUP, ILL_LP_SOLVED, float128_ratio_res::lbound, float128_price_res::lindex, float128_price_res::lvstat, MULTI_PART_PRICING, float128_iter_info::n_pivot_fail, float128_iter_info::n_restart, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_iter_info::noprog, float128_iter_info::nosolve, float128_lpinfo::nrows, NULL, float128_svector::nzcnt, PARAM_MAX_NOSOLVE, float128_tol_struct::pfeas_tol, PHASEI, PHASEII, float128_price_res::pinfeas, float128_ratio_res::pivotval, float128_iter_info::prevobj, PRICE_OPTIMAL, float128_price_res::price_stat, PRIMAL_FEASIBLE, PRIMAL_SIMPLEX, float128_feas_info::pstatus, QS_PRICE_DSTEEP, RATIO_BCHANGE, RATIO_FAILED, float128_ratio_res::ratio_stat, float128_iter_info::resumeid, ROW_PIVOT, ROW_PRICING, float128_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_FACTOR, SIMPLEX_MAX_PIVOT_FAIL, SIMPLEX_PHASE_NEW, SIMPLEX_PHASE_RECOMP, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_TERMINATE, float128_iter_info::solstatus, float128_lpinfo::tol, float128_feas_info::totinfeas, float128_ratio_res::tz, VARTIFICIAL, VFREE, float128_lpinfo::zA, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

static int float128_dual_phaseII_step ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector updz,
float128_svector wz,
float128_iter_info it 
)

Definition at line 2403 of file float128_simplex.c.

References __QS_SB_VERB, float128_iter_info::algorithm, float128_lpinfo::baz, float128_pI_uinfo::c_obj, CNT_DPHASE2ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, float128_ratio_res::coeffch, COMPLETE_PRICING, float128_price_info::d_strategy, float128_tol_struct::dfeas_tol, float128_price_info::dII_price, float128_price_res::dinfeas, float128_lpinfo::dobjval, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_INFEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, DUAL_UNBOUNDED, float128_ratio_res::ecoeff, float128_ratio_res::eindex, float128_lpinfo::final_phase, float128_ILLbasis_factor(), float128_ILLbasis_update(), float128_ILLfct_adjust_viol_coefs(), float128_ILLfct_check_dfeasible(), float128_ILLfct_check_pfeasible(), float128_ILLfct_coef_shift(), float128_ILLfct_compute_dobj(), float128_ILLfct_compute_dpIIy(), float128_ILLfct_compute_dsteep_upv(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_xbz(), float128_ILLfct_compute_yz(), float128_ILLfct_compute_zA(), float128_ILLfct_compute_zz(), float128_ILLfct_dual_adjust(), float128_ILLfct_set_status_values(), float128_ILLfct_test_pivot(), float128_ILLfct_unroll_coef_change(), float128_ILLfct_update_basis_info(), float128_ILLfct_update_counts(), float128_ILLfct_update_dIIfeas(), float128_ILLfct_update_dpII_prices(), float128_ILLfct_update_dz(), float128_ILLfct_update_piz(), float128_ILLprice_compute_primal_inf(), float128_ILLprice_dual(), float128_ILLprice_free_heap(), float128_ILLprice_init_mpartial_price(), float128_ILLprice_test_for_heap(), float128_ILLprice_update_pricing_info(), float128_ILLratio_longdII_test(), float128_ILLsimplex_retest_dsolution(), float128_monitor_iter(), float128_test_dsteep_norms(), float128_test_progress(), float128_tol_struct::id_tol, ILL_CLEANUP, ILL_IFTRACE, ILL_LP_SOLVED, float128_lpinfo::infub_ix, float128_tol_struct::ip_tol, float128_ratio_res::lbound, float128_price_res::lindex, float128_price_res::lvstat, MULTI_PART_PRICING, float128_iter_info::n_pivot_fail, float128_iter_info::n_restart, float128_lpinfo::nbaz, float128_lpinfo::ncchange, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_iter_info::noprog, float128_iter_info::nosolve, float128_lpinfo::nrows, NULL, float128_svector::nzcnt, float128_lpinfo::objval, PARAM_MAX_NOSOLVE, float128_tol_struct::pfeas_tol, PHASEII, float128_price_res::pinfeas, float128_ratio_res::pivotval, float128_iter_info::prevobj, PRICE_OPTIMAL, float128_price_res::price_stat, float128_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_SIMPLEX, float128_feas_info::pstatus, QS_LP_CHANGE_PREC, QS_PRICE_DSTEEP, QS_PRICE_PDEVEX, RATIO_BCHANGE, RATIO_FAILED, RATIO_NEGATIVE, float128_ratio_res::ratio_stat, RATIO_UNBOUNDED, float128_iter_info::resumeid, ROW_PIVOT, ROW_PRICING, float128_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_FACTOR, SIMPLEX_MAX_PIVOT_FAIL, SIMPLEX_PHASE_NEW, SIMPLEX_PHASE_RECOMP, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_RESUME_UNSHIFT, SIMPLEX_TERMINATE, float128_iter_info::solstatus, STAT_LOWER, STAT_ZERO, float128_lpinfo::tol, float128_feas_info::totinfeas, float128_ratio_res::tz, float128_lpinfo::upd, VARTIFICIAL, VFREE, float128_lpinfo::vstat, float128_lpinfo::vtype, float128_lpinfo::yjz, float128_lpinfo::zA, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

void float128_free_internal_lpinfo ( float128_lpinfo lp  ) 

Definition at line 238 of file float128_simplex.c.

References float128_lpinfo::bchanges, float128_lpinfo::bfeas, float128_bndinfo::cbound, float128_lpinfo::cchanges, float128_coefinfo::ccoef, float128_lpinfo::cnts, float128_lpinfo::cz, float128_lpinfo::dfeas, float128_tol_struct::dfeas_tol, float128_lpinfo::dz, float128_ILLsvector_free(), float128_tol_struct::id_tol, ILL_IFFREE, float128_tol_struct::ip_tol, float128_lpinfo::iwork, float128_pI_uinfo::ix, float128_lpinfo::localrows, float128_lpinfo::lz, float128_coefinfo::next, float128_bndinfo::next, float128_bndinfo::pbound, float128_coefinfo::pcoef, float128_pI_uinfo::perm, float128_tol_struct::pfeas_tol, float128_lpinfo::pIdz, float128_lpinfo::pIpiz, float128_tol_struct::pivot_tol, float128_lpinfo::pIxbz, float128_lpinfo::piz, float128_lpinfo::rowbeg, float128_lpinfo::rowcnt, float128_lpinfo::rowind, float128_lpinfo::rowval, float128_lpinfo::srhs, float128_lpinfo::ssoln, float128_tol_struct::szero_tol, float128_pI_uinfo::t, float128_lpinfo::tol, float128_lpinfo::upd, float128_lpinfo::uz, float128_lpinfo::vclass, float128_lpinfo::vtype, float128_lpinfo::work, float128_lpinfo::xbz, float128_count_struct::y_ravg, float128_lpinfo::yjz, float128_count_struct::z_ravg, float128_lpinfo::zA, float128_count_struct::za_ravg, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex(), and float128_ILLsimplex_free_lpinfo().

Here is the call graph for this function:

static void float128_get_current_stat ( float128_lp_status_info p,
int  algorithm,
int *  bstat 
)

Definition at line 2803 of file float128_simplex.c.

References DUAL_FEASIBLE, float128_lp_status_info::dual_feasible, DUAL_INFEASIBLE, float128_lp_status_info::dual_infeasible, DUAL_SIMPLEX, DUAL_UNBOUNDED, float128_lp_status_info::dual_unbounded, NONOPTIMAL, OPTIMAL, float128_lp_status_info::optimal, PRIMAL_FEASIBLE, float128_lp_status_info::primal_feasible, PRIMAL_INFEASIBLE, float128_lp_status_info::primal_infeasible, PRIMAL_SIMPLEX, PRIMAL_UNBOUNDED, and float128_lp_status_info::primal_unbounded.

Referenced by float128_ILLsimplex().

int float128_ILLsimplex ( float128_lpinfo lp,
int  algorithm,
float128_ILLlp_basis B,
float128_price_info pinf,
int *  status,
int  sdisplay,
itcnt_t itcnt 
)

Definition at line 799 of file float128_simplex.c.

References __QS_SB_VERB, float128_iter_info::algorithm, float128_lpinfo::basisid, float128_lpinfo::basisstat, float128_iter_info::chkobj, float128_lpinfo::cnts, float128_ILLlp_basis::colnorms, float128_price_info::cur_price, float128_iter_info::curtime, float128_tol_struct::dfeas_tol, float128_count_struct::dI_iter, itcnt_t::dI_iter, float128_count_struct::dII_iter, itcnt_t::dII_iter, float128_lpinfo::dinfeas, float128_lpinfo::dobjval, float128_price_info::dsinfo, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_INFEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, DUAL_UNBOUNDED, float128_lp_status_info::dual_unbounded, float128_lpinfo::fbasisid, float128_build_internal_lpinfo(), float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_free_internal_lpinfo(), float128_get_current_stat(), float128_ILLbasis_factor(), float128_ILLbasis_get_cinitial(), float128_ILLbasis_get_initial(), float128_ILLbasis_load(), float128_ILLfct_check_dfeasible(), float128_ILLfct_check_pfeasible(), float128_ILLfct_compute_dobj(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_pobj(), float128_ILLfct_compute_xbz(), float128_ILLfct_dual_adjust(), float128_ILLfct_print_counts(), float128_ILLfct_set_status_values(), float128_ILLfct_set_variable_type(), float128_ILLfct_unroll_bound_change(), float128_ILLfct_unroll_coef_change(), float128_ILLprice_build_pricing_info(), float128_ILLprice_free_pricing_info(), float128_ILLprice_get_price(), float128_ILLprice_load_colnorms(), float128_ILLprice_load_rownorms(), float128_ILLsimplex_infcertificate(), float128_ILLsvector_alloc(), float128_ILLsvector_free(), float128_ILLsvector_init(), float128_INFTY, float128_init_internal_lpinfo(), float128_init_lp_status_info(), float128_OBJBND_TOLER, float128_primal_phaseI_step(), float128_primal_phaseII_step(), float128_restore_paraminfo(), float128_save_paraminfo(), float128_terminate_simplex(), ILL_BND_REACHED, ILL_CLEANUP, ILL_DPHASEI_ERROR, ILL_DPHASEII_ERROR, ILL_LP_ABORTED, ILL_LP_SOLVED, ILL_LP_UNSOLVED, ILL_MAX_ITER, ILL_MAX_TIME, ILL_PPHASEI_ERROR, ILL_PPHASEII_ERROR, ILLstring_report, ILLutil_zeit(), float128_iter_info::inner, float128_iter_info::itercnt, float128_lpinfo::matcnt, float128_iter_info::n_pivot_fail, float128_iter_info::n_restart, float128_lpinfo::ncols, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_p_devex_info::ninit, float128_iter_info::noprog, float128_p_steep_info::norms, float128_d_steep_info::norms, float128_iter_info::nosolve, float128_lpinfo::nrows, float128_ILLlpdata::nrows, NULL, float128_lpinfo::O, float128_lpinfo::objbound, float128_iter_info::objtol, float128_lpinfo::objval, OPTIMAL, float128_lp_status_info::optimal, PARAM_MAX_NOPROG, float128_price_info::pdinfo, float128_tol_struct::pfeas_tol, PHASEII, float128_count_struct::pI_iter, itcnt_t::pI_iter, float128_price_info::pI_price, float128_count_struct::pII_iter, itcnt_t::pII_iter, float128_lpinfo::pinfeas, float128_lpinfo::pobjval, float128_iter_info::prevobj, float128_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_INFEASIBLE, float128_lp_status_info::primal_infeasible, PRIMAL_OR_DUAL, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, PRIMAL_UNBOUNDED, float128_lp_status_info::primal_unbounded, float128_ILLlpdata::probname, float128_price_info::psinfo, float128_feas_info::pstatus, QS_LP_ABORTED, QS_LP_CHANGE_PREC, QS_LP_INFEASIBLE, QS_LP_ITER_LIMIT, QS_LP_NUMERR, QS_LP_OBJ_LIMIT, QS_LP_OPTIMAL, QS_LP_TIME_LIMIT, QS_LP_UNBOUNDED, QS_LP_UNSOLVED, QS_PRICE_DDEVEX, QS_PRICE_PDEVEX, float128_ILLlpdata::reporter, float128_iter_info::resumeid, float128_iter_info::rounds, float128_ILLlp_basis::rownorms, float128_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_MAX_RESTART, SIMPLEX_PHASE_NEW, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_RESUME_UNSHIFT, float128_iter_info::solstatus, float128_lpinfo::starttime, float128_lpinfo::tol, itcnt_t::tot_iter, and float128_feas_info::totinfeas.

Here is the call graph for this function:

void float128_ILLsimplex_free_lpinfo ( float128_lpinfo lp  ) 

Definition at line 105 of file float128_simplex.c.

References float128_lpinfo::cz, float128_free_internal_lpinfo(), float128_ILLbasis_free_basisinfo(), float128_lpinfo::lz, and float128_lpinfo::uz.

Here is the call graph for this function:

int float128_ILLsimplex_infcertificate ( float128_lpinfo lp,
float128 *  pi 
)

Definition at line 651 of file float128_simplex.c.

References float128_lpinfo::basisstat, float128_lpinfo::baz, float128_svector::coef, DUAL_PHASEII, float128_lp_status_info::dual_unbounded, float128_lpinfo::final_phase, float128_NINFTY, float128_svector::indx, float128_lpinfo::infub_ix, float128_lpinfo::lz, float128_lpinfo::nrows, NULL, float128_svector::nzcnt, float128_lpinfo::pIpiz, float128_lp_status_info::primal_infeasible, PRIMAL_PHASEI, float128_lpinfo::uz, float128_lpinfo::xbz, and float128_lpinfo::zz.

void float128_ILLsimplex_init_lpinfo ( float128_lpinfo lp  ) 

Definition at line 98 of file float128_simplex.c.

References float128_ILLbasis_init_basisinfo(), and float128_init_internal_lpinfo().

Here is the call graph for this function:

void float128_ILLsimplex_load_lpinfo ( float128_ILLlpdata qslp,
float128_lpinfo lp 
)

Definition at line 118 of file float128_simplex.c.

References float128_lpinfo::basisid, float128_INFTY, float128_lpinfo::iterskip, float128_lpinfo::maxiter, float128_lpinfo::maxtime, float128_lpinfo::O, and float128_lpinfo::objbound.

int float128_ILLsimplex_pivotin ( float128_lpinfo lp,
float128_price_info pinf,
int  rcnt,
int *  rlist,
int  pivot_opt,
int *  basis_mod 
)

Definition at line 2834 of file float128_simplex.c.

References float128_ratio_res::ecoeff, ILL_SAFE_MALLOC, float128_ratio_res::lbound, NULL, float128_lpinfo::O, float128_ratio_res::pivotval, float128_ILLlpdata::rowmap, SIMPLEX_PIVOTINROW, STAT_BASIC, float128_feas_info::totinfeas, float128_ratio_res::tz, and float128_lpinfo::vstat.

Referenced by float128_QSopt_pivotin_col(), and float128_QSopt_pivotin_row().

int float128_ILLsimplex_retest_dsolution ( float128_lpinfo lp,
float128_price_info p,
int  phase,
float128_feas_info fi 
)

Definition at line 518 of file float128_simplex.c.

References float128_lpinfo::basisid, COMPLETE_PRICING, float128_price_info::d_strategy, float128_tol_struct::dfeas_tol, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, float128_lpinfo::fbasisid, float128_ILLbasis_refactor(), float128_ILLfct_check_dfeasible(), float128_ILLfct_check_pfeasible(), float128_ILLfct_check_pIpfeasible(), float128_ILLfct_compute_dobj(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_phaseI_xbz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_xbz(), float128_ILLprice_compute_primal_inf(), float128_ILLprice_update_mpartial_price(), float128_tol_struct::id_tol, float128_tol_struct::ip_tol, NULL, PARAM_DUAL_REFACTORGAP, PARAM_DUAL_RESOLVEGAP, float128_tol_struct::pfeas_tol, float128_feas_info::pstatus, ROW_PRICING, and float128_lpinfo::tol.

Here is the call graph for this function:

int float128_ILLsimplex_retest_psolution ( float128_lpinfo lp,
float128_price_info p,
int  phase,
float128_feas_info fi 
)

Definition at line 457 of file float128_simplex.c.

References __QS_SB_VERB, float128_lpinfo::basisid, COMPLETE_PRICING, float128_tol_struct::dfeas_tol, float128_feas_info::dstatus, float128_lpinfo::fbasisid, float128_ILLbasis_refactor(), float128_ILLfct_check_dfeasible(), float128_ILLfct_check_pfeasible(), float128_ILLfct_check_pIdfeasible(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_phaseI_dz(), float128_ILLfct_compute_phaseI_piz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_pobj(), float128_ILLfct_compute_xbz(), float128_ILLprice_compute_dual_inf(), float128_tol_struct::id_tol, float128_tol_struct::ip_tol, NULL, float128_price_info::p_strategy, PARAM_PRIMAL_REFACTORGAP, PARAM_PRIMAL_RESOLVEGAP, float128_tol_struct::pfeas_tol, PRIMAL_FEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, float128_feas_info::pstatus, QS_LP_CHANGE_PREC, and float128_lpinfo::tol.

Here is the call graph for this function:

void float128_ILLsimplex_set_bound ( float128_lpinfo lp,
const float128 *  objbound,
int  sense 
)

Definition at line 131 of file float128_simplex.c.

References float128_ILL_MAX, and float128_lpinfo::objbound.

Referenced by float128_QSchange_objsense(), and float128_QSset_param_EGlpNum().

int float128_ILLsimplex_solution ( float128_lpinfo lp,
float128 *  xz,
float128 *  piz,
float128 *  dz,
float128 *  objval 
)

Definition at line 597 of file float128_simplex.c.

References float128_lpinfo::basisstat, float128_lpinfo::baz, float128_lpinfo::lz, float128_lpinfo::nbaz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, NULL, float128_lp_status_info::optimal, float128_lpinfo::piz, STAT_LOWER, STAT_UPPER, float128_lpinfo::uz, float128_lpinfo::vstat, and float128_lpinfo::xbz.

void float128_init_internal_lpinfo ( float128_lpinfo lp  ) 

Definition at line 180 of file float128_simplex.c.

References float128_lpinfo::bchanges, float128_lpinfo::bfeas, float128_lpinfo::cchanges, float128_lpinfo::cnts, float128_lpinfo::cz, float128_lpinfo::dfeas, float128_tol_struct::dfeas_tol, float128_lpinfo::dz, float128_ILLsvector_init(), float128_tol_struct::id_tol, ILL_SAFE_MALLOC, float128_tol_struct::ip_tol, float128_lpinfo::iwork, float128_pI_uinfo::ix, float128_lpinfo::localrows, float128_lpinfo::lz, float128_lpinfo::nnbasic, float128_lpinfo::nrows, float128_pI_uinfo::perm, float128_tol_struct::pfeas_tol, float128_lpinfo::pIdz, float128_lpinfo::pIpiz, float128_tol_struct::pivot_tol, float128_lpinfo::pIxbz, float128_lpinfo::piz, float128_lpinfo::rowbeg, float128_lpinfo::rowcnt, float128_lpinfo::rowind, float128_lpinfo::rowval, float128_lpinfo::srhs, float128_lpinfo::ssoln, float128_tol_struct::szero_tol, float128_pI_uinfo::t, float128_lpinfo::tol, float128_lpinfo::upd, float128_lpinfo::uz, float128_lpinfo::vclass, float128_lpinfo::vtype, float128_lpinfo::work, float128_lpinfo::xbz, float128_count_struct::y_ravg, float128_lpinfo::yjz, float128_count_struct::z_ravg, float128_lpinfo::zA, float128_count_struct::za_ravg, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex(), and float128_ILLsimplex_init_lpinfo().

Here is the call graph for this function:

static void float128_init_lp_status_info ( float128_lp_status_info ls  )  [static]

Definition at line 141 of file float128_simplex.c.

References float128_lp_status_info::dual_feasible, float128_lp_status_info::dual_infeasible, float128_lp_status_info::dual_unbounded, float128_lp_status_info::optimal, float128_lp_status_info::primal_feasible, float128_lp_status_info::primal_infeasible, and float128_lp_status_info::primal_unbounded.

Referenced by float128_build_internal_lpinfo(), and float128_ILLsimplex().

static void float128_init_simplex_tols ( float128_lpinfo lp  ) 

Definition at line 153 of file float128_simplex.c.

References float128_tol_struct::dfeas_tol, float128_DFEAS_TOLER, float128_PFEAS_TOLER, float128_PIVOT_TOLER, float128_SZERO_TOLER, float128_tol_struct::id_tol, float128_tol_struct::ip_tol, float128_tol_struct::pfeas_tol, float128_tol_struct::pivot_tol, float128_tol_struct::szero_tol, float128_lpinfo::tol, and VERBOSE_LEVEL.

static void float128_monitor_iter ( float128_lpinfo lp,
float128_price_info p,
float128_iter_info it,
int  cphase 
)

Definition at line 1336 of file float128_simplex.c.

References __QS_SB_VERB, float128_iter_info::algorithm, float128_iter_info::chkobj, float128_iter_info::curtime, float128_tol_struct::dfeas_tol, float128_lpinfo::dinfeas, float128_lpinfo::dobjval, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, float128_ILLfct_check_dfeasible(), float128_ILLfct_compute_dobj(), float128_ILLfct_perturb_bounds(), float128_ILLfct_perturb_coefs(), float128_ILLfct_set_status_values(), float128_ILLfct_unroll_coef_change(), float128_ILLutil_our_floor(), float128_INFTY, float128_report_value(), float128_restore_paraminfo(), ILL_BND_REACHED, ILL_CLEANUP, ILL_LP_ABORTED, ILL_MAX_ITER, ILL_MAX_TIME, ILLutil_zeit(), float128_iter_info::inner, float128_iter_info::itercnt, float128_lpinfo::maxiter, float128_lpinfo::maxtime, float128_iter_info::n_restart, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_iter_info::noprog, float128_lpinfo::objbound, float128_iter_info::objtol, float128_tol_struct::pfeas_tol, PHASEII, float128_lpinfo::pinfeas, float128_lpinfo::pobjval, float128_iter_info::prevobj, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, float128_iter_info::resumeid, float128_iter_info::rounds, float128_iter_info::sdisplay, SIMPLEX_FACTOR, SIMPLEX_PHASE_NEW, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_TERMINATE, float128_iter_info::solstatus, float128_lpinfo::starttime, float128_lpinfo::tol, and float128_feas_info::totinfeas.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().

Here is the call graph for this function:

static int float128_primal_phaseI_step ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector updz,
float128_svector wz,
float128_iter_info it 
)

Definition at line 1546 of file float128_simplex.c.

References float128_iter_info::algorithm, float128_lpinfo::baz, float128_pI_uinfo::c_obj, CNT_PPHASE1ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, COL_PRICING, COMPLETE_PRICING, float128_price_info::d_scaleinf, float128_tol_struct::dfeas_tol, float128_price_res::dinfeas, float128_price_res::dir, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_SIMPLEX, float128_ratio_res::ecoeff, float128_price_res::eindex, float128_lpinfo::final_phase, float128_ILLbasis_update(), float128_ILLfct_check_pfeasible(), float128_ILLfct_compute_phaseI_dz(), float128_ILLfct_compute_phaseI_piz(), float128_ILLfct_compute_ppIzz(), float128_ILLfct_compute_psteep_upv(), float128_ILLfct_compute_xbz(), float128_ILLfct_compute_yz(), float128_ILLfct_compute_zA(), float128_ILLfct_compute_zz(), float128_ILLfct_set_status_values(), float128_ILLfct_update_basis_info(), float128_ILLfct_update_counts(), float128_ILLfct_update_pfeas(), float128_ILLfct_update_ppI_prices(), float128_ILLfct_update_xz(), float128_ILLprice_compute_dual_inf(), float128_ILLprice_free_heap(), float128_ILLprice_init_mpartial_price(), float128_ILLprice_primal(), float128_ILLprice_test_for_heap(), float128_ILLprice_update_pricing_info(), float128_ILLratio_pI_test(), float128_ILLsimplex_retest_psolution(), float128_monitor_iter(), float128_test_progress(), ILL_CLEANUP, ILL_IFTRACE2, ILL_LP_SOLVED, float128_tol_struct::ip_tol, float128_ratio_res::lbound, float128_ratio_res::lindex, float128_ratio_res::lvstat, MULTI_PART_PRICING, float128_iter_info::n_restart, float128_lpinfo::nbaz, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_lpinfo::nnbasic, float128_iter_info::noprog, float128_iter_info::nosolve, float128_lpinfo::nrows, NULL, float128_svector::nzcnt, float128_price_info::p_strategy, PARAM_MAX_NOSOLVE, float128_tol_struct::pfeas_tol, PHASEI, PHASEII, float128_price_info::pI_price, float128_lpinfo::pIdz, float128_lpinfo::pinfeas, float128_price_res::pinfeas, float128_lpinfo::pIpiz, float128_ratio_res::pivotval, float128_iter_info::prevobj, PRICE_OPTIMAL, float128_price_res::price_stat, PRIMAL_FEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, float128_feas_info::pstatus, QS_PRICE_PSTEEP, RATIO_BCHANGE, RATIO_FAILED, RATIO_NEGATIVE, RATIO_NOBCHANGE, float128_ratio_res::ratio_stat, float128_iter_info::resumeid, float128_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_FACTOR, SIMPLEX_PHASE_NEW, SIMPLEX_PHASE_RECOMP, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_TERMINATE, float128_iter_info::solstatus, float128_lpinfo::srhs, float128_lpinfo::ssoln, float128_lpinfo::tol, float128_feas_info::totinfeas, float128_ratio_res::tz, float128_lpinfo::upd, VARTIFICIAL, VFREE, float128_lpinfo::vtype, float128_lpinfo::yjz, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

static int float128_primal_phaseII_step ( float128_lpinfo lp,
float128_price_info pinf,
float128_svector updz,
float128_svector wz,
float128_iter_info it 
)

Definition at line 1826 of file float128_simplex.c.

References float128_iter_info::algorithm, float128_lpinfo::baz, BOUND_LOWER, BOUND_UPPER, float128_ratio_res::boundch, CNT_PPHASE2ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZARAVG, CNT_ZNZ, COL_PRICING, COMPLETE_PRICING, float128_price_info::d_scaleinf, float128_tol_struct::dfeas_tol, float128_lpinfo::dinfeas, float128_price_res::dinfeas, float128_price_res::dir, float128_feas_info::dstatus, DUAL_FEASIBLE, DUAL_SIMPLEX, float128_lpinfo::dz, float128_ratio_res::ecoeff, float128_price_res::eindex, float128_lpinfo::final_phase, float128_ILLbasis_update(), float128_ILLfct_bound_shift(), float128_ILLfct_check_dfeasible(), float128_ILLfct_check_pfeasible(), float128_ILLfct_compute_dz(), float128_ILLfct_compute_piz(), float128_ILLfct_compute_pobj(), float128_ILLfct_compute_psteep_upv(), float128_ILLfct_compute_xbz(), float128_ILLfct_compute_yz(), float128_ILLfct_compute_zA(), float128_ILLfct_compute_zz(), float128_ILLfct_set_status_values(), float128_ILLfct_unroll_bound_change(), float128_ILLfct_update_basis_info(), float128_ILLfct_update_counts(), float128_ILLfct_update_dz(), float128_ILLfct_update_piz(), float128_ILLfct_update_xz(), float128_ILLprice_compute_dual_inf(), float128_ILLprice_free_heap(), float128_ILLprice_init_mpartial_price(), float128_ILLprice_primal(), float128_ILLprice_test_for_heap(), float128_ILLprice_update_mpartial_price(), float128_ILLprice_update_pricing_info(), float128_ILLratio_pII_test(), float128_ILLsimplex_retest_psolution(), float128_monitor_iter(), float128_test_progress(), float128_tol_struct::id_tol, ILL_CLEANUP, ILL_IFTRACE, ILL_LP_SOLVED, float128_tol_struct::ip_tol, float128_ratio_res::lbound, float128_ratio_res::lindex, float128_ratio_res::lvstat, MULTI_PART_PRICING, float128_iter_info::n_restart, float128_lpinfo::nbaz, float128_lpinfo::nbchange, float128_iter_info::newphase, float128_iter_info::nextphase, float128_iter_info::nextstep, float128_iter_info::noprog, float128_iter_info::nosolve, NULL, float128_svector::nzcnt, float128_lpinfo::objval, float128_price_info::p_strategy, PARAM_MAX_NOSOLVE, float128_tol_struct::pfeas_tol, PHASEII, float128_price_info::pII_price, float128_price_res::pinfeas, float128_ratio_res::pivotval, float128_lpinfo::pobjval, float128_iter_info::prevobj, PRICE_OPTIMAL, float128_price_res::price_stat, float128_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_INFEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, PRIMAL_UNBOUNDED, float128_feas_info::pstatus, QS_PRICE_DDEVEX, QS_PRICE_PSTEEP, RATIO_BCHANGE, RATIO_FAILED, RATIO_NOBCHANGE, float128_ratio_res::ratio_stat, RATIO_UNBOUNDED, float128_iter_info::resumeid, float128_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_FACTOR, SIMPLEX_PHASE_NEW, SIMPLEX_PHASE_RECOMP, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_RESUME_UNSHIFT, SIMPLEX_TERMINATE, float128_iter_info::solstatus, STAT_UPPER, float128_lpinfo::tol, float128_feas_info::totinfeas, float128_ratio_res::tz, VARTIFICIAL, VFREE, float128_lpinfo::vtype, float128_lpinfo::yjz, and float128_lpinfo::zz.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

static int float128_report_value ( float128_lpinfo lp,
float128_iter_info it,
const char *  value_name,
float128  value 
)

Definition at line 3011 of file float128_simplex.c.

References ILLstring_report, float128_iter_info::itercnt, float128_lpinfo::iterskip, NULL, float128_lpinfo::O, QS_LP_ABORTED, float128_ILLlpdata::reporter, float128_iter_info::sdisplay, and float128_iter_info::solstatus.

Referenced by float128_monitor_iter().

static void float128_restore_paraminfo ( float128_iter_info it,
float128_price_info pinf 
) [static]

Definition at line 784 of file float128_simplex.c.

References float128_iter_info::algorithm, float128_param_info::d_strategy, float128_price_info::d_strategy, float128_price_info::dI_price, float128_price_info::dII_price, float128_param_info::dphaseI, float128_param_info::dphaseII, float128_iter_info::oldinfo, float128_param_info::origalgo, float128_param_info::p_strategy, float128_price_info::p_strategy, float128_price_info::pI_price, float128_price_info::pII_price, float128_param_info::pphaseI, and float128_param_info::pphaseII.

Referenced by float128_ILLsimplex(), and float128_monitor_iter().

static void float128_save_paraminfo ( float128_price_info pinf,
float128_iter_info it 
) [static]

Definition at line 769 of file float128_simplex.c.

References float128_iter_info::algorithm, float128_price_info::d_strategy, float128_param_info::d_strategy, float128_price_info::dI_price, float128_price_info::dII_price, float128_param_info::dphaseI, float128_param_info::dphaseII, float128_iter_info::oldinfo, float128_param_info::origalgo, float128_price_info::p_strategy, float128_param_info::p_strategy, float128_price_info::pI_price, float128_price_info::pII_price, float128_param_info::pphaseI, and float128_param_info::pphaseII.

Referenced by float128_ILLsimplex().

static int float128_terminate_simplex ( float128_lpinfo lp,
int  phase,
float128_iter_info it 
) [static]

Definition at line 1260 of file float128_simplex.c.

References float128_iter_info::algorithm, float128_feas_info::dstatus, DUAL_PHASEI, DUAL_SIMPLEX, float128_ILLfct_set_status_values(), float128_ILLfct_unroll_bound_change(), float128_ILLfct_unroll_coef_change(), float128_ILLsimplex_retest_dsolution(), float128_ILLsimplex_retest_psolution(), ILL_CLEANUP, ILL_MAX_ITER, ILL_MAX_TIME, float128_lpinfo::nbchange, float128_lpinfo::ncchange, NULL, PHASEI, PHASEII, PRIMAL_PHASEI, PRIMAL_SIMPLEX, float128_feas_info::pstatus, float128_iter_info::sdisplay, float128_iter_info::solstatus, and float128_feas_info::totinfeas.

Referenced by float128_ILLsimplex().

Here is the call graph for this function:

static int float128_test_progress ( float128  objval,
float128  prevobj 
) [static]

Definition at line 1314 of file float128_simplex.c.

References float128_PROGRESS_THRESH, and float128_PROGRESS_ZERO.

Referenced by float128_dual_phaseI_step(), float128_dual_phaseII_step(), float128_primal_phaseI_step(), and float128_primal_phaseII_step().


Variable Documentation

int TRACE = 0 [static]

Definition at line 24 of file float128_simplex.c.


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