qsopt.c File Reference

#include "qs_config.h"
#include "iqsutil.h"
#include "lpdata.h"
#include "lpdefs.h"
#include "simplex.h"
#include "price.h"
#include "qstruct.h"
#include "qsopt.h"
#include "lib.h"
#include "mps.h"
#include "lp.h"

Include dependency graph for qsopt.c:

Go to the source code of this file.

Functions

static void check_pointer (void *p, const char *fct, const char *param)
static int check_qsdata_pointer (QSdata *p)
static int formatIsMps (const char *filetype, int *isMps)
static void free_cache (QSdata *p)
static int grab_basis (QSdata *p)
int grab_cache (QSdata *p, int status)
static int illbasis_to_qsbasis (ILLlp_basis *B, QSbasis *qB)
static void init_basis (QSbasis *B)
static int opt_work (QSdata *p, int *status, int primal_or_dual)
QSLIB_INTERFACE int QSadd_col (QSdata *p, int cnt, int *cmatind, EGlpNum_t *cmatval, EGlpNum_t obj, EGlpNum_t lower, EGlpNum_t upper, const char *name)
QSLIB_INTERFACE int QSadd_cols (QSdata *p, int num, int *cmatcnt, int *cmatbeg, int *cmatind, EGlpNum_t *cmatval, EGlpNum_t *obj, EGlpNum_t *lower, EGlpNum_t *upper, const char **names)
QSLIB_INTERFACE int QSadd_ranged_row (QSdata *p, int cnt, int *rmatind, const EGlpNum_t *rmatval, const EGlpNum_t *rhs, int sense, const EGlpNum_t *range, const char *name)
QSLIB_INTERFACE int QSadd_ranged_rows (QSdata *p, int num, int *rmatcnt, int *rmatbeg, int *rmatind, const EGlpNum_t *rmatval, const EGlpNum_t *rhs, char *sense, const EGlpNum_t *range, const char **names)
QSLIB_INTERFACE int QSadd_row (QSdata *p, int cnt, int *rmatind, const EGlpNum_t *rmatval, const EGlpNum_t *rhs, int sense, const char *name)
QSLIB_INTERFACE int QSadd_rows (QSdata *p, int num, int *rmatcnt, int *rmatbeg, int *rmatind, const EGlpNum_t *rmatval, const EGlpNum_t *rhs, char *sense, const char **names)
static int qsbasis_to_illbasis (QSbasis *qB, ILLlp_basis *B)
QSLIB_INTERFACE int QSchange_bound (QSdata *p, int indx, int lu, const EGlpNum_t bound)
QSLIB_INTERFACE int QSchange_bounds (QSdata *p, int num, int *collist, char *lu, const EGlpNum_t *bounds)
QSLIB_INTERFACE int QSchange_coef (QSdata *p, int rowindex, int colindex, EGlpNum_t coef)
QSLIB_INTERFACE int QSchange_objcoef (QSdata *p, int indx, EGlpNum_t coef)
QSLIB_INTERFACE int QSchange_objsense (QSdata *p, int newsense)
QSLIB_INTERFACE int QSchange_range (QSdata *p, int rowindex, EGlpNum_t range)
QSLIB_INTERFACE int QSchange_rhscoef (QSdata *p, int indx, EGlpNum_t coef)
QSLIB_INTERFACE int QSchange_sense (QSdata *p, int rowindex, int sense)
QSLIB_INTERFACE int QSchange_senses (QSdata *p, int num, int *rowlist, char *sense)
QSLIB_INTERFACE int QScompute_row_norms (QSdata *p)
QSLIB_INTERFACE QSdataQScopy_prob (QSdata *p, const char *newname)
QSLIB_INTERFACE QSdataQScreate_prob (const char *name, int objsense)
QSLIB_INTERFACE int QSdelete_col (QSdata *p, int colindex)
QSLIB_INTERFACE int QSdelete_cols (QSdata *p, int num, int *dellist)
QSLIB_INTERFACE int QSdelete_named_column (QSdata *p, const char *colname)
QSLIB_INTERFACE int QSdelete_named_columns_list (QSdata *p, int num, const char **colnames)
QSLIB_INTERFACE int QSdelete_named_row (QSdata *p, const char *rowname)
QSLIB_INTERFACE int QSdelete_named_rows_list (QSdata *p, int num, const char **rownames)
QSLIB_INTERFACE int QSdelete_row (QSdata *p, int rowindex)
QSLIB_INTERFACE int QSdelete_rows (QSdata *p, int num, int *dellist)
QSLIB_INTERFACE int QSdelete_setcols (QSdata *p, int *flags)
QSLIB_INTERFACE int QSdelete_setrows (QSdata *p, int *flags)
QSLIB_INTERFACE void QSerror_collector_free (QSerror_collector c)
QSLIB_INTERFACE QSerror_collector QSerror_collector_new (void *fct, void *dest)
QSLIB_INTERFACE const char * QSerror_get_desc (QSformat_error error)
QSLIB_INTERFACE const char * QSerror_get_line (QSformat_error error)
QSLIB_INTERFACE int QSerror_get_line_number (QSformat_error error)
QSLIB_INTERFACE int QSerror_get_pos (QSformat_error error)
QSLIB_INTERFACE int QSerror_get_type (QSformat_error error)
QSLIB_INTERFACE QSerror_collector QSerror_memory_collector_new (QSerror_memory mem)
QSLIB_INTERFACE QSerror_memory QSerror_memory_create (int takeErrorLines)
QSLIB_INTERFACE void QSerror_memory_free (QSerror_memory mem)
QSLIB_INTERFACE QSformat_error QSerror_memory_get_last_error (QSerror_memory mem)
QSLIB_INTERFACE int QSerror_memory_get_nerrors (QSerror_memory mem)
QSLIB_INTERFACE int QSerror_memory_get_nof (QSerror_memory mem, int type)
QSLIB_INTERFACE QSformat_error QSerror_memory_get_prev_error (QSformat_error e)
QSLIB_INTERFACE void QSerror_print (FILE *f, QSformat_error error)
QSLIB_INTERFACE const char * QSformat_error_type_string (int tp)
QSLIB_INTERFACE void QSfree (void *ptr)
QSLIB_INTERFACE void QSfree_basis (QSbasis *B)
QSLIB_INTERFACE void QSfree_prob (QSdata *p)
QSLIB_INTERFACE QSbasisQSget_basis (QSdata *p)
QSLIB_INTERFACE int QSget_basis_and_row_norms_array (QSdata *p, char *cstat, char *rstat, EGlpNum_t *rownorms)
QSLIB_INTERFACE int QSget_basis_array (QSdata *p, char *cstat, char *rstat)
QSLIB_INTERFACE int QSget_basis_order (QSdata *p, int *basorder)
QSLIB_INTERFACE int QSget_binv_row (QSdata *p, int indx, EGlpNum_t *binvrow)
QSLIB_INTERFACE int QSget_bound (QSdata *p, int colindex, int lu, EGlpNum_t *bound)
QSLIB_INTERFACE int QSget_bounds (QSdata *p, EGlpNum_t *lower, EGlpNum_t *upper)
QSLIB_INTERFACE int QSget_bounds_list (QSdata *p, int num, int *collist, EGlpNum_t *lb, EGlpNum_t *ub)
QSLIB_INTERFACE int QSget_coef (QSdata *p, int rowindex, int colindex, EGlpNum_t *coef)
QSLIB_INTERFACE int QSget_colcount (QSdata *p)
QSLIB_INTERFACE int QSget_colnames (QSdata *p, char **colnames)
QSLIB_INTERFACE int QSget_column_index (QSdata *p, const char *name, int *colindex)
QSLIB_INTERFACE int QSget_columns (QSdata *p, int **colcnt, int **colbeg, int **colind, EGlpNum_t **colval, EGlpNum_t **obj, EGlpNum_t **lower, EGlpNum_t **upper, char ***names)
QSLIB_INTERFACE int QSget_columns_list (QSdata *p, int num, int *collist, int **colcnt, int **colbeg, int **colind, EGlpNum_t **colval, EGlpNum_t **obj, EGlpNum_t **lower, EGlpNum_t **upper, char ***names)
QSLIB_INTERFACE int QSget_infeas_array (QSdata *p, EGlpNum_t *pi)
QSLIB_INTERFACE int QSget_intcount (QSdata *p, int *count)
QSLIB_INTERFACE int QSget_intflags (QSdata *p, int *intflags)
QSLIB_INTERFACE int QSget_itcnt (QSdata *p, int *pI_iter, int *pII_iter, int *dI_iter, int *dII_iter, int *tot_iter)
QSLIB_INTERFACE int QSget_named_pi (QSdata *p, const char *rowname, EGlpNum_t *val)
QSLIB_INTERFACE int QSget_named_rc (QSdata *p, const char *colname, EGlpNum_t *val)
QSLIB_INTERFACE int QSget_named_slack (QSdata *p, const char *rowname, EGlpNum_t *val)
QSLIB_INTERFACE int QSget_named_x (QSdata *p, const char *colname, EGlpNum_t *val)
QSLIB_INTERFACE int QSget_nzcount (QSdata *p)
QSLIB_INTERFACE int QSget_obj (QSdata *p, EGlpNum_t *obj)
QSLIB_INTERFACE int QSget_obj_list (QSprob p, int num, int *collist, EGlpNum_t *obj)
QSLIB_INTERFACE char * QSget_objname (QSdata *p)
QSLIB_INTERFACE int QSget_objsense (QSdata *p, int *objsense)
QSLIB_INTERFACE int QSget_objval (QSdata *p, EGlpNum_t *value)
QSLIB_INTERFACE int QSget_param (QSdata *p, int whichparam, int *value)
QSLIB_INTERFACE int QSget_param_EGlpNum (QSdata *p, int whichparam, EGlpNum_t *value)
QSLIB_INTERFACE int QSget_pi_array (QSdata *p, EGlpNum_t *pi)
QSLIB_INTERFACE QSdataQSget_prob (QSline_reader reader, const char *probname, const char *filetype)
QSLIB_INTERFACE char * QSget_probname (QSdata *p)
QSLIB_INTERFACE int QSget_ranged_rows (QSdata *p, int **rowcnt, int **rowbeg, int **rowind, EGlpNum_t **rowval, EGlpNum_t **rhs, char **sense, EGlpNum_t **range, char ***names)
QSLIB_INTERFACE int QSget_ranged_rows_list (QSdata *p, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, EGlpNum_t **rowval, EGlpNum_t **rhs, char **sense, EGlpNum_t **range, char ***names)
QSLIB_INTERFACE int QSget_rc_array (QSdata *p, EGlpNum_t *rc)
QSLIB_INTERFACE int QSget_rhs (QSdata *p, EGlpNum_t *rhs)
QSLIB_INTERFACE int QSget_row_index (QSdata *p, const char *name, int *rowindex)
QSLIB_INTERFACE int QSget_rowcount (QSdata *p)
QSLIB_INTERFACE int QSget_rownames (QSdata *p, char **rownames)
QSLIB_INTERFACE int QSget_rows (QSdata *p, int **rowcnt, int **rowbeg, int **rowind, EGlpNum_t **rowval, EGlpNum_t **rhs, char **sense, char ***names)
QSLIB_INTERFACE int QSget_rows_list (QSdata *p, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, EGlpNum_t **rowval, EGlpNum_t **rhs, char **sense, char ***names)
QSLIB_INTERFACE int QSget_senses (QSdata *p, char *senses)
QSLIB_INTERFACE int QSget_slack_array (QSdata *p, EGlpNum_t *slack)
QSLIB_INTERFACE int QSget_solution (QSdata *p, EGlpNum_t *value, EGlpNum_t *x, EGlpNum_t *pi, EGlpNum_t *slack, EGlpNum_t *rc)
QSLIB_INTERFACE int QSget_status (QSdata *p, int *status)
QSLIB_INTERFACE int QSget_tableau_row (QSdata *p, int indx, EGlpNum_t *tableaurow)
QSLIB_INTERFACE int QSget_x_array (QSdata *p, EGlpNum_t *x)
QSLIB_INTERFACE void QSline_reader_free (QSline_reader reader)
QSLIB_INTERFACE char * QSline_reader_get (QSline_reader reader, char *s, int size)
QSLIB_INTERFACE QSline_reader QSline_reader_new (void *fct, void *data_src)
QSLIB_INTERFACE void QSline_reader_set_error_collector (QSline_reader reader, QSerror_collector collector)
QSLIB_INTERFACE int QSload_basis (QSdata *p, QSbasis *B)
QSLIB_INTERFACE int QSload_basis_and_row_norms_array (QSdata *p, char *cstat, char *rstat, EGlpNum_t *rownorms)
QSLIB_INTERFACE int QSload_basis_array (QSdata *p, char *cstat, char *rstat)
QSLIB_INTERFACE QSdataQSload_prob (const char *probname, int ncols, int nrows, int *cmatcnt, int *cmatbeg, int *cmatind, EGlpNum_t *cmatval, int objsense, EGlpNum_t *obj, EGlpNum_t *rhs, char *sense, EGlpNum_t *lower, EGlpNum_t *upper, const char **colnames, const char **rownames)
QSLIB_INTERFACE int QSnew_col (QSdata *p, const EGlpNum_t obj, const EGlpNum_t lower, const EGlpNum_t upper, const char *name)
QSLIB_INTERFACE int QSnew_row (QSdata *p, const EGlpNum_t rhs, int sense, const char *name)
QSLIB_INTERFACE int QSopt_dual (QSdata *p, int *status)
QSLIB_INTERFACE int QSopt_pivotin_col (QSdata *p, int ccnt, int *clist)
QSLIB_INTERFACE int QSopt_pivotin_row (QSdata *p, int rcnt, int *rlist)
QSLIB_INTERFACE int QSopt_primal (QSdata *p, int *status)
QSLIB_INTERFACE int QSopt_strongbranch (QSdata *p, int ncand, int *candidatelist, EGlpNum_t *xlist, EGlpNum_t *down_vals, EGlpNum_t *up_vals, int iterations, EGlpNum_t objbound)
QSLIB_INTERFACE int QSread_and_load_basis (QSdata *p, const char *filename)
QSLIB_INTERFACE QSbasisQSread_basis (QSdata *p, const char *filename)
QSLIB_INTERFACE QSdataQSread_prob (const char *filename, const char *filetype)
QSLIB_INTERFACE int QSreport_prob (QSdata *p, const char *filetype, qserror_collector *c)
QSLIB_INTERFACE int QSset_param (QSdata *p, int whichparam, int newvalue)
QSLIB_INTERFACE int QSset_param_EGlpNum (QSdata *p, int whichparam, EGlpNum_t newvalue)
void QSset_precision (const unsigned prec)
QSLIB_INTERFACE void QSset_reporter (QSprob prob, int skip, void *fct, void *dest)
QSLIB_INTERFACE int QStest_row_norms (QSdata *p)
QSLIB_INTERFACE char * QSversion (void)
QSLIB_INTERFACE int QSwrite_basis (QSdata *p, QSbasis *B, const char *filename)
QSLIB_INTERFACE int QSwrite_prob (QSdata *p, const char *filename, const char *filetype)
static int QSwrite_prob_EGioFile (QSdata *p, EGioFile_t *out, const char *filetype)
QSLIB_INTERFACE int QSwrite_prob_file (QSdata *p, FILE *out, const char *filetype)

