ldbl_simplex.c File Reference

#include "basicdefs.h"
#include "config.h"
#include "ldbl_iqsutil.h"
#include "ldbl_lpdata.h"
#include "ldbl_lpdefs.h"
#include "stddefs.h"
#include "ldbl_fct.h"
#include "ldbl_ratio.h"
#include "ldbl_price.h"
#include "ldbl_basis.h"
#include "ldbl_simplex.h"
#include "ldbl_dstruct.h"
#include "ldbl_qstruct.h"
#include "ldbl_qsopt.h"
#include "ldbl_lib.h"
#include "ldbl_lp.h"

Include dependency graph for ldbl_simplex.c:

Go to the source code of this file.

Defines

#define ldbl_QSOPT_CURRENT_PRECICION

Functions

int ldbl_build_internal_lpinfo (ldbl_lpinfo *lp)
static int ldbl_dual_phaseI_step (ldbl_lpinfo *lp, ldbl_price_info *pinf, ldbl_svector *updz, ldbl_svector *wz, ldbl_iter_info *it)
static int ldbl_dual_phaseII_step (ldbl_lpinfo *lp, ldbl_price_info *pinf, ldbl_svector *updz, ldbl_svector *wz, ldbl_iter_info *it)
void ldbl_free_internal_lpinfo (ldbl_lpinfo *lp)
static void ldbl_get_current_stat (ldbl_lp_status_info *p, int algorithm, int *bstat)
int ldbl_ILLsimplex (ldbl_lpinfo *lp, int algorithm, ldbl_ILLlp_basis *B, ldbl_price_info *pinf, int *status, int sdisplay, itcnt_t *itcnt)
void ldbl_ILLsimplex_free_lpinfo (ldbl_lpinfo *lp)
int ldbl_ILLsimplex_infcertificate (ldbl_lpinfo *lp, long double *pi)
void ldbl_ILLsimplex_init_lpinfo (ldbl_lpinfo *lp)
void ldbl_ILLsimplex_load_lpinfo (ldbl_ILLlpdata *qslp, ldbl_lpinfo *lp)
int ldbl_ILLsimplex_pivotin (ldbl_lpinfo *lp, ldbl_price_info *pinf, int rcnt, int *rlist, int pivot_opt, int *basis_mod)
int ldbl_ILLsimplex_retest_dsolution (ldbl_lpinfo *lp, ldbl_price_info *p, int phase, ldbl_feas_info *fi)
int ldbl_ILLsimplex_retest_psolution (ldbl_lpinfo *lp, ldbl_price_info *p, int phase, ldbl_feas_info *fi)
void ldbl_ILLsimplex_set_bound (ldbl_lpinfo *lp, const long double *objbound, int sense)
int ldbl_ILLsimplex_solution (ldbl_lpinfo *lp, long double *xz, long double *piz, long double *dz, long double *objval)
void ldbl_init_internal_lpinfo (ldbl_lpinfo *lp)
static void ldbl_init_lp_status_info (ldbl_lp_status_info *ls)
static void ldbl_init_simplex_tols (ldbl_lpinfo *lp)
static void ldbl_monitor_iter (ldbl_lpinfo *lp, ldbl_price_info *p, ldbl_iter_info *it, int cphase)
static int ldbl_primal_phaseI_step (ldbl_lpinfo *lp, ldbl_price_info *pinf, ldbl_svector *updz, ldbl_svector *wz, ldbl_iter_info *it)
static int ldbl_primal_phaseII_step (ldbl_lpinfo *lp, ldbl_price_info *pinf, ldbl_svector *updz, ldbl_svector *wz, ldbl_iter_info *it)
static int ldbl_report_value (ldbl_lpinfo *lp, ldbl_iter_info *it, const char *value_name, long double value)
static void ldbl_restore_paraminfo (ldbl_iter_info *it, ldbl_price_info *pinf)
static void ldbl_save_paraminfo (ldbl_price_info *pinf, ldbl_iter_info *it)
static int ldbl_terminate_simplex (ldbl_lpinfo *lp, int phase, ldbl_iter_info *it)
static int ldbl_test_progress (long double objval, long double prevobj)

Variables

static int TRACE = 0


Define Documentation

#define ldbl_QSOPT_CURRENT_PRECICION

Definition at line 26 of file ldbl_simplex.c.


Function Documentation

int ldbl_build_internal_lpinfo ( ldbl_lpinfo lp  ) 

Definition at line 318 of file ldbl_simplex.c.

