Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

OsiOslSolverMipHandlerInterface Class Reference

Adapted OsiOsl Interface. More...

#include <OsiOslSolverMipHandlerInterface.h>

List of all members.

Public Member Functions

Solve methods
virtual int solve1 ()
 Solve mode 1.
virtual int solve2 ()
 Solve mode 2.
virtual int solve3 ()
 Solve mode 3.
Problem query functions
virtual const double * getRowUpper ()
virtual const double * getObjCoefficients ()
Solution query functions
virtual const double * getColSolution ()
virtual const double * getRowPrice ()
virtual const double * getRowActivity ()
Solution process information
int getNumberOfNodes ()
Parameter query functions
int getMaximumNumberOfNodes ()
bool getTestFlag () const
bool getTransponeFlag () const
Get additional information
CoinPackedMatrix getInfoBlock () const
Parameter set functions
void setTestFlag (bool test_)
void setTransponeFlag (bool istransposed_)
Set additional information
void setInfoBlock (CoinPackedMatrix infoBlock_)
Solver manipulating methods
void deleteCols (const int num, const int *columnIndices)
void deleteRows (const int num, const int *rowIndices)
virtual void createNames ()
Methods to input a problem
virtual void loadProblem (const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub)
virtual void loadProblem (const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const char *rowsen, const double *rowrhs, const double *rowrng)
virtual int addSpeciallyOrderedSet (const SpeciallyOrderedSet *sos)
 add a specially ordered set or an integer set
Methods to write a problem to file
virtual void writeProblemExcel (char *filename, const CoinPackedMatrix &activityType)
 Write the problem currently loaded to the solver in a file in standard LP Excel format.
Test functions
int testModel ()
 Submit loaded model to some tests.
int checkSolutionPrimal ()
Constructors and destructor
 OsiOslSolverMipHandlerInterface ()
 Standard constructor.
virtual ~OsiOslSolverMipHandlerInterface ()
 Destructor:.

Private Member Functions

template<class Type>
int allocateVector (Type *&pointertovector, long int sizeofvector)
void retrieveOriginalColumnNames (int *&colIndex)
 get the original column indeces back (from before deleting columns was done)
void retrieveOriginalRowNames (int *&rowIndex)
 get the original row indeces back (from before deleting columns was done)
int checkColumns ()
 checks if bounds on columns/activities are consistent
int fixDiverseParameters ()
void gutsOfDestructor ()

Private Attributes

int numrows
int numcols
int numberofrowstodrop
 Number of empty rows to be dropped from model.
int numberofcolstodrop
 Number of empty columns to be dropped from model.
bool test
 Test flag.
int istransposed
 boolean flag: true if MatrixDouble is transposed
CoinPackedMatrix infoBlock
 Info Block from Excel tableau, needed in writeProblemExcel().

Friends

void OsiOslSolverMipHandlerInterfaceUnitTest ()


Detailed Description

Adapted OsiOsl Interface.

This class is derived from the OsiOsiSolverInterface. Essentially it wrapes the OSL solver fucntionality which was develloped by Thomas berger in the former class mpPrbl (files lp9.x). Important features are the three different solving strategies implemented in the methods solve1(),solve2() and solve3().


Constructor & Destructor Documentation

OsiOslSolverMipHandlerInterface::OsiOslSolverMipHandlerInterface  ) 
 

Standard constructor.

virtual OsiOslSolverMipHandlerInterface::~OsiOslSolverMipHandlerInterface  )  [virtual]
 

Destructor:.


Member Function Documentation

virtual int OsiOslSolverMipHandlerInterface::addSpeciallyOrderedSet const SpeciallyOrderedSet sos  )  [virtual]
 

add a specially ordered set or an integer set

Type has to be: -1 for an integer set or 1,2, or 3 for sos of type 1,2 or 3, respectively

template<class Type>
int OsiOslSolverMipHandlerInterface::allocateVector Type *&  pointertovector,
long int  sizeofvector
[private]
 

int OsiOslSolverMipHandlerInterface::checkColumns  )  [private]
 

checks if bounds on columns/activities are consistent

int OsiOslSolverMipHandlerInterface::checkSolutionPrimal  ) 
 

checks if primal solution values lie within upper and lower bounds and if bounds on columns are consistent

virtual void OsiOslSolverMipHandlerInterface::createNames  )  [virtual]
 

void OsiOslSolverMipHandlerInterface::deleteCols const int  num,
const int *  columnIndices
 

void OsiOslSolverMipHandlerInterface::deleteRows const int  num,
const int *  rowIndices
 

int OsiOslSolverMipHandlerInterface::fixDiverseParameters  )  [private]
 

