ldbl_lib.c File Reference

#include "qs_config.h"
#include "ldbl_iqsutil.h"
#include "ldbl_lpdata.h"
#include "ldbl_lpdefs.h"
#include "ldbl_simplex.h"
#include "ldbl_price.h"
#include "ldbl_basis.h"
#include "ldbl_lib.h"
#include "ldbl_qstruct.h"
#include "ldbl_qsopt.h"
#include "ldbl_lp.h"
#include "ldbl_mps.h"

Include dependency graph for ldbl_lib.c:

Go to the source code of this file.

Defines

#define ldbl_EXTRA_COLS   (100)
#define ldbl_EXTRA_MAT   (1000)
#define ldbl_EXTRA_ROWS   (100)
#define ldbl_PRINT_TOL   ldbl_PFEAS_TOLER
#define ldbl_READ_BASIS_LL   2
#define ldbl_READ_BASIS_UL   3
#define ldbl_READ_BASIS_XL   0
#define ldbl_READ_BASIS_XU   1

Functions

static void ldbl_check_pinf (ldbl_price_info *pinf, int *it_exists)
static int ldbl_delcols_work (ldbl_lpinfo *lp, char *colmark)
int ldbl_ILLlib_addcol (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int cnt, int *ind, long double *val, const long double obj, const long double lower, const long double upper, const char *name, int factorok)
int ldbl_ILLlib_addcols (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int num, int *cmatcnt, int *cmatbeg, int *cmatind, long double *cmatval, long double *obj, long double *lower, long double *upper, const char **names, int factorok)
int ldbl_ILLlib_addrow (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int cnt, int *ind, const long double *val, const long double rhs, int sense, const long double range, const char *name)
int ldbl_ILLlib_addrows (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int num, int *rmatcnt, int *rmatbeg, int *rmatind, const long double *rmatval, const long double *rhs, char *sense, const long double *range, const char **names, int *factorok)
int ldbl_ILLlib_basis_order (ldbl_lpinfo *lp, int *header)
int ldbl_ILLlib_cache_solution (ldbl_lpinfo *lp, ldbl_ILLlp_cache *C)
int ldbl_ILLlib_chgbnd (ldbl_lpinfo *lp, int indx, int lu, const long double bnd)
int ldbl_ILLlib_chgbnds (ldbl_lpinfo *lp, int cnt, int *indx, char *lu, const long double *bnd)
int ldbl_ILLlib_chgcoef (ldbl_lpinfo *lp, int rowindex, int colindex, long double coef)
int ldbl_ILLlib_chgobj (ldbl_lpinfo *lp, int indx, long double coef)
int ldbl_ILLlib_chgrange (ldbl_lpinfo *lp, int indx, long double coef)
int ldbl_ILLlib_chgrhs (ldbl_lpinfo *lp, int indx, long double coef)
int ldbl_ILLlib_chgsense (ldbl_lpinfo *lp, int num, int *rowlist, char *sense)
int ldbl_ILLlib_colindex (ldbl_lpinfo *lp, const char *name, int *colindex)
int ldbl_ILLlib_colnames (ldbl_lpinfo *lp, char **colnames)
int ldbl_ILLlib_delcols (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int num, int *dellist, int *basis_ok)
int ldbl_ILLlib_delrows (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, ldbl_ILLlp_cache *C, int num, int *dellist, int *basis_ok, int *cache_ok)
int ldbl_ILLlib_findName (ldbl_ILLlpdata *qslp, int forRow, const char *name, int id, char buf[ILL_namebufsize])
int ldbl_ILLlib_get_slack (ldbl_lpinfo *lp, ldbl_ILLlp_cache *C, long double *slack)
int ldbl_ILLlib_get_x (ldbl_lpinfo *lp, ldbl_ILLlp_cache *C, long double *x)
int ldbl_ILLlib_getbasis (ldbl_lpinfo *lp, char *cstat, char *rstat)
int ldbl_ILLlib_getbnd (ldbl_lpinfo *lp, int indx, int lu, long double *bnd)
int ldbl_ILLlib_getbnds (ldbl_lpinfo *lp, long double *lower, long double *upper)
int ldbl_ILLlib_getbnds_list (ldbl_lpinfo *lp, int num, int *collist, long double *lower, long double *upper)
int ldbl_ILLlib_getcoef (ldbl_lpinfo *lp, int rowindex, int colindex, long double *coef)
int ldbl_ILLlib_getcols (ldbl_lpinfo *lp, int num, int *collist, int **colcnt, int **colbeg, int **colind, long double **colval, long double **obj, long double **lower, long double **upper, char ***names)
int ldbl_ILLlib_getintflags (ldbl_lpinfo *lp, int *intflags)
int ldbl_ILLlib_getobj (ldbl_lpinfo *lp, long double *obj)
int ldbl_ILLlib_getobj_list (ldbl_lpinfo *lp, int num, int *collist, long double *obj)
int ldbl_ILLlib_getrhs (ldbl_lpinfo *lp, long double *rhs)
int ldbl_ILLlib_getrownorms (ldbl_lpinfo *lp, ldbl_price_info *pinf, long double *rownorms)
int ldbl_ILLlib_getrows (ldbl_lpinfo *lp, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, long double **rowval, long double **rhs, char **sense, long double **range, char ***names)
int ldbl_ILLlib_getsenses (ldbl_lpinfo *lp, char *senses)
int ldbl_ILLlib_iter (ldbl_lpinfo *lp)
int ldbl_ILLlib_loadbasis (ldbl_ILLlp_basis *B, int nstruct, int nrows, char *cstat, char *rstat)
int ldbl_ILLlib_loadrownorms (ldbl_lpinfo *lp, ldbl_price_info *pinf, long double *rownorms)
int ldbl_ILLlib_newcol (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, const long double obj, const long double lower, const long double upper, const char *name, int factorok)
int ldbl_ILLlib_newcols (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int num, long double *obj, long double *lower, long double *upper, const char **names, int factorok)
int ldbl_ILLlib_newrow (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, const long double rhs, int sense, const long double range, const char *name)
int ldbl_ILLlib_newrows (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, int num, const long double *rhs, char *sense, const long double *range, const char **names)
int ldbl_ILLlib_objval (ldbl_lpinfo *lp, ldbl_ILLlp_cache *C, long double *val)
int ldbl_ILLlib_optimize (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, ldbl_price_info *pinf, int algo, int *status, int simplex_display, itcnt_t *itcnt)
int ldbl_ILLlib_print_x (EGioFile_t *fd, ldbl_lpinfo *lp, ldbl_ILLlp_cache *C, long double *x, int nonZerosOnly)
int ldbl_ILLlib_readbasis (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, const char *ldbl_fname)
int ldbl_ILLlib_recompute_rownorms (ldbl_lpinfo *lp, ldbl_price_info *pinf)
int ldbl_ILLlib_rowindex (ldbl_lpinfo *lp, const char *name, int *rowindex)
int ldbl_ILLlib_rownames (ldbl_lpinfo *lp, char **rownames)
int ldbl_ILLlib_solution (ldbl_lpinfo *lp, ldbl_ILLlp_cache *C, long double *val, long double *x, long double *pi, long double *slack, long double *rc)
int ldbl_ILLlib_strongbranch (ldbl_lpinfo *lp, ldbl_price_info *pinf, int *candidatelist, int ncand, long double *xlist, long double *downpen, long double *uppen, int iterations, long double objbound, itcnt_t *itcnt)
int ldbl_ILLlib_tableau (ldbl_lpinfo *lp, int row, long double *binv, long double *tabrow)
int ldbl_ILLlib_writebasis (ldbl_lpinfo *lp, ldbl_ILLlp_basis *B, const char *ldbl_fname)
int ldbl_ILLwrite_lp_file (ldbl_ILLlpdata *lp, EGioFile_t *out, ldbl_qserror_collector *c)
static int ldbl_matrix_addcoef (ldbl_lpinfo *lp, ldbl_ILLmatrix *A, int row, int col, long double val)
static int ldbl_matrix_addcol (ldbl_ILLmatrix *A, int colcnt, int *colind, long double *colval)
static int ldbl_matrix_addrow (ldbl_ILLmatrix *A, int rowcnt, int *rowind, const long double *rowval)
static int ldbl_matrix_addrow_end (ldbl_ILLmatrix *A, int row, int rowcnt, int *rowind, const long double *rowval)
static int ldbl_matrix_getcoef (ldbl_ILLmatrix *A, int row, int col, long double *val)
static int ldbl_reset_colindex (ldbl_lpinfo *lp)
static int ldbl_reset_rowindex (ldbl_lpinfo *lp)


