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 __SIMPLEX_H
00026 #define __SIMPLEX_H
00027
00028 struct itcnt_t;
00029 #include "config.h"
00030 #include "lpdata.h"
00031 #include "basicdefs.h"
00032 typedef struct 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 param_info;
00043
00044 typedef struct 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 EGlpNum_t prevobj;
00064 EGlpNum_t objtol;
00065 param_info oldinfo;
00066 }
00067 iter_info;
00068
00069 void ILLsimplex_init_lpinfo ( lpinfo * lp),
00070 ILLsimplex_free_lpinfo ( lpinfo * lp),
00071 ILLsimplex_load_lpinfo ( ILLlpdata * qslp, lpinfo * lp),
00072 ILLsimplex_set_bound ( lpinfo * lp, const EGlpNum_t * objbound, int sense);
00073 void free_internal_lpinfo ( lpinfo * lp);
00074 void init_internal_lpinfo ( lpinfo * lp);
00075 int build_internal_lpinfo ( lpinfo * lp);
00076 int ILLsimplex_retest_psolution ( lpinfo * lp, price_info * p, int phase,
00077 feas_info * fs),
00078 ILLsimplex_retest_dsolution ( lpinfo * lp, price_info * p, int phase,
00079 feas_info * fs),
00080 ILLsimplex_solution ( lpinfo * lp, EGlpNum_t * xz, EGlpNum_t * piz,
00081 EGlpNum_t * dz, EGlpNum_t * objval),
00082 ILLsimplex_infcertificate ( lpinfo * lp, EGlpNum_t * pi),
00083 ILLsimplex ( lpinfo * lp, int algorithm, ILLlp_basis * B,
00084 price_info * pinf, int *sol_status, int sdisplay, itcnt_t* itcnt),
00085 ILLsimplex_pivotin ( lpinfo * lp, price_info * pinf, int rcnt,
00086 int *rlist, int pivot_opt, int *basis_mod);
00087
00088 #endif