IpoptSolver Class Reference

The IpoptSolver class solves problems using Ipopt. More...

#include <OSIpoptSolver.h>

Inheritance diagram for IpoptSolver:

Inheritance graph
[legend]
Collaboration diagram for IpoptSolver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 IpoptSolver ()
 the IpoptSolver class constructor
 ~IpoptSolver ()
 the IpoptSolver class destructor
virtual void solve () throw (ErrorClass)
 solve results in an instance being read into the Ipopt data structrues and optimized
virtual void buildSolverInstance () throw (ErrorClass)
 The implementation of the virtual functions.
virtual void setSolverOptions () throw (ErrorClass)
 The implementation of the virtual functions.
void dataEchoCheck ()
 use this for debugging, print out the instance that the solver thinks it has and compare this with the OSiL file

Public Attributes

SmartPtr< TNLP > nlp
SmartPtr< IpoptApplication > app
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

OSrLWriterosrlwriter
std::string * ipoptErrorMsg

Detailed Description

The IpoptSolver class solves problems using Ipopt.

Author:
Robert Fourer, Jun Ma, Kipp Martin
Version:
1.0, 03/14/2004
Since:
OS 1.0
Remarks:
this class takes an OSiL instance and optimizes it using the COIN-OR Ipopt solver

Definition at line 197 of file OSIpoptSolver.h.


Constructor & Destructor Documentation

IpoptSolver::IpoptSolver (  ) 

the IpoptSolver class constructor

Definition at line 35 of file OSIpoptSolver.cpp.

References ipoptErrorMsg, m_osilreader, m_osolreader, DefaultSolver::osresult, and osrlwriter.

Referenced by Bonmin::IpoptSolver::clone().

IpoptSolver::~IpoptSolver (  ) 

the IpoptSolver class destructor

Definition at line 43 of file OSIpoptSolver.cpp.

References ipoptErrorMsg, m_osilreader, m_osolreader, DefaultSolver::osresult, and osrlwriter.


Member Function Documentation

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

solve results in an instance being read into the Ipopt data structrues and optimized

Implements DefaultSolver.

Definition at line 765 of file OSIpoptSolver.cpp.

References app, buildSolverInstance(), ErrorClass::errormsg, OSInstance::getObjectiveNumber(), OSInstance::getVariableNumber(), ipoptErrorMsg, nlp, DefaultSolver::osinstance, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), setSolverOptions(), and OSrLWriter::writeOSrL().

Referenced by OSMatlab::solve().

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

The implementation of the virtual functions.

Returns:
void.

Implements DefaultSolver.

Definition at line 738 of file OSIpoptSolver.cpp.

References app, DefaultSolver::bCallbuildSolverInstance, ErrorClass::errormsg, ipoptErrorMsg, m_osilreader, nlp, DefaultSolver::osil, DefaultSolver::osinstance, DefaultSolver::osoption, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSiLReader::readOSiL(), OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), and OSrLWriter::writeOSrL().

Referenced by solve().

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

The implementation of the virtual functions.

Returns:
void.

Implements DefaultSolver.

Definition at line 672 of file OSIpoptSolver.cpp.

References app, DefaultSolver::bSetSolverOptions, ErrorClass::errormsg, OSInstance::getNumberOfQuadraticTerms(), OSOption::getNumberOfSolverOptions(), OSInstance::getObjectiveNumber(), OSOption::getSolverOptions(), OSInstance::instanceData, m_osolreader, Objective::maxOrMin, Objectives::obj, InstanceData::objectives, os_strtod(), DefaultSolver::osinstance, DefaultSolver::osol, DefaultSolver::osoption, DefaultSolver::osresult, DefaultSolver::osrl, osrlwriter, OSoLReader::readOSoL(), OSResult::setGeneralMessage(), OSResult::setGeneralStatusType(), and OSrLWriter::writeOSrL().

Referenced by solve().

void IpoptSolver::dataEchoCheck (  ) 

use this for debugging, print out the instance that the solver thinks it has and compare this with the OSiL file

Definition at line 810 of file OSIpoptSolver.cpp.

References QuadraticTerms::coefficients, OSInstance::getConstraintLowerBounds(), OSInstance::getConstraintNames(), OSInstance::getConstraintNumber(), OSInstance::getConstraintUpperBounds(), OSInstance::getDenseObjectiveCoefficients(), OSInstance::getInstanceDescription(), OSInstance::getInstanceName(), OSInstance::getInstanceSource(), OSInstance::getLinearConstraintCoefficientNumber(), OSInstance::getLinearConstraintCoefficientsInColumnMajor(), OSInstance::getNumberOfQuadraticTerms(), OSInstance::getObjectiveMaxOrMins(), OSInstance::getQuadraticTerms(), OSInstance::getVariableLowerBounds(), OSInstance::getVariableNames(), OSInstance::getVariableNumber(), OSInstance::getVariableTypes(), OSInstance::getVariableUpperBounds(), SparseMatrix::indexes, OSInstance::instanceData, Objectives::numberOfObjectives, Objectives::obj, InstanceData::objectives, DefaultSolver::osinstance, QuadraticTerms::rowIndexes, SparseMatrix::starts, SparseMatrix::values, QuadraticTerms::varOneIndexes, and QuadraticTerms::varTwoIndexes.


Member Data Documentation

SmartPtr<TNLP> IpoptSolver::nlp

Definition at line 208 of file OSIpoptSolver.h.

Referenced by buildSolverInstance(), and solve().

SmartPtr<IpoptApplication> IpoptSolver::app

Definition at line 210 of file OSIpoptSolver.h.

Referenced by buildSolverInstance(), setSolverOptions(), and solve().

OSiLReader* IpoptSolver::m_osilreader

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

Definition at line 240 of file OSIpoptSolver.h.

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

OSoLReader* IpoptSolver::m_osolreader

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

Definition at line 246 of file OSIpoptSolver.h.

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

OSrLWriter* IpoptSolver::osrlwriter [private]

Definition at line 250 of file OSIpoptSolver.h.

Referenced by buildSolverInstance(), IpoptSolver(), setSolverOptions(), solve(), and ~IpoptSolver().

std::string* IpoptSolver::ipoptErrorMsg [private]

Definition at line 268 of file OSIpoptSolver.h.

Referenced by buildSolverInstance(), IpoptSolver(), solve(), and ~IpoptSolver().


The documentation for this class was generated from the following files:
Generated on Mon Aug 3 03:07:34 2009 by  doxygen 1.4.7