Variables

static int TRACE = 0


Function Documentation

static void check_pointer ( void *  p,
const char *  fct,
const char *  param 
) [static]

Definition at line 3614 of file qsopt.c.

References NULL.

Referenced by QSerror_collector_new(), QSerror_get_desc(), QSerror_get_line(), QSerror_get_line_number(), QSerror_get_pos(), QSerror_get_type(), QSerror_memory_collector_new(), QSerror_memory_get_last_error(), QSerror_memory_get_nerrors(), QSerror_memory_get_nof(), QSerror_memory_get_prev_error(), QSerror_print(), QSline_reader_get(), QSline_reader_new(), QSline_reader_set_error_collector(), and QSset_reporter().

static int check_qsdata_pointer ( QSdata p  ) 

Definition at line 3570 of file qsopt.c.

References NULL.

Referenced by QSadd_col(), QSadd_cols(), QSadd_ranged_row(), QSadd_ranged_rows(), QSadd_row(), QSadd_rows(), QSchange_bound(), QSchange_bounds(), QSchange_coef(), QSchange_objcoef(), QSchange_objsense(), QSchange_range(), QSchange_rhscoef(), QSchange_sense(), QSchange_senses(), QScompute_row_norms(), QScopy_prob(), QSdelete_col(), QSdelete_cols(), QSdelete_named_column(), QSdelete_named_columns_list(), QSdelete_named_row(), QSdelete_named_rows_list(), QSdelete_row(), QSdelete_rows(), QSdelete_setcols(), QSdelete_setrows(), QSget_basis_and_row_norms_array(), QSget_basis_array(), QSget_basis_order(), QSget_binv_row(), QSget_bound(), QSget_bounds(), QSget_bounds_list(), QSget_coef(), QSget_colcount(), QSget_colnames(), QSget_column_index(), QSget_columns(), QSget_columns_list(), QSget_infeas_array(), QSget_intcount(), QSget_intflags(), QSget_itcnt(), QSget_named_pi(), QSget_named_rc(), QSget_named_slack(), QSget_named_x(), QSget_nzcount(), QSget_obj(), QSget_obj_list(), QSget_objname(), QSget_objsense(), QSget_objval(), QSget_param(), QSget_param_EGlpNum(), QSget_pi_array(), QSget_probname(), QSget_ranged_rows(), QSget_ranged_rows_list(), QSget_rc_array(), QSget_rhs(), QSget_row_index(), QSget_rowcount(), QSget_rownames(), QSget_rows(), QSget_rows_list(), QSget_senses(), QSget_slack_array(), QSget_solution(), QSget_status(), QSget_tableau_row(), QSget_x_array(), QSload_basis(), QSload_basis_and_row_norms_array(), QSload_basis_array(), QSnew_col(), QSnew_row(), QSopt_dual(), QSopt_pivotin_col(), QSopt_pivotin_row(), QSopt_primal(), QSopt_strongbranch(), QSread_and_load_basis(), QSread_basis(), QSset_param(), QSset_param_EGlpNum(), QSset_reporter(), QStest_row_norms(), and QSwrite_basis().

