CoinSolver Class Reference

Implements a solve method for the Coin solvers. More...

#include <OSCoinSolver.h>

Inheritance diagram for CoinSolver:

Inheritance graph
[legend]
Collaboration diagram for CoinSolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CoinSolver ()
 The class contructor.
 ~CoinSolver ()
 The class destructor.
virtual void solve () throw (ErrorClass)
 The implementation of the virtual functions.
virtual void buildSolverInstance () throw (ErrorClass)
 The implementation of the virtual functions.
virtual void setSolverOptions () throw (ErrorClass)
 The implementation of the virtual functions.
bool setCoinPackedMatrix ()
 Create a CoinPackedMatrix.
std::string getCoinSolverType (std::string osol_)
void dataEchoCheck ()
 Print out problem parameters.
void writeResult (OsiSolverInterface *solver)
void writeResult (CbcModel *model)

Public Attributes

OsiSolverInterface * osiSolver
 ossiSolver is the osi solver object -- in this case clp, glpk, cbc, or cplex
OSiLReaderm_osilreader
 m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed
OSoLReaderm_osolreader
 m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed

Private Attributes

CoinPackedMatrix * m_CoinPackedMatrix
 m_CoinPackedMatrix is a Coin Packed Matrix ojbect
OSrLWriterosrlwriter
 osrlwriter object used to write osrl from and OSResult object
const char ** cbc_argv
 when Cbc is the solver, these are the arguments sent to Cbc Solve
int num_cbc_argv
 the number of arguments in the argument list to the Cbc Solver
double cpuTime

Detailed Description

Implements a solve method for the Coin solvers.

This class implements a solve method for the Coin solvers It reads an OSInstance object and puts into the Coin OSI format

Definition at line 39 of file OSCoinSolver.h.


Constructor & Destructor Documentation

CoinSolver::CoinSolver (  ) 

The class contructor.

Definition at line 79 of file OSCoinSolver.cpp.

References osrlwriter.

CoinSolver::~CoinSolver (  ) 

The class destructor.

Definition at line 92 of file OSCoinSolver.cpp.

References cbc_argv, m_CoinPackedMatrix, m_osilreader, m_osolreader, num_cbc_argv, osiSolver, DefaultSolver::osresult, and osrlwriter.


Member Function Documentation

void CoinSolver::solve (  )  throw (ErrorClass) [virtual]

The implementation of the virtual functions.

Returns:
void.

Implements DefaultSolver.

Definition at line 655 of file OSCoinSolver.cpp.

References buildSolverInstance(), cbc_argv, cpuTime, ErrorClass::errormsg, OSInstance::getConstraintNumber(), OSInstance::getInstanceName(), OSInstance::getNumberOfBinaryVariables(), OSInstance::getNumberOfIntegerVariables(), OSInstance::getVariableNumber(), num_cbc_argv, DefaultSolver::osinstance, osiSolver, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setConstraintNumber(), OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), OSResult::setInstanceName(), OSResult::setObjectiveNumber(), OSResult::setSolutionNumber(), OSResult::setSolverInvoked(), setSolverOptions(), OSResult::setVariableNumber(), DefaultSolver::sSolverName, OSrLWriter::writeOSrL(), and writeResult().

Referenced by main(), OSDipBlockCoinSolver::solve(), and OSColGenApp::solveRestrictedMasterRelaxation().

void CoinSolver::buildSolverInstance (  )  throw (ErrorClass) [virtual]

The implementation of the virtual functions.

Returns:
void.

Implements DefaultSolver.

Definition at line 122 of file OSCoinSolver.cpp.