Define Documentation

#define ldbl_EXTRA_COLS   (100)

Definition at line 881 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_addcol().

#define ldbl_EXTRA_MAT   (1000)

Definition at line 882 of file ldbl_lib.c.

Referenced by ldbl_matrix_addrow_end().

#define ldbl_EXTRA_ROWS   (100)

Definition at line 880 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_addrow().

#define ldbl_PRINT_TOL   ldbl_PFEAS_TOLER

Definition at line 4153 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_print_x().

#define ldbl_READ_BASIS_LL   2

Definition at line 3716 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_readbasis().

#define ldbl_READ_BASIS_UL   3

Definition at line 3717 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_readbasis().

#define ldbl_READ_BASIS_XL   0

Definition at line 3714 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_readbasis().

#define ldbl_READ_BASIS_XU   1

Definition at line 3715 of file ldbl_lib.c.

Referenced by ldbl_ILLlib_readbasis().


Function Documentation

static void ldbl_check_pinf ( ldbl_price_info pinf,
int *  it_exists 
) [static]

Definition at line 4259 of file ldbl_lib.c.

References ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_price_info::dsinfo, ldbl_d_steep_info::norms, and QS_PRICE_DSTEEP.

Referenced by ldbl_ILLlib_getrownorms(), and ldbl_ILLlib_strongbranch().

