00001 /* $Id: OSMatlabSolver.h 2831 2009-07-21 07:34:44Z kmartin $ */ 00017 #ifndef OSMATLAB_H 00018 #define OSMATLAB_H 00019 // 00020 //OS headers 00021 #include "OSCoinSolver.h" 00022 #include "OSResult.h" 00023 #include "OSiLReader.h" 00024 #include "OSiLWriter.h" 00025 #include "OSInstance.h" 00026 #include "OSDefaultSolver.h" 00027 #include "OSDataStructures.h" 00028 #include "OSSolverAgent.h" 00029 #include "OSErrorClass.h" 00030 00031 #ifdef COIN_HAS_LINDO 00032 #include "OSLindoSolver.h" 00033 #endif 00034 00035 #ifdef COIN_HAS_IPOPT 00036 #include "OSIpoptSolver.h" 00037 #endif 00038 00039 00040 00041 //end OS headers 00042 00043 #include <string> 00044 00061 class OSMatlab { 00062 00063 public: 00064 00066 OSMatlab(); 00067 00069 ~OSMatlab() ; 00070 00074 SparseMatrix *sparseMat; 00075 00079 double *bl; 00080 00084 double *bu; 00085 00089 double *obj; 00090 00094 double *vl; 00095 00099 double *vu; 00100 00104 int numVar; 00105 00109 int numCon; 00110 00114 char *varType; 00115 00119 bool objType; 00120 00122 int numQTerms; 00123 00127 int *qRows; 00128 00132 int *qIndex1; 00133 00137 int *qIndex2; 00138 00142 double *qVal; 00143 00147 DefaultSolver *solverType; 00148 00150 std::string instanceName; 00151 00153 std::string sSolverName; 00154 00156 std::string sAgentAddress; 00157 00163 std::string solve(); 00164 00168 void createOSInstance(); 00169 00174 OSInstance *osinstance; 00175 00179 std::string osil; 00180 00181 };//OSMatlabclass 00182 00183 #endif