dbl_lib.c File Reference

#include "econfig.h"
#include "dbl_iqsutil.h"
#include "dbl_lpdata.h"
#include "dbl_lpdefs.h"
#include "dbl_simplex.h"
#include "dbl_price.h"
#include "dbl_basis.h"
#include "dbl_lib.h"
#include "dbl_qstruct.h"
#include "dbl_qsopt.h"
#include "dbl_lp.h"
#include "dbl_mps.h"

Include dependency graph for dbl_lib.c:

Go to the source code of this file.

Defines

#define dbl_EXTRA_COLS   (100)
#define dbl_EXTRA_MAT   (1000)
#define dbl_EXTRA_ROWS   (100)
#define dbl_PRINT_TOL   dbl_PFEAS_TOLER
#define dbl_READ_BASIS_LL   2
#define dbl_READ_BASIS_UL   3
#define dbl_READ_BASIS_XL   0
#define dbl_READ_BASIS_XU   1

Functions

static void dbl_check_pinf (dbl_price_info *pinf, int *it_exists)
static int dbl_delcols_work (dbl_lpinfo *lp, char *colmark)
int dbl_ILLlib_addcol (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int cnt, int *ind, double *val, double obj, double lower, double upper, const char *name, int factorok)
int dbl_ILLlib_addcols (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int num, int *cmatcnt, int *cmatbeg, int *cmatind, double *cmatval, double *obj, double *lower, double *upper, const char **names, int factorok)
int dbl_ILLlib_addrow (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int cnt, int *ind, double *val, double rhs, int sense, double range, const char *name)
int dbl_ILLlib_addrows (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int num, int *rmatcnt, int *rmatbeg, int *rmatind, double *rmatval, double *rhs, char *sense, double *range, const char **names, int *factorok)
int dbl_ILLlib_basis_order (dbl_lpinfo *lp, int *header)
int dbl_ILLlib_cache_solution (dbl_lpinfo *lp, dbl_ILLlp_cache *C)
int dbl_ILLlib_chgbnd (dbl_lpinfo *lp, int indx, int lu, double bnd)
int dbl_ILLlib_chgbnds (dbl_lpinfo *lp, int cnt, int *indx, char *lu, double *bnd)
int dbl_ILLlib_chgcoef (dbl_lpinfo *lp, int rowindex, int colindex, double coef)
int dbl_ILLlib_chgobj (dbl_lpinfo *lp, int indx, double coef)
int dbl_ILLlib_chgrange (dbl_lpinfo *lp, int indx, double coef)
int dbl_ILLlib_chgrhs (dbl_lpinfo *lp, int indx, double coef)
int dbl_ILLlib_chgsense (dbl_lpinfo *lp, int num, int *rowlist, char *sense)
int dbl_ILLlib_colindex (dbl_lpinfo *lp, const char *name, int *colindex)
int dbl_ILLlib_colnames (dbl_lpinfo *lp, char **colnames)
int dbl_ILLlib_delcols (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int num, int *dellist, int *basis_ok)
int dbl_ILLlib_delrows (dbl_lpinfo *lp, dbl_ILLlp_basis *B, dbl_ILLlp_cache *C, int num, int *dellist, int *basis_ok, int *cache_ok)
int dbl_ILLlib_findName (dbl_ILLlpdata *qslp, int forRow, const char *name, int id, char buf[ILL_namebufsize])
int dbl_ILLlib_get_slack (dbl_lpinfo *lp, dbl_ILLlp_cache *C, double *slack)
int dbl_ILLlib_get_x (dbl_lpinfo *lp, dbl_ILLlp_cache *C, double *x)
int dbl_ILLlib_getbasis (dbl_lpinfo *lp, char *cstat, char *rstat)
int dbl_ILLlib_getbnd (dbl_lpinfo *lp, int indx, int lu, double *bnd)
int dbl_ILLlib_getbnds (dbl_lpinfo *lp, double *lower, double *upper)
int dbl_ILLlib_getbnds_list (dbl_lpinfo *lp, int num, int *collist, double *lower, double *upper)
int dbl_ILLlib_getcoef (dbl_lpinfo *lp, int rowindex, int colindex, double *coef)
int dbl_ILLlib_getcols (dbl_lpinfo *lp, int num, int *collist, int **colcnt, int **colbeg, int **colind, double **colval, double **obj, double **lower, double **upper, char ***names)
int dbl_ILLlib_getintflags (dbl_lpinfo *lp, int *intflags)
int dbl_ILLlib_getobj (dbl_lpinfo *lp, double *obj)
int dbl_ILLlib_getobj_list (dbl_lpinfo *lp, int num, int *collist, double *obj)
int dbl_ILLlib_getrhs (dbl_lpinfo *lp, double *rhs)
int dbl_ILLlib_getrownorms (dbl_lpinfo *lp, dbl_price_info *pinf, double *rownorms)
int dbl_ILLlib_getrows (dbl_lpinfo *lp, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, double **rowval, double **rhs, char **sense, double **range, char ***names)
int dbl_ILLlib_getsenses (dbl_lpinfo *lp, char *senses)
int dbl_ILLlib_iter (dbl_lpinfo *lp)
int dbl_ILLlib_loadbasis (dbl_ILLlp_basis *B, int nstruct, int nrows, char *cstat, char *rstat)
int dbl_ILLlib_loadrownorms (dbl_lpinfo *lp, dbl_price_info *pinf, double *rownorms)
int dbl_ILLlib_newcol (dbl_lpinfo *lp, dbl_ILLlp_basis *B, double obj, double lower, double upper, const char *name, int factorok)
int dbl_ILLlib_newcols (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int num, double *obj, double *lower, double *upper, const char **names, int factorok)
int dbl_ILLlib_newrow (dbl_lpinfo *lp, dbl_ILLlp_basis *B, double rhs, int sense, double range, const char *name)
int dbl_ILLlib_newrows (dbl_lpinfo *lp, dbl_ILLlp_basis *B, int num, double *rhs, char *sense, double *range, const char **names)
int dbl_ILLlib_objval (dbl_lpinfo *lp, dbl_ILLlp_cache *C, double *val)
int dbl_ILLlib_optimize (dbl_lpinfo *lp, dbl_ILLlp_basis *B, dbl_price_info *pinf, int algo, int *status, int simplex_display, itcnt_t *itcnt)
int dbl_ILLlib_print_x (FILE *fd, dbl_lpinfo *lp, dbl_ILLlp_cache *C, double *x, int nonZerosOnly)
int dbl_ILLlib_readbasis (dbl_lpinfo *lp, dbl_ILLlp_basis *B, const char *dbl_fname)
int dbl_ILLlib_recompute_rownorms (dbl_lpinfo *lp, dbl_price_info *pinf)
int dbl_ILLlib_rowindex (dbl_lpinfo *lp, const char *name, int *rowindex)
int dbl_ILLlib_rownames (dbl_lpinfo *lp, char **rownames)
int dbl_ILLlib_solution (dbl_lpinfo *lp, dbl_ILLlp_cache *C, double *val, double *x, double *pi, double *slack, double *rc)
int dbl_ILLlib_strongbranch (dbl_lpinfo *lp, dbl_price_info *pinf, int *candidatelist, int ncand, double *xlist, double *downpen, double *uppen, int iterations, double objbound, itcnt_t *itcnt)
int dbl_ILLlib_tableau (dbl_lpinfo *lp, int row, double *binv, double *tabrow)
int dbl_ILLlib_writebasis (dbl_lpinfo *lp, dbl_ILLlp_basis *B, const char *dbl_fname)
int dbl_ILLwrite_lp_file (dbl_ILLlpdata *lp, FILE *out, dbl_qserror_collector *c)
static int dbl_matrix_addcoef (dbl_lpinfo *lp, dbl_ILLmatrix *A, int row, int col, double val)
static int dbl_matrix_addcol (dbl_ILLmatrix *A, int colcnt, int *colind, double *colval)
static int dbl_matrix_addrow (dbl_ILLmatrix *A, int rowcnt, int *rowind, double *rowval)
static int dbl_matrix_addrow_end (dbl_ILLmatrix *A, int row, int rowcnt, int *rowind, double *rowval)
static int dbl_matrix_getcoef (dbl_ILLmatrix *A, int row, int col, double *val)
static int dbl_reset_colindex (dbl_lpinfo *lp)
static int dbl_reset_rowindex (dbl_lpinfo *lp)