static int ldbl_delcols_work ( ldbl_lpinfo lp,
char *  colmark 
)

Definition at line 1738 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ldbl_ILLlpdata::colnames, ldbl_ILLlpdata::coltab, ILL_IFFREE, ILL_SAFE_MALLOC, ILLsymboltab_delete(), ldbl_ILLlpdata::intmarker, ldbl_ILLlpdata::lower, ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matcols, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, ldbl_ILLlpdata::rowmap, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

Here is the call graph for this function:

int ldbl_ILLlib_addcol ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  cnt,
int *  ind,
long double *  val,
const long double  obj,
const long double  lower,
const long double  upper,
const char *  name,
int  factorok 
)

Definition at line 2098 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ldbl_lpinfo::basisid, ldbl_ILLlpdata::colnames, ldbl_ILLlp_basis::colnorms, ldbl_ILLlpdata::colsize, ldbl_ILLlpdata::coltab, ldbl_ILLlp_basis::cstat, ILL_CLEANUP, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_namebufsize, ILLsymboltab_register(), ldbl_ILLlpdata::intmarker, ldbl_EXTRA_COLS, ldbl_ILL_MAXDOUBLE, ldbl_ILL_MINDOUBLE, ldbl_ILLlib_findName(), ldbl_ILLlp_rows_clear(), ldbl_ILLlp_sinfo_free(), ldbl_matrix_addcol(), ldbl_ILLlpdata::lower, ldbl_lpinfo::nbaz, ldbl_ILLlpdata::ncols, ldbl_ILLlpdata::nstruct, NULL, ldbl_ILLlpdata::nzcount, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, QS_COL_BSTAT_FREE, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, ldbl_ILLlpdata::rA, ldbl_ILLlpdata::sinfo, STAT_LOWER, STAT_UPPER, STAT_ZERO, ldbl_ILLlpdata::structmap, ldbl_ILLlpdata::structsize, ldbl_ILLlpdata::upper, ldbl_lpinfo::vindex, and ldbl_lpinfo::vstat.

Here is the call graph for this function:

int ldbl_ILLlib_addcols ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  num,
int *  cmatcnt,
int *  cmatbeg,
int *  cmatind,
long double *  cmatval,
long double *  obj,
long double *  lower,
long double *  upper,
const char **  names,
int  factorok 
)

Definition at line 2059 of file ldbl_lib.c.

References ldbl_ILLlib_addcol().

Here is the call graph for this function:

int ldbl_ILLlib_addrow ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  cnt,
int *  ind,
const long double *  val,
const long double  rhs,
int  sense,
const long double  range,
const char *  name 
)

Definition at line 1145 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, ILL_namebufsize, ldbl_EXTRA_ROWS, ldbl_ILLlp_rows_clear(), ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata::ncols, ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, ldbl_ILLlpdata::rA, ldbl_ILLlpdata::rangeval, ldbl_ILLlpdata::rhs, ldbl_ILLlpdata::rowmap, ldbl_ILLlpdata::rownames, ldbl_ILLlpdata::rowsize, ldbl_ILLlpdata::sense, and ldbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int ldbl_ILLlib_addrows ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  num,
int *  rmatcnt,
int *  rmatbeg,
int *  rmatind,
const long double *  rmatval,
const long double *  rhs,
char *  sense,
const long double *  range,
const char **  names,
int *  factorok 
)

Definition at line 941 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ldbl_lpinfo::baz, ldbl_ILLlp_basis::colnorms, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLprice_get_new_rownorms(), 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_lpinfo::ncols, ldbl_ILLlpdata::nrows, ldbl_lpinfo::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlp_basis::rownorms, ldbl_ILLlp_basis::rownorms_size, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_basis_order ( ldbl_lpinfo lp,
int *  header 
)

