- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CoinSolver Class Reference

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

`#include <OSCoinSolver.h>`

Inheritance diagram for CoinSolver:

[legend]
Collaboration diagram for CoinSolver:

[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
OSiLReader * | m_osilreader
| m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed
OSoLReader * | m_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
OSrLWriter * | osrlwriter
| 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:

- /home/coin/SVN-release/OS-2.3.5/OS/src/OSSolverInterfaces/OSCoinSolver.h
- /home/coin/SVN-release/OS-2.3.5/OS/src/OSSolverInterfaces/OSCoinSolver.cpp
- /home/coin/SVN-release/OS-2.3.5/OS/v2.0/OSCoinSolver.cpp