mpf_lib.c File Reference

#include "qs_config.h"
#include "mpf_iqsutil.h"
#include "mpf_lpdata.h"
#include "mpf_lpdefs.h"
#include "mpf_simplex.h"
#include "mpf_price.h"
#include "mpf_basis.h"
#include "mpf_lib.h"
#include "mpf_qstruct.h"
#include "mpf_qsopt.h"
#include "mpf_lp.h"
#include "mpf_mps.h"

Include dependency graph for mpf_lib.c:

Go to the source code of this file.

Defines

#define mpf_EXTRA_COLS   (100)
#define mpf_EXTRA_MAT   (1000)
#define mpf_EXTRA_ROWS   (100)
#define mpf_PRINT_TOL   mpf_PFEAS_TOLER
#define mpf_READ_BASIS_LL   2
#define mpf_READ_BASIS_UL   3
#define mpf_READ_BASIS_XL   0
#define mpf_READ_BASIS_XU   1

Functions

static void mpf_check_pinf (mpf_price_info *pinf, int *it_exists)
static int mpf_delcols_work (mpf_lpinfo *lp, char *colmark)
int mpf_ILLlib_addcol (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int cnt, int *ind, mpf_t *val, const mpf_t obj, const mpf_t lower, const mpf_t upper, const char *name, int factorok)
int mpf_ILLlib_addcols (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int num, int *cmatcnt, int *cmatbeg, int *cmatind, mpf_t *cmatval, mpf_t *obj, mpf_t *lower, mpf_t *upper, const char **names, int factorok)
int mpf_ILLlib_addrow (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int cnt, int *ind, const mpf_t *val, const mpf_t rhs, int sense, const mpf_t range, const char *name)
int mpf_ILLlib_addrows (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int num, int *rmatcnt, int *rmatbeg, int *rmatind, const mpf_t *rmatval, const mpf_t *rhs, char *sense, const mpf_t *range, const char **names, int *factorok)
int mpf_ILLlib_basis_order (mpf_lpinfo *lp, int *header)
int mpf_ILLlib_cache_solution (mpf_lpinfo *lp, mpf_ILLlp_cache *C)
int mpf_ILLlib_chgbnd (mpf_lpinfo *lp, int indx, int lu, const mpf_t bnd)
int mpf_ILLlib_chgbnds (mpf_lpinfo *lp, int cnt, int *indx, char *lu, const mpf_t *bnd)
int mpf_ILLlib_chgcoef (mpf_lpinfo *lp, int rowindex, int colindex, mpf_t coef)
int mpf_ILLlib_chgobj (mpf_lpinfo *lp, int indx, mpf_t coef)
int mpf_ILLlib_chgrange (mpf_lpinfo *lp, int indx, mpf_t coef)
int mpf_ILLlib_chgrhs (mpf_lpinfo *lp, int indx, mpf_t coef)
int mpf_ILLlib_chgsense (mpf_lpinfo *lp, int num, int *rowlist, char *sense)
int mpf_ILLlib_colindex (mpf_lpinfo *lp, const char *name, int *colindex)
int mpf_ILLlib_colnames (mpf_lpinfo *lp, char **colnames)
int mpf_ILLlib_delcols (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int num, int *dellist, int *basis_ok)
int mpf_ILLlib_delrows (mpf_lpinfo *lp, mpf_ILLlp_basis *B, mpf_ILLlp_cache *C, int num, int *dellist, int *basis_ok, int *cache_ok)
int mpf_ILLlib_findName (mpf_ILLlpdata *qslp, int forRow, const char *name, int id, char buf[ILL_namebufsize])
int mpf_ILLlib_get_slack (mpf_lpinfo *lp, mpf_ILLlp_cache *C, mpf_t *slack)
int mpf_ILLlib_get_x (mpf_lpinfo *lp, mpf_ILLlp_cache *C, mpf_t *x)
int mpf_ILLlib_getbasis (mpf_lpinfo *lp, char *cstat, char *rstat)
int mpf_ILLlib_getbnd (mpf_lpinfo *lp, int indx, int lu, mpf_t *bnd)
int mpf_ILLlib_getbnds (mpf_lpinfo *lp, mpf_t *lower, mpf_t *upper)
int mpf_ILLlib_getbnds_list (mpf_lpinfo *lp, int num, int *collist, mpf_t *lower, mpf_t *upper)
int mpf_ILLlib_getcoef (mpf_lpinfo *lp, int rowindex, int colindex, mpf_t *coef)
int mpf_ILLlib_getcols (mpf_lpinfo *lp, int num, int *collist, int **colcnt, int **colbeg, int **colind, mpf_t **colval, mpf_t **obj, mpf_t **lower, mpf_t **upper, char ***names)
int mpf_ILLlib_getintflags (mpf_lpinfo *lp, int *intflags)
int mpf_ILLlib_getobj (mpf_lpinfo *lp, mpf_t *obj)
int mpf_ILLlib_getobj_list (mpf_lpinfo *lp, int num, int *collist, mpf_t *obj)
int mpf_ILLlib_getrhs (mpf_lpinfo *lp, mpf_t *rhs)
int mpf_ILLlib_getrownorms (mpf_lpinfo *lp, mpf_price_info *pinf, mpf_t *rownorms)
int mpf_ILLlib_getrows (mpf_lpinfo *lp, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, mpf_t **rowval, mpf_t **rhs, char **sense, mpf_t **range, char ***names)
int mpf_ILLlib_getsenses (mpf_lpinfo *lp, char *senses)
int mpf_ILLlib_iter (mpf_lpinfo *lp)
int mpf_ILLlib_loadbasis (mpf_ILLlp_basis *B, int nstruct, int nrows, char *cstat, char *rstat)
int mpf_ILLlib_loadrownorms (mpf_lpinfo *lp, mpf_price_info *pinf, mpf_t *rownorms)
int mpf_ILLlib_newcol (mpf_lpinfo *lp, mpf_ILLlp_basis *B, const mpf_t obj, const mpf_t lower, const mpf_t upper, const char *name, int factorok)
int mpf_ILLlib_newcols (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int num, mpf_t *obj, mpf_t *lower, mpf_t *upper, const char **names, int factorok)
int mpf_ILLlib_newrow (mpf_lpinfo *lp, mpf_ILLlp_basis *B, const mpf_t rhs, int sense, const mpf_t range, const char *name)
int mpf_ILLlib_newrows (mpf_lpinfo *lp, mpf_ILLlp_basis *B, int num, const mpf_t *rhs, char *sense, const mpf_t *range, const char **names)
int mpf_ILLlib_objval (mpf_lpinfo *lp, mpf_ILLlp_cache *C, mpf_t *val)
int mpf_ILLlib_optimize (mpf_lpinfo *lp, mpf_ILLlp_basis *B, mpf_price_info *pinf, int algo, int *status, int simplex_display, itcnt_t *itcnt)
int mpf_ILLlib_print_x (EGioFile_t *fd, mpf_lpinfo *lp, mpf_ILLlp_cache *C, mpf_t *x, int nonZerosOnly)
int mpf_ILLlib_readbasis (mpf_lpinfo *lp, mpf_ILLlp_basis *B, const char *mpf_fname)
int mpf_ILLlib_recompute_rownorms (mpf_lpinfo *lp, mpf_price_info *pinf)
int mpf_ILLlib_rowindex (mpf_lpinfo *lp, const char *name, int *rowindex)
int mpf_ILLlib_rownames (mpf_lpinfo *lp, char **rownames)
int mpf_ILLlib_solution (mpf_lpinfo *lp, mpf_ILLlp_cache *C, mpf_t *val, mpf_t *x, mpf_t *pi, mpf_t *slack, mpf_t *rc)
int mpf_ILLlib_strongbranch (mpf_lpinfo *lp, mpf_price_info *pinf, int *candidatelist, int ncand, mpf_t *xlist, mpf_t *downpen, mpf_t *uppen, int iterations, mpf_t objbound, itcnt_t *itcnt)
int mpf_ILLlib_tableau (mpf_lpinfo *lp, int row, mpf_t *binv, mpf_t *tabrow)
int mpf_ILLlib_writebasis (mpf_lpinfo *lp, mpf_ILLlp_basis *B, const char *mpf_fname)
int mpf_ILLwrite_lp_file (mpf_ILLlpdata *lp, EGioFile_t *out, mpf_qserror_collector *c)
static int mpf_matrix_addcoef (mpf_lpinfo *lp, mpf_ILLmatrix *A, int row, int col, mpf_t val)
static int mpf_matrix_addcol (mpf_ILLmatrix *A, int colcnt, int *colind, mpf_t *colval)
static int mpf_matrix_addrow (mpf_ILLmatrix *A, int rowcnt, int *rowind, const mpf_t *rowval)
static int mpf_matrix_addrow_end (mpf_ILLmatrix *A, int row, int rowcnt, int *rowind, const mpf_t *rowval)
static int mpf_matrix_getcoef (mpf_ILLmatrix *A, int row, int col, mpf_t *val)
static int mpf_reset_colindex (mpf_lpinfo *lp)
static int mpf_reset_rowindex (mpf_lpinfo *lp)