Define Documentation

#define dbl_EXTRA_COLS   (100)

Definition at line 873 of file dbl_lib.c.

Referenced by dbl_ILLlib_addcol().

#define dbl_EXTRA_MAT   (1000)

Definition at line 874 of file dbl_lib.c.

Referenced by dbl_matrix_addrow_end().

#define dbl_EXTRA_ROWS   (100)

Definition at line 872 of file dbl_lib.c.

Referenced by dbl_ILLlib_addrow().

#define dbl_PRINT_TOL   dbl_PFEAS_TOLER

Definition at line 4145 of file dbl_lib.c.

Referenced by dbl_ILLlib_print_x().

#define dbl_READ_BASIS_LL   2

Definition at line 3708 of file dbl_lib.c.

Referenced by dbl_ILLlib_readbasis().

#define dbl_READ_BASIS_UL   3

Definition at line 3709 of file dbl_lib.c.

Referenced by dbl_ILLlib_readbasis().

#define dbl_READ_BASIS_XL   0

Definition at line 3706 of file dbl_lib.c.

Referenced by dbl_ILLlib_readbasis().

#define dbl_READ_BASIS_XU   1

Definition at line 3707 of file dbl_lib.c.

Referenced by dbl_ILLlib_readbasis().


Function Documentation

static void dbl_check_pinf ( dbl_price_info pinf,
int *  it_exists 
) [static]