virtual const double* OsiOslSolverMipHandlerInterface::getColSolution  )  [virtual]
 

CoinPackedMatrix OsiOslSolverMipHandlerInterface::getInfoBlock  )  const
 

int OsiOslSolverMipHandlerInterface::getMaximumNumberOfNodes  ) 
 

int OsiOslSolverMipHandlerInterface::getNumberOfNodes  ) 
 

virtual const double* OsiOslSolverMipHandlerInterface::getObjCoefficients  )  [virtual]
 

virtual const double* OsiOslSolverMipHandlerInterface::getRowActivity  )  [virtual]
 

virtual const double* OsiOslSolverMipHandlerInterface::getRowPrice  )  [virtual]
 

virtual const double* OsiOslSolverMipHandlerInterface::getRowUpper  )  [virtual]
 

bool OsiOslSolverMipHandlerInterface::getTestFlag  )  const
 

bool OsiOslSolverMipHandlerInterface::getTransponeFlag  )  const
 

void OsiOslSolverMipHandlerInterface::gutsOfDestructor  )  [private]
 

virtual void OsiOslSolverMipHandlerInterface::loadProblem const int  numcols,
const int  numrows,
const CoinBigIndex *  start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const char *  rowsen,
const double *  rowrhs,
const double *  rowrng
[virtual]
 

Just like the previous loadProblem() method except that the MatrixDouble is given in a standard column major ordered format (without gaps).

virtual void OsiOslSolverMipHandlerInterface::loadProblem const int  numcols,
const int  numrows,
const CoinBigIndex *  start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub
[virtual]
 

Just like the other loadProblem() methods in parent class OsiOslSolverInterface except that the MatrixDouble is given in a standard column major ordered format (without gaps). This Methods overwrites the parent class'method to include ekk_dropLastElementBlock() and ekk_mergeBlocks().

void OsiOslSolverMipHandlerInterface::retrieveOriginalColumnNames int *&  colIndex  )  [private]
 

get the original column indeces back (from before deleting columns was done)

void OsiOslSolverMipHandlerInterface::retrieveOriginalRowNames int *&  rowIndex  )  [private]
 

get the original row indeces back (from before deleting columns was done)

void OsiOslSolverMipHandlerInterface::setInfoBlock CoinPackedMatrix  infoBlock_  ) 
 

void OsiOslSolverMipHandlerInterface::setTestFlag bool  test_  ) 
 

void OsiOslSolverMipHandlerInterface::setTransponeFlag bool  istransposed_  ) 
 

virtual int OsiOslSolverMipHandlerInterface::solve1  )  [virtual]
 

Solve mode 1.

with previous call of ekk_eitherSimplex, see sample code EXIMDL.CPP

virtual int OsiOslSolverMipHandlerInterface::solve2  )  [virtual]
 

Solve mode 2.

with presolving, see sample code EXMIP.CPP

virtual int OsiOslSolverMipHandlerInterface::solve3  )  [virtual]
 

Solve mode 3.

neu 2004 BnB with transformation to 0/1 MIP problem, see EXGMIP.CPP integer sets needed; otherwise segmentation fault in ekk_makeBinary() CAVE: other results after warmstart than with solve1() and solve2()

int OsiOslSolverMipHandlerInterface::testModel  ) 
 

Submit loaded model to some tests.

virtual void OsiOslSolverMipHandlerInterface::writeProblemExcel char *  filename,
const CoinPackedMatrix &  activityType
[virtual]
 

Write the problem currently loaded to the solver in a file in standard LP Excel format.


Friends And Related Function Documentation

void OsiOslSolverMipHandlerInterfaceUnitTest  )  [friend]
 


Member Data Documentation

CoinPackedMatrix OsiOslSolverMipHandlerInterface::infoBlock [private]
 

Info Block from Excel tableau, needed in writeProblemExcel().

int OsiOslSolverMipHandlerInterface::istransposed [private]
 

boolean flag: true if MatrixDouble is transposed

int OsiOslSolverMipHandlerInterface::numberofcolstodrop [private]
 

Number of empty columns to be dropped from model.

int OsiOslSolverMipHandlerInterface::numberofrowstodrop [private]
 

Number of empty rows to be dropped from model.

int OsiOslSolverMipHandlerInterface::numcols [private]
 

int OsiOslSolverMipHandlerInterface::numrows [private]
 

bool OsiOslSolverMipHandlerInterface::test [private]
 

Test flag.


The documentation for this class was generated from the following file:
Generated on Thu Aug 28 12:41:31 2008 for MPMAS by  doxygen 1.3.9.1