9 #ifndef OsiGlpkSolverInterface_H
10 #define OsiGlpkSolverInterface_H
17 #include "CoinPackedMatrix.hpp"
18 #include "CoinWarmStartBasis.hpp"
109 {
return (dynamic_cast<CoinWarmStart *>(
new CoinWarmStartBasis())) ; }
114 virtual bool setWarmStart(
const CoinWarmStart* warmstart);
210 virtual bool isBinary(
int columnNumber)
const;
216 virtual bool isInteger(
int columnNumber)
const;
268 virtual std::vector<double*>
getDualRays(
int maxNumRays)
const;
280 virtual std::vector<double*>
getPrimalRays(
int maxNumRays)
const;
299 virtual void setObjCoeff(
int elementIndex,
double elementValue );
304 virtual void setColLower(
int elementIndex,
double elementValue );
309 virtual void setColUpper(
int elementIndex,
double elementValue );
315 double lower,
double upper );
326 const int* indexLast,
327 const double* boundList);
331 virtual void setRowLower(
int elementIndex,
double elementValue );
335 virtual void setRowUpper(
int elementIndex,
double elementValue );
341 double lower,
double upper );
344 virtual void setRowType(
int index,
char sense,
double rightHandSide,
356 const int* indexLast,
357 const double* boundList);
370 const int* indexLast,
371 const char* senseList,
372 const double* rhsList,
373 const double* rangeList);
388 virtual void setInteger(
const int* indices,
int len);
427 virtual void addCol(
const CoinPackedVectorBase& vec,
428 const double collb,
const double colub,
433 virtual void addCols(
const int numcols,
434 const CoinPackedVectorBase *
const * cols,
435 const double* collb,
const double* colub,
438 virtual void deleteCols(
const int num,
const int * colIndices);
442 virtual void addRow(
const CoinPackedVectorBase& vec,
443 const double rowlb,
const double rowub);
445 virtual void addRow(
const CoinPackedVectorBase& vec,
446 const char rowsen,
const double rowrhs,
447 const double rowrng);
451 virtual void addRows(
const int numrows,
452 const CoinPackedVectorBase *
const * rows,
453 const double* rowlb,
const double* rowub);
455 virtual void addRows(
const int numrows,
456 const CoinPackedVectorBase *
const * rows,
457 const char* rowsen,
const double* rowrhs,
458 const double* rowrng);
460 virtual void deleteRows(
const int num,
const int * rowIndices);
487 double effectivenessLb = 0.0);
507 virtual void loadProblem(
const CoinPackedMatrix& matrix,
508 const double* collb,
const double* colub,
510 const double* rowlb,
const double* rowub);
520 double*& collb,
double*& colub,
double*& obj,
521 double*& rowlb,
double*& rowub);
535 virtual void loadProblem(
const CoinPackedMatrix& matrix,
536 const double* collb,
const double* colub,
538 const char* rowsen,
const double* rowrhs,
539 const double* rowrng);
549 double*& collb,
double*& colub,
double*& obj,
550 char*& rowsen,
double*& rowrhs,
555 virtual void loadProblem(
const int numcols,
const int numrows,
556 const int* start,
const int* index,
558 const double* collb,
const double* colub,
560 const double* rowlb,
const double* rowub);
564 virtual void loadProblem(
const int numcols,
const int numrows,
565 const int* start,
const int* index,
567 const double* collb,
const double* colub,
569 const char* rowsen,
const double* rowrhs,
570 const double* rowrng);
574 virtual int readMps(
const char *filename,
575 const char *extension =
"mps");
581 virtual void writeMps(
const char *filename,
582 const char *extension =
"mps",
583 double objSense=0.0)
const;
692 virtual void reset();
900 #endif // OsiGlpkSolverInterface_H