Define Documentation

#define mpf_EXTRA_COLS   (100)

Definition at line 881 of file mpf_lib.c.

Referenced by mpf_ILLlib_addcol().

#define mpf_EXTRA_MAT   (1000)

Definition at line 882 of file mpf_lib.c.

Referenced by mpf_matrix_addrow_end().

#define mpf_EXTRA_ROWS   (100)

Definition at line 880 of file mpf_lib.c.

Referenced by mpf_ILLlib_addrow().

#define mpf_PRINT_TOL   mpf_PFEAS_TOLER

Definition at line 4153 of file mpf_lib.c.

Referenced by mpf_ILLlib_print_x().

#define mpf_READ_BASIS_LL   2

Definition at line 3716 of file mpf_lib.c.

Referenced by mpf_ILLlib_readbasis().

#define mpf_READ_BASIS_UL   3

Definition at line 3717 of file mpf_lib.c.

Referenced by mpf_ILLlib_readbasis().

#define mpf_READ_BASIS_XL   0

Definition at line 3714 of file mpf_lib.c.

Referenced by mpf_ILLlib_readbasis().

#define mpf_READ_BASIS_XU   1

Definition at line 3715 of file mpf_lib.c.

Referenced by mpf_ILLlib_readbasis().


Function Documentation

static void mpf_check_pinf ( mpf_price_info pinf,
int *  it_exists 
) [static]