Definition at line 497 of file ldbl_lib.c.

References ldbl_lpinfo::baz, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlpdata::ncols, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::rowmap, and ldbl_ILLlpdata::structmap.

int ldbl_ILLlib_cache_solution ( ldbl_lpinfo lp,
ldbl_ILLlp_cache C 
)

Definition at line 242 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlib_solution(), ldbl_ILLlpdata::nrows, ldbl_ILLlp_cache::nrows, ldbl_ILLlpdata::nstruct, ldbl_ILLlp_cache::nstruct, ldbl_lpinfo::O, ldbl_ILLlp_cache::pi, ldbl_ILLlp_cache::rc, ldbl_ILLlp_cache::slack, ldbl_ILLlp_cache::val, and ldbl_ILLlp_cache::x.

Here is the call graph for this function:

int ldbl_ILLlib_chgbnd ( ldbl_lpinfo lp,
int  indx,
int  lu,
const long double  bnd 
)

Definition at line 532 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata::lower, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::sinfo, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

Here is the call graph for this function:

int ldbl_ILLlib_chgbnds ( ldbl_lpinfo lp,
int  cnt,
int *  indx,
char *  lu,
const long double *  bnd 
)

Definition at line 586 of file ldbl_lib.c.

References ILL_CLEANUP, and ldbl_ILLlib_chgbnd().

Here is the call graph for this function:

int ldbl_ILLlib_chgcoef ( ldbl_lpinfo lp,
int  rowindex,
int  colindex,
long double  coef 
)

Definition at line 1860 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, ldbl_ILLlp_rows_clear(), ldbl_ILLlp_sinfo_free(), ldbl_matrix_addcoef(), ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::rA, ldbl_ILLlpdata::sinfo, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_chgobj ( ldbl_lpinfo lp,
int  indx,
long double  coef 
)

Definition at line 3180 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, ldbl_ILLlpdata::sinfo, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_chgrange ( ldbl_lpinfo lp,
int  indx,
long double  coef 
)

Definition at line 3244 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, ldbl_ILLlpdata::rangeval, ldbl_ILLlpdata::rowsize, ldbl_ILLlpdata::sense, and ldbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int ldbl_ILLlib_chgrhs ( ldbl_lpinfo lp,
int  indx,
long double  coef 
)

Definition at line 3298 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ldbl_ILLlp_sinfo_free(), ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, ldbl_ILLlpdata::rhs, and ldbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int ldbl_ILLlib_chgsense ( ldbl_lpinfo lp,
int  num,
int *  rowlist,
char *  sense 
)

Definition at line 1913 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ILL_CLEANUP, ldbl_ILL_MAXDOUBLE, ldbl_ILLlpdata::lower, ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matval, ldbl_lpinfo::O, ldbl_ILLlpdata::rowmap, ldbl_ILLlpdata::sense, and ldbl_ILLlpdata::upper.

int ldbl_ILLlib_colindex ( ldbl_lpinfo lp,
const char *  name,
int *  colindex 
)

Definition at line 3522 of file ldbl_lib.c.

References ldbl_ILLlpdata::coltab, ILL_CLEANUP, ILLsymboltab_getindex(), ldbl_reset_colindex(), and ldbl_lpinfo::O.

Here is the call graph for this function:

int ldbl_ILLlib_colnames ( ldbl_lpinfo lp,
char **  colnames 
)

Definition at line 3428 of file ldbl_lib.c.

References ldbl_ILLlpdata::colnames, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlpdata::nstruct, and ldbl_lpinfo::O.

int ldbl_ILLlib_delcols ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  num,
int *  dellist,
int *  basis_ok 
)

Definition at line 1597 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ldbl_ILLlp_basis::colnorms, ldbl_ILLlp_basis::cstat, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlp_rows_clear(), ldbl_ILLmatrix::matcols, ldbl_ILLlpdata::nstruct, ldbl_ILLlp_basis::nstruct, ldbl_lpinfo::O, QS_COL_BSTAT_BASIC, ldbl_ILLlpdata::rA, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_delrows ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
ldbl_ILLlp_cache C,
int  num,
int *  dellist,
int *  basis_ok,
int *  cache_ok 
)

Definition at line 1329 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_DFEAS_TOLER, ldbl_ILLlp_rows_clear(), ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matcols, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matrows, ldbl_ILLmatrix::matval, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlp_cache::pi, QS_ROW_BSTAT_LOWER, QS_ROW_BSTAT_UPPER, ldbl_ILLlpdata::rA, and ldbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int ldbl_ILLlib_findName ( ldbl_ILLlpdata qslp,
int  forRow,
const char *  name,
int  id,
char  buf[ILL_namebufsize] 
)

