ldbl_price.c File Reference

#include "qs_config.h"
#include "stddefs.h"
#include "ldbl_qsopt.h"
#include "ldbl_lpdefs.h"
#include "ldbl_fct.h"
#include "ldbl_price.h"
#include "ldbl_basis.h"
#include "ldbl_iqsutil.h"
#include "ldbl_dstruct.h"

Include dependency graph for ldbl_price.c:

Go to the source code of this file.

Defines

#define ldbl_MULTIP   1
#define ldbl_PRICE_DEBUG   0

Functions

static void ldbl_compute_dualI_inf (ldbl_lpinfo *const lp, int const j, long double *const inf)
static void ldbl_compute_dualII_inf (ldbl_lpinfo *const lp, int const j, long double *const inf)
static void ldbl_compute_primalI_inf (ldbl_lpinfo *const lp, int const i, long double *const inf)
static void ldbl_compute_primalII_inf (ldbl_lpinfo *const lp, int const i, long double *const inf)
int ldbl_ILLprice_build_ddevex_norms (ldbl_lpinfo *const lp, ldbl_d_devex_info *const ddinfo, int const reinit)
int ldbl_ILLprice_build_dsteep_norms (ldbl_lpinfo *const lp, ldbl_d_steep_info *const dsinfo)
int ldbl_ILLprice_build_heap (ldbl_price_info *const pinf, int const nkeys, long double *keylist)
int ldbl_ILLprice_build_mpartial_info (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const pricetype)
int ldbl_ILLprice_build_pdevex_norms (ldbl_lpinfo *const lp, ldbl_p_devex_info *const pdinfo, int const reinit)
int ldbl_ILLprice_build_pricing_info (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const phase)
int ldbl_ILLprice_build_psteep_norms (ldbl_lpinfo *const lp, ldbl_p_steep_info *const psinfo)
void ldbl_ILLprice_column (ldbl_lpinfo *const lp, int const ix, int const phase, ldbl_price_res *const pr)
void ldbl_ILLprice_compute_dual_inf (ldbl_lpinfo *const lp, ldbl_price_info *const p, int *const ix, int const icnt, int const phase)
void ldbl_ILLprice_compute_primal_inf (ldbl_lpinfo *const lp, ldbl_price_info *const p, int *const ix, int const icnt, int const phase)
void ldbl_ILLprice_delete_onempart_price (ldbl_price_info *const pinf, int const indx, int const pricetype)
void ldbl_ILLprice_dual (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const phase, ldbl_price_res *const pr)
void ldbl_ILLprice_free_heap (ldbl_price_info *const pinf)
void ldbl_ILLprice_free_mpartial_info (ldbl_mpart_info *p)
void ldbl_ILLprice_free_pricing_info (ldbl_price_info *const pinf)
int ldbl_ILLprice_get_colnorms (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, long double *const cnorms)
int ldbl_ILLprice_get_dsteep_norms (ldbl_lpinfo *const lp, int const count, int *const rowind, long double *const norms)
int ldbl_ILLprice_get_new_colnorms (ldbl_lpinfo *const lp, int const newrows, long double *const rnorms, int *const matcnt, int *const matbeg, int *const matind, long double *const matval)
int ldbl_ILLprice_get_new_rownorms (ldbl_lpinfo *const lp, int const newrows, long double *const rnorms, int *const rmatcnt, int *const rmatbeg, int *const rmatind, long double *const rmatval)
int ldbl_ILLprice_get_newnorms (ldbl_lpinfo *const lp, int const nelems, long double *const norms, int *const matcnt, int *const matbeg, int *const matind, long double *const matval, int const option)
int ldbl_ILLprice_get_price (ldbl_price_info *const p, int const phase)
int ldbl_ILLprice_get_rownorms (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, long double *const rnorms)
void ldbl_ILLprice_init_mpartial_price (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const phase, int const pricetype)
void ldbl_ILLprice_init_pricing_info (ldbl_price_info *const pinf)
int ldbl_ILLprice_load_colnorms (ldbl_lpinfo *const lp, long double *const cnorms, ldbl_price_info *const pinf)
int ldbl_ILLprice_load_rownorms (ldbl_lpinfo *const lp, long double *const rnorms, ldbl_price_info *const pinf)
void ldbl_ILLprice_mpartial_group (ldbl_lpinfo *const lp, ldbl_mpart_info *const p, int const phase, int const g, int const pricetype)
void ldbl_ILLprice_primal (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, ldbl_price_res *const pr, int const phase)
void ldbl_ILLprice_row (ldbl_lpinfo *const lp, int const ix, int const phase, ldbl_price_res *const pr)
int ldbl_ILLprice_test_for_heap (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const nkeys, long double *keylist, int const algo, int const upd)
int ldbl_ILLprice_update_ddevex_norms (ldbl_lpinfo *const lp, ldbl_d_devex_info *const ddinfo, int const lindex, long double yl)
void ldbl_ILLprice_update_dsteep_norms (ldbl_lpinfo *const lp, ldbl_d_steep_info *const dsinfo, ldbl_svector *const wz, int const lindex, long double yl)
void ldbl_ILLprice_update_mpartial_price (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const phase, int const pricetype)
int ldbl_ILLprice_update_pdevex_norms (ldbl_lpinfo *const lp, ldbl_p_devex_info *const pdinfo, int const eindex, long double yl)
int ldbl_ILLprice_update_pricing_info (ldbl_lpinfo *const lp, ldbl_price_info *const pinf, int const phase, ldbl_svector *const wz, int const eindex, int const lindex, long double y)
void ldbl_ILLprice_update_psteep_norms (ldbl_lpinfo *const lp, ldbl_p_steep_info *const psinfo, ldbl_svector *const wz, int const eindex, long double yl)
static void ldbl_update_d_scaleinf (ldbl_price_info *const p, ldbl_heap *const h, int const j, long double inf, int const prule)
static void ldbl_update_p_scaleinf (ldbl_price_info *const p, ldbl_heap *const h, int const i, long double inf, int const prule)