Definition at line 4259 of file mpf_lib.c.

References mpf_price_info::dI_price, mpf_price_info::dII_price, mpf_price_info::dsinfo, mpf_d_steep_info::norms, and QS_PRICE_DSTEEP.

Referenced by mpf_ILLlib_getrownorms(), and mpf_ILLlib_strongbranch().

static int mpf_delcols_work ( mpf_lpinfo lp,
char *  colmark 
)

Definition at line 1738 of file mpf_lib.c.

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

Here is the call graph for this function:

int mpf_ILLlib_addcol ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  cnt,
int *  ind,
mpf_t *  val,
const mpf_t  obj,
const mpf_t  lower,
const mpf_t  upper,
const char *  name,
int  factorok 
)

Definition at line 2098 of file mpf_lib.c.

References mpf_ILLlpdata::A, mpf_lpinfo::basisid, mpf_ILLlpdata::colnames, mpf_ILLlp_basis::colnorms, mpf_ILLlpdata::colsize, mpf_ILLlpdata::coltab, mpf_ILLlp_basis::cstat, ILL_CLEANUP, ILL_FAILfalse, ILL_FAILtrue, ILL_IFFREE, ILL_namebufsize, ILLsymboltab_register(), mpf_ILLlpdata::intmarker, mpf_ILLlpdata::lower, mpf_EXTRA_COLS, mpf_ILL_MAXDOUBLE, mpf_ILL_MINDOUBLE, mpf_ILLlib_findName(), mpf_ILLlp_rows_clear(), mpf_ILLlp_sinfo_free(), mpf_matrix_addcol(), mpf_lpinfo::nbaz, mpf_ILLlpdata::ncols, mpf_ILLlpdata::nstruct, NULL, mpf_ILLlpdata::nzcount, mpf_lpinfo::O, mpf_ILLlpdata::obj, QS_COL_BSTAT_FREE, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, mpf_ILLlpdata::rA, mpf_ILLlpdata::sinfo, STAT_LOWER, STAT_UPPER, STAT_ZERO, mpf_ILLlpdata::structmap, mpf_ILLlpdata::structsize, mpf_ILLlpdata::upper, mpf_lpinfo::vindex, and mpf_lpinfo::vstat.

Here is the call graph for this function:

int mpf_ILLlib_addcols ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  num,
int *  cmatcnt,
int *  cmatbeg,
int *  cmatind,
mpf_t *  cmatval,
mpf_t *  obj,
mpf_t *  lower,
mpf_t *  upper,
const char **  names,
int  factorok 
)

Definition at line 2059 of file mpf_lib.c.

References mpf_ILLlib_addcol().

Here is the call graph for this function:

int mpf_ILLlib_addrow ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  cnt,
int *  ind,
const mpf_t *  val,
const mpf_t  rhs,
int  sense,
const mpf_t  range,
const char *  name 
)

Definition at line 1145 of file mpf_lib.c.

References mpf_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, ILL_namebufsize, mpf_EXTRA_ROWS, mpf_ILLlp_rows_clear(), mpf_ILLlp_sinfo_free(), mpf_ILLlpdata::ncols, mpf_ILLlpdata::nrows, mpf_lpinfo::O, mpf_ILLlpdata::rA, mpf_ILLlpdata::rangeval, mpf_ILLlpdata::rhs, mpf_ILLlpdata::rowmap, mpf_ILLlpdata::rownames, mpf_ILLlpdata::rowsize, mpf_ILLlpdata::sense, and mpf_ILLlpdata::sinfo.

Here is the call graph for this function:

int mpf_ILLlib_addrows ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  num,
int *  rmatcnt,
int *  rmatbeg,
int *  rmatind,
const mpf_t *  rmatval,
const mpf_t *  rhs,
char *  sense,
const mpf_t *  range,
const char **  names,
int *  factorok 
)

Definition at line 941 of file mpf_lib.c.