static int formatIsMps ( const char *  filetype,
int *  isMps 
) [static]

Definition at line 3584 of file qsopt.c.

References ILL_CLEANUP.

Referenced by QSreport_prob().

void free_cache ( QSdata p  ) 

Definition at line 2163 of file qsopt.c.

References qsdata::cache, ILL_IFFREE, ILLlp_cache_free(), QS_LP_MODIFIED, qsdata::qstatus, and ILLlp_cache::val.

Referenced by opt_work(), QSadd_col(), QSadd_cols(), QSadd_ranged_rows(), QSadd_rows(), QSchange_bound(), QSchange_bounds(), QSchange_coef(), QSchange_objcoef(), QSchange_objsense(), QSchange_range(), QSchange_rhscoef(), QSchange_senses(), QSdelete_cols(), QSdelete_rows(), QSnew_col(), QSnew_row(), and QSopt_strongbranch().

Here is the call graph for this function:

int grab_basis ( QSdata p  ) 

Definition at line 2025 of file qsopt.c.

References qsdata::basis, ILLlp_basis::colnorms, ILLlp_basis::cstat, price_info::dII_price, ILL_IFFREE, ILL_SAFE_MALLOC, ILLlib_getbasis(), ILLlib_getrownorms(), ILLlp_basis_free(), ILLlp_basis_init(), qsdata::lp, ILLlp_basis::nrows, ILLlpdata::nrows, ILLlp_basis::nstruct, ILLlpdata::nstruct, qsdata::pricing, QS_PRICE_DSTEEP, qsdata::qslp, ILLlp_basis::rownorms, and ILLlp_basis::rstat.

Referenced by opt_work(), QScompute_row_norms(), QSopt_pivotin_col(), and QSopt_pivotin_row().

Here is the call graph for this function:

int grab_cache ( QSdata p,
int  status 
)

Definition at line 2090 of file qsopt.c.

References qsdata::basis, qsdata::cache, ILLlp_basis::cstat, ILL_SAFE_MALLOC, ILLlib_cache_solution(), ILLlp_cache_alloc(), ILLlp_cache_free(), ILLlp_cache_init(), qsdata::lp, ILLlp_cache::nrows, ILLlpdata::nrows, ILLlp_cache::nstruct, ILLlpdata::nstruct, lpinfo::O, ILLlpdata::objsense, QS_COL_BSTAT_BASIC, QS_COL_BSTAT_LOWER, QS_COL_BSTAT_UPPER, qsdata::qslp, ILLlp_cache::rc, STAT_LOWER, STAT_UPPER, ILLlpdata::structmap, SZERO_TOLER, ILLlp_cache::val, VFIXED, lpinfo::vstat, and lpinfo::vtype.

Referenced by opt_work().

Here is the call graph for this function:

static int illbasis_to_qsbasis ( ILLlp_basis B,
QSbasis qB 
)

Definition at line 1961 of file qsopt.c.

References ILLlp_basis::cstat, qsbasis::cstat, ILL_SAFE_MALLOC, ILLlp_basis::nrows, qsbasis::nrows, ILLlp_basis::nstruct, qsbasis::nstruct, ILLlp_basis::rstat, and qsbasis::rstat.

Referenced by QSget_basis(), and QSread_basis().

static void init_basis ( QSbasis B  )  [static]

Definition at line 2350 of file qsopt.c.

References qsbasis::cstat, qsbasis::nrows, qsbasis::nstruct, and qsbasis::rstat.

Referenced by QSget_basis(), and QSread_basis().

static int opt_work ( QSdata p,
int *  status,
int  primal_or_dual 
) [static]

Definition at line 257 of file qsopt.c.