Define Documentation

#define ldbl_MULTIP   1

Definition at line 38 of file ldbl_price.c.

Referenced by ldbl_ILLprice_mpartial_group().

#define ldbl_PRICE_DEBUG   0

Definition at line 39 of file ldbl_price.c.


Function Documentation

static void ldbl_compute_dualI_inf ( ldbl_lpinfo *const   lp,
int const   j,
long double *const   inf 
) [static]

Definition at line 1086 of file ldbl_price.c.

References ldbl_tol_struct::id_tol, ldbl_lpinfo::nbaz, ldbl_lpinfo::pIdz, STAT_LOWER, STAT_UPPER, STAT_ZERO, ldbl_lpinfo::tol, VARTIFICIAL, VFIXED, ldbl_lpinfo::vstat, and ldbl_lpinfo::vtype.

Referenced by ldbl_ILLprice_column(), and ldbl_ILLprice_compute_dual_inf().

static void ldbl_compute_dualII_inf ( ldbl_lpinfo *const   lp,
int const   j,
long double *const   inf 
)

Definition at line 1106 of file ldbl_price.c.

References ldbl_tol_struct::dfeas_tol, ldbl_lpinfo::dz, ldbl_lpinfo::nbaz, STAT_LOWER, STAT_UPPER, STAT_ZERO, ldbl_lpinfo::tol, VARTIFICIAL, VFIXED, ldbl_lpinfo::vstat, and ldbl_lpinfo::vtype.

Referenced by ldbl_ILLprice_column(), and ldbl_ILLprice_compute_dual_inf().

static void ldbl_compute_primalI_inf ( ldbl_lpinfo *const   lp,
int const   i,
long double *const   inf 
)

Definition at line 1280 of file ldbl_price.c.

References ldbl_lpinfo::baz, ldbl_tol_struct::ip_tol, ldbl_INFTY, ldbl_NINFTY, ldbl_lpinfo::lz, ldbl_lpinfo::tol, ldbl_lpinfo::uz, and ldbl_lpinfo::xbz.

Referenced by ldbl_ILLprice_compute_primal_inf(), and ldbl_ILLprice_row().

static void ldbl_compute_primalII_inf ( ldbl_lpinfo *const   lp,
int const   i,
long double *const   inf 
)