Definition at line 4251 of file dbl_lib.c.

References dbl_price_info::dI_price, dbl_price_info::dII_price, dbl_price_info::dsinfo, dbl_d_steep_info::norms, and QS_PRICE_DSTEEP.

Referenced by dbl_ILLlib_getrownorms(), and dbl_ILLlib_strongbranch().

static int dbl_delcols_work ( dbl_lpinfo lp,
char *  colmark 
)

Definition at line 1730 of file dbl_lib.c.

References dbl_ILLlpdata::A, CHECKRVALG, dbl_ILLlpdata::colnames, dbl_ILLlpdata::coltab, dbl_EGlpNumCopy, EG_RETURN, ILL_IFFREE, ILL_SAFE_MALLOC, ILLsymboltab_delete(), dbl_ILLlpdata::intmarker, dbl_ILLlpdata::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matind, dbl_ILLmatrix::matrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::obj, dbl_ILLlpdata::rowmap, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

Here is the call graph for this function:

int dbl_ILLlib_addcol ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  cnt,
int *  ind,
double *  val,
double  obj,
double  lower,
double  upper,
const char *  name,
int  factorok 
)

Definition at line 2090 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_lpinfo::basisid, CHECKRVALG, dbl_ILLlpdata::colnames, dbl_ILLlp_basis::colnorms, dbl_ILLlpdata::colsize, dbl_ILLlpdata::coltab, dbl_ILLlp_basis::cstat, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumCopyAbs, dbl_EGlpNumFreeArray, dbl_EGlpNumInitVar, dbl_EGlpNumIsEqual, dbl_EGlpNumIsLess, dbl_EGlpNumReallocArray, dbl_EXTRA_COLS, dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILL_UTIL_STR, dbl_ILLlib_findName(), dbl_ILLlp_rows_clear(), dbl_ILLlp_sinfo_free(), dbl_matrix_addcol(), dbl_oneLpNum, EG_RETURN, EGrealloc, ILL_CLEANUP, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_namebufsize, ILLsymboltab_register(), dbl_ILLlpdata::intmarker, dbl_ILLlpdata::lower, dbl_lpinfo::nbaz, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nstruct, NULL, dbl_ILLlpdata::nzcount, dbl_lpinfo::O, dbl_ILLlpdata::obj, QS_COL_BSTAT_FREE, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, dbl_ILLlpdata::rA, dbl_ILLlpdata::sinfo, STAT_LOWER, STAT_UPPER, STAT_ZERO, dbl_ILLlpdata::structmap, dbl_ILLlpdata::structsize, dbl_ILLlpdata::upper, dbl_lpinfo::vindex, and dbl_lpinfo::vstat.

Here is the call graph for this function:

int dbl_ILLlib_addcols ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  num,
int *  cmatcnt,
int *  cmatbeg,
int *  cmatind,
double *  cmatval,
double *  obj,
double *  lower,
double *  upper,
const char **  names,
int  factorok 
)

Definition at line 2051 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_addcol(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_addrow ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  cnt,
int *  ind,
double *  val,
double  rhs,
int  sense,
double  range,
const char *  name 
)

Definition at line 1137 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_EGlpNumAllocArray, dbl_EGlpNumInitVar, dbl_EGlpNumReallocArray, dbl_EGlpNumZero, dbl_EXTRA_ROWS, dbl_ILLlp_rows_clear(), dbl_ILLlp_sinfo_free(), EGrealloc, ILL_CLEANUP, ILL_IFFREE, ILL_namebufsize, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_lpinfo::O, dbl_ILLlpdata::rA, dbl_ILLlpdata::rangeval, dbl_ILLlpdata::rhs, dbl_ILLlpdata::rowmap, dbl_ILLlpdata::rownames, dbl_ILLlpdata::rowsize, dbl_ILLlpdata::sense, and dbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int dbl_ILLlib_addrows ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  num,
int *  rmatcnt,
int *  rmatbeg,
int *  rmatind,
double *  rmatval,
double *  rhs,
char *  sense,
double *  range,
const char **  names,
int *  factorok 
)