References ldbl_ILLlpdata::A, ldbl_ILLlp_sinfo::A, ldbl_lpinfo::basisstat, ldbl_lpinfo::bz, ldbl_lpinfo::cz, ldbl_ILL_MAX, ldbl_init_lp_status_info(), ldbl_ILLlpdata::lower, ldbl_ILLlp_sinfo::lower, ldbl_lpinfo::lz, ldbl_ILLmatrix::matbeg, ldbl_lpinfo::matbeg, ldbl_ILLmatrix::matcnt, ldbl_lpinfo::matcnt, ldbl_ILLmatrix::matind, ldbl_lpinfo::matind, ldbl_ILLmatrix::matval, ldbl_lpinfo::matval, ldbl_ILLlpdata::ncols, ldbl_ILLlp_sinfo::ncols, ldbl_lpinfo::ncols, ldbl_lpinfo::nnbasic, ldbl_ILLlpdata::nrows, ldbl_ILLlp_sinfo::nrows, ldbl_lpinfo::nrows, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, ldbl_ILLlp_sinfo::obj, ldbl_ILLlpdata::objsense, ldbl_lpinfo::probstat, ldbl_ILLlpdata::rhs, ldbl_ILLlp_sinfo::rhs, ldbl_ILLlpdata::sinfo, ldbl_ILLlpdata::upper, ldbl_ILLlp_sinfo::upper, and ldbl_lpinfo::uz.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

static int ldbl_dual_phaseI_step ( ldbl_lpinfo lp,
ldbl_price_info pinf,
ldbl_svector updz,
ldbl_svector wz,
ldbl_iter_info it 
)

Definition at line 2150 of file ldbl_simplex.c.