Definition at line 1298 of file ldbl_price.c.

References ldbl_lpinfo::baz, ldbl_INFTY, ldbl_NINFTY, ldbl_lpinfo::lz, ldbl_tol_struct::pfeas_tol, ldbl_lpinfo::tol, ldbl_lpinfo::uz, and ldbl_lpinfo::xbz.

Referenced by ldbl_ILLprice_compute_primal_inf(), and ldbl_ILLprice_row().

int ldbl_ILLprice_build_ddevex_norms ( ldbl_lpinfo *const   lp,
ldbl_d_devex_info *const   ddinfo,
int const   reinit 
)

Definition at line 844 of file ldbl_price.c.

References ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_lpinfo::ncols, ldbl_d_devex_info::ninit, ldbl_d_devex_info::norms, ldbl_lpinfo::nrows, ldbl_d_devex_info::refframe, STAT_BASIC, and ldbl_lpinfo::vstat.

int ldbl_ILLprice_build_dsteep_norms ( ldbl_lpinfo *const   lp,
ldbl_d_steep_info *const   dsinfo 
)

Definition at line 937 of file ldbl_price.c.

References ldbl_svector::coef, ILLstring_report, ldbl_ILLfct_compute_zz(), ldbl_ILLsvector_alloc(), ldbl_ILLsvector_free(), ldbl_ILLsvector_init(), ldbl_PARAM_MIN_DNORM, ldbl_d_steep_info::norms, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, ldbl_lpinfo::O, and ldbl_ILLlpdata::reporter.

Here is the call graph for this function:

int ldbl_ILLprice_build_heap ( ldbl_price_info *const   pinf,
int const   nkeys,
long double *  keylist 
)

Definition at line 77 of file ldbl_price.c.

References ldbl_price_info::h, ldbl_price_info::htrigger, ldbl_ILLheap_build(), ldbl_ILLheap_init(), ldbl_ILLutil_our_log2(), and PARAM_HEAP_RATIO.

Here is the call graph for this function:

int ldbl_ILLprice_build_mpartial_info ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   pricetype 
)

Definition at line 369 of file ldbl_price.c.

References ldbl_mpart_info::bsize, ldbl_mpart_info::bucket, ldbl_mpart_info::cgroup, COL_PRICING, ldbl_price_info::dmpinfo, ldbl_mpart_info::gshift, ldbl_mpart_info::gsize, ldbl_mpart_info::gstart, ILL_SAFE_MALLOC, ldbl_mpart_info::infeas, ldbl_mpart_info::k, ldbl_ILLprice_free_mpartial_info(), ldbl_mpart_info::ngroups, ldbl_lpinfo::nnbasic, ldbl_lpinfo::nrows, ldbl_mpart_info::perm, and ldbl_price_info::pmpinfo.

Here is the call graph for this function:

int ldbl_ILLprice_build_pdevex_norms ( ldbl_lpinfo *const   lp,
ldbl_p_devex_info *const   pdinfo,
int const   reinit 
)

Definition at line 648 of file ldbl_price.c.

References ILL_SAFE_MALLOC, ldbl_lpinfo::ncols, ldbl_p_devex_info::ninit, ldbl_lpinfo::nnbasic, ldbl_p_devex_info::norms, ldbl_p_devex_info::refframe, STAT_BASIC, ldbl_lpinfo::vindex, and ldbl_lpinfo::vstat.

int ldbl_ILLprice_build_pricing_info ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   phase 
)

Definition at line 185 of file ldbl_price.c.

