15 #ifndef OsiGrbSolverInterface_H
16 #define OsiGrbSolverInterface_H
120 virtual bool setWarmStart(
const CoinWarmStart* warmstart);
257 virtual std::vector<double*>
getDualRays(
int maxNumRays)
const;
269 virtual std::vector<double*>
getPrimalRays(
int maxNumRays)
const;
281 virtual void setObjCoeff(
int elementIndex,
double elementValue);
284 virtual void setObjCoeffSet(
const int* indexFirst,
const int* indexLast,
285 const double* coeffList);
290 virtual void setColLower(
int elementIndex,
double elementValue);
295 virtual void setColUpper(
int elementIndex,
double elementValue);
300 virtual void setColBounds(
int elementIndex,
double lower,
double upper);
309 virtual void setColSetBounds(
const int* indexFirst,
const int* indexLast,
310 const double* boundList);
314 virtual void setRowLower(
int elementIndex,
double elementValue);
318 virtual void setRowUpper(
int elementIndex,
double elementValue);
323 virtual void setRowBounds(
int elementIndex,
double lower,
double upper);
326 virtual void setRowType(
int index,
char sense,
double rightHandSide,
336 virtual void setRowSetBounds(
const int* indexFirst,
const int* indexLast,
337 const double* boundList);
348 virtual void setRowSetTypes(
const int* indexFirst,
const int* indexLast,
349 const char* senseList,
const double* rhsList,
const double* rangeList);
364 virtual void setInteger(
const int* indices,
int len);
371 virtual void setRowName(
int ndx, std::string name) ;
374 virtual void setColName(
int ndx, std::string name) ;
412 virtual void addCol(
const CoinPackedVectorBase& vec,
const double collb,
413 const double colub,
const double obj);
417 virtual void addCols(
const int numcols,
418 const CoinPackedVectorBase *
const * cols,
const double* collb,
419 const double* colub,
const double* obj);
421 virtual void deleteCols(
const int num,
const int * colIndices);
425 virtual void addRow(
const CoinPackedVectorBase& vec,
const double rowlb,
428 virtual void addRow(
const CoinPackedVectorBase& vec,
const char rowsen,
429 const double rowrhs,
const double rowrng);
433 virtual void addRows(
const int numrows,
434 const CoinPackedVectorBase *
const * rows,
const double* rowlb,
435 const double* rowub);
437 virtual void addRows(
const int numrows,
438 const CoinPackedVectorBase *
const * rows,
const char* rowsen,
439 const double* rowrhs,
const double* rowrng);
441 virtual void deleteRows(
const int num,
const int * rowIndices);
460 virtual void loadProblem(
const CoinPackedMatrix& matrix,
const double* collb,
461 const double* colub,
const double* obj,
const double* rowlb,
462 const double* rowub);
471 virtual void assignProblem(CoinPackedMatrix*& matrix,
double*& collb,
472 double*& colub,
double*& obj,
double*& rowlb,
double*& rowub);
486 virtual void loadProblem(
const CoinPackedMatrix& matrix,
const double* collb,
487 const double* colub,
const double* obj,
const char* rowsen,
488 const double* rowrhs,
const double* rowrng);
497 virtual void assignProblem(CoinPackedMatrix*& matrix,
double*& collb,
498 double*& colub,
double*& obj,
char*& rowsen,
double*& rowrhs,
503 virtual void loadProblem(
const int numcols,
const int numrows,
504 const int* start,
const int* index,
const double* value,
505 const double* collb,
const double* colub,
const double* obj,
506 const double* rowlb,
const double* rowub);
510 virtual void loadProblem(
const int numcols,
const int numrows,
511 const int* start,
const int* index,
const double* value,
512 const double* collb,
const double* colub,
const double* obj,
513 const char* rowsen,
const double* rowrhs,
const double* rowrng);
517 virtual int readMps(
const char *filename,
const char *extension =
"mps");
523 virtual void writeMps(
const char *filename,
const char *extension =
"mps",
524 double objSense=0.0)
const;
624 virtual void reset();
814 mutable double *
obj_;