References mpf_ILLlpdata::A, mpf_lpinfo::baz, mpf_ILLlp_basis::colnorms, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLmatrix::matbeg, mpf_lpinfo::matbeg, mpf_ILLmatrix::matcnt, mpf_lpinfo::matcnt, mpf_ILLmatrix::matind, mpf_lpinfo::matind, mpf_ILLmatrix::matval, mpf_lpinfo::matval, mpf_ILLprice_get_new_rownorms(), mpf_ILLlpdata::ncols, mpf_lpinfo::ncols, mpf_ILLlpdata::nrows, mpf_lpinfo::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlp_basis::rownorms, mpf_ILLlp_basis::rownorms_size, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_basis_order ( mpf_lpinfo lp,
int *  header 
)

Definition at line 497 of file mpf_lib.c.

References mpf_lpinfo::baz, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLlpdata::ncols, mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::rowmap, and mpf_ILLlpdata::structmap.

int mpf_ILLlib_cache_solution ( mpf_lpinfo lp,
mpf_ILLlp_cache C 
)

Definition at line 242 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlib_solution(), mpf_ILLlpdata::nrows, mpf_ILLlp_cache::nrows, mpf_ILLlpdata::nstruct, mpf_ILLlp_cache::nstruct, mpf_lpinfo::O, mpf_ILLlp_cache::pi, mpf_ILLlp_cache::rc, mpf_ILLlp_cache::slack, mpf_ILLlp_cache::val, and mpf_ILLlp_cache::x.

Here is the call graph for this function:

int mpf_ILLlib_chgbnd ( mpf_lpinfo lp,
int  indx,
int  lu,
const mpf_t  bnd 
)

Definition at line 532 of file mpf_lib.c.

References ILL_CLEANUP, ILL_IFFREE, mpf_ILLlpdata::lower, mpf_ILLlp_sinfo_free(), mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::sinfo, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

Here is the call graph for this function:

int mpf_ILLlib_chgbnds ( mpf_lpinfo lp,
int  cnt,
int *  indx,
char *  lu,
const mpf_t *  bnd 
)

Definition at line 586 of file mpf_lib.c.

References ILL_CLEANUP, and mpf_ILLlib_chgbnd().

Here is the call graph for this function:

int mpf_ILLlib_chgcoef ( mpf_lpinfo lp,
int  rowindex,
int  colindex,
mpf_t  coef 
)

Definition at line 1860 of file mpf_lib.c.

References mpf_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, mpf_ILLlp_rows_clear(), mpf_ILLlp_sinfo_free(), mpf_matrix_addcoef(), mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::rA, mpf_ILLlpdata::sinfo, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_chgobj ( mpf_lpinfo lp,
int  indx,
mpf_t  coef 
)

Definition at line 3180 of file mpf_lib.c.

References ILL_CLEANUP, ILL_IFFREE, mpf_ILLlp_sinfo_free(), mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::obj, mpf_ILLlpdata::sinfo, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_chgrange ( mpf_lpinfo lp,
int  indx,
mpf_t  coef 
)

Definition at line 3244 of file mpf_lib.c.

References ILL_CLEANUP, ILL_IFFREE, mpf_ILLlp_sinfo_free(), mpf_ILLlpdata::nrows, mpf_lpinfo::O, mpf_ILLlpdata::rangeval, mpf_ILLlpdata::rowsize, mpf_ILLlpdata::sense, and mpf_ILLlpdata::sinfo.

Here is the call graph for this function:

int mpf_ILLlib_chgrhs ( mpf_lpinfo lp,
int  indx,
mpf_t  coef 
)

Definition at line 3298 of file mpf_lib.c.

References ILL_CLEANUP, ILL_IFFREE, mpf_ILLlp_sinfo_free(), mpf_ILLlpdata::nrows, mpf_lpinfo::O, mpf_ILLlpdata::rhs, and mpf_ILLlpdata::sinfo.

Here is the call graph for this function:

int mpf_ILLlib_chgsense ( mpf_lpinfo lp,
int  num,
int *  rowlist,
char *  sense 
)

Definition at line 1913 of file mpf_lib.c.

References mpf_ILLlpdata::A, ILL_CLEANUP, mpf_ILLlpdata::lower, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matval, mpf_ILL_MAXDOUBLE, mpf_lpinfo::O, mpf_ILLlpdata::rowmap, mpf_ILLlpdata::sense, and mpf_ILLlpdata::upper.

int mpf_ILLlib_colindex ( mpf_lpinfo lp,
const char *  name,
int *  colindex 
)

Definition at line 3522 of file mpf_lib.c.

References mpf_ILLlpdata::coltab, ILL_CLEANUP, ILLsymboltab_getindex(), mpf_reset_colindex(), and mpf_lpinfo::O.

Here is the call graph for this function:

int mpf_ILLlib_colnames ( mpf_lpinfo lp,
char **  colnames 
)

