15 #ifndef OsiSpxSolverInterface_H
16 #define OsiSpxSolverInterface_H
21 #include "CoinWarmStartBasis.hpp"
98 {
return (dynamic_cast<CoinWarmStart *>(
new CoinWarmStartBasis())) ; }
103 virtual bool setWarmStart(
const CoinWarmStart* warmstart);
198 virtual bool isBinary(
int columnNumber)
const;
205 virtual bool isInteger(
int columnNumber)
const;
257 virtual std::vector<double*>
getDualRays(
int maxNumRays)
const;
269 virtual std::vector<double*>
getPrimalRays(
int maxNumRays)
const;
288 virtual void setObjCoeff(
int elementIndex,
double elementValue );
292 virtual void setColLower(
int elementIndex,
double elementValue );
296 virtual void setColUpper(
int elementIndex,
double elementValue );
302 double lower,
double upper );
304 #if 0 // we are using the default implementation of OsiSolverInterface
314 const int* indexLast,
315 const double* boundList);
320 virtual void setRowLower(
int elementIndex,
double elementValue );
324 virtual void setRowUpper(
int elementIndex,
double elementValue );
330 double lower,
double upper );
333 virtual void setRowType(
int index,
char sense,
double rightHandSide,
336 #if 0 // we are using the default implementation of OsiSolverInterface
345 const int* indexLast,
346 const double* boundList);
358 const int* indexLast,
359 const char* senseList,
360 const double* rhsList,
361 const double* rangeList);
372 #if 0 // we are using the default implementation of OsiSolverInterface
378 virtual void setInteger(
const int* indices,
int len);
416 virtual void addCol(
const CoinPackedVectorBase& vec,
417 const double collb,
const double colub,
420 #if 0 // we are using the default implementation of OsiSolverInterface
422 virtual void addCols(
const int numcols,
423 const CoinPackedVectorBase *
const * cols,
424 const double* collb,
const double* colub,
429 virtual void deleteCols(
const int num,
const int * colIndices);
432 virtual void addRow(
const CoinPackedVectorBase& vec,
433 const double rowlb,
const double rowub);
435 virtual void addRow(
const CoinPackedVectorBase& vec,
436 const char rowsen,
const double rowrhs,
437 const double rowrng);
439 #if 0 // we are using the default implementation of OsiSolverInterface
441 virtual void addRows(
const int numrows,
442 const CoinPackedVectorBase *
const * rows,
443 const double* rowlb,
const double* rowub);
445 virtual void addRows(
const int numrows,
446 const CoinPackedVectorBase *
const * rows,
447 const char* rowsen,
const double* rowrhs,
448 const double* rowrng);
452 virtual void deleteRows(
const int num,
const int * rowIndices);
454 #if 0 // we are using the default implementation of OsiSolverInterface
478 double effectivenessLb = 0.0);
498 virtual void loadProblem(
const CoinPackedMatrix& matrix,
499 const double* collb,
const double* colub,
501 const double* rowlb,
const double* rowub);
511 double*& collb,
double*& colub,
double*& obj,
512 double*& rowlb,
double*& rowub);
526 virtual void loadProblem(
const CoinPackedMatrix& matrix,
527 const double* collb,
const double* colub,
529 const char* rowsen,
const double* rowrhs,
530 const double* rowrng);
540 double*& collb,
double*& colub,
double*& obj,
541 char*& rowsen,
double*& rowrhs,
546 virtual void loadProblem(
const int numcols,
const int numrows,
547 const int* start,
const int* index,
549 const double* collb,
const double* colub,
551 const double* rowlb,
const double* rowub);
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 char* rowsen,
const double* rowrhs,
561 const double* rowrng);
564 virtual int readMps(
const char *filename,
565 const char *extension =
"mps");
571 virtual void writeMps(
const char *filename,
572 const char *extension =
"mps",
573 double objSense=0.0)
const;
683 mutable soplex::DVector *
obj_;