Qsopt_32/qsopt.h
Go to the documentation of this file.
1 /* $RCSfile: qsopt.h,v $ $Revision: 1.3 $ $Date: 2003/11/05 16:57:39 $" */
2 #ifndef __QS_QSOPT_H
3 #define __QS_QSOPT_H
4 
5 #include <stdio.h>
6 
7 #ifdef WIN32
8 
9 #ifdef QSLIB_EXPORTS
10 #define QSLIB_INTERFACE __declspec(dllexport)
11 #else
12 #define QSLIB_INTERFACE __declspec(dllimport)
13 #endif
14 
15 #else
16 #define QSLIB_INTERFACE extern
17 #endif
18 
19 #ifdef WIN32
20 typedef struct QSLIB_INTERFACE qsdata *QSprob;
21 typedef struct QSLIB_INTERFACE qsbasis *QSbas;
22 #else
23 typedef struct qsdata *QSprob;
24 typedef struct qsbasis *QSbas;
25 #endif
26 
27 /****************************************************************************/
28 /* */
29 /* PARAMETERS TO SPECIFY OBJECTIVE SENSE */
30 /* */
31 /****************************************************************************/
32 
33 #define QS_MIN (1)
34 #define QS_MAX (-1)
35 
36 /****************************************************************************/
37 /* */
38 /* PARAMETERS THAT CAN BE SET BY setparam */
39 /* */
40 /****************************************************************************/
41 
42 
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
49 
50 
51 /****************************************************************************/
52 /* */
53 /* VALUES FOR PRICING PARAMETERS */
54 /* */
55 /****************************************************************************/
56 
57 #define QS_PRICE_PDANTZIG 1
58 #define QS_PRICE_PDEVEX 2
59 #define QS_PRICE_PSTEEP 3
60 #define QS_PRICE_PMULTPARTIAL 4
61 
62 #define QS_PRICE_DDANTZIG 6
63 #define QS_PRICE_DSTEEP 7
64 #define QS_PRICE_DMULTPARTIAL 8
65 #define QS_PRICE_DDEVEX 9
66 
67 
68 /****************************************************************************/
69 /* */
70 /* VALUES FOR BASIS STATUS */
71 /* */
72 /****************************************************************************/
73 
74 
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'
79 
80 #define QS_ROW_BSTAT_LOWER '0'
81 #define QS_ROW_BSTAT_BASIC '1'
82 #define QS_ROW_BSTAT_UPPER '2'
83 
84 
85 /****************************************************************************/
86 /* */
87 /* Return Status for QSopt_primal, QSopt_dual, QSget_status */
88 /* */
89 /****************************************************************************/
90 
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
99 
100 /*
101 #define QS_LP_PRIMAL_FEASIBLE 11
102 #define QS_LP_PRIMAL_INFEASIBLE 12
103 #define QS_LP_PRIMAL_UNBOUNDED 13
104 #define QS_LP_DUAL_FEASIBLE 14
105 #define QS_LP_DUAL_INFEASIBLE 15
106 #define QS_LP_DUAL_UNBOUNDED 16
107 */
108 
109 
110 /****************************************************************************/
111 /* */
112 /* QSopt Constants */
113 /* */
114 /****************************************************************************/
115 
116 #define QS_MAXDOUBLE (1e30)
117 
118 
119 /****************************************************************************/
120 /* */
121 /* QSopt Library Functions */
122 /* */
123 /****************************************************************************/
124 #ifdef __cplusplus
125 extern "C" {
126 #endif
127 
128 #ifdef WIN32
129 /*
130  * in WINDOWS we make
131  * solver_main/reader_main part of DLL
132  */
133 QSLIB_INTERFACE int solver_main(int argc, char **argv);
134 QSLIB_INTERFACE int reader_main(int argc, char **argv);
135 #endif
136 
137 QSLIB_INTERFACE void
138  QSfree (void *ptr),
139  QSfree_prob (QSprob p),
140  QSfree_basis (QSbas B);
141 
142 QSLIB_INTERFACE int
143  QSopt_primal (QSprob p, int *status),
144  QSopt_dual (QSprob p, int *status),
145  QSopt_pivotin_col (QSprob p, int ccnt, int *clist),
146  QSopt_pivotin_row (QSprob p, int rcnt, int *rlist),
147  QSopt_strongbranch (QSprob p, int ncand, int *candidatelist,
148  double *xlist, double *down_vals, double *up_vals, int iterations,
149  double objbound),
150  QSchange_objsense (QSprob p, int newsense),
151  QSget_objsense (QSprob p, int *newsense),
152  QSnew_col (QSprob p, double obj, double lower, double upper,
153  const char *name),
154  QSadd_cols (QSprob p, int num, int *cmatcnt, int *cmatbeg, int *cmatind,
155  double *cmatval, double *obj, double *lower, double *upper,
156  const char **names),
157  QSadd_col (QSprob p, int cnt, int *cmatind, double *cmatval, double obj,
158  double lower, double upper, const char *name),
159  QSnew_row (QSprob p, double rhs, char sense, const char *name),
160  QSadd_rows (QSprob p, int num, int *rmatcnt, int *rmatbeg,
161  int *rmatind, double *rmatval, double *rhs, char *sense,
162  const char **names),
163  QSadd_row (QSprob p, int cnt, int *rmatind, double *rmatval, double rhs,
164  char sense, const char *name),
165  QSdelete_rows (QSprob p, int num, int *dellist),
166  QSdelete_row (QSprob p, int rowindex),
167  QSdelete_setrows (QSprob p, int *flags),
168  QSdelete_named_row (QSprob p, const char *rowname),
169  QSdelete_named_rows_list (QSprob p, int num, const char **rownames),
170  QSdelete_cols (QSprob p, int num, int *dellist),
171  QSdelete_col (QSprob p, int colindex),
172  QSdelete_setcols (QSprob p, int *flags),
173  QSdelete_named_column (QSprob p, const char *colname),
174  QSdelete_named_columns_list (QSprob p, int num, const char **colnames),
175  QSchange_senses (QSprob p, int num, int *rowlist, char *sense),
176  QSchange_sense (QSprob p, int rowindex, char sense),
177  QSchange_coef (QSprob p, int rowindex, int colindex, double coef),
178  QSchange_objcoef (QSprob p, int indx, double coef),
179  QSchange_rhscoef (QSprob p, int indx, double coef),
180  QSchange_bounds (QSprob p, int num, int *collist, char *lu,
181  double *bounds),
182  QSchange_bound (QSprob p, int indx, char lu, double bound),
183  QSload_basis (QSprob p, QSbas B),
184  QSread_and_load_basis (QSprob p, const char *filename),
185  QSload_basis_array (QSprob p, char *cstat, char *rstat),
186  QSload_basis_and_row_norms_array (QSprob p, char *cstat, char *rstat,
187  double *rownorms),
188  QSget_basis_array (QSprob p, char *cstat, char *rstat),
189  QSget_basis_and_row_norms_array (QSprob p, char *cstat, char *rstat,
190  double *rownorms),
191  QSget_binv_row (QSprob p, int indx, double *binvrow),
192  QSget_tableau_row (QSprob p, int indx, double *tableaurow),
193  QSget_basis_order (QSprob p, int *basorder),
194  QSget_status (QSprob p, int *status),
195  QSget_solution (QSprob p, double *value, double *x, double *pi,
196  double *slack, double *rc),
197  QSget_objval (QSprob p, double *value),
198  QSget_pi_array (QSprob p, double *pi),
199  QSget_rc_array (QSprob p, double *rc),
200  QSget_x_array (QSprob p, double *x),
201  QSget_slack_array (QSprob p, double *slack),
202  QSget_infeas_array (QSprob p, double *pi),
205  QSget_nzcount (QSprob p),
206  QSget_obj (QSprob p, double *obj),
207  QSget_rhs (QSprob p, double *rhs),
208  QSget_rows_list (QSprob p, int num, int *rowlist, int **rowcnt,
209  int **rowbeg, int **rowind, double **rowval, double **rhs,
210  char **sense, char ***names),
211  QSget_rows (QSprob p, int **rowcnt, int **rowbeg, int **rowind,
212  double **rowval, double **rhs, char **sense, char ***names),
213  QSget_columns_list (QSprob p, int num, int *collist, int **colcnt,
214  int **colbeg, int **colind, double **colval, double **obj,
215  double **lower, double **upper, char ***names),
216  QSget_columns (QSprob p, int **colcnt, int **colbeg, int **colind,
217  double **colval, double **obj, double **lower, double **upper,
218  char ***names),
219  QSget_rownames (QSprob p, char **rownames),
220  QSget_colnames (QSprob p, char **colnames),
221  QSget_bound (QSprob p, int colindex, char lu, double *bound),
222  QSget_bounds (QSprob p, double *lower, double *upper),
223  QSget_intflags (QSprob p, int *intflags),
224  QSget_intcount (QSprob p, int *count),
225  QSget_column_index (QSprob p, const char *name, int *colindex),
226  QSget_row_index (QSprob p, const char *name, int *rowindex),
227  QSget_named_x (QSprob p, const char *colname, double *val),
228  QSget_named_rc (QSprob p, const char *colname, double *val),
229  QSget_named_pi (QSprob p, const char *rowname, double *val),
230  QSget_named_slack (QSprob p, const char *rowname, double *val),
232  QSwrite_prob (QSprob p, const char *filename, const char *filetype),
233  QSwrite_prob_file (QSprob p, FILE *file, const char *filetype),
234  QSwrite_basis (QSprob p, QSbas B, const char *filename),
236  QSset_param (QSprob p, int whichparam, int newvalue),
237  QSset_param_double (QSprob p, int whichparam, double newvalue),
238  QSget_param (QSprob p, int whichparam, int *value),
239  QSget_param_double (QSprob p, int whichparam, double *value);
240 
243 QSLIB_INTERFACE char* QSversion (void);
244 
246  QScreate_prob (const char *name, int objsense),
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),
253  QScopy_prob (QSprob p, const char *newname);
254 
256  QSget_basis (QSprob p),
257  QSread_basis (QSprob p, const char *filename);
258 
259 #ifdef __cplusplus
260 }
261 #endif
262 
263 /****************************************************************************
264  *
265  * This is the undocumented part of the QSlib interface
266  *
267  ****************************************************************************/
268 /*
269  * functions to facilitate line by line reading from other sources than
270  * files from within MPS/LP parsers
271  *
272  * functions to facilitate the collection of error information instead of
273  * having the parsers print messages to stderr
274  * by mps/lp format writers
275  *
276  * a problem's reporter is used by the solver code to provide important
277  * feedback/progress information
278  */
279 
280 #ifdef WIN32
281 typedef struct QSLIB_INTERFACE qsline_reader *QSline_reader;
282 typedef struct QSLIB_INTERFACE qsformat_error *QSformat_error;
283 typedef struct QSLIB_INTERFACE qserror_collector *QSerror_collector;
284 typedef struct QSLIB_INTERFACE qserror_memory *QSerror_memory;
285 #else
286 typedef struct qsline_reader *QSline_reader;
287 typedef struct qsformat_error *QSformat_error;
288 typedef struct qserror_collector *QSerror_collector;
289 typedef struct qserror_memory *QSerror_memory;
290 #endif
291 
292 #ifdef __cplusplus
293 extern "C" {
294 #endif
295 
296 /****************************************************************************
297  * error collection
298  */
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
306 
307 QSLIB_INTERFACE const char* QSformat_error_type_string(int tp);
308 
314 QSLIB_INTERFACE void QSerror_print(FILE *f, QSformat_error error);
315 
317  QSerror_collector QSerror_collector_new(void *fct, void *dest);
320 QSLIB_INTERFACE void
322 
323 /****************************************************************************
324  * line reader
325  */
327  QSline_reader_new(void *fct, void* data_src);
328  /* reader->read_line_fct defaults to fgets */
329 
330 QSLIB_INTERFACE void
332 
333 QSLIB_INTERFACE void
335  QSerror_collector collector);
336 
337 QSLIB_INTERFACE char*
338  QSline_reader_get(QSline_reader reader, char *s, int size);
339 
341  QSget_prob(QSline_reader reader,
342  const char* probname, const char *filetype);
343  /* the MPS and LP parsers uses the fct from reader
344  * to get to next input line */
345 
346 
347 /****************************************************************************
348  * error memory
349  */
352 
353 QSLIB_INTERFACE int
354  QSerror_memory_get_nof(QSerror_memory mem, int error_type);
355 QSLIB_INTERFACE int
357 
362 
363 /****************************************************************************
364  * reporter for solver feedback
365  */
366 QSLIB_INTERFACE void QSset_reporter(QSprob prob, int iterskip, void *fct, void *dest);
367 
368 QSLIB_INTERFACE int QSreport_prob (QSprob p, const char *filetype,
370 
371 #ifdef __cplusplus
372 }
373 #endif
374 #endif /* __QS_QSOPT_H */
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)
#define QSLIB_INTERFACE
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)
struct qsbasis * QSbas
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)
struct qsdata * QSprob
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)


libqsopt
Author(s): Florian Jordan
autogenerated on Mon Jun 10 2019 12:53:12