Definition at line 3428 of file mpf_lib.c.

References mpf_ILLlpdata::colnames, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLlpdata::nstruct, and mpf_lpinfo::O.

int mpf_ILLlib_delcols ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  num,
int *  dellist,
int *  basis_ok 
)

Definition at line 1597 of file mpf_lib.c.

References mpf_ILLlpdata::A, mpf_ILLlp_basis::colnorms, mpf_ILLlp_basis::cstat, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLmatrix::matcols, mpf_ILLlp_rows_clear(), mpf_ILLlpdata::nstruct, mpf_ILLlp_basis::nstruct, mpf_lpinfo::O, QS_COL_BSTAT_BASIC, mpf_ILLlpdata::rA, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_delrows ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
mpf_ILLlp_cache C,
int  num,
int *  dellist,
int *  basis_ok,
int *  cache_ok 
)

Definition at line 1329 of file mpf_lib.c.

References mpf_ILLlpdata::A, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matcols, mpf_ILLmatrix::matind, mpf_ILLmatrix::matrows, mpf_ILLmatrix::matval, mpf_DFEAS_TOLER, mpf_ILLlp_rows_clear(), mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlp_cache::pi, QS_ROW_BSTAT_LOWER, QS_ROW_BSTAT_UPPER, mpf_ILLlpdata::rA, and mpf_ILLlp_basis::rstat.

Here is the call graph for this function:

int mpf_ILLlib_findName ( mpf_ILLlpdata qslp,
int  forRow,
const char *  name,
int  id,
char  buf[ILL_namebufsize] 
)

Definition at line 4201 of file mpf_lib.c.

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

Referenced by mpf_get_row_col_name(), and mpf_ILLlib_addcol().

Here is the call graph for this function:

int mpf_ILLlib_get_slack ( mpf_lpinfo lp,
mpf_ILLlp_cache C,
mpf_t *  slack 
)

Definition at line 403 of file mpf_lib.c.

References mpf_ILLlib_solution().

Here is the call graph for this function:

int mpf_ILLlib_get_x ( mpf_lpinfo lp,
mpf_ILLlp_cache C,
mpf_t *  x 
)

Definition at line 388 of file mpf_lib.c.

References mpf_ILLlib_solution().

Here is the call graph for this function:

int mpf_ILLlib_getbasis ( mpf_lpinfo lp,
char *  cstat,
char *  rstat 
)

Definition at line 3582 of file mpf_lib.c.

References mpf_lpinfo::basisid, ILL_CLEANUP, mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_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, mpf_ILLlpdata::structmap, and mpf_lpinfo::vstat.

int mpf_ILLlib_getbnd ( mpf_lpinfo lp,
int  indx,
int  lu,
mpf_t *  bnd 
)

Definition at line 608 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::lower, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

int mpf_ILLlib_getbnds ( mpf_lpinfo lp,
mpf_t *  lower,
mpf_t *  upper 
)

Definition at line 690 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::lower, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

int mpf_ILLlib_getbnds_list ( mpf_lpinfo lp,
int  num,
int *  collist,
mpf_t *  lower,
mpf_t *  upper 
)

Definition at line 652 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::lower, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

int mpf_ILLlib_getcoef ( mpf_lpinfo lp,
int  rowindex,
int  colindex,
mpf_t *  coef 
)

Definition at line 1822 of file mpf_lib.c.

References mpf_ILLlpdata::A, ILL_CLEANUP, mpf_matrix_getcoef(), mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_getcols ( mpf_lpinfo lp,
int  num,
int *  collist,
int **  colcnt,
int **  colbeg,
int **  colind,
mpf_t **  colval,
mpf_t **  obj,
mpf_t **  lower,
mpf_t **  upper,
char ***  names 
)

Definition at line 2910 of file mpf_lib.c.

References mpf_ILLlpdata::A, mpf_ILLlpdata::colnames, ILL_CLEANUP, ILL_SAFE_MALLOC, mpf_ILLlpdata::lower, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matind, mpf_ILLmatrix::matval, mpf_lpinfo::O, mpf_ILLlpdata::obj, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

int mpf_ILLlib_getintflags ( mpf_lpinfo lp,
int *  intflags 
)

Definition at line 3384 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::intmarker, mpf_ILLlpdata::nstruct, and mpf_lpinfo::O.

int mpf_ILLlib_getobj ( mpf_lpinfo lp,
mpf_t *  obj 
)

Definition at line 3151 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::obj, and mpf_ILLlpdata::structmap.

int mpf_ILLlib_getobj_list ( mpf_lpinfo lp,
int  num,
int *  collist,
mpf_t *  obj 
)

Definition at line 3111 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::obj, and mpf_ILLlpdata::structmap.

int mpf_ILLlib_getrhs ( mpf_lpinfo lp,
mpf_t *  rhs 
)

