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

Ipopt::SmartPtr< Ipopt::TNLP > nlp
Ipopt::SmartPtr< Ipopt::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 170 of file OSIpoptSolver.h.


Constructor & Destructor Documentation

IpoptSolver::IpoptSolver (  ) 

the IpoptSolver class constructor

Definition at line 33 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 42 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 910 of file OSIpoptSolver.cpp.

References app, buildSolverInstance(), ErrorClass::errormsg, ipoptErrorMsg, nlp, DefaultSolver::osresult, 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 879 of file OSIpoptSolver.cpp.

References app, DefaultSolver::bCallbuildSolverInstance, ErrorClass::errormsg, ipoptErrorMsg, m_osilreader, nlp, DefaultSolver::osil, DefaultSolver::osinstance, DefaultSolver::osoption, DefaultSolver::osresult, 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 803 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, 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 959 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

Ipopt::SmartPtr<Ipopt::TNLP> IpoptSolver::nlp

Definition at line 182 of file OSIpoptSolver.h.

Referenced by buildSolverInstance(), and solve().

Ipopt::SmartPtr<Ipopt::IpoptApplication> IpoptSolver::app

Definition at line 184 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 214 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 220 of file OSIpoptSolver.h.

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

OSrLWriter* IpoptSolver::osrlwriter [private]

Definition at line 224 of file OSIpoptSolver.h.

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

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

Definition at line 242 of file OSIpoptSolver.h.

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


The documentation for this class was generated from the following files:
Generated on Thu Nov 10 03:12:32 2011 by  doxygen 1.4.7