References DefaultSolver::bCallbuildSolverInstance, ErrorClass::errormsg, OSInstance::getConstraintLowerBounds(), OSInstance::getConstraintUpperBounds(), OSInstance::getDenseObjectiveCoefficients(), OSInstance::getLinearConstraintCoefficientNumber(), OSInstance::getNumberOfBinaryVariables(), OSInstance::getNumberOfIntegerVariables(), OSInstance::getNumberOfNonlinearExpressions(), OSInstance::getNumberOfQuadraticTerms(), OSInstance::getNumberOfSemiContinuousVariables(), OSInstance::getNumberOfSemiIntegerVariables(), OSInstance::getNumberOfStringVariables(), OSInstance::getObjectiveMaxOrMins(), OSInstance::getObjectiveNumber(), OSInstance::getVariableLowerBounds(), OSInstance::getVariableNumber(), OSInstance::getVariableTypes(), OSInstance::getVariableUpperBounds(), m_CoinPackedMatrix, m_osilreader, DefaultSolver::osil, DefaultSolver::osinstance, osiSolver, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSiLReader::readOSiL(), setCoinPackedMatrix(), OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), DefaultSolver::sSolverName, and OSrLWriter::writeOSrL().

Referenced by main(), OSDipBlockCoinSolver::OSDipBlockCoinSolver(), and solve().

void CoinSolver::setSolverOptions (  )  throw (ErrorClass) [virtual]

The implementation of the virtual functions.

Returns:
void.

Implements DefaultSolver.

Definition at line 262 of file OSCoinSolver.cpp.

References DefaultSolver::bSetSolverOptions, cbc_argv, DEBUG, OSOption::getInitVarValuesSparse(), OSOption::getNumberOfInitVarValues(), OSOption::getNumberOfSolverOptions(), OSInstance::getObjectiveConstants(), OSOption::getSolverOptions(), OSInstance::getVariableNumber(), OSInstance::instanceData, Variable::lb, m_osolreader, num_cbc_argv, os_strtod(), OSDBL_MAX, DefaultSolver::osinstance, osiSolver, DefaultSolver::osol, DefaultSolver::osoption, OSoLReader::readOSoL(), DefaultSolver::sSolverName, Variable::ub, InitVarValue::value, Variables::var, and InstanceData::variables.

Referenced by solve().

bool CoinSolver::setCoinPackedMatrix (  ) 

Create a CoinPackedMatrix.

Returns:
true if a CoinPackedMatrix successfully created.

Definition at line 616 of file OSCoinSolver.cpp.

References ErrorClass::errormsg, OSInstance::getConstraintNumber(), OSInstance::getLinearConstraintCoefficientMajor(), OSInstance::getLinearConstraintCoefficientNumber(), OSInstance::getLinearConstraintCoefficientsInColumnMajor(), OSInstance::getLinearConstraintCoefficientsInRowMajor(), OSInstance::getVariableNumber(), SparseMatrix::indexes, m_CoinPackedMatrix, DefaultSolver::osinstance, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), SparseMatrix::starts, SparseMatrix::values, and OSrLWriter::writeOSrL().

Referenced by buildSolverInstance().

std::string CoinSolver::getCoinSolverType ( std::string  osol_  ) 

Definition at line 836 of file OSCoinSolver.cpp.

References ErrorClass::errormsg, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), and OSrLWriter::writeOSrL().

void CoinSolver::dataEchoCheck (  ) 

Print out problem parameters.

Returns:
void

Definition at line 867 of file OSCoinSolver.cpp.

References OSInstance::getConstraintLowerBounds(), OSInstance::getConstraintNames(), OSInstance::getConstraintNumber(), OSInstance::getConstraintUpperBounds(), OSInstance::getDenseObjectiveCoefficients(), OSInstance::getInstanceDescription(), OSInstance::getInstanceName(), OSInstance::getInstanceSource(), OSInstance::getObjectiveMaxOrMins(), OSInstance::getVariableLowerBounds(), OSInstance::getVariableNames(), OSInstance::getVariableNumber(), OSInstance::getVariableTypes(), OSInstance::getVariableUpperBounds(), OSInstance::instanceData, m_CoinPackedMatrix, Objectives::numberOfObjectives, Objectives::obj, InstanceData::objectives, and DefaultSolver::osinstance.

void CoinSolver::writeResult ( OsiSolverInterface *  solver  ) 

Definition at line 909 of file OSCoinSolver.cpp.

