00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ClpSolve_H
00011 #define ClpSolve_H
00012
00019 class ClpSolve {
00020
00021 public:
00022
00024 enum SolveType {
00025 useDual=0,
00026 usePrimal,
00027 usePrimalorSprint,
00028 useBarrier,
00029 automatic
00030 };
00031 enum PresolveType {
00032 presolveOn=0,
00033 presolveOff,
00034 presolveNumber
00035 };
00036
00039
00040 ClpSolve ( );
00041
00043 ClpSolve(const ClpSolve &);
00045 ClpSolve & operator=(const ClpSolve & rhs);
00047 ~ClpSolve ( );
00049
00087 void setSpecialOption(int which,int value,int extraInfo=-1);
00088 int getSpecialOption(int which) const;
00089
00091 void setSolveType(SolveType method, int extraInfo=-1);
00092 SolveType getSolveType();
00093
00094
00095 void setPresolveType(PresolveType amount, int extraInfo=-1);
00096 PresolveType getPresolveType();
00097 int getPresolvePasses() const;
00099 int getExtraInfo(int which) const;
00101
00103 private:
00104
00108
00109 SolveType method_;
00111 PresolveType presolveType_;
00113 int numberPasses_;
00115 int options_[4];
00117 int extraInfo_[4];
00119 };
00120 #endif