10 #define QSLIB_INTERFACE __declspec(dllexport) 12 #define QSLIB_INTERFACE __declspec(dllimport) 16 #define QSLIB_INTERFACE extern 43 #define QS_PARAM_PRIMAL_PRICING 0 44 #define QS_PARAM_DUAL_PRICING 2 45 #define QS_PARAM_SIMPLEX_DISPLAY 4 46 #define QS_PARAM_SIMPLEX_MAX_ITERATIONS 5 47 #define QS_PARAM_SIMPLEX_MAX_TIME 6 48 #define QS_PARAM_SIMPLEX_SCALING 7 57 #define QS_PRICE_PDANTZIG 1 58 #define QS_PRICE_PDEVEX 2 59 #define QS_PRICE_PSTEEP 3 60 #define QS_PRICE_PMULTPARTIAL 4 62 #define QS_PRICE_DDANTZIG 6 63 #define QS_PRICE_DSTEEP 7 64 #define QS_PRICE_DMULTPARTIAL 8 65 #define QS_PRICE_DDEVEX 9 75 #define QS_COL_BSTAT_LOWER '0' 76 #define QS_COL_BSTAT_BASIC '1' 77 #define QS_COL_BSTAT_UPPER '2' 78 #define QS_COL_BSTAT_FREE '3' 80 #define QS_ROW_BSTAT_LOWER '0' 81 #define QS_ROW_BSTAT_BASIC '1' 82 #define QS_ROW_BSTAT_UPPER '2' 91 #define QS_LP_OPTIMAL 1 92 #define QS_LP_INFEASIBLE 2 93 #define QS_LP_UNBOUNDED 3 94 #define QS_LP_ITER_LIMIT 4 95 #define QS_LP_TIME_LIMIT 5 96 #define QS_LP_UNSOLVED 6 97 #define QS_LP_ABORTED 7 98 #define QS_LP_MODIFIED 100 116 #define QS_MAXDOUBLE (1e30) 148 double *xlist,
double *down_vals,
double *up_vals,
int iterations,
155 double *cmatval,
double *obj,
double *lower,
double *upper,
157 QSadd_col (
QSprob p,
int cnt,
int *cmatind,
double *cmatval,
double obj,
158 double lower,
double upper,
const char *name),
161 int *rmatind,
double *rmatval,
double *rhs,
char *sense,
163 QSadd_row (
QSprob p,
int cnt,
int *rmatind,
double *rmatval,
double rhs,
164 char sense,
const char *name),
196 double *slack,
double *rc),
209 int **rowbeg,
int **rowind,
double **rowval,
double **rhs,
210 char **sense,
char ***names),
212 double **rowval,
double **rhs,
char **sense,
char ***names),
214 int **colbeg,
int **colind,
double **colval,
double **obj,
215 double **lower,
double **upper,
char ***names),
217 double **colval,
double **obj,
double **lower,
double **upper,
247 QSread_prob (
const char *filename,
const char *filetype),
248 QSload_prob (
const char *probname,
int ncols,
int nrows,
249 int *cmatcnt,
int *cmatbeg,
int *cmatind,
double *cmatval,
250 int objsense,
double *obj,
double *rhs,
char *sense,
251 double *lower,
double *upper,
const char **colnames,
252 const char **rownames),
299 #define QS_DATA_ERROR 0 300 #define QS_DATA_WARN 1 301 #define QS_MPS_FORMAT_ERROR 2 302 #define QS_MPS_FORMAT_WARN 3 303 #define QS_LP_FORMAT_ERROR 4 304 #define QS_LP_FORMAT_WARN 5 305 #define QS_INPUT_NERROR 8 342 const char* probname,
const char *filetype);
QSLIB_INTERFACE QSformat_error QSerror_memory_get_prev_error(QSformat_error e)
QSLIB_INTERFACE QSerror_collector QSerror_memory_collector_new(QSerror_memory mem)
QSLIB_INTERFACE void QSfree_basis(QSbas B)
QSLIB_INTERFACE const char * QSerror_get_desc(QSformat_error error)
QSLIB_INTERFACE QSformat_error QSerror_memory_get_last_error(QSerror_memory mem)
QSLIB_INTERFACE int QSerror_get_line_number(QSformat_error error)
QSLIB_INTERFACE int QScompute_row_norms(QSprob p)
QSLIB_INTERFACE int QSget_column_index(QSprob p, const char *name, int *colindex)
QSLIB_INTERFACE void QSline_reader_free(QSline_reader reader)
QSLIB_INTERFACE char * QSline_reader_get(QSline_reader reader, char *s, int size)
QSLIB_INTERFACE int QSget_bound(QSprob p, int colindex, char lu, double *bound)
QSLIB_INTERFACE int QSerror_memory_get_nof(QSerror_memory mem, int error_type)
struct qserror_collector * QSerror_collector
QSLIB_INTERFACE int QSerror_get_pos(QSformat_error error)
QSLIB_INTERFACE int QSget_named_pi(QSprob p, const char *rowname, double *val)
QSLIB_INTERFACE int QSdelete_setrows(QSprob p, int *flags)
QSLIB_INTERFACE char * QSget_objname(QSprob p)
QSLIB_INTERFACE int QSdelete_named_column(QSprob p, const char *colname)
QSLIB_INTERFACE int QSdelete_named_row(QSprob p, const char *rowname)
QSLIB_INTERFACE int QSget_intflags(QSprob p, int *intflags)
QSLIB_INTERFACE int QSload_basis(QSprob p, QSbas B)
QSLIB_INTERFACE int QSchange_coef(QSprob p, int rowindex, int colindex, double coef)
struct qserror_memory * QSerror_memory
QSLIB_INTERFACE int QSget_x_array(QSprob p, double *x)
QSLIB_INTERFACE int QSopt_pivotin_row(QSprob p, int rcnt, int *rlist)
QSLIB_INTERFACE char * QSversion(void)
QSLIB_INTERFACE int QSget_colcount(QSprob p)
QSLIB_INTERFACE int QSget_rows(QSprob p, int **rowcnt, int **rowbeg, int **rowind, double **rowval, double **rhs, char **sense, char ***names)
QSLIB_INTERFACE QSprob QScreate_prob(const char *name, int objsense)
QSLIB_INTERFACE int QSopt_primal(QSprob p, int *status)
QSLIB_INTERFACE int QSerror_memory_get_nerrors(QSerror_memory mem)
QSLIB_INTERFACE void QSerror_collector_free(QSerror_collector c)
QSLIB_INTERFACE QSprob QScopy_prob(QSprob p, const char *newname)
QSLIB_INTERFACE int QSget_named_rc(QSprob p, const char *colname, double *val)
QSLIB_INTERFACE int QSchange_rhscoef(QSprob p, int indx, double coef)
struct qsformat_error * QSformat_error
QSLIB_INTERFACE void QSerror_memory_free(QSerror_memory mem)
QSLIB_INTERFACE void QSset_reporter(QSprob prob, int iterskip, void *fct, void *dest)
QSLIB_INTERFACE int QSget_status(QSprob p, int *status)
QSLIB_INTERFACE int QSerror_get_type(QSformat_error error)
QSLIB_INTERFACE int QSopt_strongbranch(QSprob p, int ncand, int *candidatelist, double *xlist, double *down_vals, double *up_vals, int iterations, double objbound)
QSLIB_INTERFACE int QSget_rownames(QSprob p, char **rownames)
QSLIB_INTERFACE int QSget_param_double(QSprob p, int whichparam, double *value)
QSLIB_INTERFACE int QSget_rhs(QSprob p, double *rhs)
QSLIB_INTERFACE int QSopt_pivotin_col(QSprob p, int ccnt, int *clist)
QSLIB_INTERFACE int QSget_tableau_row(QSprob p, int indx, double *tableaurow)
QSLIB_INTERFACE int QSget_named_slack(QSprob p, const char *rowname, double *val)
QSLIB_INTERFACE int QSadd_row(QSprob p, int cnt, int *rmatind, double *rmatval, double rhs, char sense, const char *name)
QSLIB_INTERFACE const char * QSerror_get_line(QSformat_error error)
QSLIB_INTERFACE int QSget_bounds(QSprob p, double *lower, double *upper)
QSLIB_INTERFACE int QSget_row_index(QSprob p, const char *name, int *rowindex)
QSLIB_INTERFACE int QSreport_prob(QSprob p, const char *filetype, QSerror_collector c)
QSLIB_INTERFACE int QSwrite_prob_file(QSprob p, FILE *file, const char *filetype)
QSLIB_INTERFACE QSprob QSget_prob(QSline_reader reader, const char *probname, const char *filetype)
QSLIB_INTERFACE QSline_reader QSline_reader_new(void *fct, void *data_src)
QSLIB_INTERFACE void QSerror_print(FILE *f, QSformat_error error)
struct qsline_reader * QSline_reader
QSLIB_INTERFACE int QSget_columns_list(QSprob p, int num, int *collist, int **colcnt, int **colbeg, int **colind, double **colval, double **obj, double **lower, double **upper, char ***names)
QSLIB_INTERFACE int QSget_binv_row(QSprob p, int indx, double *binvrow)
QSLIB_INTERFACE int QSget_solution(QSprob p, double *value, double *x, double *pi, double *slack, double *rc)
QSLIB_INTERFACE int QSnew_row(QSprob p, double rhs, char sense, const char *name)
QSLIB_INTERFACE int QSget_slack_array(QSprob p, double *slack)
QSLIB_INTERFACE int QSget_rows_list(QSprob p, int num, int *rowlist, int **rowcnt, int **rowbeg, int **rowind, double **rowval, double **rhs, char **sense, char ***names)
QSLIB_INTERFACE int QSdelete_col(QSprob p, int colindex)
QSLIB_INTERFACE int QSget_colnames(QSprob p, char **colnames)
QSLIB_INTERFACE int QSget_basis_order(QSprob p, int *basorder)
QSLIB_INTERFACE int QSdelete_named_columns_list(QSprob p, int num, const char **colnames)
QSLIB_INTERFACE int QSget_columns(QSprob p, int **colcnt, int **colbeg, int **colind, double **colval, double **obj, double **lower, double **upper, char ***names)
QSLIB_INTERFACE int QSget_named_x(QSprob p, const char *colname, double *val)
QSLIB_INTERFACE int QSget_pi_array(QSprob p, double *pi)
QSLIB_INTERFACE int QSget_basis_and_row_norms_array(QSprob p, char *cstat, char *rstat, double *rownorms)
QSLIB_INTERFACE int QSadd_rows(QSprob p, int num, int *rmatcnt, int *rmatbeg, int *rmatind, double *rmatval, double *rhs, char *sense, const char **names)
QSLIB_INTERFACE void QSline_reader_set_error_collector(QSline_reader reader, QSerror_collector collector)
QSLIB_INTERFACE int QStest_row_norms(QSprob p)
QSLIB_INTERFACE const char * QSformat_error_type_string(int tp)
QSLIB_INTERFACE int QSget_intcount(QSprob p, int *count)
QSLIB_INTERFACE int QSload_basis_and_row_norms_array(QSprob p, char *cstat, char *rstat, double *rownorms)
QSLIB_INTERFACE int QSget_obj(QSprob p, double *obj)
QSLIB_INTERFACE QSerror_memory QSerror_memory_create(char takeErrorLines)
QSLIB_INTERFACE int QSadd_col(QSprob p, int cnt, int *cmatind, double *cmatval, double obj, double lower, double upper, const char *name)
QSLIB_INTERFACE int QSchange_objcoef(QSprob p, int indx, double coef)
QSLIB_INTERFACE int QSget_infeas_array(QSprob p, double *pi)
QSLIB_INTERFACE int QSget_rowcount(QSprob p)
QSLIB_INTERFACE int QSopt_dual(QSprob p, int *status)
QSLIB_INTERFACE int QSset_param_double(QSprob p, int whichparam, double newvalue)
QSLIB_INTERFACE int QSdelete_named_rows_list(QSprob p, int num, const char **rownames)
QSLIB_INTERFACE int QSdelete_cols(QSprob p, int num, int *dellist)
QSLIB_INTERFACE int QSwrite_basis(QSprob p, QSbas B, const char *filename)
QSLIB_INTERFACE int QSwrite_prob(QSprob p, const char *filename, const char *filetype)
QSLIB_INTERFACE int QSchange_sense(QSprob p, int rowindex, char sense)
QSLIB_INTERFACE int QSchange_bound(QSprob p, int indx, char lu, double bound)
QSLIB_INTERFACE int QSchange_senses(QSprob p, int num, int *rowlist, char *sense)
QSLIB_INTERFACE int QSchange_objsense(QSprob p, int newsense)
QSLIB_INTERFACE int QSget_nzcount(QSprob p)
QSLIB_INTERFACE QSbas QSread_basis(QSprob p, const char *filename)
QSLIB_INTERFACE int QSset_param(QSprob p, int whichparam, int newvalue)
QSLIB_INTERFACE QSprob QSread_prob(const char *filename, const char *filetype)
QSLIB_INTERFACE int QSnew_col(QSprob p, double obj, double lower, double upper, const char *name)
QSLIB_INTERFACE int QSdelete_rows(QSprob p, int num, int *dellist)
QSLIB_INTERFACE QSerror_collector QSerror_collector_new(void *fct, void *dest)
QSLIB_INTERFACE char * QSget_probname(QSprob p)
QSLIB_INTERFACE void QSfree_prob(QSprob p)
QSLIB_INTERFACE int QSget_rc_array(QSprob p, double *rc)
QSLIB_INTERFACE int QSget_objval(QSprob p, double *value)
QSLIB_INTERFACE int QSadd_cols(QSprob p, int num, int *cmatcnt, int *cmatbeg, int *cmatind, double *cmatval, double *obj, double *lower, double *upper, const char **names)
QSLIB_INTERFACE int QSget_param(QSprob p, int whichparam, int *value)
QSLIB_INTERFACE int QSdelete_setcols(QSprob p, int *flags)
QSLIB_INTERFACE int QSload_basis_array(QSprob p, char *cstat, char *rstat)
QSLIB_INTERFACE int QSget_objsense(QSprob p, int *newsense)
QSLIB_INTERFACE int QSchange_bounds(QSprob p, int num, int *collist, char *lu, double *bounds)
QSLIB_INTERFACE void QSfree(void *ptr)
QSLIB_INTERFACE QSprob QSload_prob(const char *probname, int ncols, int nrows, int *cmatcnt, int *cmatbeg, int *cmatind, double *cmatval, int objsense, double *obj, double *rhs, char *sense, double *lower, double *upper, const char **colnames, const char **rownames)
QSLIB_INTERFACE int QSread_and_load_basis(QSprob p, const char *filename)
QSLIB_INTERFACE QSbas QSget_basis(QSprob p)
QSLIB_INTERFACE int QSdelete_row(QSprob p, int rowindex)
QSLIB_INTERFACE int QSget_basis_array(QSprob p, char *cstat, char *rstat)