00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef SmiLinearData_HPP
00012 #define SmiLinearData_HPP
00013
00014 #if defined(_MSC_VER)
00015
00016 # pragma warning(disable:4786)
00017 #endif
00018
00019 #include "CoinPackedVector.hpp"
00020 #include "CoinPackedMatrix.hpp"
00021 #include "OsiSolverInterface.hpp"
00022
00023 class SmiLinearData
00024 {
00025 public:
00026 inline const CoinPackedMatrix &getMatrix() {return matrix_; }
00027 inline const CoinPackedVector &getColLower() {return dclo_;}
00028 inline const CoinPackedVector &getColUpper() {return dcup_;}
00029 inline const CoinPackedVector &getObjective(){return dobj_;}
00030 inline const CoinPackedVector &getRowLower() {return drlo_;}
00031 inline const CoinPackedVector &getRowUpper() {return drup_;}
00032
00033 inline CoinPackedMatrix &getMutableMatrix() {return matrix_; }
00034 inline CoinPackedVector &getMutableColLower() {return dclo_;}
00035 inline CoinPackedVector &getMutableColUpper() {return dcup_;}
00036 inline CoinPackedVector &getMutableObjective(){return dobj_;}
00037 inline CoinPackedVector &getMutableRowLower() {return drlo_;}
00038 inline CoinPackedVector &getMutableRowUpper() {return drup_;}
00039
00040
00041 SmiLinearData():matrix_(),
00042 dclo_(),
00043 dcup_(),
00044 dobj_(),
00045 drlo_(),
00046 drup_()
00047 {}
00048
00049 SmiLinearData(SmiLinearData &d):
00050 matrix_(d.getMatrix()),
00051 dclo_(d.getColLower()),
00052 dcup_(d.getColUpper()),
00053 dobj_(d.getObjective()),
00054 drlo_(d.getRowLower()),
00055 drup_(d.getRowUpper())
00056 {}
00057
00058 SmiLinearData(CoinPackedMatrix &matrix,
00059 CoinPackedVector &dclo, CoinPackedVector &dcup,
00060 CoinPackedVector &dobj,
00061 CoinPackedVector &drlo, CoinPackedVector &drup): matrix_(matrix),
00062 dclo_(dclo),
00063 dcup_(dcup),
00064 dobj_(dobj),
00065 drlo_(drlo),
00066 drup_(drup)
00067 {}
00068 SmiLinearData(OsiSolverInterface &osi):matrix_((*osi.getMatrixByCol())),
00069 dclo_(osi.getColLower()),dcup_(osi.getColUpper()),
00070 dobj_(osi.getObjCoefficients()),
00071 drlo_(osi.getRowLower()),drup_(osi.getRowUpper())
00072 {}
00073
00074 ~SmiLinearData(){}
00075 private:
00076 CoinPackedMatrix matrix_;
00077 CoinPackedVector dclo_;
00078 CoinPackedVector dcup_;
00079 CoinPackedVector dobj_;
00080 CoinPackedVector drlo_;
00081 CoinPackedVector drup_;
00082 };
00083
00084 #endif //SmiLinearData_HPP
00085