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
00079 void setSpecialOption(int which,int value,int extraInfo=-1);
00080 int getSpecialOption(int which) const;
00081
00083 void setSolveType(SolveType method, int extraInfo=-1);
00084 SolveType getSolveType();
00085
00086
00087 void setPresolveType(PresolveType amount, int extraInfo=-1);
00088 PresolveType getPresolveType();
00089 int getPresolvePasses() const;
00091 int getExtraInfo(int which) const;
00093
00095 private:
00096
00100
00101 SolveType method_;
00103 PresolveType presolveType_;
00105 int numberPasses_;
00107 int options_[4];
00109 int extraInfo_[4];
00111 };
00112 #endif