Definition at line 4201 of file ldbl_lib.c.

References ldbl_ILLlpdata::coltab, ILLsymboltab_create(), ILLsymboltab_lookup(), ILLsymboltab_uname(), ILLsymboltab_unique_name(), NULL, ldbl_ILLlpdata::rowtab, and ILLsymboltab::tablesize.

Referenced by ldbl_get_row_col_name(), and ldbl_ILLlib_addcol().

Here is the call graph for this function:

int ldbl_ILLlib_get_slack ( ldbl_lpinfo lp,
ldbl_ILLlp_cache C,
long double *  slack 
)

Definition at line 403 of file ldbl_lib.c.

References ldbl_ILLlib_solution().

Here is the call graph for this function:

int ldbl_ILLlib_get_x ( ldbl_lpinfo lp,
ldbl_ILLlp_cache C,
long double *  x 
)

Definition at line 388 of file ldbl_lib.c.

References ldbl_ILLlib_solution().

Here is the call graph for this function:

int ldbl_ILLlib_getbasis ( ldbl_lpinfo lp,
char *  cstat,
char *  rstat 
)

Definition at line 3582 of file ldbl_lib.c.

References ldbl_lpinfo::basisid, ILL_CLEANUP, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_FREE, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, STAT_BASIC, STAT_LOWER, STAT_UPPER, STAT_ZERO, ldbl_ILLlpdata::structmap, and ldbl_lpinfo::vstat.

int ldbl_ILLlib_getbnd ( ldbl_lpinfo lp,
int  indx,
int  lu,
long double *  bnd 
)

Definition at line 608 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::lower, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

int ldbl_ILLlib_getbnds ( ldbl_lpinfo lp,
long double *  lower,
long double *  upper 
)

Definition at line 690 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::lower, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

int ldbl_ILLlib_getbnds_list ( ldbl_lpinfo lp,
int  num,
int *  collist,
long double *  lower,
long double *  upper 
)

Definition at line 652 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::lower, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

int ldbl_ILLlib_getcoef ( ldbl_lpinfo lp,
int  rowindex,
int  colindex,
long double *  coef 
)

Definition at line 1822 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ILL_CLEANUP, ldbl_matrix_getcoef(), ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_getcols ( ldbl_lpinfo lp,
int  num,
int *  collist,
int **  colcnt,
int **  colbeg,
int **  colind,
long double **  colval,
long double **  obj,
long double **  lower,
long double **  upper,
char ***  names 
)

Definition at line 2910 of file ldbl_lib.c.

References ldbl_ILLlpdata::A, ldbl_ILLlpdata::colnames, ILL_CLEANUP, ILL_SAFE_MALLOC, ldbl_ILLlpdata::lower, ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matval, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

int ldbl_ILLlib_getintflags ( ldbl_lpinfo lp,
int *  intflags 
)

Definition at line 3384 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::intmarker, ldbl_ILLlpdata::nstruct, and ldbl_lpinfo::O.

int ldbl_ILLlib_getobj ( ldbl_lpinfo lp,
long double *  obj 
)

Definition at line 3151 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, and ldbl_ILLlpdata::structmap.

int ldbl_ILLlib_getobj_list ( ldbl_lpinfo lp,
int  num,
int *  collist,
long double *  obj 
)

Definition at line 3111 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::obj, and ldbl_ILLlpdata::structmap.

int ldbl_ILLlib_getrhs ( ldbl_lpinfo lp,
long double *  rhs 
)

Definition at line 3216 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, and ldbl_ILLlpdata::rhs.

int ldbl_ILLlib_getrownorms ( ldbl_lpinfo lp,
ldbl_price_info pinf,
long double *  rownorms 
)

Definition at line 4057 of file ldbl_lib.c.

References ldbl_price_info::dsinfo, ILL_CLEANUP, ldbl_check_pinf(), ldbl_d_steep_info::norms, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, STAT_BASIC, ldbl_ILLlpdata::structmap, ldbl_lpinfo::vindex, and ldbl_lpinfo::vstat.

Here is the call graph for this function:

int ldbl_ILLlib_getrows ( ldbl_lpinfo lp,
int  num,
int *  rowlist,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
long double **  rowval,
long double **  rhs,
char **  sense,
long double **  range,
char ***  names 
)