References COL_PRICING, COMPLETE_PRICING, ldbl_price_info::cur_price, ldbl_price_info::d_scaleinf, ldbl_price_info::d_strategy, ldbl_price_info::ddinfo, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_price_info::dsinfo, DUAL_PHASEI, DUAL_PHASEII, ldbl_ILLprice_build_ddevex_norms(), ldbl_ILLprice_build_dsteep_norms(), ldbl_ILLprice_build_mpartial_info(), ldbl_ILLprice_build_pdevex_norms(), ldbl_ILLprice_build_psteep_norms(), ldbl_ILLprice_free_pricing_info(), MULTI_PART_PRICING, ldbl_lpinfo::nnbasic, ldbl_d_devex_info::norms, ldbl_d_steep_info::norms, ldbl_p_steep_info::norms, ldbl_p_devex_info::norms, ldbl_lpinfo::nrows, ldbl_price_info::p_scaleinf, ldbl_price_info::p_strategy, ldbl_price_info::pdinfo, ldbl_price_info::pI_price, ldbl_price_info::pII_price, PRIMAL_PHASEI, PRIMAL_PHASEII, ldbl_price_info::psinfo, QS_PRICE_DDANTZIG, QS_PRICE_DDEVEX, QS_PRICE_DMULTPARTIAL, QS_PRICE_DSTEEP, QS_PRICE_PDANTZIG, QS_PRICE_PDEVEX, QS_PRICE_PMULTPARTIAL, QS_PRICE_PSTEEP, and ROW_PRICING.

Here is the call graph for this function:

int ldbl_ILLprice_build_psteep_norms ( ldbl_lpinfo *const   lp,
ldbl_p_steep_info *const   psinfo 
)

Definition at line 745 of file ldbl_price.c.

References ldbl_svector::coef, ILLstring_report, ldbl_ILLfct_compute_yz(), ldbl_ILLsvector_alloc(), ldbl_ILLsvector_free(), ldbl_ILLsvector_init(), ldbl_lpinfo::nnbasic, ldbl_p_steep_info::norms, ldbl_lpinfo::nrows, NULL, ldbl_svector::nzcnt, ldbl_lpinfo::O, and ldbl_ILLlpdata::reporter.

Here is the call graph for this function:

void ldbl_ILLprice_column ( ldbl_lpinfo *const   lp,
int const   ix,
int const   phase,
ldbl_price_res *const   pr 
)

Definition at line 598 of file ldbl_price.c.

References ldbl_lpinfo::cz, ldbl_price_res::dinfeas, ldbl_lpinfo::dz, ldbl_compute_dualI_inf(), ldbl_compute_dualII_inf(), ldbl_lpinfo::matbeg, ldbl_lpinfo::matcnt, ldbl_lpinfo::matind, ldbl_lpinfo::matval, ldbl_lpinfo::nbaz, ldbl_lpinfo::pIdz, ldbl_lpinfo::pIpiz, ldbl_lpinfo::piz, PRIMAL_PHASEII, VARTIFICIAL, VFIXED, and ldbl_lpinfo::vtype.

Here is the call graph for this function:

void ldbl_ILLprice_compute_dual_inf ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   p,
int *const   ix,
int const   icnt,
int const   phase 
)

Definition at line 1126 of file ldbl_price.c.

References ldbl_price_info::h, ldbl_compute_dualI_inf(), ldbl_compute_dualII_inf(), ldbl_update_d_scaleinf(), ldbl_lpinfo::nnbasic, NULL, ldbl_price_info::pI_price, ldbl_price_info::pII_price, PRIMAL_PHASEI, and PRIMAL_PHASEII.

Here is the call graph for this function:

void ldbl_ILLprice_compute_primal_inf ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   p,
int *const   ix,
int const   icnt,
int const   phase 
)

Definition at line 1316 of file ldbl_price.c.

References ldbl_price_info::dI_price, ldbl_price_info::dII_price, DUAL_PHASEI, DUAL_PHASEII, ldbl_price_info::h, ldbl_compute_primalI_inf(), ldbl_compute_primalII_inf(), ldbl_update_p_scaleinf(), ldbl_lpinfo::nrows, and NULL.

Here is the call graph for this function:

void ldbl_ILLprice_delete_onempart_price ( ldbl_price_info *const   pinf,
int const   indx,
int const   pricetype 
)

Definition at line 531 of file ldbl_price.c.

References ldbl_mpart_info::bsize, ldbl_mpart_info::bucket, COL_PRICING, ldbl_price_info::dmpinfo, ldbl_mpart_info::infeas, and ldbl_price_info::pmpinfo.

void ldbl_ILLprice_dual ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   phase,
ldbl_price_res *const   pr 
)

Definition at line 1365 of file ldbl_price.c.