References __QS_SB_VERB, ldbl_iter_info::algorithm, CNT_DPHASE1ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, COMPLETE_PRICING, ldbl_price_info::d_strategy, ldbl_tol_struct::dfeas_tol, ldbl_price_info::dI_price, ldbl_lpinfo::dinfeas, ldbl_price_res::dinfeas, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, ldbl_ratio_res::ecoeff, ldbl_ratio_res::eindex, ldbl_lpinfo::final_phase, ldbl_tol_struct::id_tol, ILL_CLEANUP, ILL_LP_SOLVED, ldbl_ratio_res::lbound, ldbl_ILLbasis_factor(), ldbl_ILLbasis_update(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_compute_dpIy(), ldbl_ILLfct_compute_dsteep_upv(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_phaseI_xbz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_yz(), ldbl_ILLfct_compute_zA(), ldbl_ILLfct_compute_zz(), ldbl_ILLfct_dual_adjust(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_test_pivot(), ldbl_ILLfct_update_basis_info(), ldbl_ILLfct_update_counts(), ldbl_ILLfct_update_dfeas(), ldbl_ILLfct_update_dpI_prices(), ldbl_ILLfct_update_dz(), ldbl_ILLfct_update_piz(), ldbl_ILLprice_compute_primal_inf(), ldbl_ILLprice_dual(), ldbl_ILLprice_free_heap(), ldbl_ILLprice_init_mpartial_price(), ldbl_ILLprice_test_for_heap(), ldbl_ILLprice_update_pricing_info(), ldbl_ILLratio_dI_test(), ldbl_ILLsimplex_retest_dsolution(), ldbl_monitor_iter(), ldbl_test_dsteep_norms(), ldbl_test_progress(), ldbl_price_res::lindex, ldbl_price_res::lvstat, MULTI_PART_PRICING, ldbl_iter_info::n_pivot_fail, ldbl_iter_info::n_restart, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_iter_info::noprog, ldbl_iter_info::nosolve, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, PARAM_MAX_NOSOLVE, ldbl_tol_struct::pfeas_tol, PHASEI, PHASEII, ldbl_price_res::pinfeas, ldbl_ratio_res::pivotval, ldbl_iter_info::prevobj, PRICE_OPTIMAL, ldbl_price_res::price_stat, PRIMAL_FEASIBLE, PRIMAL_SIMPLEX, ldbl_feas_info::pstatus, QS_PRICE_DSTEEP, RATIO_BCHANGE, RATIO_FAILED, ldbl_ratio_res::ratio_stat, ldbl_iter_info::resumeid, ROW_PIVOT, ROW_PRICING, ldbl_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, ldbl_iter_info::solstatus, ldbl_lpinfo::tol, ldbl_feas_info::totinfeas, ldbl_ratio_res::tz, VARTIFICIAL, VFREE, ldbl_lpinfo::zA, and ldbl_lpinfo::zz.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

static int ldbl_dual_phaseII_step ( ldbl_lpinfo lp,
ldbl_price_info pinf,
ldbl_svector updz,
ldbl_svector wz,
ldbl_iter_info it 
)

Definition at line 2403 of file ldbl_simplex.c.

References __QS_SB_VERB, ldbl_iter_info::algorithm, ldbl_lpinfo::baz, ldbl_pI_uinfo::c_obj, CNT_DPHASE2ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, ldbl_ratio_res::coeffch, COMPLETE_PRICING, ldbl_price_info::d_strategy, ldbl_tol_struct::dfeas_tol, ldbl_price_info::dII_price, ldbl_price_res::dinfeas, ldbl_lpinfo::dobjval, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_INFEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, DUAL_UNBOUNDED, ldbl_ratio_res::ecoeff, ldbl_ratio_res::eindex, ldbl_lpinfo::final_phase, ldbl_tol_struct::id_tol, ILL_CLEANUP, ILL_IFTRACE, ILL_LP_SOLVED, ldbl_lpinfo::infub_ix, ldbl_tol_struct::ip_tol, ldbl_ratio_res::lbound, ldbl_ILLbasis_factor(), ldbl_ILLbasis_update(), ldbl_ILLfct_adjust_viol_coefs(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_coef_shift(), ldbl_ILLfct_compute_dobj(), ldbl_ILLfct_compute_dpIIy(), ldbl_ILLfct_compute_dsteep_upv(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_xbz(), ldbl_ILLfct_compute_yz(), ldbl_ILLfct_compute_zA(), ldbl_ILLfct_compute_zz(), ldbl_ILLfct_dual_adjust(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_test_pivot(), ldbl_ILLfct_unroll_coef_change(), ldbl_ILLfct_update_basis_info(), ldbl_ILLfct_update_counts(), ldbl_ILLfct_update_dIIfeas(), ldbl_ILLfct_update_dpII_prices(), ldbl_ILLfct_update_dz(), ldbl_ILLfct_update_piz(), ldbl_ILLprice_compute_primal_inf(), ldbl_ILLprice_dual(), ldbl_ILLprice_free_heap(), ldbl_ILLprice_init_mpartial_price(), ldbl_ILLprice_test_for_heap(), ldbl_ILLprice_update_pricing_info(), ldbl_ILLratio_longdII_test(), ldbl_ILLsimplex_retest_dsolution(), ldbl_monitor_iter(), ldbl_test_dsteep_norms(), ldbl_test_progress(), ldbl_price_res::lindex, ldbl_price_res::lvstat, MULTI_PART_PRICING, ldbl_iter_info::n_pivot_fail, ldbl_iter_info::n_restart, ldbl_lpinfo::nbaz, ldbl_lpinfo::ncchange, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_iter_info::noprog, ldbl_iter_info::nosolve, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, ldbl_lpinfo::objval, PARAM_MAX_NOSOLVE, ldbl_tol_struct::pfeas_tol, PHASEII, ldbl_price_res::pinfeas, ldbl_ratio_res::pivotval, ldbl_iter_info::prevobj, PRICE_OPTIMAL, ldbl_price_res::price_stat, ldbl_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_SIMPLEX, ldbl_feas_info::pstatus, QS_LP_CHANGE_PREC, QS_PRICE_DSTEEP, QS_PRICE_PDEVEX, RATIO_BCHANGE, RATIO_FAILED, RATIO_NEGATIVE, ldbl_ratio_res::ratio_stat, RATIO_UNBOUNDED, ldbl_iter_info::resumeid, ROW_PIVOT, ROW_PRICING, ldbl_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, ldbl_iter_info::solstatus, STAT_LOWER, STAT_ZERO, ldbl_lpinfo::tol, ldbl_feas_info::totinfeas, ldbl_ratio_res::tz, ldbl_lpinfo::upd, VARTIFICIAL, VFREE, ldbl_lpinfo::vstat, ldbl_lpinfo::vtype, ldbl_lpinfo::yjz, ldbl_lpinfo::zA, and ldbl_lpinfo::zz.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

void ldbl_free_internal_lpinfo ( ldbl_lpinfo lp  ) 

Definition at line 238 of file ldbl_simplex.c.

References ldbl_lpinfo::bchanges, ldbl_lpinfo::bfeas, ldbl_bndinfo::cbound, ldbl_lpinfo::cchanges, ldbl_coefinfo::ccoef, ldbl_lpinfo::cnts, ldbl_lpinfo::cz, ldbl_lpinfo::dfeas, ldbl_tol_struct::dfeas_tol, ldbl_lpinfo::dz, ldbl_tol_struct::id_tol, ILL_IFFREE, ldbl_tol_struct::ip_tol, ldbl_lpinfo::iwork, ldbl_pI_uinfo::ix, ldbl_ILLsvector_free(), ldbl_lpinfo::localrows, ldbl_lpinfo::lz, ldbl_coefinfo::next, ldbl_bndinfo::next, ldbl_bndinfo::pbound, ldbl_coefinfo::pcoef, ldbl_pI_uinfo::perm, ldbl_tol_struct::pfeas_tol, ldbl_lpinfo::pIdz, ldbl_lpinfo::pIpiz, ldbl_tol_struct::pivot_tol, ldbl_lpinfo::pIxbz, ldbl_lpinfo::piz, ldbl_lpinfo::rowbeg, ldbl_lpinfo::rowcnt, ldbl_lpinfo::rowind, ldbl_lpinfo::rowval, ldbl_lpinfo::srhs, ldbl_lpinfo::ssoln, ldbl_tol_struct::szero_tol, ldbl_pI_uinfo::t, ldbl_lpinfo::tol, ldbl_lpinfo::upd, ldbl_lpinfo::uz, ldbl_lpinfo::vclass, ldbl_lpinfo::vtype, ldbl_lpinfo::work, ldbl_lpinfo::xbz, ldbl_count_struct::y_ravg, ldbl_lpinfo::yjz, ldbl_count_struct::z_ravg, ldbl_lpinfo::zA, ldbl_count_struct::za_ravg, and ldbl_lpinfo::zz.

Referenced by ldbl_ILLsimplex(), and ldbl_ILLsimplex_free_lpinfo().

Here is the call graph for this function:

static void ldbl_get_current_stat ( ldbl_lp_status_info p,
int  algorithm,
int *  bstat 
)

Definition at line 2803 of file ldbl_simplex.c.

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

Referenced by ldbl_ILLsimplex().

int ldbl_ILLsimplex ( ldbl_lpinfo lp,
int  algorithm,
ldbl_ILLlp_basis B,
ldbl_price_info pinf,
int *  status,
int  sdisplay,
itcnt_t itcnt 
)

Definition at line 799 of file ldbl_simplex.c.

References __QS_SB_VERB, ldbl_iter_info::algorithm, ldbl_lpinfo::basisid, ldbl_lpinfo::basisstat, ldbl_iter_info::chkobj, ldbl_lpinfo::cnts, ldbl_ILLlp_basis::colnorms, ldbl_price_info::cur_price, ldbl_iter_info::curtime, ldbl_tol_struct::dfeas_tol, ldbl_count_struct::dI_iter, itcnt_t::dI_iter, ldbl_count_struct::dII_iter, itcnt_t::dII_iter, ldbl_lpinfo::dinfeas, ldbl_lpinfo::dobjval, ldbl_price_info::dsinfo, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_INFEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, DUAL_UNBOUNDED, ldbl_lp_status_info::dual_unbounded, ldbl_lpinfo::fbasisid, 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(), ldbl_iter_info::inner, ldbl_iter_info::itercnt, ldbl_build_internal_lpinfo(), ldbl_dual_phaseI_step(), ldbl_dual_phaseII_step(), ldbl_free_internal_lpinfo(), ldbl_get_current_stat(), ldbl_ILLbasis_factor(), ldbl_ILLbasis_get_cinitial(), ldbl_ILLbasis_get_initial(), ldbl_ILLbasis_load(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_compute_dobj(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_pobj(), ldbl_ILLfct_compute_xbz(), ldbl_ILLfct_dual_adjust(), ldbl_ILLfct_print_counts(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_set_variable_type(), ldbl_ILLfct_unroll_bound_change(), ldbl_ILLfct_unroll_coef_change(), ldbl_ILLprice_build_pricing_info(), ldbl_ILLprice_free_pricing_info(), ldbl_ILLprice_get_price(), ldbl_ILLprice_load_colnorms(), ldbl_ILLprice_load_rownorms(), ldbl_ILLsimplex_infcertificate(), ldbl_ILLsvector_alloc(), ldbl_ILLsvector_free(), ldbl_ILLsvector_init(), ldbl_INFTY, ldbl_init_internal_lpinfo(), ldbl_init_lp_status_info(), ldbl_OBJBND_TOLER, ldbl_primal_phaseI_step(), ldbl_primal_phaseII_step(), ldbl_restore_paraminfo(), ldbl_save_paraminfo(), ldbl_terminate_simplex(), ldbl_lpinfo::matcnt, ldbl_iter_info::n_pivot_fail, ldbl_iter_info::n_restart, ldbl_lpinfo::ncols, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_p_devex_info::ninit, ldbl_iter_info::noprog, ldbl_p_steep_info::norms, ldbl_d_steep_info::norms, ldbl_iter_info::nosolve, ldbl_lpinfo::nrows, ldbl_ILLlpdata::nrows, NULL, ldbl_lpinfo::O, ldbl_lpinfo::objbound, ldbl_iter_info::objtol, ldbl_lpinfo::objval, OPTIMAL, ldbl_lp_status_info::optimal, PARAM_MAX_NOPROG, ldbl_price_info::pdinfo, ldbl_tol_struct::pfeas_tol, PHASEII, ldbl_count_struct::pI_iter, itcnt_t::pI_iter, ldbl_price_info::pI_price, ldbl_count_struct::pII_iter, itcnt_t::pII_iter, ldbl_lpinfo::pinfeas, ldbl_lpinfo::pobjval, ldbl_iter_info::prevobj, ldbl_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_INFEASIBLE, ldbl_lp_status_info::primal_infeasible, PRIMAL_OR_DUAL, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, PRIMAL_UNBOUNDED, ldbl_lp_status_info::primal_unbounded, ldbl_ILLlpdata::probname, ldbl_price_info::psinfo, ldbl_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, ldbl_ILLlpdata::reporter, ldbl_iter_info::resumeid, ldbl_iter_info::rounds, ldbl_ILLlp_basis::rownorms, ldbl_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_MAX_RESTART, SIMPLEX_PHASE_NEW, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_RESUME_UNSHIFT, ldbl_iter_info::solstatus, ldbl_lpinfo::starttime, ldbl_lpinfo::tol, itcnt_t::tot_iter, and ldbl_feas_info::totinfeas.

Here is the call graph for this function:

void ldbl_ILLsimplex_free_lpinfo ( ldbl_lpinfo lp  ) 

Definition at line 105 of file ldbl_simplex.c.

References ldbl_lpinfo::cz, ldbl_free_internal_lpinfo(), ldbl_ILLbasis_free_basisinfo(), ldbl_lpinfo::lz, and ldbl_lpinfo::uz.

Here is the call graph for this function:

int ldbl_ILLsimplex_infcertificate ( ldbl_lpinfo lp,
long double *  pi 
)

Definition at line 651 of file ldbl_simplex.c.

References ldbl_lpinfo::basisstat, ldbl_lpinfo::baz, ldbl_svector::coef, DUAL_PHASEII, ldbl_lp_status_info::dual_unbounded, ldbl_lpinfo::final_phase, ldbl_svector::indx, ldbl_lpinfo::infub_ix, ldbl_NINFTY, ldbl_lpinfo::lz, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, ldbl_lpinfo::pIpiz, ldbl_lp_status_info::primal_infeasible, PRIMAL_PHASEI, ldbl_lpinfo::uz, ldbl_lpinfo::xbz, and ldbl_lpinfo::zz.

void ldbl_ILLsimplex_init_lpinfo ( ldbl_lpinfo lp  ) 

Definition at line 98 of file ldbl_simplex.c.

References ldbl_ILLbasis_init_basisinfo(), and ldbl_init_internal_lpinfo().

Here is the call graph for this function:

void ldbl_ILLsimplex_load_lpinfo ( ldbl_ILLlpdata qslp,
ldbl_lpinfo lp 
)

Definition at line 118 of file ldbl_simplex.c.

References ldbl_lpinfo::basisid, ldbl_lpinfo::iterskip, ldbl_INFTY, ldbl_lpinfo::maxiter, ldbl_lpinfo::maxtime, ldbl_lpinfo::O, and ldbl_lpinfo::objbound.

int ldbl_ILLsimplex_pivotin ( ldbl_lpinfo lp,
ldbl_price_info pinf,
int  rcnt,
int *  rlist,
int  pivot_opt,
int *  basis_mod 
)

Definition at line 2834 of file ldbl_simplex.c.

References ldbl_ratio_res::ecoeff, ILL_SAFE_MALLOC, ldbl_ratio_res::lbound, NULL, ldbl_lpinfo::O, ldbl_ratio_res::pivotval, ldbl_ILLlpdata::rowmap, SIMPLEX_PIVOTINROW, STAT_BASIC, ldbl_feas_info::totinfeas, ldbl_ratio_res::tz, and ldbl_lpinfo::vstat.

Referenced by ldbl_QSopt_pivotin_col(), and ldbl_QSopt_pivotin_row().

int ldbl_ILLsimplex_retest_dsolution ( ldbl_lpinfo lp,
ldbl_price_info p,
int  phase,
ldbl_feas_info fi 
)

Definition at line 518 of file ldbl_simplex.c.

References ldbl_lpinfo::basisid, COMPLETE_PRICING, ldbl_price_info::d_strategy, ldbl_tol_struct::dfeas_tol, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, ldbl_lpinfo::fbasisid, ldbl_tol_struct::id_tol, ldbl_tol_struct::ip_tol, ldbl_ILLbasis_refactor(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_check_pIpfeasible(), ldbl_ILLfct_compute_dobj(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_phaseI_xbz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_xbz(), ldbl_ILLprice_compute_primal_inf(), ldbl_ILLprice_update_mpartial_price(), NULL, PARAM_DUAL_REFACTORGAP, PARAM_DUAL_RESOLVEGAP, ldbl_tol_struct::pfeas_tol, ldbl_feas_info::pstatus, ROW_PRICING, and ldbl_lpinfo::tol.

Here is the call graph for this function:

int ldbl_ILLsimplex_retest_psolution ( ldbl_lpinfo lp,
ldbl_price_info p,
int  phase,
ldbl_feas_info fi 
)

Definition at line 457 of file ldbl_simplex.c.

References __QS_SB_VERB, ldbl_lpinfo::basisid, COMPLETE_PRICING, ldbl_tol_struct::dfeas_tol, ldbl_feas_info::dstatus, ldbl_lpinfo::fbasisid, ldbl_tol_struct::id_tol, ldbl_tol_struct::ip_tol, ldbl_ILLbasis_refactor(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_check_pIdfeasible(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_phaseI_dz(), ldbl_ILLfct_compute_phaseI_piz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_pobj(), ldbl_ILLfct_compute_xbz(), ldbl_ILLprice_compute_dual_inf(), NULL, ldbl_price_info::p_strategy, PARAM_PRIMAL_REFACTORGAP, PARAM_PRIMAL_RESOLVEGAP, ldbl_tol_struct::pfeas_tol, PRIMAL_FEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, ldbl_feas_info::pstatus, QS_LP_CHANGE_PREC, and ldbl_lpinfo::tol.

Here is the call graph for this function:

void ldbl_ILLsimplex_set_bound ( ldbl_lpinfo lp,
const long double *  objbound,
int  sense 
)

Definition at line 131 of file ldbl_simplex.c.

References ldbl_ILL_MAX, and ldbl_lpinfo::objbound.

Referenced by ldbl_QSchange_objsense(), and ldbl_QSset_param_EGlpNum().

int ldbl_ILLsimplex_solution ( ldbl_lpinfo lp,
long double *  xz,
long double *  piz,
long double *  dz,
long double *  objval 
)

Definition at line 597 of file ldbl_simplex.c.

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

void ldbl_init_internal_lpinfo ( ldbl_lpinfo lp  ) 

Definition at line 180 of file ldbl_simplex.c.

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

Referenced by ldbl_ILLsimplex(), and ldbl_ILLsimplex_init_lpinfo().

Here is the call graph for this function:

static void ldbl_init_lp_status_info ( ldbl_lp_status_info ls  )  [static]

Definition at line 141 of file ldbl_simplex.c.

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

Referenced by ldbl_build_internal_lpinfo(), and ldbl_ILLsimplex().

static void ldbl_init_simplex_tols ( ldbl_lpinfo lp  ) 

Definition at line 153 of file ldbl_simplex.c.

References ldbl_tol_struct::dfeas_tol, ldbl_tol_struct::id_tol, ldbl_tol_struct::ip_tol, ldbl_DFEAS_TOLER, ldbl_PFEAS_TOLER, ldbl_PIVOT_TOLER, ldbl_SZERO_TOLER, ldbl_tol_struct::pfeas_tol, ldbl_tol_struct::pivot_tol, ldbl_tol_struct::szero_tol, ldbl_lpinfo::tol, and VERBOSE_LEVEL.

static void ldbl_monitor_iter ( ldbl_lpinfo lp,
ldbl_price_info p,
ldbl_iter_info it,
int  cphase 
)

Definition at line 1336 of file ldbl_simplex.c.

References __QS_SB_VERB, ldbl_iter_info::algorithm, ldbl_iter_info::chkobj, ldbl_iter_info::curtime, ldbl_tol_struct::dfeas_tol, ldbl_lpinfo::dinfeas, ldbl_lpinfo::dobjval, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_PHASEI, DUAL_PHASEII, DUAL_SIMPLEX, ILL_BND_REACHED, ILL_CLEANUP, ILL_LP_ABORTED, ILL_MAX_ITER, ILL_MAX_TIME, ILLutil_zeit(), ldbl_iter_info::inner, ldbl_iter_info::itercnt, ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_compute_dobj(), ldbl_ILLfct_perturb_bounds(), ldbl_ILLfct_perturb_coefs(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_unroll_coef_change(), ldbl_ILLutil_our_floor(), ldbl_INFTY, ldbl_report_value(), ldbl_restore_paraminfo(), ldbl_lpinfo::maxiter, ldbl_lpinfo::maxtime, ldbl_iter_info::n_restart, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_iter_info::noprog, ldbl_lpinfo::objbound, ldbl_iter_info::objtol, ldbl_tol_struct::pfeas_tol, PHASEII, ldbl_lpinfo::pinfeas, ldbl_lpinfo::pobjval, ldbl_iter_info::prevobj, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, ldbl_iter_info::resumeid, ldbl_iter_info::rounds, ldbl_iter_info::sdisplay, SIMPLEX_FACTOR, SIMPLEX_PHASE_NEW, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_TERMINATE, ldbl_iter_info::solstatus, ldbl_lpinfo::starttime, ldbl_lpinfo::tol, and ldbl_feas_info::totinfeas.

Referenced by ldbl_dual_phaseI_step(), ldbl_dual_phaseII_step(), ldbl_primal_phaseI_step(), and ldbl_primal_phaseII_step().

Here is the call graph for this function:

static int ldbl_primal_phaseI_step ( ldbl_lpinfo lp,
ldbl_price_info pinf,
ldbl_svector updz,
ldbl_svector wz,
ldbl_iter_info it 
)

Definition at line 1546 of file ldbl_simplex.c.

References ldbl_iter_info::algorithm, ldbl_lpinfo::baz, ldbl_pI_uinfo::c_obj, CNT_PPHASE1ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZNZ, COL_PRICING, COMPLETE_PRICING, ldbl_price_info::d_scaleinf, ldbl_tol_struct::dfeas_tol, ldbl_price_res::dinfeas, ldbl_price_res::dir, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_SIMPLEX, ldbl_ratio_res::ecoeff, ldbl_price_res::eindex, ldbl_lpinfo::final_phase, ILL_CLEANUP, ILL_IFTRACE2, ILL_LP_SOLVED, ldbl_tol_struct::ip_tol, ldbl_ratio_res::lbound, ldbl_ILLbasis_update(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_compute_phaseI_dz(), ldbl_ILLfct_compute_phaseI_piz(), ldbl_ILLfct_compute_ppIzz(), ldbl_ILLfct_compute_psteep_upv(), ldbl_ILLfct_compute_xbz(), ldbl_ILLfct_compute_yz(), ldbl_ILLfct_compute_zA(), ldbl_ILLfct_compute_zz(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_update_basis_info(), ldbl_ILLfct_update_counts(), ldbl_ILLfct_update_pfeas(), ldbl_ILLfct_update_ppI_prices(), ldbl_ILLfct_update_xz(), ldbl_ILLprice_compute_dual_inf(), ldbl_ILLprice_free_heap(), ldbl_ILLprice_init_mpartial_price(), ldbl_ILLprice_primal(), ldbl_ILLprice_test_for_heap(), ldbl_ILLprice_update_pricing_info(), ldbl_ILLratio_pI_test(), ldbl_ILLsimplex_retest_psolution(), ldbl_monitor_iter(), ldbl_test_progress(), ldbl_ratio_res::lindex, ldbl_ratio_res::lvstat, MULTI_PART_PRICING, ldbl_iter_info::n_restart, ldbl_lpinfo::nbaz, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_lpinfo::nnbasic, ldbl_iter_info::noprog, ldbl_iter_info::nosolve, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, ldbl_price_info::p_strategy, PARAM_MAX_NOSOLVE, ldbl_tol_struct::pfeas_tol, PHASEI, PHASEII, ldbl_price_info::pI_price, ldbl_lpinfo::pIdz, ldbl_lpinfo::pinfeas, ldbl_price_res::pinfeas, ldbl_lpinfo::pIpiz, ldbl_ratio_res::pivotval, ldbl_iter_info::prevobj, PRICE_OPTIMAL, ldbl_price_res::price_stat, PRIMAL_FEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, ldbl_feas_info::pstatus, QS_PRICE_PSTEEP, RATIO_BCHANGE, RATIO_FAILED, RATIO_NEGATIVE, RATIO_NOBCHANGE, ldbl_ratio_res::ratio_stat, ldbl_iter_info::resumeid, ldbl_iter_info::sdisplay, SIMPLEX_CONTINUE, SIMPLEX_FACTOR, SIMPLEX_PHASE_NEW, SIMPLEX_PHASE_RECOMP, SIMPLEX_RESUME, SIMPLEX_RESUME_NUMER, SIMPLEX_RESUME_SING, SIMPLEX_TERMINATE, ldbl_iter_info::solstatus, ldbl_lpinfo::srhs, ldbl_lpinfo::ssoln, ldbl_lpinfo::tol, ldbl_feas_info::totinfeas, ldbl_ratio_res::tz, ldbl_lpinfo::upd, VARTIFICIAL, VFREE, ldbl_lpinfo::vtype, ldbl_lpinfo::yjz, and ldbl_lpinfo::zz.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

static int ldbl_primal_phaseII_step ( ldbl_lpinfo lp,
ldbl_price_info pinf,
ldbl_svector updz,
ldbl_svector wz,
ldbl_iter_info it 
)

Definition at line 1826 of file ldbl_simplex.c.

References ldbl_iter_info::algorithm, ldbl_lpinfo::baz, BOUND_LOWER, BOUND_UPPER, ldbl_ratio_res::boundch, CNT_PPHASE2ITER, CNT_UPNZ, CNT_YNZ, CNT_ZANZ, CNT_ZARAVG, CNT_ZNZ, COL_PRICING, COMPLETE_PRICING, ldbl_price_info::d_scaleinf, ldbl_tol_struct::dfeas_tol, ldbl_lpinfo::dinfeas, ldbl_price_res::dinfeas, ldbl_price_res::dir, ldbl_feas_info::dstatus, DUAL_FEASIBLE, DUAL_SIMPLEX, ldbl_lpinfo::dz, ldbl_ratio_res::ecoeff, ldbl_price_res::eindex, ldbl_lpinfo::final_phase, ldbl_tol_struct::id_tol, ILL_CLEANUP, ILL_IFTRACE, ILL_LP_SOLVED, ldbl_tol_struct::ip_tol, ldbl_ratio_res::lbound, ldbl_ILLbasis_update(), ldbl_ILLfct_bound_shift(), ldbl_ILLfct_check_dfeasible(), ldbl_ILLfct_check_pfeasible(), ldbl_ILLfct_compute_dz(), ldbl_ILLfct_compute_piz(), ldbl_ILLfct_compute_pobj(), ldbl_ILLfct_compute_psteep_upv(), ldbl_ILLfct_compute_xbz(), ldbl_ILLfct_compute_yz(), ldbl_ILLfct_compute_zA(), ldbl_ILLfct_compute_zz(), ldbl_ILLfct_set_status_values(), ldbl_ILLfct_unroll_bound_change(), ldbl_ILLfct_update_basis_info(), ldbl_ILLfct_update_counts(), ldbl_ILLfct_update_dz(), ldbl_ILLfct_update_piz(), ldbl_ILLfct_update_xz(), ldbl_ILLprice_compute_dual_inf(), ldbl_ILLprice_free_heap(), ldbl_ILLprice_init_mpartial_price(), ldbl_ILLprice_primal(), ldbl_ILLprice_test_for_heap(), ldbl_ILLprice_update_mpartial_price(), ldbl_ILLprice_update_pricing_info(), ldbl_ILLratio_pII_test(), ldbl_ILLsimplex_retest_psolution(), ldbl_monitor_iter(), ldbl_test_progress(), ldbl_ratio_res::lindex, ldbl_ratio_res::lvstat, MULTI_PART_PRICING, ldbl_iter_info::n_restart, ldbl_lpinfo::nbaz, ldbl_lpinfo::nbchange, ldbl_iter_info::newphase, ldbl_iter_info::nextphase, ldbl_iter_info::nextstep, ldbl_iter_info::noprog, ldbl_iter_info::nosolve, NULL, ldbl_svector::nzcnt, ldbl_lpinfo::objval, ldbl_price_info::p_strategy, PARAM_MAX_NOSOLVE, ldbl_tol_struct::pfeas_tol, PHASEII, ldbl_price_info::pII_price, ldbl_price_res::pinfeas, ldbl_ratio_res::pivotval, ldbl_lpinfo::pobjval, ldbl_iter_info::prevobj, PRICE_OPTIMAL, ldbl_price_res::price_stat, ldbl_iter_info::pricetype, PRIMAL_FEASIBLE, PRIMAL_INFEASIBLE, PRIMAL_PHASEI, PRIMAL_PHASEII, PRIMAL_SIMPLEX, PRIMAL_UNBOUNDED, ldbl_feas_info::pstatus, QS_PRICE_DDEVEX, QS_PRICE_PSTEEP, RATIO_BCHANGE, RATIO_FAILED, RATIO_NOBCHANGE, ldbl_ratio_res::ratio_stat, RATIO_UNBOUNDED, ldbl_iter_info::resumeid, ldbl_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, ldbl_iter_info::solstatus, STAT_UPPER, ldbl_lpinfo::tol, ldbl_feas_info::totinfeas, ldbl_ratio_res::tz, VARTIFICIAL, VFREE, ldbl_lpinfo::vtype, ldbl_lpinfo::yjz, and ldbl_lpinfo::zz.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

static int ldbl_report_value ( ldbl_lpinfo lp,
ldbl_iter_info it,
const char *  value_name,
long double  value 
)

Definition at line 3011 of file ldbl_simplex.c.

References ILLstring_report, ldbl_iter_info::itercnt, ldbl_lpinfo::iterskip, NULL, ldbl_lpinfo::O, QS_LP_ABORTED, ldbl_ILLlpdata::reporter, ldbl_iter_info::sdisplay, and ldbl_iter_info::solstatus.

Referenced by ldbl_monitor_iter().

static void ldbl_restore_paraminfo ( ldbl_iter_info it,
ldbl_price_info pinf 
) [static]

Definition at line 784 of file ldbl_simplex.c.

References ldbl_iter_info::algorithm, ldbl_param_info::d_strategy, ldbl_price_info::d_strategy, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_param_info::dphaseI, ldbl_param_info::dphaseII, ldbl_iter_info::oldinfo, ldbl_param_info::origalgo, ldbl_param_info::p_strategy, ldbl_price_info::p_strategy, ldbl_price_info::pI_price, ldbl_price_info::pII_price, ldbl_param_info::pphaseI, and ldbl_param_info::pphaseII.

Referenced by ldbl_ILLsimplex(), and ldbl_monitor_iter().

static void ldbl_save_paraminfo ( ldbl_price_info pinf,
ldbl_iter_info it 
) [static]

Definition at line 769 of file ldbl_simplex.c.

References ldbl_iter_info::algorithm, ldbl_price_info::d_strategy, ldbl_param_info::d_strategy, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_param_info::dphaseI, ldbl_param_info::dphaseII, ldbl_iter_info::oldinfo, ldbl_param_info::origalgo, ldbl_price_info::p_strategy, ldbl_param_info::p_strategy, ldbl_price_info::pI_price, ldbl_price_info::pII_price, ldbl_param_info::pphaseI, and ldbl_param_info::pphaseII.

Referenced by ldbl_ILLsimplex().

static int ldbl_terminate_simplex ( ldbl_lpinfo lp,
int  phase,
ldbl_iter_info it 
) [static]

Definition at line 1260 of file ldbl_simplex.c.

References ldbl_iter_info::algorithm, ldbl_feas_info::dstatus, DUAL_PHASEI, DUAL_SIMPLEX, ILL_CLEANUP, ILL_MAX_ITER, ILL_MAX_TIME, ldbl_ILLfct_set_status_values(), ldbl_ILLfct_unroll_bound_change(), ldbl_ILLfct_unroll_coef_change(), ldbl_ILLsimplex_retest_dsolution(), ldbl_ILLsimplex_retest_psolution(), ldbl_lpinfo::nbchange, ldbl_lpinfo::ncchange, NULL, PHASEI, PHASEII, PRIMAL_PHASEI, PRIMAL_SIMPLEX, ldbl_feas_info::pstatus, ldbl_iter_info::sdisplay, ldbl_iter_info::solstatus, and ldbl_feas_info::totinfeas.

Referenced by ldbl_ILLsimplex().

Here is the call graph for this function:

static int ldbl_test_progress ( long double  objval,
long double  prevobj 
) [static]

Definition at line 1314 of file ldbl_simplex.c.

References ldbl_PROGRESS_THRESH, and ldbl_PROGRESS_ZERO.

Referenced by ldbl_dual_phaseI_step(), ldbl_dual_phaseII_step(), ldbl_primal_phaseI_step(), and ldbl_primal_phaseII_step().


Variable Documentation

int TRACE = 0 [static]

Definition at line 24 of file ldbl_simplex.c.


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