References cpuTime, ENUM_BASIS_STATUS_atLower, ENUM_BASIS_STATUS_atUpper, ENUM_BASIS_STATUS_basic, ENUM_BASIS_STATUS_isFree, ENUM_PROBLEM_COMPONENT_constraints, ENUM_PROBLEM_COMPONENT_variables, ErrorClass::errormsg, OSInstance::getConstraintNumber(), OSInstance::getNumberOfBinaryVariables(), OSInstance::getNumberOfIntegerVariables(), getVersionInfo(), os_dtoa_format(), DefaultSolver::osinstance, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setAnOtherVariableResultSparse(), OSResult::setBasisStatus(), OSResult::setDualVariableValuesDense(), OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), OSResult::setNumberOfOtherVariableResults(), OSResult::setObjectiveValuesDense(), OSResult::setPrimalVariableValuesDense(), OSResult::setServiceName(), OSResult::setSolutionMessage(), OSResult::setSolutionStatus(), OSResult::setSolverInvoked(), OSResult::setTime(), DefaultSolver::sSolverName, and OSrLWriter::writeOSrL().

Referenced by solve().

void CoinSolver::writeResult ( CbcModel *  model  ) 

Definition at line 1409 of file OSCoinSolver.cpp.

References cpuTime, OSInstance::getNumberOfBinaryVariables(), OSInstance::getNumberOfIntegerVariables(), getVersionInfo(), os_dtoa_format(), DefaultSolver::osinstance, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setAnOtherVariableResultSparse(), OSResult::setDualVariableValuesDense(), OSResult::setGeneralStatusType(), OSResult::setNumberOfOtherVariableResults(), OSResult::setObjectiveValuesDense(), OSResult::setPrimalVariableValuesDense(), OSResult::setServiceName(), OSResult::setSolutionStatus(), OSResult::setTime(), and OSrLWriter::writeOSrL().


Member Data Documentation

OsiSolverInterface* CoinSolver::osiSolver

ossiSolver is the osi solver object -- in this case clp, glpk, cbc, or cplex

Definition at line 94 of file OSCoinSolver.h.

Referenced by buildSolverInstance(), main(), setSolverOptions(), solve(), OSDipBlockCoinSolver::solve(), OSColGenApp::solveRestrictedMasterRelaxation(), and ~CoinSolver().

OSiLReader* CoinSolver::m_osilreader

m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed

Definition at line 102 of file OSCoinSolver.h.

Referenced by buildSolverInstance(), and ~CoinSolver().

OSoLReader* CoinSolver::m_osolreader

m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed

Definition at line 108 of file OSCoinSolver.h.

Referenced by setSolverOptions(), and ~CoinSolver().

CoinPackedMatrix* CoinSolver::m_CoinPackedMatrix [private]

m_CoinPackedMatrix is a Coin Packed Matrix ojbect

Definition at line 127 of file OSCoinSolver.h.

Referenced by buildSolverInstance(), dataEchoCheck(), setCoinPackedMatrix(), and ~CoinSolver().

OSrLWriter* CoinSolver::osrlwriter [private]

osrlwriter object used to write osrl from and OSResult object

Definition at line 130 of file OSCoinSolver.h.

Referenced by buildSolverInstance(), CoinSolver(), getCoinSolverType(), setCoinPackedMatrix(), solve(), writeResult(), and ~CoinSolver().

const char** CoinSolver::cbc_argv [private]

when Cbc is the solver, these are the arguments sent to Cbc Solve

Definition at line 135 of file OSCoinSolver.h.

Referenced by setSolverOptions(), solve(), and ~CoinSolver().

int CoinSolver::num_cbc_argv [private]

the number of arguments in the argument list to the Cbc Solver

Definition at line 139 of file OSCoinSolver.h.

Referenced by setSolverOptions(), solve(), and ~CoinSolver().

double CoinSolver::cpuTime [private]

Definition at line 141 of file OSCoinSolver.h.

Referenced by solve(), and writeResult().


The documentation for this class was generated from the following files:
Generated on Thu Mar 31 03:17:34 2011 by  doxygen 1.4.7