References COMPLETE_PRICING, ldbl_price_info::d_strategy, DUAL_SIMPLEX, ldbl_price_info::h, ldbl_heap::hexist, ldbl_ILLheap_delete(), ldbl_ILLheap_findmin(), ldbl_ILLprice_test_for_heap(), ldbl_price_res::lindex, ldbl_lpinfo::nrows, ldbl_price_info::p_scaleinf, ldbl_tol_struct::pfeas_tol, and ldbl_lpinfo::tol.

Referenced by ldbl_dual_phaseI_step(), and ldbl_dual_phaseII_step().

Here is the call graph for this function:

void ldbl_ILLprice_free_heap ( ldbl_price_info *const   pinf  ) 

Definition at line 71 of file ldbl_price.c.

References ldbl_price_info::h, and ldbl_ILLheap_free().

Here is the call graph for this function:

void ldbl_ILLprice_free_mpartial_info ( ldbl_mpart_info p  ) 

Definition at line 358 of file ldbl_price.c.

References ldbl_mpart_info::bucket, ldbl_mpart_info::gshift, ldbl_mpart_info::gsize, ldbl_mpart_info::gstart, ILL_IFFREE, ldbl_mpart_info::infeas, and ldbl_mpart_info::perm.

void ldbl_ILLprice_free_pricing_info ( ldbl_price_info *const   pinf  ) 

Definition at line 168 of file ldbl_price.c.

References ldbl_price_info::d_scaleinf, ldbl_price_info::ddinfo, ldbl_price_info::dmpinfo, ldbl_price_info::dsinfo, ILL_IFFREE, ldbl_ILLprice_free_heap(), ldbl_ILLprice_free_mpartial_info(), ldbl_d_steep_info::norms, ldbl_d_devex_info::norms, ldbl_p_steep_info::norms, ldbl_p_devex_info::norms, ldbl_price_info::p_scaleinf, ldbl_price_info::pdinfo, ldbl_price_info::pmpinfo, ldbl_price_info::psinfo, ldbl_d_devex_info::refframe, and ldbl_p_devex_info::refframe.

Here is the call graph for this function:

int ldbl_ILLprice_get_colnorms ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
long double *const   cnorms 
)

Definition at line 1466 of file ldbl_price.c.

References ldbl_lpinfo::baz, ldbl_ILLprice_build_psteep_norms(), ldbl_lpinfo::nbaz, ldbl_lpinfo::nnbasic, ldbl_p_steep_info::norms, ldbl_lpinfo::nrows, NULL, and ldbl_price_info::psinfo.

Here is the call graph for this function:

int ldbl_ILLprice_get_dsteep_norms ( ldbl_lpinfo *const   lp,
int const   count,
int *const   rowind,
long double *const   norms 
)

Definition at line 970 of file ldbl_price.c.

References ldbl_svector::coef, ldbl_ILLfct_compute_zz(), ldbl_ILLsvector_alloc(), ldbl_ILLsvector_free(), ldbl_ILLsvector_init(), ldbl_lpinfo::nrows, and ldbl_svector::nzcnt.

Here is the call graph for this function:

int ldbl_ILLprice_get_new_colnorms ( ldbl_lpinfo *const   lp,
int const   newrows,
long double *const   rnorms,
int *const   matcnt,
int *const   matbeg,
int *const   matind,
long double *const   matval 
)

Definition at line 1544 of file ldbl_price.c.

References COLUMN_SOLVE, and ldbl_ILLprice_get_newnorms().

Here is the call graph for this function:

int ldbl_ILLprice_get_new_rownorms ( ldbl_lpinfo *const   lp,
int const   newrows,
long double *const   rnorms,
int *const   rmatcnt,
int *const   rmatbeg,
int *const   rmatind,
long double *const   rmatval 
)

Definition at line 1531 of file ldbl_price.c.

References ldbl_ILLprice_get_newnorms(), and ROW_SOLVE.

Here is the call graph for this function:

int ldbl_ILLprice_get_newnorms ( ldbl_lpinfo *const   lp,
int const   nelems,
long double *const   norms,
int *const   matcnt,
int *const   matbeg,
int *const   matind,
long double *const   matval,
int const   option 
)