Definition at line 2700 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_SAFE_MALLOC, ldbl_ILLlp_rows_init(), ldbl_lpinfo::O, ldbl_ILLlpdata::rangeval, ldbl_ILLlpdata::rhs, ldbl_ILLlp_rows::rowbeg, ldbl_ILLlp_rows::rowcnt, ldbl_ILLlp_rows::rowind, and ldbl_ILLlp_rows::rowval.

Here is the call graph for this function:

int ldbl_ILLlib_getsenses ( ldbl_lpinfo lp,
char *  senses 
)

Definition at line 1975 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, and ldbl_ILLlpdata::sense.

int ldbl_ILLlib_iter ( ldbl_lpinfo lp  ) 

Definition at line 4138 of file ldbl_lib.c.

References ldbl_lpinfo::cnts, ldbl_count_struct::dI_iter, ldbl_count_struct::dII_iter, ldbl_count_struct::pI_iter, and ldbl_count_struct::pII_iter.

int ldbl_ILLlib_loadbasis ( ldbl_ILLlp_basis B,
int  nstruct,
int  nrows,
char *  cstat,
char *  rstat 
)

Definition at line 3679 of file ldbl_lib.c.

References ldbl_ILLlp_basis::cstat, ldbl_ILLlp_basis_alloc(), ldbl_ILLlp_basis_init(), and ldbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int ldbl_ILLlib_loadrownorms ( ldbl_lpinfo lp,
ldbl_price_info pinf,
long double *  rownorms 
)

Definition at line 4109 of file ldbl_lib.c.

References ldbl_ILLprice_load_rownorms().

Here is the call graph for this function:

int ldbl_ILLlib_newcol ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
const long double  obj,
const long double  lower,
const long double  upper,
const char *  name,
int  factorok 
)

Definition at line 2002 of file ldbl_lib.c.

References ldbl_ILLlib_addcol().

Here is the call graph for this function:

int ldbl_ILLlib_newcols ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  num,
long double *  obj,
long double *  lower,
long double *  upper,
const char **  names,
int  factorok 
)

Definition at line 2021 of file ldbl_lib.c.

References ILL_IFFREE, ILL_SAFE_MALLOC, and ldbl_ILLlib_addcols().

Here is the call graph for this function:

int ldbl_ILLlib_newrow ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
const long double  rhs,
int  sense,
const long double  range,
const char *  name 
)

Definition at line 884 of file ldbl_lib.c.

References ldbl_ILLlib_addrow().

Here is the call graph for this function:

int ldbl_ILLlib_newrows ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
int  num,
const long double *  rhs,
char *  sense,
const long double *  range,
const char **  names 
)

Definition at line 902 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, and ldbl_ILLlib_addrows().

Here is the call graph for this function:

int ldbl_ILLlib_objval ( ldbl_lpinfo lp,
ldbl_ILLlp_cache C,
long double *  val 
)

Definition at line 419 of file ldbl_lib.c.

References ldbl_lpinfo::basisstat, ldbl_lpinfo::dobjval, ldbl_ILLlib_solution(), and ldbl_lp_status_info::optimal.

Here is the call graph for this function:

int ldbl_ILLlib_optimize ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
ldbl_price_info pinf,
int  algo,
int *  status,
int  simplex_display,
itcnt_t itcnt 
)

Definition at line 170 of file ldbl_lib.c.

References __QS_SB_VERB, E_SIMPLEX_ERROR, ldbl_ILLlib_writebasis(), ldbl_ILLsimplex(), ldbl_ILLwrite_lp(), NULL, ldbl_lpinfo::O, QS_LP_CHANGE_PREC, and QS_LP_UNSOLVED.

Here is the call graph for this function:

int ldbl_ILLlib_print_x ( EGioFile_t *  fd,
ldbl_lpinfo lp,
ldbl_ILLlp_cache C,
long double *  x,
int  nonZerosOnly 
)

Definition at line 4155 of file ldbl_lib.c.

References ldbl_ILLlpdata::colnames, ILL_FAILfalse, ldbl_ILLlib_get_x(), ldbl_PRINT_TOL, ldbl_lpinfo::ncols, ldbl_ILLlpdata::nstruct, NULL, ldbl_lpinfo::O, and strtmp.

Here is the call graph for this function:

int ldbl_ILLlib_readbasis ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
const char *  ldbl_fname 
)

Definition at line 3719 of file ldbl_lib.c.