References __QS_SB_VERB, qsdata::basis, lpinfo::basisid, DUAL_SIMPLEX, qsdata::factorok, lpinfo::fbasisid, free_cache(), grab_basis(), grab_cache(), ILL_IFFREE, ILLlib_optimize(), ILLlp_basis_free(), ILLlp_scale(), ILLprice_free_pricing_info(), qsdata::itcnt, qsdata::lp, ILLlpdata::nrows, ILLlp_basis::nrows, ILLlpdata::nstruct, ILLlp_basis::nstruct, qsdata::pricing, PRIMAL_SIMPLEX, QS_LP_CHANGE_PREC, QS_LP_OPTIMAL, QS_LP_UNSOLVED, QScopy_prob(), QSfree_prob(), qsdata::qslp, qsdata::qstatus, qsdata::simplex_display, and qsdata::simplex_scaling.

Referenced by QSopt_dual(), and QSopt_primal().

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_col ( QSdata p,
int  cnt,
int *  cmatind,
EGlpNum_t *  cmatval,
EGlpNum_t  obj,
EGlpNum_t  lower,
EGlpNum_t  upper,
const char *  name 
)

Definition at line 906 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_addcol(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_cols ( QSdata p,
int  num,
int *  cmatcnt,
int *  cmatbeg,
int *  cmatind,
EGlpNum_t *  cmatval,
EGlpNum_t *  obj,
EGlpNum_t *  lower,
EGlpNum_t *  upper,
const char **  names 
)

Definition at line 877 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_addcols(), and qsdata::lp.

Referenced by add_col().

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_ranged_row ( QSdata p,
int  cnt,
int *  rmatind,
const EGlpNum_t *  rmatval,
const EGlpNum_t *  rhs,
int  sense,
const EGlpNum_t *  range,
const char *  name 
)

Definition at line 991 of file qsopt.c.

References check_qsdata_pointer(), and QSadd_ranged_rows().

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_ranged_rows ( QSdata p,
int  num,
int *  rmatcnt,
int *  rmatbeg,
int *  rmatind,
const EGlpNum_t *  rmatval,
const EGlpNum_t *  rhs,
char *  sense,
const EGlpNum_t *  range,
const char **  names 
)

Definition at line 954 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_addrows(), ILLlib_loadrownorms(), qsdata::lp, qsdata::pricing, and ILLlp_basis::rownorms.

Referenced by QSadd_ranged_row().

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_row ( QSdata p,
int  cnt,
int *  rmatind,
const EGlpNum_t *  rmatval,
const EGlpNum_t *  rhs,
int  sense,
const char *  name 
)

Definition at line 1060 of file qsopt.c.

References check_qsdata_pointer(), and QSadd_rows().

Here is the call graph for this function:

QSLIB_INTERFACE int QSadd_rows ( QSdata p,
int  num,
int *  rmatcnt,
int *  rmatbeg,
int *  rmatind,
const EGlpNum_t *  rmatval,
const EGlpNum_t *  rhs,
char *  sense,
const char **  names 
)

Definition at line 1024 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_addrows(), ILLlib_loadrownorms(), qsdata::lp, qsdata::pricing, and ILLlp_basis::rownorms.

Referenced by add_row(), and QSadd_row().

Here is the call graph for this function:

static int qsbasis_to_illbasis ( QSbasis qB,
ILLlp_basis B 
)

Definition at line 1988 of file qsopt.c.

References qsbasis::cstat, ILLlp_basis::cstat, ILL_CLEANUP, ILL_SAFE_MALLOC, qsbasis::nrows, ILLlp_basis::nrows, qsbasis::nstruct, ILLlp_basis::nstruct, QS_COL_BSTAT_BASIC, QS_ROW_BSTAT_BASIC, qsbasis::rstat, and ILLlp_basis::rstat.

Referenced by QSload_basis(), and QSwrite_basis().

QSLIB_INTERFACE int QSchange_bound ( QSdata p,
int  indx,
int  lu,
const EGlpNum_t  bound 
)

Definition at line 1563 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgbnd(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_bounds ( QSdata p,
int  num,
int *  collist,
char *  lu,
const EGlpNum_t *  bounds 
)

Definition at line 1541 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgbnds(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_coef ( QSdata p,
int  rowindex,
int  colindex,
EGlpNum_t  coef 
)

Definition at line 1480 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgcoef(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_objcoef ( QSdata p,
int  indx,
EGlpNum_t  coef 
)

Definition at line 1501 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgobj(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_objsense ( QSdata p,
int  newsense 
)

Definition at line 785 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLsimplex_set_bound(), qsdata::lobjlim, qsdata::lp, ILLlpdata::objsense, QS_MAX, QS_MIN, qsdata::qslp, and qsdata::uobjlim.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_range ( QSdata p,
int  rowindex,
EGlpNum_t  range 
)

Definition at line 1420 of file qsopt.c.

References check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_chgrange(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_rhscoef ( QSdata p,
int  indx,
EGlpNum_t  coef 
)

Definition at line 1521 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgrhs(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_sense ( QSdata p,
int  rowindex,
int  sense 
)

Definition at line 1441 of file qsopt.c.

References check_qsdata_pointer(), and QSchange_senses().

Here is the call graph for this function:

QSLIB_INTERFACE int QSchange_senses ( QSdata p,
int  num,
int *  rowlist,
char *  sense 
)

Definition at line 1399 of file qsopt.c.

References check_qsdata_pointer(), free_cache(), ILLlib_chgsense(), and qsdata::lp.

Referenced by QSchange_sense().

Here is the call graph for this function:

QSLIB_INTERFACE int QScompute_row_norms ( QSdata p  ) 

Definition at line 2262 of file qsopt.c.

References check_qsdata_pointer(), price_info::dII_price, grab_basis(), ILLlib_recompute_rownorms(), qsdata::lp, qsdata::pricing, and QS_PRICE_DSTEEP.

Here is the call graph for this function:

QSLIB_INTERFACE QSdata* QScopy_prob ( QSdata p,
const char *  newname 
)

Definition at line 687 of file qsopt.c.

References ILLlpdata::A, check_qsdata_pointer(), ILLlpdata::colnames, qsdata::factorok, price_info::h, price_info::htrigger, ILL_namebufsize, ILL_SAFE_MALLOC, ILL_UTIL_STR, ILLheap_init(), ILLlib_addcol(), ILLlib_newrows(), ILLlpdata::intmarker, ILLlpdata::lower, qsdata::lp, ILLmatrix::matbeg, ILLmatrix::matcnt, ILLmatrix::matind, ILLmatrix::matval, ILLlpdata::nrows, ILLlpdata::nstruct, ILLlpdata::obj, ILLlpdata::objname, ILLlpdata::objsense, qsdata::pricing, QScreate_prob(), qsdata::qslp, ILLlpdata::rangeval, ILLlpdata::rhs, ILLlpdata::rownames, ILLlpdata::sense, qsdata::simplex_display, qsdata::simplex_scaling, ILLlpdata::structmap, and ILLlpdata::upper.

Referenced by opt_work().

Here is the call graph for this function:

QSLIB_INTERFACE QSdata* QScreate_prob ( const char *  name,
int  objsense 
)

Definition at line 500 of file qsopt.c.

References qsdata::basis, pI_uinfo::c_obj, qsdata::cache, itcnt_t::dI_iter, price_info::dI_price, itcnt_t::dII_iter, price_info::dII_price, lpinfo::dinfeas, lpinfo::dobjval, pI_uinfo::dty, qsdata::factorok, price_info::htrigger, ILL_MAXDOUBLE, ILL_MINDOUBLE, ILL_SAFE_MALLOC, ILLlpdata_init(), ILLprice_init_pricing_info(), ILLsimplex_init_lpinfo(), ILLsimplex_load_lpinfo(), qsdata::itcnt, qsdata::lobjlim, qsdata::lp, qsdata::name, lpinfo::objbound, ILLlpdata::objsense, lpinfo::objval, itcnt_t::pI_iter, price_info::pI_price, itcnt_t::pII_iter, price_info::pII_price, lpinfo::pinfeas, pI_uinfo::piv, lpinfo::pobjval, qsdata::pricing, ILLlpdata::probname, QS_DEFAULT_PRICE_DI, QS_DEFAULT_PRICE_DII, QS_DEFAULT_PRICE_PI, QS_DEFAULT_PRICE_PII, QS_LP_UNSOLVED, QS_MAX, QSfree_prob(), qsdata::qslp, qsdata::qstatus, qsdata::simplex_display, qsdata::simplex_scaling, itcnt_t::tot_iter, pI_uinfo::tz, qsdata::uobjlim, and lpinfo::upd.

Referenced by ILLread(), QScopy_prob(), and QSload_prob().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_col ( QSdata p,
int  colindex 
)

Definition at line 1279 of file qsopt.c.

References check_qsdata_pointer(), and QSdelete_cols().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_cols ( QSdata p,
int  num,
int *  dellist 
)

Definition at line 1249 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILL_IFFREE, ILLlib_delcols(), ILLlp_basis_free(), and qsdata::lp.

Referenced by del_row_or_col(), QSdelete_col(), QSdelete_named_column(), QSdelete_named_columns_list(), and QSdelete_setcols().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_named_column ( QSdata p,
const char *  colname 
)

Definition at line 1342 of file qsopt.c.

References check_qsdata_pointer(), QSdelete_cols(), and QSget_column_index().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_named_columns_list ( QSdata p,
int  num,
const char **  colnames 
)

Definition at line 1365 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, QSdelete_cols(), and QSget_column_index().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_named_row ( QSdata p,
const char *  rowname 
)

Definition at line 1192 of file qsopt.c.

References check_qsdata_pointer(), QSdelete_rows(), and QSget_row_index().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_named_rows_list ( QSdata p,
int  num,
const char **  rownames 
)

Definition at line 1215 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, QSdelete_rows(), and QSget_row_index().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_row ( QSdata p,
int  rowindex 
)

Definition at line 1129 of file qsopt.c.

References check_qsdata_pointer(), and QSdelete_rows().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_rows ( QSdata p,
int  num,
int *  dellist 
)

Definition at line 1092 of file qsopt.c.

References qsdata::basis, qsdata::cache, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILL_IFFREE, ILLlib_delrows(), ILLlp_basis_free(), and qsdata::lp.

Referenced by del_row_or_col(), QSdelete_named_row(), QSdelete_named_rows_list(), QSdelete_row(), and QSdelete_setrows().

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_setcols ( QSdata p,
int *  flags 
)

Definition at line 1299 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlpdata::nstruct, QSdelete_cols(), and qsdata::qslp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSdelete_setrows ( QSdata p,
int *  flags 
)

Definition at line 1149 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlpdata::nrows, QSdelete_rows(), and qsdata::qslp.

Here is the call graph for this function:

QSLIB_INTERFACE void QSerror_collector_free ( QSerror_collector  c  ) 

Definition at line 3677 of file qsopt.c.

References ILLerror_collector_free().

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE QSerror_collector QSerror_collector_new ( void *  fct,
void *  dest 
)

Definition at line 3662 of file qsopt.c.

References check_pointer(), and ILLerror_collector_new().

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE const char* QSerror_get_desc ( QSformat_error  error  ) 

Definition at line 3824 of file qsopt.c.

References check_pointer(), and qsformat_error::desc.

Referenced by add_error(), and ILLformat_error_print().

Here is the call graph for this function:

QSLIB_INTERFACE const char* QSerror_get_line ( QSformat_error  error  ) 

Definition at line 3845 of file qsopt.c.

References check_pointer(), and qsformat_error::theLine.

Referenced by add_error(), and ILLformat_error_print().

Here is the call graph for this function:

QSLIB_INTERFACE int QSerror_get_line_number ( QSformat_error  error  ) 

Definition at line 3831 of file qsopt.c.

References check_pointer(), and qsformat_error::lineNumber.

Referenced by add_error(), and ILLformat_error_print().

Here is the call graph for this function:

QSLIB_INTERFACE int QSerror_get_pos ( QSformat_error  error  ) 

Definition at line 3838 of file qsopt.c.

References qsformat_error::at, and check_pointer().

Referenced by add_error().

Here is the call graph for this function:

QSLIB_INTERFACE int QSerror_get_type ( QSformat_error  error  ) 

Definition at line 3817 of file qsopt.c.

References check_pointer(), and qsformat_error::type.

Referenced by add_error().

Here is the call graph for this function:

QSLIB_INTERFACE QSerror_collector QSerror_memory_collector_new ( QSerror_memory  mem  ) 

Definition at line 3671 of file qsopt.c.

References check_pointer(), and ILLerror_memory_collector_new().

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE QSerror_memory QSerror_memory_create ( int  takeErrorLines  ) 

Definition at line 3869 of file qsopt.c.

References ILLerror_memory_create().

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE void QSerror_memory_free ( QSerror_memory  mem  ) 

Definition at line 3875 of file qsopt.c.

References ILLerror_memory_free(), and NULL.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE QSformat_error QSerror_memory_get_last_error ( QSerror_memory  mem  ) 

Definition at line 3907 of file qsopt.c.

References check_pointer(), and qserror_memory::error_list.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSerror_memory_get_nerrors ( QSerror_memory  mem  ) 

Definition at line 3884 of file qsopt.c.

References check_pointer(), and qserror_memory::nerror.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSerror_memory_get_nof ( QSerror_memory  mem,
int  type 
)

Definition at line 3891 of file qsopt.c.

References check_pointer(), qserror_memory::has_error, ILL_REPRT, and QS_INPUT_NERROR.

Here is the call graph for this function:

QSLIB_INTERFACE QSformat_error QSerror_memory_get_prev_error ( QSformat_error  e  ) 

Definition at line 3914 of file qsopt.c.

References check_pointer(), qsformat_error::next, and NULL.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE void QSerror_print ( FILE *  f,
QSformat_error  error 
)

Definition at line 3852 of file qsopt.c.

References check_pointer(), ILLformat_error_print(), and NULL.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE const char* QSformat_error_type_string ( int  tp  ) 

Definition at line 3785 of file qsopt.c.

References QS_DATA_ERROR, QS_DATA_WARN, QS_LP_FORMAT_ERROR, QS_LP_FORMAT_WARN, QS_MPS_FORMAT_ERROR, and QS_MPS_FORMAT_WARN.

Referenced by add_error(), and ILLformat_error_print().

QSLIB_INTERFACE void QSfree ( void *  ptr  ) 

Definition at line 3339 of file qsopt.c.

References ILL_IFFREE.

Referenced by solver_main(), and usage().

QSLIB_INTERFACE void QSfree_basis ( QSbasis B  ) 

Definition at line 2338 of file qsopt.c.

References qsbasis::cstat, ILL_IFFREE, and qsbasis::rstat.

Referenced by QSget_basis(), and QSread_basis().

QSLIB_INTERFACE void QSfree_prob ( QSdata p  ) 

Definition at line 2288 of file qsopt.c.

References qsdata::basis, pI_uinfo::c_obj, qsdata::cache, lpinfo::dinfeas, lpinfo::dobjval, pI_uinfo::dty, price_info::htrigger, ILL_IFFREE, ILLlp_basis_free(), ILLlp_cache_free(), ILLlpdata_free(), ILLprice_free_pricing_info(), ILLsimplex_free_lpinfo(), qsdata::lobjlim, qsdata::lp, qsdata::name, lpinfo::objbound, lpinfo::objval, lpinfo::pinfeas, pI_uinfo::piv, lpinfo::pobjval, qsdata::pricing, qsdata::qslp, pI_uinfo::tz, qsdata::uobjlim, lpinfo::upd, and ILLlp_cache::val.

Referenced by ILLread(), opt_work(), QScreate_prob(), QSget_prob(), QSload_prob(), reader_main(), and solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE QSbasis* QSget_basis ( QSdata p  ) 

Definition at line 1861 of file qsopt.c.

References qsdata::basis, ILL_SAFE_MALLOC, illbasis_to_qsbasis(), init_basis(), and QSfree_basis().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_basis_and_row_norms_array ( QSdata p,
char *  cstat,
char *  rstat,
EGlpNum_t *  rownorms 
)

Definition at line 1918 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), ILLlp_basis::cstat, ILLlp_basis::nrows, ILLlp_basis::nstruct, ILLlp_basis::rownorms, and ILLlp_basis::rstat.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_basis_array ( QSdata p,
char *  cstat,
char *  rstat 
)

Definition at line 1890 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), ILLlp_basis::cstat, ILLlp_basis::nrows, ILLlp_basis::nstruct, and ILLlp_basis::rstat.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_basis_order ( QSdata p,
int *  basorder 
)

Definition at line 2238 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_basis_order(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_binv_row ( QSdata p,
int  indx,
EGlpNum_t *  binvrow 
)

Definition at line 2175 of file qsopt.c.

References qsdata::basis, qsdata::cache, check_qsdata_pointer(), ILLlib_tableau(), qsdata::lp, and QSget_rowcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_bound ( QSdata p,
int  colindex,
int  lu,
EGlpNum_t *  bound 
)

Definition at line 3123 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getbnd(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_bounds ( QSdata p,
EGlpNum_t *  lower,
EGlpNum_t *  upper 
)

Definition at line 3162 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getbnds(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_bounds_list ( QSdata p,
int  num,
int *  collist,
EGlpNum_t *  lb,
EGlpNum_t *  ub 
)

Definition at line 3142 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getbnds_list(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_coef ( QSdata p,
int  rowindex,
int  colindex,
EGlpNum_t *  coef 
)

Definition at line 1464 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getcoef(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_colcount ( QSdata p  ) 

Definition at line 2691 of file qsopt.c.

References check_qsdata_pointer().

Referenced by QSget_columns(), QSget_columns_list(), QSget_intcount(), and reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_colnames ( QSdata p,
char **  colnames 
)

Definition at line 3106 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_colnames(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_column_index ( QSdata p,
const char *  name,
int *  colindex 
)

Definition at line 3239 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_colindex(), and qsdata::lp.

Referenced by QSdelete_named_column(), QSdelete_named_columns_list(), QSget_named_rc(), and QSget_named_x().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_columns ( QSdata p,
int **  colcnt,
int **  colbeg,
int **  colind,
EGlpNum_t **  colval,
EGlpNum_t **  obj,
EGlpNum_t **  lower,
EGlpNum_t **  upper,
char ***  names 
)

Definition at line 3017 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlib_getcols(), qsdata::lp, and QSget_colcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_columns_list ( QSdata p,
int  num,
int *  collist,
int **  colcnt,
int **  colbeg,
int **  colind,
EGlpNum_t **  colval,
EGlpNum_t **  obj,
EGlpNum_t **  lower,
EGlpNum_t **  upper,
char ***  names 
)

Definition at line 2978 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getcols(), qsdata::lp, and QSget_colcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_infeas_array ( QSdata p,
EGlpNum_t *  pi 
)

Definition at line 2529 of file qsopt.c.

References check_qsdata_pointer(), ILL_ERROR, ILLsimplex_infcertificate(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_intcount ( QSdata p,
int *  count 
)

Definition at line 3203 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlib_getintflags(), qsdata::lp, and QSget_colcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_intflags ( QSdata p,
int *  intflags 
)

Definition at line 3180 of file qsopt.c.

References check_qsdata_pointer(), ILL_CLEANUP, ILLlib_getintflags(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_itcnt ( QSdata p,
int *  pI_iter,
int *  pII_iter,
int *  dI_iter,
int *  dII_iter,
int *  tot_iter 
)

Definition at line 815 of file qsopt.c.

References check_qsdata_pointer(), itcnt_t::dI_iter, itcnt_t::dII_iter, qsdata::itcnt, itcnt_t::pI_iter, itcnt_t::pII_iter, and itcnt_t::tot_iter.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_named_pi ( QSdata p,
const char *  rowname,
EGlpNum_t *  val 
)

Definition at line 2621 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlp_cache::pi, and QSget_row_index().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_named_rc ( QSdata p,
const char *  colname,
EGlpNum_t *  val 
)

Definition at line 2586 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), QSget_column_index(), and ILLlp_cache::rc.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_named_slack ( QSdata p,
const char *  rowname,
EGlpNum_t *  val 
)

Definition at line 2656 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), QSget_row_index(), and ILLlp_cache::slack.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_named_x ( QSdata p,
const char *  colname,
EGlpNum_t *  val 
)

Definition at line 2551 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), QSget_column_index(), and ILLlp_cache::x.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_nzcount ( QSdata p  ) 

Definition at line 2717 of file qsopt.c.

References check_qsdata_pointer().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_obj ( QSdata p,
EGlpNum_t *  obj 
)

Definition at line 2769 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getobj(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_obj_list ( QSprob  p,
int  num,
int *  collist,
EGlpNum_t *  obj 
)

Definition at line 2754 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getobj_list(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE char* QSget_objname ( QSdata p  ) 

Definition at line 3071 of file qsopt.c.

References check_qsdata_pointer(), ILL_RETURN_PTR, ILL_UTIL_STR, ILLlpdata::objname, and qsdata::qslp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_objsense ( QSdata p,
int *  objsense 
)

Definition at line 837 of file qsopt.c.

References check_qsdata_pointer(), ILLlpdata::objsense, and qsdata::qslp.

Referenced by QSset_param_EGlpNum().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_objval ( QSdata p,
EGlpNum_t *  value 
)

Definition at line 2407 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILL_CLEANUP, ILLlib_objval(), qsdata::lp, QS_LP_MODIFIED, and qsdata::qstatus.

Referenced by ILLeditor_solve().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_param ( QSdata p,
int  whichparam,
int *  value 
)

Definition at line 3486 of file qsopt.c.

References check_qsdata_pointer(), price_info::dII_price, qsdata::lp, lpinfo::maxiter, price_info::pII_price, qsdata::pricing, QS_PARAM_DUAL_PRICING, QS_PARAM_PRIMAL_PRICING, QS_PARAM_SIMPLEX_DISPLAY, QS_PARAM_SIMPLEX_MAX_ITERATIONS, QS_PARAM_SIMPLEX_SCALING, qsdata::simplex_display, and qsdata::simplex_scaling.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_param_EGlpNum ( QSdata p,
int  whichparam,
EGlpNum_t *  value 
)

Definition at line 3531 of file qsopt.c.

References check_qsdata_pointer(), qsdata::lobjlim, qsdata::lp, lpinfo::maxtime, QS_PARAM_OBJLLIM, QS_PARAM_OBJULIM, QS_PARAM_SIMPLEX_MAX_TIME, and qsdata::uobjlim.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_pi_array ( QSdata p,
EGlpNum_t *  pi 
)

Definition at line 2505 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_solution(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE QSdata* QSget_prob ( QSline_reader  reader,
const char *  probname,
const char *  filetype 
)

Definition at line 3683 of file qsopt.c.

References ILL_CHECKnull, ILL_CLEANUP, ILL_FAILfalse, ILL_IFFREE, ILL_UTIL_STR, ILLread(), ILLsimplex_load_lpinfo(), qsdata::lp, qsdata::name, NULL, ILLlpdata::probname, QSfree_prob(), and qsdata::qslp.

Referenced by QSread_prob(), and reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE char* QSget_probname ( QSdata p  ) 

Definition at line 3056 of file qsopt.c.

References check_qsdata_pointer(), ILL_RETURN_PTR, ILL_UTIL_STR, and qsdata::name.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_ranged_rows ( QSdata p,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
EGlpNum_t **  rowval,
EGlpNum_t **  rhs,
char **  sense,
EGlpNum_t **  range,
char ***  names 
)

Definition at line 2843 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlib_getrows(), qsdata::lp, and QSget_rowcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_ranged_rows_list ( QSdata p,
int  num,
int *  rowlist,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
EGlpNum_t **  rowval,
EGlpNum_t **  rhs,
char **  sense,
EGlpNum_t **  range,
char ***  names 
)

Definition at line 2803 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getrows(), qsdata::lp, and QSget_rowcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rc_array ( QSdata p,
EGlpNum_t *  rc 
)

Definition at line 2481 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_solution(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rhs ( QSdata p,
EGlpNum_t *  rhs 
)

Definition at line 2786 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getrhs(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_row_index ( QSdata p,
const char *  name,
int *  rowindex 
)

Definition at line 3259 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_rowindex(), and qsdata::lp.

Referenced by QSdelete_named_row(), QSdelete_named_rows_list(), QSget_named_pi(), and QSget_named_slack().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rowcount ( QSdata p  ) 

Definition at line 2704 of file qsopt.c.

References check_qsdata_pointer().

Referenced by QSget_binv_row(), QSget_ranged_rows(), QSget_ranged_rows_list(), QSget_rows(), QSget_rows_list(), and reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rownames ( QSdata p,
char **  rownames 
)

Definition at line 3089 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_rownames(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rows ( QSdata p,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
EGlpNum_t **  rowval,
EGlpNum_t **  rhs,
char **  sense,
char ***  names 
)

Definition at line 2940 of file qsopt.c.

References check_qsdata_pointer(), ILL_IFFREE, ILL_SAFE_MALLOC, ILLlib_getrows(), qsdata::lp, and QSget_rowcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_rows_list ( QSdata p,
int  num,
int *  rowlist,
int **  rowcnt,
int **  rowbeg,
int **  rowind,
EGlpNum_t **  rowval,
EGlpNum_t **  rhs,
char **  sense,
char ***  names 
)

Definition at line 2901 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getrows(), qsdata::lp, and QSget_rowcount().

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_senses ( QSdata p,
char *  senses 
)

Definition at line 2882 of file qsopt.c.

References check_qsdata_pointer(), ILLlib_getsenses(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_slack_array ( QSdata p,
EGlpNum_t *  slack 
)

Definition at line 2457 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_get_slack(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_solution ( QSdata p,
EGlpNum_t *  value,
EGlpNum_t *  x,
EGlpNum_t *  pi,
EGlpNum_t *  slack,
EGlpNum_t *  rc 
)

Definition at line 2379 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_solution(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_status ( QSdata p,
int *  status 
)

Definition at line 2362 of file qsopt.c.

References check_qsdata_pointer(), and qsdata::qstatus.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_tableau_row ( QSdata p,
int  indx,
EGlpNum_t *  tableaurow 
)

Definition at line 2213 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_tableau(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSget_x_array ( QSdata p,
EGlpNum_t *  x 
)

Definition at line 2433 of file qsopt.c.

References qsdata::cache, check_qsdata_pointer(), ILLlib_get_x(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE void QSline_reader_free ( QSline_reader  reader  ) 

Definition at line 3645 of file qsopt.c.

References ILLline_reader_free().

Referenced by QSread_prob(), and reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE char* QSline_reader_get ( QSline_reader  reader,
char *  s,
int  size 
)

Definition at line 3651 of file qsopt.c.

References check_pointer(), and ILLline_reader_get.

Here is the call graph for this function:

QSLIB_INTERFACE QSline_reader QSline_reader_new ( void *  fct,
void *  data_src 
)

Definition at line 3627 of file qsopt.c.

References check_pointer(), and ILLline_reader_new().

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE void QSline_reader_set_error_collector ( QSline_reader  reader,
QSerror_collector  collector 
)

Definition at line 3636 of file qsopt.c.

References check_pointer(), and qsline_reader::error_collector.

Referenced by reader_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSload_basis ( QSdata p,
QSbasis B 
)

Definition at line 1665 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, ILL_SAFE_MALLOC, ILLlp_basis_free(), ILLlp_basis_init(), ILLlpdata::nrows, qsbasis::nrows, ILLlpdata::nstruct, qsbasis::nstruct, qsbasis_to_illbasis(), and qsdata::qslp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSload_basis_and_row_norms_array ( QSdata p,
char *  cstat,
char *  rstat,
EGlpNum_t *  rownorms 
)

Definition at line 1791 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, ILLlpdata::nrows, QSload_basis_array(), qsdata::qslp, and ILLlp_basis::rownorms.

Here is the call graph for this function:

QSLIB_INTERFACE int QSload_basis_array ( QSdata p,
char *  cstat,
char *  rstat 
)

Definition at line 1728 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), ILLlp_basis::cstat, qsdata::factorok, ILL_SAFE_MALLOC, ILLlp_basis_free(), ILLlp_basis_init(), ILLlp_basis::nrows, ILLlpdata::nrows, ILLlp_basis::nstruct, ILLlpdata::nstruct, qsdata::qslp, and ILLlp_basis::rstat.

Referenced by QSload_basis_and_row_norms_array().

Here is the call graph for this function:

QSLIB_INTERFACE QSdata* QSload_prob ( const char *  probname,
int  ncols,
int  nrows,
int *  cmatcnt,
int *  cmatbeg,
int *  cmatind,
EGlpNum_t *  cmatval,
int  objsense,
EGlpNum_t *  obj,
EGlpNum_t *  rhs,
char *  sense,
EGlpNum_t *  lower,
EGlpNum_t *  upper,
const char **  colnames,
const char **  rownames 
)

Definition at line 643 of file qsopt.c.

References qsdata::factorok, ILLlib_addcols(), ILLlib_newrows(), qsdata::lp, QScreate_prob(), and QSfree_prob().

Here is the call graph for this function:

QSLIB_INTERFACE int QSnew_col ( QSdata p,
const EGlpNum_t  obj,
const EGlpNum_t  lower,
const EGlpNum_t  upper,
const char *  name 
)

Definition at line 855 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_newcol(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSnew_row ( QSdata p,
const EGlpNum_t  rhs,
int  sense,
const char *  name 
)

Definition at line 932 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_newrow(), and qsdata::lp.

Here is the call graph for this function:

QSLIB_INTERFACE int QSopt_dual ( QSdata p,
int *  status 
)

Definition at line 224 of file qsopt.c.

References __QS_SB_VERB, qsdata::basis, qsdata::cache, check_qsdata_pointer(), qsdata::factorok, opt_work(), QS_LP_CHANGE_PREC, QS_LP_UNSOLVED, and ILLlp_cache::status.

Referenced by ILLeditor_solve().

Here is the call graph for this function:

QSLIB_INTERFACE int QSopt_pivotin_col ( QSdata p,
int  ccnt,
int *  clist 
)

Definition at line 436 of file qsopt.c.

References check_qsdata_pointer(), grab_basis(), ILL_ERROR, ILLsimplex_pivotin(), qsdata::lp, qsdata::pricing, and SIMPLEX_PIVOTINCOL.

Here is the call graph for this function:

QSLIB_INTERFACE int QSopt_pivotin_row ( QSdata p,
int  rcnt,
int *  rlist 
)

Definition at line 408 of file qsopt.c.

References check_qsdata_pointer(), grab_basis(), ILL_ERROR, ILLsimplex_pivotin(), qsdata::lp, qsdata::pricing, and SIMPLEX_PIVOTINROW.

Here is the call graph for this function:

QSLIB_INTERFACE int QSopt_primal ( QSdata p,
int *  status 
)

Definition at line 194 of file qsopt.c.

References qsdata::basis, qsdata::cache, check_qsdata_pointer(), opt_work(), QS_LP_UNSOLVED, and ILLlp_cache::status.

Referenced by ILLeditor_solve().

Here is the call graph for this function:

QSLIB_INTERFACE int QSopt_strongbranch ( QSdata p,
int  ncand,
int *  candidatelist,
EGlpNum_t *  xlist,
EGlpNum_t *  down_vals,
EGlpNum_t *  up_vals,
int  iterations,
EGlpNum_t  objbound 
)

Definition at line 465 of file qsopt.c.

References check_qsdata_pointer(), qsdata::factorok, free_cache(), ILLlib_strongbranch(), qsdata::itcnt, qsdata::lp, qsdata::pricing, QS_LP_UNSOLVED, and qsdata::qstatus.

Here is the call graph for this function:

QSLIB_INTERFACE int QSread_and_load_basis ( QSdata p,
const char *  filename 
)

Definition at line 1701 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), ILL_SAFE_MALLOC, ILLlib_readbasis(), ILLlp_basis_free(), ILLlp_basis_init(), and qsdata::lp.

Referenced by solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE QSbasis* QSread_basis ( QSdata p,
const char *  filename 
)

Definition at line 1631 of file qsopt.c.

References check_qsdata_pointer(), ILL_NEW, illbasis_to_qsbasis(), ILLlib_readbasis(), ILLlp_basis_free(), ILLlp_basis_init(), init_basis(), qsdata::lp, and QSfree_basis().

Here is the call graph for this function:

QSLIB_INTERFACE QSdata* QSread_prob ( const char *  filename,
const char *  filetype 
)

Definition at line 615 of file qsopt.c.

References ILLline_reader_new(), NULL, QSget_prob(), and QSline_reader_free().

Referenced by reader_main(), and solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSreport_prob ( QSdata p,
const char *  filetype,
qserror_collector c 
)

Definition at line 3726 of file qsopt.c.

References formatIsMps(), ILLwrite_lp(), ILLwrite_mps(), and qsdata::qslp.

Referenced by QSwrite_prob_EGioFile().

Here is the call graph for this function:

QSLIB_INTERFACE int QSset_param ( QSdata p,
int  whichparam,
int  newvalue 
)

Definition at line 3345 of file qsopt.c.

References check_qsdata_pointer(), price_info::dI_price, price_info::dII_price, qsdata::lp, lpinfo::maxiter, price_info::pI_price, price_info::pII_price, qsdata::pricing, QS_PARAM_DUAL_PRICING, QS_PARAM_PRIMAL_PRICING, QS_PARAM_SIMPLEX_DISPLAY, QS_PARAM_SIMPLEX_MAX_ITERATIONS, QS_PARAM_SIMPLEX_SCALING, QS_PRICE_DDANTZIG, QS_PRICE_DDEVEX, QS_PRICE_DMULTPARTIAL, QS_PRICE_DSTEEP, QS_PRICE_PDANTZIG, QS_PRICE_PDEVEX, QS_PRICE_PMULTPARTIAL, QS_PRICE_PSTEEP, qsdata::simplex_display, and qsdata::simplex_scaling.

Referenced by solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSset_param_EGlpNum ( QSdata p,
int  whichparam,
EGlpNum_t  newvalue 
)

Definition at line 3434 of file qsopt.c.

References check_qsdata_pointer(), ILL_MAXDOUBLE, ILL_MINDOUBLE, ILLsimplex_set_bound(), qsdata::lobjlim, qsdata::lp, lpinfo::maxtime, QS_MAX, QS_MIN, QS_PARAM_OBJLLIM, QS_PARAM_OBJULIM, QS_PARAM_SIMPLEX_MAX_TIME, QSget_objsense(), and qsdata::uobjlim.

Here is the call graph for this function:

void QSset_precision ( const unsigned  prec  ) 

Definition at line 173 of file qsopt.c.

References ILLchange_precision().

Referenced by solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE void QSset_reporter ( QSprob  prob,
int  skip,
void *  fct,
void *  dest 
)

Definition at line 3762 of file qsopt.c.

References check_pointer(), check_qsdata_pointer(), ILL_FAILtrue, ILLstring_reporter_init(), lpinfo::iterskip, qsdata::lp, NULL, qsdata::qslp, and ILLlpdata::reporter.

Referenced by solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QStest_row_norms ( QSdata p  ) 

Definition at line 2730 of file qsopt.c.

References check_qsdata_pointer().

Here is the call graph for this function:

QSLIB_INTERFACE char* QSversion ( void   ) 

Definition at line 3747 of file qsopt.c.

References PACKAGE_STRING.

Referenced by solver_main(), and usage().

QSLIB_INTERFACE int QSwrite_basis ( QSdata p,
QSbasis B,
const char *  filename 
)

Definition at line 1821 of file qsopt.c.

References qsdata::basis, check_qsdata_pointer(), ILLlib_writebasis(), ILLlp_basis_free(), ILLlp_basis_init(), qsdata::lp, and qsbasis_to_illbasis().

Referenced by solver_main().

Here is the call graph for this function:

QSLIB_INTERFACE int QSwrite_prob ( QSdata p,
const char *  filename,
const char *  filetype 
)

Definition at line 3295 of file qsopt.c.

References ILL_CHECKnull, NULL, and QSwrite_prob_EGioFile().

Referenced by ILLeditor(), and reader_main().

Here is the call graph for this function:

static int QSwrite_prob_EGioFile ( QSdata p,
EGioFile_t *  out,
const char *  filetype 
) [static]

Definition at line 3279 of file qsopt.c.

References ILL_RESULT, ILLstring_reporter_copy(), ILLstring_reporter_init(), NULL, qsdata::qslp, QSreport_prob(), and ILLlpdata::reporter.

Referenced by QSwrite_prob(), and QSwrite_prob_file().

Here is the call graph for this function:

QSLIB_INTERFACE int QSwrite_prob_file ( QSdata p,
FILE *  out,
const char *  filetype 
)

Definition at line 3325 of file qsopt.c.

References QSwrite_prob_EGioFile().

Referenced by ILLeditor().

Here is the call graph for this function:


Variable Documentation

int TRACE = 0 [static]

Definition at line 24 of file qsopt.c.


Generated on Thu Mar 29 09:46:26 2012 for QSopt_ex by  doxygen 1.4.7