Definition at line 3216 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::nrows, mpf_lpinfo::O, and mpf_ILLlpdata::rhs.

int mpf_ILLlib_getrownorms ( mpf_lpinfo lp,
mpf_price_info pinf,
mpf_t *  rownorms 
)

Definition at line 4057 of file mpf_lib.c.

References mpf_price_info::dsinfo, ILL_CLEANUP, mpf_check_pinf(), mpf_d_steep_info::norms, mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, STAT_BASIC, mpf_ILLlpdata::structmap, mpf_lpinfo::vindex, and mpf_lpinfo::vstat.

Here is the call graph for this function:

int mpf_ILLlib_getrows ( mpf_lpinfo lp,
int  num,
int *  rowlist,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
mpf_t **  rowval,
mpf_t **  rhs,
char **  sense,
mpf_t **  range,
char ***  names 
)

Definition at line 2700 of file mpf_lib.c.

References ILL_CLEANUP, ILL_SAFE_MALLOC, mpf_ILLlp_rows_init(), mpf_lpinfo::O, mpf_ILLlpdata::rangeval, mpf_ILLlpdata::rhs, mpf_ILLlp_rows::rowbeg, mpf_ILLlp_rows::rowcnt, mpf_ILLlp_rows::rowind, and mpf_ILLlp_rows::rowval.

Here is the call graph for this function:

int mpf_ILLlib_getsenses ( mpf_lpinfo lp,
char *  senses 
)

Definition at line 1975 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLlpdata::nrows, mpf_lpinfo::O, and mpf_ILLlpdata::sense.

int mpf_ILLlib_iter ( mpf_lpinfo lp  ) 

Definition at line 4138 of file mpf_lib.c.

References mpf_lpinfo::cnts, mpf_count_struct::dI_iter, mpf_count_struct::dII_iter, mpf_count_struct::pI_iter, and mpf_count_struct::pII_iter.

int mpf_ILLlib_loadbasis ( mpf_ILLlp_basis B,
int  nstruct,
int  nrows,
char *  cstat,
char *  rstat 
)

Definition at line 3679 of file mpf_lib.c.

References mpf_ILLlp_basis::cstat, mpf_ILLlp_basis_alloc(), mpf_ILLlp_basis_init(), and mpf_ILLlp_basis::rstat.

Here is the call graph for this function:

int mpf_ILLlib_loadrownorms ( mpf_lpinfo lp,
mpf_price_info pinf,
mpf_t *  rownorms 
)

Definition at line 4109 of file mpf_lib.c.

References mpf_ILLprice_load_rownorms().

Here is the call graph for this function:

int mpf_ILLlib_newcol ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
const mpf_t  obj,
const mpf_t  lower,
const mpf_t  upper,
const char *  name,
int  factorok 
)

Definition at line 2002 of file mpf_lib.c.

References mpf_ILLlib_addcol().

Here is the call graph for this function:

int mpf_ILLlib_newcols ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  num,
mpf_t *  obj,
mpf_t *  lower,
mpf_t *  upper,
const char **  names,
int  factorok 
)

Definition at line 2021 of file mpf_lib.c.

References ILL_IFFREE, ILL_SAFE_MALLOC, and mpf_ILLlib_addcols().

Here is the call graph for this function:

int mpf_ILLlib_newrow ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
const mpf_t  rhs,
int  sense,
const mpf_t  range,
const char *  name 
)

Definition at line 884 of file mpf_lib.c.

References mpf_ILLlib_addrow().

Here is the call graph for this function:

int mpf_ILLlib_newrows ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
int  num,
const mpf_t *  rhs,
char *  sense,
const mpf_t *  range,
const char **  names 
)

Definition at line 902 of file mpf_lib.c.

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

Here is the call graph for this function:

int mpf_ILLlib_objval ( mpf_lpinfo lp,
mpf_ILLlp_cache C,
mpf_t *  val 
)

Definition at line 419 of file mpf_lib.c.

References mpf_lpinfo::basisstat, mpf_lpinfo::dobjval, mpf_ILLlib_solution(), and mpf_lp_status_info::optimal.

Here is the call graph for this function:

int mpf_ILLlib_optimize ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
mpf_price_info pinf,
int  algo,
int *  status,
int  simplex_display,
itcnt_t itcnt 
)

Definition at line 170 of file mpf_lib.c.

References __QS_SB_VERB, E_SIMPLEX_ERROR, mpf_ILLlib_writebasis(), mpf_ILLsimplex(), mpf_ILLwrite_lp(), NULL, mpf_lpinfo::O, QS_LP_CHANGE_PREC, and QS_LP_UNSOLVED.

Here is the call graph for this function:

int mpf_ILLlib_print_x ( EGioFile_t *  fd,
mpf_lpinfo lp,
mpf_ILLlp_cache C,
mpf_t *  x,
int  nonZerosOnly 
)

Definition at line 4155 of file mpf_lib.c.