Definition at line 1491 of file ldbl_price.c.

References ldbl_svector::coef, COLUMN_SOLVE, ldbl_svector::indx, ldbl_ILLbasis_column_solve(), ldbl_ILLbasis_row_solve(), ldbl_ILLsvector_alloc(), ldbl_ILLsvector_free(), ldbl_ILLsvector_init(), ldbl_lpinfo::nrows, and ldbl_svector::nzcnt.

Here is the call graph for this function:

int ldbl_ILLprice_get_price ( ldbl_price_info *const   p,
int const   phase 
)

Definition at line 338 of file ldbl_price.c.

References ldbl_price_info::dI_price, ldbl_price_info::dII_price, DUAL_PHASEI, DUAL_PHASEII, ldbl_price_info::pI_price, ldbl_price_info::pII_price, PRIMAL_PHASEI, and PRIMAL_PHASEII.

int ldbl_ILLprice_get_rownorms ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
long double *const   rnorms 
)

Definition at line 1443 of file ldbl_price.c.

References ldbl_price_info::dsinfo, ldbl_ILLprice_build_dsteep_norms(), ldbl_d_steep_info::norms, ldbl_lpinfo::nrows, and NULL.

Here is the call graph for this function:

void ldbl_ILLprice_init_mpartial_price ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   phase,
int const   pricetype 
)

Definition at line 428 of file ldbl_price.c.

References ldbl_mpart_info::bsize, ldbl_mpart_info::cgroup, COL_PRICING, ldbl_price_info::dmpinfo, ldbl_mpart_info::k, ldbl_ILLprice_mpartial_group(), ldbl_mpart_info::ngroups, and ldbl_price_info::pmpinfo.

Here is the call graph for this function:

void ldbl_ILLprice_init_pricing_info ( ldbl_price_info *const   pinf  ) 

Definition at line 139 of file ldbl_price.c.

References ldbl_mpart_info::bucket, ldbl_price_info::cur_price, ldbl_price_info::d_scaleinf, ldbl_price_info::d_strategy, ldbl_price_info::ddinfo, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_price_info::dmpinfo, ldbl_price_info::dsinfo, ldbl_mpart_info::gshift, ldbl_mpart_info::gsize, ldbl_mpart_info::gstart, ldbl_price_info::h, ldbl_price_info::hineff, ldbl_price_info::htrigger, ldbl_mpart_info::infeas, ldbl_ILLheap_init(), ldbl_d_steep_info::norms, ldbl_d_devex_info::norms, ldbl_p_steep_info::norms, ldbl_p_devex_info::norms, ldbl_price_info::p_scaleinf, ldbl_price_info::p_strategy, ldbl_price_info::pdinfo, ldbl_mpart_info::perm, ldbl_price_info::pI_price, ldbl_price_info::pII_price, ldbl_price_info::pmpinfo, ldbl_price_info::psinfo, ldbl_d_devex_info::refframe, and ldbl_p_devex_info::refframe.

Here is the call graph for this function:

int ldbl_ILLprice_load_colnorms ( ldbl_lpinfo *const   lp,
long double *const   cnorms,
ldbl_price_info *const   pinf 
)

Definition at line 1578 of file ldbl_price.c.

References ldbl_lpinfo::nbaz, ldbl_lpinfo::nnbasic, ldbl_p_steep_info::norms, and ldbl_price_info::psinfo.

Referenced by ldbl_ILLsimplex().

int ldbl_ILLprice_load_rownorms ( ldbl_lpinfo *const   lp,
long double *const   rnorms,
ldbl_price_info *const   pinf 
)

Definition at line 1557 of file ldbl_price.c.

References ldbl_price_info::dsinfo, ldbl_PARAM_MIN_DNORM, ldbl_d_steep_info::norms, and ldbl_lpinfo::nrows.

void ldbl_ILLprice_mpartial_group ( ldbl_lpinfo *const   lp,
ldbl_mpart_info *const   p,
int const   phase,
int const   g,
int const   pricetype 
)

Definition at line 552 of file ldbl_price.c.