Definition at line 933 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_lpinfo::baz, CHECKRVALG, dbl_ILLlp_basis::colnorms, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_EGlpNumFreeArray, dbl_EGlpNumInitVar, dbl_EGlpNumReallocArray, dbl_ILLprice_get_new_rownorms(), ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLmatrix::matbeg, dbl_lpinfo::matbeg, dbl_ILLmatrix::matcnt, dbl_lpinfo::matcnt, dbl_ILLmatrix::matind, dbl_lpinfo::matind, dbl_ILLmatrix::matval, dbl_lpinfo::matval, dbl_ILLlpdata::ncols, dbl_lpinfo::ncols, dbl_ILLlpdata::nrows, dbl_lpinfo::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlp_basis::rownorms, dbl_ILLlp_basis::rownorms_size, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_basis_order ( dbl_lpinfo lp,
int *  header 
)

Definition at line 489 of file dbl_lib.c.

References dbl_lpinfo::baz, EG_RETURN, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::rowmap, and dbl_ILLlpdata::structmap.

int dbl_ILLlib_cache_solution ( dbl_lpinfo lp,
dbl_ILLlp_cache C 
)

Definition at line 234 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_solution(), EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nrows, dbl_ILLlp_cache::nrows, dbl_ILLlpdata::nstruct, dbl_ILLlp_cache::nstruct, dbl_lpinfo::O, dbl_ILLlp_cache::pi, dbl_ILLlp_cache::rc, dbl_ILLlp_cache::slack, dbl_ILLlp_cache::val, and dbl_ILLlp_cache::x.

Here is the call graph for this function:

int dbl_ILLlib_chgbnd ( dbl_lpinfo lp,
int  indx,
int  lu,
double  bnd 
)

Definition at line 524 of file dbl_lib.c.