References mpf_ILLlpdata::colnames, ILL_FAILfalse, mpf_ILLlib_get_x(), mpf_PRINT_TOL, mpf_lpinfo::ncols, mpf_ILLlpdata::nstruct, NULL, mpf_lpinfo::O, and strtmp.

Here is the call graph for this function:

int mpf_ILLlib_readbasis ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
const char *  mpf_fname 
)

Definition at line 3719 of file mpf_lib.c.

References mpf_ILLlp_basis::cstat, ILL_CLEANUP, ILL_MPS_ENDATA, ILL_MPS_NAME, ILL_SAFE_MALLOC, mpf_ILLlpdata::lower, mpf_ILL_MAXDOUBLE, mpf_ILL_MINDOUBLE, mpf_ILLlib_colindex(), mpf_ILLlib_rowindex(), mpf_ILLline_reader_new(), mpf_ILLlp_basis_init(), mpf_ILLmps_empty_field(), mpf_ILLmps_empty_key(), mpf_ILLmps_error(), mpf_ILLmps_next_field(), mpf_ILLmps_next_line(), mpf_ILLmps_section_name, mpf_ILLmps_state_init(), mpf_ILLmps_warn(), mpf_ILLutil_index(), mpf_READ_BASIS_LL, mpf_READ_BASIS_UL, mpf_READ_BASIS_XL, mpf_READ_BASIS_XU, mpf_ILLlp_basis::nrows, mpf_ILLlpdata::nrows, mpf_ILLlp_basis::nstruct, mpf_ILLlpdata::nstruct, NULL, mpf_lpinfo::O, mpf_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, mpf_ILLlp_basis::rstat, mpf_ILLlpdata::structmap, and mpf_ILLlpdata::upper.

Here is the call graph for this function:

int mpf_ILLlib_recompute_rownorms ( mpf_lpinfo lp,
mpf_price_info pinf 
)

Definition at line 4124 of file mpf_lib.c.

References DUAL_PHASEII, and mpf_ILLprice_build_pricing_info().

Here is the call graph for this function:

int mpf_ILLlib_rowindex ( mpf_lpinfo lp,
const char *  name,
int *  rowindex 
)

Definition at line 3552 of file mpf_lib.c.

References ILL_CLEANUP, ILLsymboltab_getindex(), mpf_reset_rowindex(), mpf_lpinfo::O, and mpf_ILLlpdata::rowtab.

Here is the call graph for this function:

int mpf_ILLlib_rownames ( mpf_lpinfo lp,
char **  rownames 
)

Definition at line 3332 of file mpf_lib.c.

References ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLlpdata::nrows, mpf_lpinfo::O, and mpf_ILLlpdata::rownames.

int mpf_ILLlib_solution ( mpf_lpinfo lp,
mpf_ILLlp_cache C,
mpf_t *  val,
mpf_t *  x,
mpf_t *  pi,
mpf_t *  slack,
mpf_t *  rc 
)

Definition at line 265 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILL_MAX, mpf_ILLsimplex_solution(), mpf_ILLlpdata::ncols, mpf_ILLlp_cache::nrows, mpf_ILLlpdata::nrows, mpf_ILLlp_cache::nstruct, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::objsense, mpf_ILLlp_cache::pi, mpf_ILLlp_cache::rc, mpf_ILLlpdata::rowmap, mpf_ILLlp_cache::slack, mpf_ILLlpdata::structmap, mpf_ILLlp_cache::val, and mpf_ILLlp_cache::x.

Here is the call graph for this function:

int mpf_ILLlib_strongbranch ( mpf_lpinfo lp,
mpf_price_info pinf,
int *  candidatelist,
int  ncand,
mpf_t *  xlist,
mpf_t *  downpen,
mpf_t *  uppen,
int  iterations,
mpf_t  objbound,
itcnt_t itcnt 
)

Definition at line 724 of file mpf_lib.c.

References mpf_lpinfo::basisid, mpf_ILLlp_basis::cstat, mpf_price_info::dI_price, mpf_price_info::dII_price, mpf_lpinfo::dobjval, DUAL_SIMPLEX, mpf_price_info::htrigger, mpf_lpinfo::maxiter, mpf_check_pinf(), mpf_ILL_MAX, mpf_ILLlib_chgbnd(), mpf_ILLlib_get_x(), mpf_ILLlib_getbasis(), mpf_ILLlib_getbnd(), mpf_ILLlib_getrownorms(), mpf_ILLlib_optimize(), mpf_ILLlp_basis_alloc(), mpf_ILLlp_basis_free(), mpf_ILLlp_basis_init(), mpf_ILLprice_free_pricing_info(), mpf_ILLprice_init_pricing_info(), mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::objsense, QS_PRICE_DSTEEP, mpf_ILLlp_basis::rownorms, mpf_ILLlp_basis::rstat, and t.