References ldbl_mpart_info::bsize, ldbl_mpart_info::bucket, COL_PRICING, ldbl_price_res::dinfeas, ldbl_mpart_info::gshift, ldbl_mpart_info::gsize, ldbl_mpart_info::gstart, ldbl_mpart_info::infeas, ldbl_lpinfo::iwork, ldbl_ILLprice_column(), ldbl_ILLprice_row(), ldbl_MULTIP, and ldbl_price_res::pinfeas.

Here is the call graph for this function:

void ldbl_ILLprice_primal ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
ldbl_price_res *const   pr,
int const   phase 
)

Definition at line 1175 of file ldbl_price.c.

References COMPLETE_PRICING, ldbl_price_info::d_scaleinf, ldbl_tol_struct::dfeas_tol, ldbl_price_res::eindex, ldbl_price_info::h, ldbl_heap::hexist, ldbl_ILLheap_delete(), ldbl_ILLheap_findmin(), ldbl_ILLprice_test_for_heap(), ldbl_lpinfo::nnbasic, ldbl_price_info::p_strategy, PRIMAL_SIMPLEX, and ldbl_lpinfo::tol.

Here is the call graph for this function:

void ldbl_ILLprice_row ( ldbl_lpinfo *const   lp,
int const   ix,
int const   phase,
ldbl_price_res *const   pr 
)

Definition at line 636 of file ldbl_price.c.

References DUAL_PHASEII, ldbl_compute_primalI_inf(), ldbl_compute_primalII_inf(), and ldbl_price_res::pinfeas.

Here is the call graph for this function:

int ldbl_ILLprice_test_for_heap ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   nkeys,
long double *  keylist,
int const   algo,
int const   upd 
)

Definition at line 89 of file ldbl_price.c.

References ldbl_lpinfo::cnts, ldbl_price_info::h, ldbl_heap::hexist, ldbl_price_info::hineff, ldbl_price_info::htrigger, ldbl_ILLprice_build_heap(), ldbl_ILLprice_free_heap(), PARAM_HEAP_UTRIGGER, PRIMAL_SIMPLEX, ldbl_count_struct::y_ravg, and ldbl_count_struct::za_ravg.

Here is the call graph for this function:

int ldbl_ILLprice_update_ddevex_norms ( ldbl_lpinfo *const   lp,
ldbl_d_devex_info *const   ddinfo,
int const   lindex,
long double  yl 
)

Definition at line 876 of file ldbl_price.c.

References ldbl_lpinfo::baz, ldbl_svector::coef, ldbl_svector::indx, ldbl_ILLprice_build_ddevex_norms(), ldbl_lpinfo::nbaz, ldbl_d_devex_info::norms, ldbl_svector::nzcnt, ldbl_d_devex_info::refframe, ldbl_lpinfo::yjz, and ldbl_lpinfo::zA.

Here is the call graph for this function:

void ldbl_ILLprice_update_dsteep_norms ( ldbl_lpinfo *const   lp,
ldbl_d_steep_info *const   dsinfo,
ldbl_svector *const   wz,
int const   lindex,
long double  yl 
)

Definition at line 995 of file ldbl_price.c.

References ldbl_svector::coef, ldbl_svector::indx, ldbl_ILLfct_load_workvector(), ldbl_ILLfct_zero_workvector(), ldbl_PARAM_MIN_DNORM, ldbl_d_steep_info::norms, ldbl_svector::nzcnt, ldbl_lpinfo::work, ldbl_lpinfo::yjz, and ldbl_lpinfo::zz.

Here is the call graph for this function:

void ldbl_ILLprice_update_mpartial_price ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   phase,
int const   pricetype 
)

Definition at line 448 of file ldbl_price.c.

References ldbl_mpart_info::bsize, ldbl_mpart_info::bucket, COL_PRICING, ldbl_price_res::dinfeas, ldbl_price_info::dmpinfo, ldbl_mpart_info::infeas, ldbl_lpinfo::iwork, ldbl_mpart_info::k, ldbl_ILLprice_column(), ldbl_ILLprice_row(), ldbl_mpart_info::perm, ldbl_price_res::pinfeas, ldbl_price_info::pmpinfo, and QSMIN.

Here is the call graph for this function:

