/home/coin/SVN-release/OS-2.4.1/OS/src/OSSolverInterfaces/OSCoinSolver.h

Go to the documentation of this file.
00001 /* $Id: OSCoinSolver.h 4292 2011-09-21 05:47:18Z kmartin $ */
00015 #ifndef COINSOLVER_H
00016 #define COINSOLVER_H
00017 
00018 #include "OSConfig.h"
00019 #include "OSDefaultSolver.h"
00020 #include "OSrLWriter.h"
00021 #include "OSErrorClass.h"
00022 #include "OSiLReader.h"
00023 #include "OSoLReader.h"
00024 #include "CbcModel.hpp"
00025 
00026 #include <string>
00027 
00028 class OsiSolverInterface;
00029 class CoinPackedMatrix;
00030 
00037 class CoinSolver : public DefaultSolver
00038 {
00039 
00040 public:
00041 
00045     CoinSolver();
00046 
00050     ~CoinSolver();
00051 
00056     virtual void  solve() throw(ErrorClass);
00057 
00062     virtual void  buildSolverInstance() throw(ErrorClass);
00063 
00068     virtual void  setSolverOptions() throw(ErrorClass);
00069 
00070 
00075     bool setCoinPackedMatrix();
00076 
00082     std::string getCoinSolverType(std::string osol_);
00083 
00088     void dataEchoCheck();
00089 
00093     OsiSolverInterface *osiSolver;
00094 
00095 
00096 
00101     OSiLReader *m_osilreader;
00102 
00107     OSoLReader *m_osolreader;
00108 
00109 
00110     void writeResult(OsiSolverInterface *solver);
00111 
00112     // use this for when we solve with Cbc --AND-- have integer variables
00113     void writeResult(CbcModel *model);
00114 
00115 
00116 
00117 private:
00118 
00119 
00120 
00121 
00122 
00126     CoinPackedMatrix *m_CoinPackedMatrix ;
00127 
00129     OSrLWriter  *osrlwriter;
00130 
00134     const char **cbc_argv;
00135 
00138     int num_cbc_argv;
00139 
00140     double cpuTime;
00141 
00142 };
00143 #endif

Generated on Thu Nov 10 03:05:51 2011 by  doxygen 1.4.7