19 #ifndef OsiSymSolverInterface_hpp
20 #define OsiSymSolverInterface_hpp
27 #include "CoinPackedVector.hpp"
28 #include "CoinPackedMatrix.hpp"
82 virtual double getLbForNewObj(
int cnt,
int *index,
116 virtual bool setSymParam(
const std::string key,
int value);
126 virtual bool setSymParam(
const std::string key,
double value);
137 virtual bool setSymParam(
const std::string key,
const std::string value);
148 virtual bool getSymParam(
const std::string key,
int& value)
const;
158 virtual bool getSymParam(
const std::string key,
double& value)
const;
169 virtual bool getSymParam(
const std::string key, std::string& value)
const;
187 throw CoinError(
"Error: Function not implemented",
188 "isProvenDualInfeasible",
"OsiSymSolverInterface");
195 throw CoinError(
"Error: Function not implemented",
196 "isDualObjectiveLimitReached",
"OsiSymSolverInterface");
220 throw CoinError(
"Error: Function not implemented",
221 "getEmptyWarmStart",
"OsiSymSolverInterface");
240 virtual bool setWarmStart(
const CoinWarmStart* warmstart);
328 virtual bool isBinary(
int colIndex)
const;
334 virtual bool isInteger(
int colIndex)
const;
400 throw CoinError(
"Error: Function not implemented",
401 "getDualRays",
"OsiSymSolverInterface");
415 throw CoinError(
"Error: Function not implemented",
416 "getPrimalRays",
"OsiSymSolverInterface");
434 virtual void setObjCoeff(
int elementIndex,
double elementValue );
437 virtual void setObj2Coeff(
int elementIndex,
double elementValue );
442 virtual void setColLower(
int elementIndex,
double elementValue );
447 virtual void setColUpper(
int elementIndex,
double elementValue );
451 virtual void setRowLower(
int elementIndex,
double elementValue );
455 virtual void setRowUpper(
int elementIndex,
double elementValue );
458 virtual void setRowType(
int index,
char sense,
double rightHandSide,
491 throw CoinError(
"Error: Function not implemented",
492 "setRowPrice",
"OsiSymSolverInterface");
526 virtual void addCol(
const CoinPackedVectorBase& vec,
527 const double collb,
const double colub,
531 virtual void deleteCols(
const int num,
const int * colIndices);
535 virtual void addRow(
const CoinPackedVectorBase& vec,
536 const double rowlb,
const double rowub);
538 virtual void addRow(
const CoinPackedVectorBase& vec,
539 const char rowsen,
const double rowrhs,
540 const double rowrng);
543 virtual void deleteRows(
const int num,
const int * rowIndices);
565 virtual void loadProblem(
const CoinPackedMatrix& matrix,
566 const double* collb,
const double* colub,
568 const double* rowlb,
const double* rowub);
580 double*& collb,
double*& colub,
double*& obj,
581 double*& rowlb,
double*& rowub);
595 virtual void loadProblem(
const CoinPackedMatrix& matrix,
596 const double* collb,
const double* colub,
598 const char* rowsen,
const double* rowrhs,
599 const double* rowrng);
611 double*& collb,
double*& colub,
double*& obj,
612 char*& rowsen,
double*& rowrhs,
617 virtual void loadProblem(
const int numcols,
const int numrows,
618 const CoinBigIndex * start,
const int* index,
620 const double* collb,
const double* colub,
622 const double* rowlb,
const double* rowub);
626 virtual void loadProblem(
const int numcols,
const int numrows,
627 const CoinBigIndex * start,
const int* index,
629 const double* collb,
const double* colub,
631 const char* rowsen,
const double* rowrhs,
632 const double* rowrng);
640 virtual void writeMps(
const char *filename,
641 const char *extension =
"mps",
642 double objSense=0.0)
const;
647 virtual int readMps(
const char * infile,
const char *extension =
"mps");
649 virtual int readGMPL(
const char * modelFile,
const char * dataFile=NULL);
711 virtual void reset();
766 sym_environment *
env_;