References ldbl_ILLlp_basis::cstat, ILL_CLEANUP, ILL_MPS_ENDATA, ILL_MPS_NAME, ILL_SAFE_MALLOC, ldbl_ILL_MAXDOUBLE, ldbl_ILL_MINDOUBLE, ldbl_ILLlib_colindex(), ldbl_ILLlib_rowindex(), ldbl_ILLline_reader_new(), ldbl_ILLlp_basis_init(), ldbl_ILLmps_empty_field(), ldbl_ILLmps_empty_key(), ldbl_ILLmps_error(), ldbl_ILLmps_next_field(), ldbl_ILLmps_next_line(), ldbl_ILLmps_section_name, ldbl_ILLmps_state_init(), ldbl_ILLmps_warn(), ldbl_ILLutil_index(), ldbl_READ_BASIS_LL, ldbl_READ_BASIS_UL, ldbl_READ_BASIS_XL, ldbl_READ_BASIS_XU, ldbl_ILLlpdata::lower, ldbl_ILLlp_basis::nrows, ldbl_ILLlpdata::nrows, ldbl_ILLlp_basis::nstruct, ldbl_ILLlpdata::nstruct, NULL, ldbl_lpinfo::O, ldbl_ILLlpdata::probname, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_FREE, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, QS_ROW_BSTAT_BASIC, QS_ROW_BSTAT_LOWER, QS_ROW_BSTAT_UPPER, ldbl_ILLlp_basis::rstat, ldbl_ILLlpdata::structmap, and ldbl_ILLlpdata::upper.

Here is the call graph for this function:

int ldbl_ILLlib_recompute_rownorms ( ldbl_lpinfo lp,
ldbl_price_info pinf 
)

Definition at line 4124 of file ldbl_lib.c.

References DUAL_PHASEII, and ldbl_ILLprice_build_pricing_info().

Here is the call graph for this function:

int ldbl_ILLlib_rowindex ( ldbl_lpinfo lp,
const char *  name,
int *  rowindex 
)

Definition at line 3552 of file ldbl_lib.c.

References ILL_CLEANUP, ILLsymboltab_getindex(), ldbl_reset_rowindex(), ldbl_lpinfo::O, and ldbl_ILLlpdata::rowtab.

Here is the call graph for this function:

int ldbl_ILLlib_rownames ( ldbl_lpinfo lp,
char **  rownames 
)

Definition at line 3332 of file ldbl_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, and ldbl_ILLlpdata::rownames.

int ldbl_ILLlib_solution ( ldbl_lpinfo lp,
ldbl_ILLlp_cache C,
long double *  val,
long double *  x,
long double *  pi,
long double *  slack,
long double *  rc 
)

Definition at line 265 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILL_MAX, ldbl_ILLsimplex_solution(), ldbl_ILLlpdata::ncols, ldbl_ILLlp_cache::nrows, ldbl_ILLlpdata::nrows, ldbl_ILLlp_cache::nstruct, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::objsense, ldbl_ILLlp_cache::pi, ldbl_ILLlp_cache::rc, ldbl_ILLlpdata::rowmap, ldbl_ILLlp_cache::slack, ldbl_ILLlpdata::structmap, ldbl_ILLlp_cache::val, and ldbl_ILLlp_cache::x.

Here is the call graph for this function:

int ldbl_ILLlib_strongbranch ( ldbl_lpinfo lp,
ldbl_price_info pinf,
int *  candidatelist,
int  ncand,
long double *  xlist,
long double *  downpen,
long double *  uppen,
int  iterations,
long double  objbound,
itcnt_t itcnt 
)

Definition at line 724 of file ldbl_lib.c.

References ldbl_lpinfo::basisid, ldbl_ILLlp_basis::cstat, ldbl_price_info::dI_price, ldbl_price_info::dII_price, ldbl_lpinfo::dobjval, DUAL_SIMPLEX, ldbl_price_info::htrigger, ldbl_check_pinf(), ldbl_ILL_MAX, ldbl_ILLlib_chgbnd(), ldbl_ILLlib_get_x(), ldbl_ILLlib_getbasis(), ldbl_ILLlib_getbnd(), ldbl_ILLlib_getrownorms(), ldbl_ILLlib_optimize(), ldbl_ILLlp_basis_alloc(), ldbl_ILLlp_basis_free(), ldbl_ILLlp_basis_init(), ldbl_ILLprice_free_pricing_info(), ldbl_ILLprice_init_pricing_info(), ldbl_lpinfo::maxiter, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::objsense, QS_PRICE_DSTEEP, ldbl_ILLlp_basis::rownorms, ldbl_ILLlp_basis::rstat, and t.

Here is the call graph for this function:

int ldbl_ILLlib_tableau ( ldbl_lpinfo lp,
int  row,
long double *  binv,
long double *  tabrow 
)