Here is the call graph for this function:

int mpf_ILLlib_tableau ( mpf_lpinfo lp,
int  row,
mpf_t *  binv,
mpf_t *  tabrow 
)

Definition at line 441 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLbasis_tableau_row(), mpf_ILLlpdata::ncols, mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::rowmap, and mpf_ILLlpdata::structmap.

Here is the call graph for this function:

int mpf_ILLlib_writebasis ( mpf_lpinfo lp,
mpf_ILLlp_basis B,
const char *  mpf_fname 
)

Definition at line 3941 of file mpf_lib.c.

References mpf_lpinfo::basisid, mpf_ILLlpdata::colnames, mpf_ILLlp_basis::cstat, ILL_CLEANUP, ILL_IFFREE, ILL_SAFE_MALLOC, mpf_ILLlib_getbasis(), mpf_ILLlpdata::nrows, mpf_ILLlpdata::nstruct, mpf_lpinfo::O, mpf_ILLlpdata::probname, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_UPPER, QS_ROW_BSTAT_BASIC, QS_ROW_BSTAT_LOWER, mpf_ILLlpdata::rownames, and mpf_ILLlp_basis::rstat.

Here is the call graph for this function:

int mpf_ILLwrite_lp_file ( mpf_ILLlpdata lp,
EGioFile_t *  out,
mpf_qserror_collector c 
)

Definition at line 4244 of file mpf_lib.c.

References ILLstring_reporter_copy(), ILLstring_reporter_init(), mpf_ILLwrite_lp(), and mpf_ILLlpdata::reporter.

Referenced by mpf_ILLbasis_get_cinitial(), mpf_ILLbasis_get_initial(), and mpf_ILLbasis_update().

Here is the call graph for this function:

static int mpf_matrix_addcoef ( mpf_lpinfo lp,
mpf_ILLmatrix A,
int  row,
int  col,
mpf_t  val 
)

Definition at line 2521 of file mpf_lib.c.

References ILL_CLEANUP, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matcols, mpf_ILLmatrix::matfree, mpf_ILLmatrix::matind, mpf_ILLmatrix::matrows, mpf_ILLmatrix::matsize, mpf_ILLmatrix::matval, mpf_matrix_addrow_end(), mpf_ILLlpdata::nzcount, and mpf_lpinfo::O.

Referenced by mpf_ILLlib_chgcoef().

Here is the call graph for this function:

static int mpf_matrix_addcol ( mpf_ILLmatrix A,
int  colcnt,
int *  colind,
mpf_t *  colval 
)

Definition at line 2619 of file mpf_lib.c.

References ILL_CLEANUP, and mpf_ILLmatrix::matrows.

Referenced by mpf_ILLlib_addcol().

static int mpf_matrix_addrow ( mpf_ILLmatrix A,
int  rowcnt,
int *  rowind,
const mpf_t *  rowval 
) [static]

Definition at line 2332 of file mpf_lib.c.

References ILL_CLEANUP, and mpf_ILLmatrix::matcols.

static int mpf_matrix_addrow_end ( mpf_ILLmatrix A,
int  row,
int  rowcnt,
int *  rowind,
const mpf_t *  rowval 
)

Definition at line 2427 of file mpf_lib.c.

References ILL_SAFE_MALLOC, mpf_ILLmatrix::matbeg, mpf_ILLmatrix::matcnt, mpf_ILLmatrix::matcols, mpf_ILLmatrix::matcolsize, mpf_ILLmatrix::matfree, mpf_ILLmatrix::matind, mpf_ILLmatrix::matsize, mpf_ILLmatrix::matval, and mpf_EXTRA_MAT.

Referenced by mpf_matrix_addcoef().

static int mpf_matrix_getcoef ( mpf_ILLmatrix A,
int  row,
int  col,
mpf_t *  val 
) [static]

Definition at line 1700 of file mpf_lib.c.

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

Referenced by mpf_ILLlib_getcoef().

static int mpf_reset_colindex ( mpf_lpinfo lp  ) 

Definition at line 3482 of file mpf_lib.c.

References mpf_ILLlpdata::colnames, mpf_ILLlpdata::coltab, ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), mpf_ILLlpdata::nstruct, and mpf_lpinfo::O.

Referenced by mpf_ILLlib_colindex().

Here is the call graph for this function:

static int mpf_reset_rowindex ( mpf_lpinfo lp  ) 

Definition at line 3502 of file mpf_lib.c.

References ILLsymboltab_index_ok(), ILLsymboltab_index_reset(), mpf_ILLlpdata::nrows, mpf_lpinfo::O, mpf_ILLlpdata::rownames, and mpf_ILLlpdata::rowtab.

Referenced by mpf_ILLlib_rowindex().

Here is the call graph for this function:


Generated on Thu Mar 29 09:42:10 2012 for QSopt_ex by  doxygen 1.4.7