13 #ifndef OsiCpxSolverInterface_H
14 #define OsiCpxSolverInterface_H
109 virtual bool setWarmStart(
const CoinWarmStart* warmstart);
204 virtual bool isBinary(
int columnNumber)
const;
211 virtual bool isInteger(
int columnNumber)
const;
263 virtual std::vector<double*>
getDualRays(
int maxNumRays)
const;
275 virtual std::vector<double*>
getPrimalRays(
int maxNumRays)
const;
294 virtual void setObjCoeff(
int elementIndex,
double elementValue );
298 const int* indexLast,
299 const double* coeffList);
304 virtual void setColLower(
int elementIndex,
double elementValue );
309 virtual void setColUpper(
int elementIndex,
double elementValue );
315 double lower,
double upper );
325 const int* indexLast,
326 const double* boundList);
330 virtual void setRowLower(
int elementIndex,
double elementValue );
334 virtual void setRowUpper(
int elementIndex,
double elementValue );
340 double lower,
double upper );
343 virtual void setRowType(
int index,
char sense,
double rightHandSide,
354 const int* indexLast,
355 const double* boundList);
367 const int* indexLast,
368 const char* senseList,
369 const double* rhsList,
370 const double* rangeList);
385 virtual void setInteger(
const int* indices,
int len);
423 virtual void addCol(
const CoinPackedVectorBase& vec,
424 const double collb,
const double colub,
429 virtual void addCols(
const int numcols,
430 const CoinPackedVectorBase *
const * cols,
431 const double* collb,
const double* colub,
434 virtual void deleteCols(
const int num,
const int * colIndices);
438 virtual void addRow(
const CoinPackedVectorBase& vec,
439 const double rowlb,
const double rowub);
441 virtual void addRow(
const CoinPackedVectorBase& vec,
442 const char rowsen,
const double rowrhs,
443 const double rowrng);
447 virtual void addRows(
const int numrows,
448 const CoinPackedVectorBase *
const * rows,
449 const double* rowlb,
const double* rowub);
451 virtual void addRows(
const int numrows,
452 const CoinPackedVectorBase *
const * rows,
453 const char* rowsen,
const double* rowrhs,
454 const double* rowrng);
456 virtual void deleteRows(
const int num,
const int * rowIndices);
483 double effectivenessLb = 0.0);
503 virtual void loadProblem(
const CoinPackedMatrix& matrix,
504 const double* collb,
const double* colub,
506 const double* rowlb,
const double* rowub);
516 double*& collb,
double*& colub,
double*& obj,
517 double*& rowlb,
double*& rowub);
531 virtual void loadProblem(
const CoinPackedMatrix& matrix,
532 const double* collb,
const double* colub,
534 const char* rowsen,
const double* rowrhs,
535 const double* rowrng);
545 double*& collb,
double*& colub,
double*& obj,
546 char*& rowsen,
double*& rowrhs,
551 virtual void loadProblem(
const int numcols,
const int numrows,
552 const int* start,
const int* index,
554 const double* collb,
const double* colub,
556 const double* rowlb,
const double* rowub);
560 virtual void loadProblem(
const int numcols,
const int numrows,
561 const int* start,
const int* index,
563 const double* collb,
const double* colub,
565 const char* rowsen,
const double* rowrhs,
566 const double* rowrng);
570 virtual int readMps(
const char *filename,
571 const char *extension =
"mps");
577 virtual void writeMps(
const char *filename,
578 const char *extension =
"mps",
579 double objSense=0.0)
const;
653 virtual void reset();
712 virtual void getBInvARow(
int row,
double* z,
double * slack=NULL)
const;
715 virtual void getBInvRow(
int row,
double* z)
const;
718 virtual void getBInvACol(
int col,
double* vec)
const;
721 virtual void getBInvCol(
int col,
double* vec)
const;
728 virtual void getBasics(
int* index)
const;
817 mutable double *
obj_;