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

Go to the documentation of this file.
00001 /* $Id: OSCoinSolver.h 2698 2009-06-09 04:14:07Z kmartin $ */
00017 #ifndef COINSOLVER_H 
00018 #define COINSOLVER_H
00019 
00020 #include "OSConfig.h" 
00021 #include "OSDefaultSolver.h"
00022 #include "OSrLWriter.h"
00023 #include "OSErrorClass.h"
00024 #include "OSiLReader.h"
00025 #include "OSoLReader.h"
00026 #include "CbcModel.hpp"
00027 
00028 #include <string>
00029 
00030 class OsiSolverInterface;
00031 class CoinPackedMatrix;
00032 
00039 class CoinSolver : public DefaultSolver{  
00040         
00041 public:
00042 
00046         CoinSolver();
00047         
00051         ~CoinSolver();
00052         
00057         virtual void  solve() throw(ErrorClass);
00058         
00063         virtual void  buildSolverInstance() throw(ErrorClass);
00064         
00069         virtual void  setSolverOptions() throw(ErrorClass);
00070         
00071         
00076         bool setCoinPackedMatrix();
00077         
00083         std::string getCoinSolverType(std::string osol_);
00084         
00089         void dataEchoCheck();
00090         
00094         OsiSolverInterface *osiSolver;
00095         
00096         
00097         
00102         OSiLReader *m_osilreader;
00103         
00108         OSoLReader *m_osolreader;
00109 
00110 
00111         void writeResult(OsiSolverInterface *solver);
00112         
00113         // use this for when we solve with Cbc --AND-- have integer variables
00114         void writeResult(CbcModel *model);
00115 
00116 
00117 
00118 private:
00119 
00120 
00121 
00122 
00123         
00127         CoinPackedMatrix *m_CoinPackedMatrix ;
00128         
00130         OSrLWriter  *osrlwriter;
00131         
00135         const char **cbc_argv;
00136 
00139         int num_cbc_argv;
00140         
00141         double cpuTime;
00142 
00143 };
00144 #endif

Generated on Sun Mar 20 03:06:38 2011 by  doxygen 1.4.7