Definition at line 441 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLbasis_tableau_row(), ldbl_ILLlpdata::ncols, ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::rowmap, and ldbl_ILLlpdata::structmap.

Here is the call graph for this function:

int ldbl_ILLlib_writebasis ( ldbl_lpinfo lp,
ldbl_ILLlp_basis B,
const char *  ldbl_fname 
)

Definition at line 3941 of file ldbl_lib.c.

References ldbl_lpinfo::basisid, ldbl_ILLlpdata::colnames, ldbl_ILLlp_basis::cstat, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, ldbl_ILLlib_getbasis(), ldbl_ILLlpdata::nrows, ldbl_ILLlpdata::nstruct, ldbl_lpinfo::O, ldbl_ILLlpdata::probname, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_UPPER, QS_ROW_BSTAT_BASIC, QS_ROW_BSTAT_LOWER, ldbl_ILLlpdata::rownames, and ldbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int ldbl_ILLwrite_lp_file ( ldbl_ILLlpdata lp,
EGioFile_t *  out,
ldbl_qserror_collector c 
)

Definition at line 4244 of file ldbl_lib.c.

References ILLstring_reporter_copy(), ILLstring_reporter_init(), ldbl_ILLwrite_lp(), and ldbl_ILLlpdata::reporter.

Referenced by ldbl_ILLbasis_get_cinitial(), ldbl_ILLbasis_get_initial(), and ldbl_ILLbasis_update().

Here is the call graph for this function:

static int ldbl_matrix_addcoef ( ldbl_lpinfo lp,
ldbl_ILLmatrix A,
int  row,
int  col,
long double  val 
)

Definition at line 2521 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_matrix_addrow_end(), ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matcols, ldbl_ILLmatrix::matfree, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matrows, ldbl_ILLmatrix::matsize, ldbl_ILLmatrix::matval, ldbl_ILLlpdata::nzcount, and ldbl_lpinfo::O.

Referenced by ldbl_ILLlib_chgcoef().

Here is the call graph for this function:

static int ldbl_matrix_addcol ( ldbl_ILLmatrix A,
int  colcnt,
int *  colind,
long double *  colval 
)

Definition at line 2619 of file ldbl_lib.c.

References ILL_CLEANUP, and ldbl_ILLmatrix::matrows.

Referenced by ldbl_ILLlib_addcol().

static int ldbl_matrix_addrow ( ldbl_ILLmatrix A,
int  rowcnt,
int *  rowind,
const long double *  rowval 
) [static]

Definition at line 2332 of file ldbl_lib.c.

References ILL_CLEANUP, and ldbl_ILLmatrix::matcols.

static int ldbl_matrix_addrow_end ( ldbl_ILLmatrix A,
int  row,
int  rowcnt,
int *  rowind,
const long double *  rowval 
)

Definition at line 2427 of file ldbl_lib.c.

References ILL_SAFE_MALLOC, ldbl_EXTRA_MAT, ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matcols, ldbl_ILLmatrix::matcolsize, ldbl_ILLmatrix::matfree, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matsize, and ldbl_ILLmatrix::matval.

Referenced by ldbl_matrix_addcoef().

static int ldbl_matrix_getcoef ( ldbl_ILLmatrix A,
int  row,
int  col,
long double *  val 
) [static]

Definition at line 1700 of file ldbl_lib.c.

References ILL_CLEANUP, ldbl_ILLmatrix::matbeg, ldbl_ILLmatrix::matcnt, ldbl_ILLmatrix::matcols, ldbl_ILLmatrix::matind, ldbl_ILLmatrix::matrows, and ldbl_ILLmatrix::matval.

Referenced by ldbl_ILLlib_getcoef().

static int ldbl_reset_colindex ( ldbl_lpinfo lp  ) 

Definition at line 3482 of file ldbl_lib.c.

References ldbl_ILLlpdata::colnames, ldbl_ILLlpdata::coltab, ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), ldbl_ILLlpdata::nstruct, and ldbl_lpinfo::O.

Referenced by ldbl_ILLlib_colindex().

Here is the call graph for this function:

static int ldbl_reset_rowindex ( ldbl_lpinfo lp  ) 

Definition at line 3502 of file ldbl_lib.c.

References ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), ldbl_ILLlpdata::nrows, ldbl_lpinfo::O, ldbl_ILLlpdata::rownames, and ldbl_ILLlpdata::rowtab.

Referenced by ldbl_ILLlib_rowindex().

Here is the call graph for this function:


Generated on Thu Mar 29 09:39:56 2012 for QSopt_ex by  doxygen 1.4.7