int ldbl_ILLprice_update_pdevex_norms ( ldbl_lpinfo *const   lp,
ldbl_p_devex_info *const   pdinfo,
int const   eindex,
long double  yl 
)

Definition at line 686 of file ldbl_price.c.

References ldbl_lpinfo::baz, ldbl_svector::coef, ldbl_svector::indx, ldbl_ILLprice_build_pdevex_norms(), ldbl_lpinfo::nbaz, ldbl_p_devex_info::norms, ldbl_svector::nzcnt, ldbl_p_devex_info::refframe, ldbl_lpinfo::yjz, and ldbl_lpinfo::zA.

Here is the call graph for this function:

int ldbl_ILLprice_update_pricing_info ( ldbl_lpinfo *const   lp,
ldbl_price_info *const   pinf,
int const   phase,
ldbl_svector *const   wz,
int const   eindex,
int const   lindex,
long double  y 
)

Definition at line 285 of file ldbl_price.c.

References ldbl_price_info::ddinfo, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_price_info::dsinfo, DUAL_PHASEI, DUAL_PHASEII, ldbl_ILLprice_update_ddevex_norms(), ldbl_ILLprice_update_dsteep_norms(), ldbl_ILLprice_update_pdevex_norms(), ldbl_ILLprice_update_psteep_norms(), ldbl_price_info::pdinfo, ldbl_price_info::pI_price, ldbl_price_info::pII_price, PRIMAL_PHASEI, PRIMAL_PHASEII, ldbl_price_info::psinfo, QS_PRICE_DDEVEX, QS_PRICE_DSTEEP, QS_PRICE_PDEVEX, and QS_PRICE_PSTEEP.

Here is the call graph for this function:

void ldbl_ILLprice_update_psteep_norms ( ldbl_lpinfo *const   lp,
ldbl_p_steep_info *const   psinfo,
ldbl_svector *const   wz,
int const   eindex,
long double  yl 
)

Definition at line 775 of file ldbl_price.c.

References ldbl_svector::coef, ldbl_svector::indx, ldbl_ILLfct_load_workvector(), ldbl_ILLfct_zero_workvector(), ldbl_lpinfo::matbeg, ldbl_lpinfo::matcnt, ldbl_lpinfo::matind, ldbl_lpinfo::matval, ldbl_lpinfo::nbaz, ldbl_p_steep_info::norms, ldbl_svector::nzcnt, ldbl_lpinfo::work, ldbl_lpinfo::yjz, and ldbl_lpinfo::zA.

Here is the call graph for this function:

static void ldbl_update_d_scaleinf ( ldbl_price_info *const   p,
ldbl_heap *const   h,
int const   j,
long double  inf,
int const   prule 
) [static]

Definition at line 1054 of file ldbl_price.c.

References ldbl_price_info::d_scaleinf, ldbl_heap::hexist, ldbl_ILLheap_delete(), ldbl_ILLheap_insert(), ldbl_ILLheap_modify(), ldbl_heap::loc, ldbl_p_steep_info::norms, ldbl_p_devex_info::norms, ldbl_price_info::pdinfo, ldbl_price_info::psinfo, QS_PRICE_PDANTZIG, QS_PRICE_PDEVEX, and QS_PRICE_PSTEEP.

Referenced by ldbl_ILLprice_compute_dual_inf().

Here is the call graph for this function:

static void ldbl_update_p_scaleinf ( ldbl_price_info *const   p,
ldbl_heap *const   h,
int const   i,
long double  inf,
int const   prule 
)

Definition at line 1248 of file ldbl_price.c.

References ldbl_price_info::ddinfo, ldbl_price_info::dsinfo, ldbl_heap::hexist, ldbl_ILLheap_delete(), ldbl_ILLheap_insert(), ldbl_ILLheap_modify(), ldbl_heap::loc, ldbl_d_devex_info::norms, ldbl_d_steep_info::norms, ldbl_price_info::p_scaleinf, QS_PRICE_DDANTZIG, QS_PRICE_DDEVEX, and QS_PRICE_DSTEEP.

Referenced by ldbl_ILLprice_compute_primal_inf().

Here is the call graph for this function:


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