Bonmin::OaDecompositionBase::solverManip Class Reference

Small class to manipulatee various things in an OsiSolverInterface and restore them. More...

#include <BonOaDecBase.hpp>

Collaboration diagram for Bonmin::OaDecompositionBase::solverManip:

Collaboration graph
[legend]
List of all members.

Cached info from solver interface.

void getCached ()
int numcols_
 Number of columns.
int numrows_
 Number of rows.
const double * siColLower_
 Lower bounds on variables.
const double * siColUpper_
 Upper bounds on variables.

Public Member Functions

 solverManip (OsiSolverInterface *si, bool saveNumRows=true, bool saveBasis=true, bool saveBounds=false, bool saveCutoff=false, bool resolve=true)
 Constructor.
 solverManip (const OsiSolverInterface &si)
 Constructor which clone an other interface.
 ~solverManip ()
 Destructor.
void restore ()
 Restore solver.
void cloneOther (const OsiSolverInterface &si)
 Clone the state of another solver (bounds, cutoff, basis).
bool integerFeasible (const OsiBranchingInformation &info) const
 Check for integer feasibility of a solution return true if it is feasible.
void fixIntegers (const OsiBranchingInformation &info)
 Fix integer variables in si to their values in colsol.
bool isDifferentOnIntegers (const double *colsol)
 Check if solution in solver is the same as colsol on integer variables.
bool isDifferentOnIntegers (const double *colsol, const double *other)
 Check if two solutions are the same on integer variables.
void installCuts (const OsiCuts &cs, int numberCuts)
 Install cuts in solver.
OsiSolverInterfacesi ()
 Get pointer to solver interface.
void setObjects (OsiObject **objects, int nObjects)
 Set objects.
void setIntegerTolerance (double v)

Private Attributes

OsiSolverInterfacesi_
 Interface saved.
int initialNumberRows_
 Initial number of rows (-1 if don't save).
double * colLower_
 Initial lower bounds.
double * colUpper_
 Initial Upper bounds.
CoinWarmStartwarm_
 Inital basis.
double cutoff_
 Initial cutoff.
bool deleteSolver_
 delete si_ ?
OsiObject ** objects_
 Some objects the feasiblitiy of which to verify.
int nObjects_
 Number of objects.*/.
double integerTolerance_

Detailed Description

Small class to manipulatee various things in an OsiSolverInterface and restore them.

The OsiSolverInterface manipulated may already exist or may be cloned from another one.

Definition at line 122 of file BonOaDecBase.hpp.


Constructor & Destructor Documentation

Bonmin::OaDecompositionBase::solverManip::solverManip ( OsiSolverInterface si,
bool  saveNumRows = true,
bool  saveBasis = true,
bool  saveBounds = false,
bool  saveCutoff = false,
bool  resolve = true 
)

Constructor.

Bonmin::OaDecompositionBase::solverManip::solverManip ( const OsiSolverInterface si  ) 

Constructor which clone an other interface.

Bonmin::OaDecompositionBase::solverManip::~solverManip (  ) 

Destructor.


Member Function Documentation

void Bonmin::OaDecompositionBase::solverManip::restore (  ) 

Restore solver.

void Bonmin::OaDecompositionBase::solverManip::cloneOther ( const OsiSolverInterface si  ) 

Clone the state of another solver (bounds, cutoff, basis).

bool Bonmin::OaDecompositionBase::solverManip::integerFeasible ( const OsiBranchingInformation info  )  const

Check for integer feasibility of a solution return true if it is feasible.

Todo:
Handle SOS Type 2 constraints.

void Bonmin::OaDecompositionBase::solverManip::fixIntegers ( const OsiBranchingInformation info  ) 

Fix integer variables in si to their values in colsol.

Remarks:
colsol is assumed to be integer on the integer constrained variables.
Todo:
Handle SOS type 2.

bool Bonmin::OaDecompositionBase::solverManip::isDifferentOnIntegers ( const double *  colsol  ) 

Check if solution in solver is the same as colsol on integer variables.

bool Bonmin::OaDecompositionBase::solverManip::isDifferentOnIntegers ( const double *  colsol,
const double *  other 
)

Check if two solutions are the same on integer variables.

void Bonmin::OaDecompositionBase::solverManip::installCuts ( const OsiCuts cs,
int  numberCuts 
)

Install cuts in solver.

OsiSolverInterface* Bonmin::OaDecompositionBase::solverManip::si (  )  [inline]

Get pointer to solver interface.

Definition at line 158 of file BonOaDecBase.hpp.

References si_.

void Bonmin::OaDecompositionBase::solverManip::setObjects ( OsiObject **  objects,
int  nObjects 
) [inline]

Set objects.

Definition at line 164 of file BonOaDecBase.hpp.

References nObjects_, and objects_.

void Bonmin::OaDecompositionBase::solverManip::setIntegerTolerance ( double  v  )  [inline]

Definition at line 170 of file BonOaDecBase.hpp.

References integerTolerance_.

void Bonmin::OaDecompositionBase::solverManip::getCached (  )  [private]


Member Data Documentation

OsiSolverInterface* Bonmin::OaDecompositionBase::solverManip::si_ [private]

Interface saved.

Definition at line 176 of file BonOaDecBase.hpp.

Referenced by si().

int Bonmin::OaDecompositionBase::solverManip::initialNumberRows_ [private]

Initial number of rows (-1 if don't save).

Definition at line 178 of file BonOaDecBase.hpp.

double* Bonmin::OaDecompositionBase::solverManip::colLower_ [private]

Initial lower bounds.

Definition at line 181 of file BonOaDecBase.hpp.

double* Bonmin::OaDecompositionBase::solverManip::colUpper_ [private]

Initial Upper bounds.

Definition at line 184 of file BonOaDecBase.hpp.

CoinWarmStart* Bonmin::OaDecompositionBase::solverManip::warm_ [private]

Inital basis.

Definition at line 187 of file BonOaDecBase.hpp.

double Bonmin::OaDecompositionBase::solverManip::cutoff_ [private]

Initial cutoff.

Definition at line 190 of file BonOaDecBase.hpp.

bool Bonmin::OaDecompositionBase::solverManip::deleteSolver_ [private]

delete si_ ?

Definition at line 193 of file BonOaDecBase.hpp.

OsiObject* * Bonmin::OaDecompositionBase::solverManip::objects_ [private]

Some objects the feasiblitiy of which to verify.

Definition at line 196 of file BonOaDecBase.hpp.

Referenced by setObjects().

int Bonmin::OaDecompositionBase::solverManip::nObjects_ [private]

Number of objects.*/.

Definition at line 198 of file BonOaDecBase.hpp.

Referenced by setObjects().

int Bonmin::OaDecompositionBase::solverManip::numcols_ [private]

Number of columns.

Definition at line 202 of file BonOaDecBase.hpp.

int Bonmin::OaDecompositionBase::solverManip::numrows_ [private]

Number of rows.

Definition at line 204 of file BonOaDecBase.hpp.

const double* Bonmin::OaDecompositionBase::solverManip::siColLower_ [private]

Lower bounds on variables.

Definition at line 206 of file BonOaDecBase.hpp.

const double* Bonmin::OaDecompositionBase::solverManip::siColUpper_ [private]

Upper bounds on variables.

Definition at line 208 of file BonOaDecBase.hpp.

double Bonmin::OaDecompositionBase::solverManip::integerTolerance_ [private]

Definition at line 212 of file BonOaDecBase.hpp.

Referenced by setIntegerTolerance().


The documentation for this class was generated from the following file:
Generated on Thu Jun 26 03:20:39 2008 for Bonmin by  doxygen 1.4.7