References dbl_EGlpNumCopy, dbl_ILLlp_sinfo_free(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, dbl_ILLlpdata::lower, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::sinfo, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

Here is the call graph for this function:

int dbl_ILLlib_chgbnds ( dbl_lpinfo lp,
int  cnt,
int *  indx,
char *  lu,
double *  bnd 
)

Definition at line 578 of file dbl_lib.c.

References dbl_ILLlib_chgbnd(), EG_RETURN, and ILL_CLEANUP.

Here is the call graph for this function:

int dbl_ILLlib_chgcoef ( dbl_lpinfo lp,
int  rowindex,
int  colindex,
double  coef 
)

Definition at line 1852 of file dbl_lib.c.

References dbl_ILLlpdata::A, CHECKRVALG, dbl_ILLlp_rows_clear(), dbl_ILLlp_sinfo_free(), dbl_matrix_addcoef(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::rA, dbl_ILLlpdata::sinfo, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_chgobj ( dbl_lpinfo lp,
int  indx,
double  coef 
)

Definition at line 3172 of file dbl_lib.c.

References dbl_EGlpNumCopy, dbl_ILLlp_sinfo_free(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::obj, dbl_ILLlpdata::sinfo, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_chgrange ( dbl_lpinfo lp,
int  indx,
double  coef 
)

Definition at line 3236 of file dbl_lib.c.

References dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_EGlpNumZero, dbl_ILLlp_sinfo_free(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, dbl_ILLlpdata::nrows, dbl_lpinfo::O, dbl_ILLlpdata::rangeval, dbl_ILLlpdata::rowsize, dbl_ILLlpdata::sense, and dbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int dbl_ILLlib_chgrhs ( dbl_lpinfo lp,
int  indx,
double  coef 
)

Definition at line 3290 of file dbl_lib.c.

References dbl_EGlpNumCopy, dbl_ILLlp_sinfo_free(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, dbl_ILLlpdata::nrows, dbl_lpinfo::O, dbl_ILLlpdata::rhs, and dbl_ILLlpdata::sinfo.

Here is the call graph for this function:

int dbl_ILLlib_chgsense ( dbl_lpinfo lp,
int  num,
int *  rowlist,
char *  sense 
)

Definition at line 1905 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_EGlpNumCopy, dbl_EGlpNumOne, dbl_EGlpNumSign, dbl_EGlpNumZero, dbl_ILL_MAXDOUBLE, ILL_CLEANUP, dbl_ILLlpdata::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matval, dbl_lpinfo::O, dbl_ILLlpdata::rowmap, dbl_ILLlpdata::sense, and dbl_ILLlpdata::upper.

int dbl_ILLlib_colindex ( dbl_lpinfo lp,
const char *  name,
int *  colindex 
)

Definition at line 3514 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlpdata::coltab, dbl_reset_colindex(), EG_RETURN, ILL_CLEANUP, ILLsymboltab_getindex(), and dbl_lpinfo::O.

Here is the call graph for this function:

int dbl_ILLlib_colnames ( dbl_lpinfo lp,
char **  colnames 
)

Definition at line 3420 of file dbl_lib.c.

References dbl_ILLlpdata::colnames, EG_RETURN, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLlpdata::nstruct, and dbl_lpinfo::O.

int dbl_ILLlib_delcols ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  num,
int *  dellist,
int *  basis_ok 
)

Definition at line 1589 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_ILLlp_basis::colnorms, dbl_ILLlp_basis::cstat, dbl_EGlpNumFreeArray, dbl_ILLlp_rows_clear(), ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLmatrix::matcols, dbl_ILLlpdata::nstruct, dbl_ILLlp_basis::nstruct, dbl_lpinfo::O, QS_COL_BSTAT_BASIC, dbl_ILLlpdata::rA, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_delrows ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
dbl_ILLlp_cache C,
int  num,
int *  dellist,
int *  basis_ok,
int *  cache_ok 
)

Definition at line 1321 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_DFEAS_TOLER, dbl_EGlpNumIsLess, dbl_ILLlp_rows_clear(), ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matind, dbl_ILLmatrix::matrows, dbl_ILLmatrix::matval, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlp_cache::pi, QS_ROW_BSTAT_LOWER, QS_ROW_BSTAT_UPPER, dbl_ILLlpdata::rA, and dbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int dbl_ILLlib_findName ( dbl_ILLlpdata qslp,
int  forRow,
const char *  name,
int  id,
char  buf[ILL_namebufsize] 
)

Definition at line 4193 of file dbl_lib.c.

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

Here is the call graph for this function:

int dbl_ILLlib_get_slack ( dbl_lpinfo lp,
dbl_ILLlp_cache C,
double *  slack 
)

Definition at line 395 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_solution(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_get_x ( dbl_lpinfo lp,
dbl_ILLlp_cache C,
double *  x 
)

Definition at line 380 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_solution(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_getbasis ( dbl_lpinfo lp,
char *  cstat,
char *  rstat 
)

Definition at line 3574 of file dbl_lib.c.

References dbl_lpinfo::basisid, ILL_CLEANUP, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_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, dbl_ILLlpdata::structmap, and dbl_lpinfo::vstat.

int dbl_ILLlib_getbnd ( dbl_lpinfo lp,
int  indx,
int  lu,
double *  bnd 
)

Definition at line 600 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::lower, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

int dbl_ILLlib_getbnds ( dbl_lpinfo lp,
double *  lower,
double *  upper 
)

Definition at line 682 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::lower, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

int dbl_ILLlib_getbnds_list ( dbl_lpinfo lp,
int  num,
int *  collist,
double *  lower,
double *  upper 
)

Definition at line 644 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::lower, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

int dbl_ILLlib_getcoef ( dbl_lpinfo lp,
int  rowindex,
int  colindex,
double *  coef 
)

Definition at line 1814 of file dbl_lib.c.

References dbl_ILLlpdata::A, CHECKRVALG, dbl_matrix_getcoef(), EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_getcols ( dbl_lpinfo lp,
int  num,
int *  collist,
int **  colcnt,
int **  colbeg,
int **  colind,
double **  colval,
double **  obj,
double **  lower,
double **  upper,
char ***  names 
)

Definition at line 2902 of file dbl_lib.c.

References dbl_ILLlpdata::A, dbl_ILLlpdata::colnames, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, ILL_CLEANUP, ILL_SAFE_MALLOC, dbl_ILLlpdata::lower, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matind, dbl_ILLmatrix::matval, dbl_lpinfo::O, dbl_ILLlpdata::obj, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

int dbl_ILLlib_getintflags ( dbl_lpinfo lp,
int *  intflags 
)

Definition at line 3376 of file dbl_lib.c.

References ILL_CLEANUP, dbl_ILLlpdata::intmarker, dbl_ILLlpdata::nstruct, and dbl_lpinfo::O.

int dbl_ILLlib_getobj ( dbl_lpinfo lp,
double *  obj 
)

Definition at line 3143 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::obj, and dbl_ILLlpdata::structmap.

int dbl_ILLlib_getobj_list ( dbl_lpinfo lp,
int  num,
int *  collist,
double *  obj 
)

Definition at line 3103 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::obj, and dbl_ILLlpdata::structmap.

int dbl_ILLlib_getrhs ( dbl_lpinfo lp,
double *  rhs 
)

Definition at line 3208 of file dbl_lib.c.

References dbl_EGlpNumCopy, EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nrows, dbl_lpinfo::O, and dbl_ILLlpdata::rhs.

int dbl_ILLlib_getrownorms ( dbl_lpinfo lp,
dbl_price_info pinf,
double *  rownorms 
)

Definition at line 4049 of file dbl_lib.c.

References dbl_check_pinf(), dbl_EGlpNumCopy, dbl_price_info::dsinfo, ILL_CLEANUP, dbl_d_steep_info::norms, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, STAT_BASIC, dbl_ILLlpdata::structmap, dbl_lpinfo::vindex, and dbl_lpinfo::vstat.

Here is the call graph for this function:

int dbl_ILLlib_getrows ( dbl_lpinfo lp,
int  num,
int *  rowlist,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
double **  rowval,
double **  rhs,
char **  sense,
double **  range,
char ***  names 
)

Definition at line 2692 of file dbl_lib.c.

References CHECKRVALG, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_ILLlp_rows_init(), ILL_CLEANUP, ILL_SAFE_MALLOC, dbl_lpinfo::O, dbl_ILLlpdata::rangeval, dbl_ILLlpdata::rhs, dbl_ILLlp_rows::rowbeg, dbl_ILLlp_rows::rowcnt, dbl_ILLlp_rows::rowind, and dbl_ILLlp_rows::rowval.

Here is the call graph for this function:

int dbl_ILLlib_getsenses ( dbl_lpinfo lp,
char *  senses 
)

Definition at line 1967 of file dbl_lib.c.

References EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::nrows, dbl_lpinfo::O, and dbl_ILLlpdata::sense.

int dbl_ILLlib_iter ( dbl_lpinfo lp  ) 

Definition at line 4130 of file dbl_lib.c.

References dbl_lpinfo::cnts, dbl_count_struct::dI_iter, dbl_count_struct::dII_iter, dbl_count_struct::pI_iter, and dbl_count_struct::pII_iter.

int dbl_ILLlib_loadbasis ( dbl_ILLlp_basis B,
int  nstruct,
int  nrows,
char *  cstat,
char *  rstat 
)

Definition at line 3671 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlp_basis::cstat, dbl_ILLlp_basis_alloc(), dbl_ILLlp_basis_init(), EG_RETURN, and dbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int dbl_ILLlib_loadrownorms ( dbl_lpinfo lp,
dbl_price_info pinf,
double *  rownorms 
)

Definition at line 4101 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLprice_load_rownorms(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_newcol ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
double  obj,
double  lower,
double  upper,
const char *  name,
int  factorok 
)

Definition at line 1994 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_addcol(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_newcols ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  num,
double *  obj,
double *  lower,
double *  upper,
const char **  names,
int  factorok 
)

Definition at line 2013 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_addcols(), EG_RETURN, ILL_IFFREE, and ILL_SAFE_MALLOC.

Here is the call graph for this function:

int dbl_ILLlib_newrow ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
double  rhs,
int  sense,
double  range,
const char *  name 
)

Definition at line 876 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_addrow(), and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_newrows ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
int  num,
double *  rhs,
char *  sense,
double *  range,
const char **  names 
)

Definition at line 894 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlib_addrows(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, and ILL_SAFE_MALLOC.

Here is the call graph for this function:

int dbl_ILLlib_objval ( dbl_lpinfo lp,
dbl_ILLlp_cache C,
double *  val 
)

Definition at line 411 of file dbl_lib.c.

References dbl_lpinfo::basisstat, CHECKRVALG, dbl_EGlpNumCopy, dbl_ILLlib_solution(), dbl_lpinfo::dobjval, EG_RETURN, and dbl_lp_status_info::optimal.

Here is the call graph for this function:

int dbl_ILLlib_optimize ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
dbl_price_info pinf,
int  algo,
int *  status,
int  simplex_display,
itcnt_t itcnt 
)

Definition at line 170 of file dbl_lib.c.

References __QS_SB_VERB, CHECKRVALG, dbl_ILLlib_writebasis(), dbl_ILLsimplex(), dbl_ILLwrite_lp(), E_SIMPLEX_ERROR, EG_RETURN, MESSAGE, NULL, dbl_lpinfo::O, QS_LP_CHANGE_PREC, and QS_LP_UNSOLVED.

Here is the call graph for this function:

int dbl_ILLlib_print_x ( FILE *  fd,
dbl_lpinfo lp,
dbl_ILLlp_cache C,
double *  x,
int  nonZerosOnly 
)

Definition at line 4147 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlpdata::colnames, dbl_EGlpNumAllocArray, dbl_EGlpNumFreeArray, dbl_EGlpNumGetStr, dbl_EGlpNumIsNeqZero, dbl_ILLlib_get_x(), dbl_PRINT_TOL, EG_RETURN, EGfree, ILL_FAILfalse, dbl_lpinfo::ncols, dbl_ILLlpdata::nstruct, NULL, dbl_lpinfo::O, and strtmp.

Here is the call graph for this function:

int dbl_ILLlib_readbasis ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
const char *  dbl_fname 
)

Definition at line 3711 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlp_basis::cstat, dbl_EGlpNumIsEqqual, dbl_ILL_MAXDOUBLE, dbl_ILL_MINDOUBLE, dbl_ILL_UTIL_STR, dbl_ILLlib_colindex(), dbl_ILLlib_rowindex(), dbl_ILLline_reader_new(), dbl_ILLlp_basis_init(), dbl_ILLmps_empty_field(), dbl_ILLmps_empty_key(), dbl_ILLmps_error(), dbl_ILLmps_next_field(), dbl_ILLmps_next_line(), dbl_ILLmps_section_name, dbl_ILLmps_state_init(), dbl_ILLmps_warn(), dbl_ILLutil_index(), dbl_READ_BASIS_LL, dbl_READ_BASIS_UL, dbl_READ_BASIS_XL, dbl_READ_BASIS_XU, ILL_CLEANUP, ILL_MPS_ENDATA, ILL_MPS_NAME, ILL_SAFE_MALLOC, dbl_ILLlpdata::lower, dbl_ILLlp_basis::nrows, dbl_ILLlpdata::nrows, dbl_ILLlp_basis::nstruct, dbl_ILLlpdata::nstruct, NULL, dbl_lpinfo::O, dbl_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, dbl_ILLlp_basis::rstat, dbl_ILLlpdata::structmap, and dbl_ILLlpdata::upper.

Here is the call graph for this function:

int dbl_ILLlib_recompute_rownorms ( dbl_lpinfo lp,
dbl_price_info pinf 
)

Definition at line 4116 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLprice_build_pricing_info(), DUAL_PHASEII, and EG_RETURN.

Here is the call graph for this function:

int dbl_ILLlib_rowindex ( dbl_lpinfo lp,
const char *  name,
int *  rowindex 
)

Definition at line 3544 of file dbl_lib.c.

References CHECKRVALG, dbl_reset_rowindex(), EG_RETURN, ILL_CLEANUP, ILLsymboltab_getindex(), dbl_lpinfo::O, and dbl_ILLlpdata::rowtab.

Here is the call graph for this function:

int dbl_ILLlib_rownames ( dbl_lpinfo lp,
char **  rownames 
)

Definition at line 3324 of file dbl_lib.c.

References EG_RETURN, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLlpdata::nrows, dbl_lpinfo::O, and dbl_ILLlpdata::rownames.

int dbl_ILLlib_solution ( dbl_lpinfo lp,
dbl_ILLlp_cache C,
double *  val,
double *  x,
double *  pi,
double *  slack,
double *  rc 
)

Definition at line 257 of file dbl_lib.c.

References CHECKRVALG, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_EGlpNumSign, dbl_ILL_MAX, dbl_ILLsimplex_solution(), ILL_CLEANUP, dbl_ILLlpdata::ncols, dbl_ILLlp_cache::nrows, dbl_ILLlpdata::nrows, dbl_ILLlp_cache::nstruct, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::objsense, dbl_ILLlp_cache::pi, dbl_ILLlp_cache::rc, dbl_ILLlpdata::rowmap, dbl_ILLlp_cache::slack, dbl_ILLlpdata::structmap, dbl_ILLlp_cache::val, and dbl_ILLlp_cache::x.

Here is the call graph for this function:

int dbl_ILLlib_strongbranch ( dbl_lpinfo lp,
dbl_price_info pinf,
int *  candidatelist,
int  ncand,
double *  xlist,
double *  downpen,
double *  uppen,
int  iterations,
double  objbound,
itcnt_t itcnt 
)

Definition at line 716 of file dbl_lib.c.

References dbl_lpinfo::basisid, CHECKRVALG, dbl_ILLlp_basis::cstat, dbl_check_pinf(), dbl_EGlpNumAllocArray, dbl_EGlpNumCeil, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumFloor, dbl_EGlpNumFreeArray, dbl_EGlpNumInitVar, dbl_EGlpNumIsGreaDbl, dbl_EGlpNumIsLess, dbl_EGlpNumIsLessDbl, dbl_EGlpNumOne, dbl_EGlpNumZero, dbl_ILL_MAX, dbl_ILLlib_chgbnd(), dbl_ILLlib_get_x(), dbl_ILLlib_getbasis(), dbl_ILLlib_getbnd(), dbl_ILLlib_getrownorms(), dbl_ILLlib_optimize(), dbl_ILLlp_basis_alloc(), dbl_ILLlp_basis_free(), dbl_ILLlp_basis_init(), dbl_ILLprice_free_pricing_info(), dbl_ILLprice_init_pricing_info(), dbl_price_info::dI_price, dbl_price_info::dII_price, dbl_lpinfo::dobjval, DUAL_SIMPLEX, EG_RETURN, dbl_price_info::htrigger, dbl_lpinfo::maxiter, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::objsense, QS_PRICE_DSTEEP, dbl_ILLlp_basis::rownorms, dbl_ILLlp_basis::rstat, and t.

Here is the call graph for this function:

int dbl_ILLlib_tableau ( dbl_lpinfo lp,
int  row,
double *  binv,
double *  tabrow 
)

Definition at line 433 of file dbl_lib.c.

References CHECKRVALG, dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_EGlpNumFreeArray, dbl_ILLbasis_tableau_row(), EG_RETURN, ILL_CLEANUP, dbl_ILLlpdata::ncols, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::rowmap, and dbl_ILLlpdata::structmap.

Here is the call graph for this function:

int dbl_ILLlib_writebasis ( dbl_lpinfo lp,
dbl_ILLlp_basis B,
const char *  dbl_fname 
)

Definition at line 3933 of file dbl_lib.c.

References dbl_lpinfo::basisid, CHECKRVALG, dbl_ILLlpdata::colnames, dbl_ILLlp_basis::cstat, dbl_ILLlib_getbasis(), EG_RETURN, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, dbl_ILLlpdata::nrows, dbl_ILLlpdata::nstruct, dbl_lpinfo::O, dbl_ILLlpdata::probname, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_UPPER, QS_ROW_BSTAT_BASIC, QS_ROW_BSTAT_LOWER, dbl_ILLlpdata::rownames, and dbl_ILLlp_basis::rstat.

Here is the call graph for this function:

int dbl_ILLwrite_lp_file ( dbl_ILLlpdata lp,
FILE *  out,
dbl_qserror_collector c 
)

Definition at line 4236 of file dbl_lib.c.

References dbl_ILLwrite_lp(), ILLstring_reporter_copy(), ILLstring_reporter_init(), and dbl_ILLlpdata::reporter.

Here is the call graph for this function:

static int dbl_matrix_addcoef ( dbl_lpinfo lp,
dbl_ILLmatrix A,
int  row,
int  col,
double  val 
)

Definition at line 2513 of file dbl_lib.c.

References CHECKRVALG, dbl_EGlpNumClearVar, dbl_EGlpNumCopy, dbl_EGlpNumInitVar, dbl_matrix_addrow_end(), EG_RETURN, ILL_CLEANUP, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matfree, dbl_ILLmatrix::matind, dbl_ILLmatrix::matrows, dbl_ILLmatrix::matsize, dbl_ILLmatrix::matval, dbl_ILLlpdata::nzcount, and dbl_lpinfo::O.

Referenced by dbl_ILLlib_chgcoef().

Here is the call graph for this function:

static int dbl_matrix_addcol ( dbl_ILLmatrix A,
int  colcnt,
int *  colind,
double *  colval 
)

Definition at line 2611 of file dbl_lib.c.

References ILL_CLEANUP, and dbl_ILLmatrix::matrows.

Referenced by dbl_ILLlib_addcol().

static int dbl_matrix_addrow ( dbl_ILLmatrix A,
int  rowcnt,
int *  rowind,
double *  rowval 
) [static]

Definition at line 2324 of file dbl_lib.c.

References ILL_CLEANUP, and dbl_ILLmatrix::matcols.

static int dbl_matrix_addrow_end ( dbl_ILLmatrix A,
int  row,
int  rowcnt,
int *  rowind,
double *  rowval 
)

Definition at line 2419 of file dbl_lib.c.

References dbl_EGlpNumAllocArray, dbl_EGlpNumCopy, dbl_EXTRA_MAT, ILL_SAFE_MALLOC, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matcolsize, dbl_ILLmatrix::matfree, dbl_ILLmatrix::matind, dbl_ILLmatrix::matsize, and dbl_ILLmatrix::matval.

Referenced by dbl_matrix_addcoef().

static int dbl_matrix_getcoef ( dbl_ILLmatrix A,
int  row,
int  col,
double *  val 
) [static]

Definition at line 1692 of file dbl_lib.c.

References dbl_EGlpNumCopy, dbl_EGlpNumZero, EG_RETURN, ILL_CLEANUP, dbl_ILLmatrix::matbeg, dbl_ILLmatrix::matcnt, dbl_ILLmatrix::matcols, dbl_ILLmatrix::matind, dbl_ILLmatrix::matrows, and dbl_ILLmatrix::matval.

Referenced by dbl_ILLlib_getcoef().

static int dbl_reset_colindex ( dbl_lpinfo lp  ) 

Definition at line 3474 of file dbl_lib.c.

References CHECKRVALG, dbl_ILLlpdata::colnames, dbl_ILLlpdata::coltab, EG_RETURN, ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), dbl_ILLlpdata::nstruct, and dbl_lpinfo::O.

Referenced by dbl_ILLlib_colindex().

Here is the call graph for this function:

static int dbl_reset_rowindex ( dbl_lpinfo lp  ) 

Definition at line 3494 of file dbl_lib.c.

References CHECKRVALG, EG_RETURN, ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), dbl_ILLlpdata::nrows, dbl_lpinfo::O, dbl_ILLlpdata::rownames, and dbl_ILLlpdata::rowtab.

Referenced by dbl_ILLlib_rowindex().

Here is the call graph for this function:


Generated on Wed Apr 22 09:19:22 2009 for QSopt_ex by  doxygen 1.5.2