00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef dbl___SIMPLEX_H
00026 #define dbl___SIMPLEX_H
00027
00028 struct itcnt_t;
00029 #include "config.h"
00030 #include "dbl_lpdata.h"
00031 #include "basicdefs.h"
00032 typedef struct dbl_param_info
00033 {
00034 int origalgo;
00035 int pphaseI;
00036 int pphaseII;
00037 int dphaseI;
00038 int dphaseII;
00039 int p_strategy;
00040 int d_strategy;
00041 }
00042 dbl_param_info;
00043
00044 typedef struct dbl_iter_info
00045 {
00046 int newphase;
00047 int nextphase;
00048 int nextstep;
00049 int sdisplay;
00050 int itercnt;
00051 int solstatus;
00052 int curtime;
00053 int rounds;
00054 int chkobj;
00055 int nosolve;
00056 int noprog;
00057 int inner;
00058 int algorithm;
00059 int resumeid;
00060 int pricetype;
00061 int n_restart;
00062 int n_pivot_fail;
00063 double prevobj;
00064 double objtol;
00065 dbl_param_info oldinfo;
00066 }
00067 dbl_iter_info;
00068
00069 void dbl_ILLsimplex_init_lpinfo ( dbl_lpinfo * lp),
00070 dbl_ILLsimplex_free_lpinfo ( dbl_lpinfo * lp),
00071 dbl_ILLsimplex_load_lpinfo ( dbl_ILLlpdata * qslp, dbl_lpinfo * lp),
00072 dbl_ILLsimplex_set_bound ( dbl_lpinfo * lp, const double * objbound, int sense);
00073 void dbl_free_internal_lpinfo ( dbl_lpinfo * lp);
00074 void dbl_init_internal_lpinfo ( dbl_lpinfo * lp);
00075 int dbl_build_internal_lpinfo ( dbl_lpinfo * lp);
00076 int dbl_ILLsimplex_retest_psolution ( dbl_lpinfo * lp, dbl_price_info * p, int phase,
00077 dbl_feas_info * fs),
00078 dbl_ILLsimplex_retest_dsolution ( dbl_lpinfo * lp, dbl_price_info * p, int phase,
00079 dbl_feas_info * fs),
00080 dbl_ILLsimplex_solution ( dbl_lpinfo * lp, double * xz, double * piz,
00081 double * dz, double * objval),
00082 dbl_ILLsimplex_infcertificate ( dbl_lpinfo * lp, double * pi),
00083 dbl_ILLsimplex ( dbl_lpinfo * lp, int algorithm, dbl_ILLlp_basis * B,
00084 dbl_price_info * pinf, int *sol_status, int sdisplay, itcnt_t* itcnt),
00085 dbl_ILLsimplex_pivotin ( dbl_lpinfo * lp, dbl_price_info * pinf, int rcnt,
00086 int *rlist, int pivot_opt, int *basis_mod);
00087
00088 #endif