Public Types | Public Member Functions | Private Attributes | List of all members
ifopt::IpoptSolver Class Reference

An interface to IPOPT, fully hiding its implementation. More...

#include <ipopt_solver.h>

Inheritance diagram for ifopt::IpoptSolver:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< IpoptSolver >
 
- Public Types inherited from ifopt::Solver
using Ptr = std::shared_ptr< Solver >
 

Public Member Functions

double GetTotalWallclockTime ()
 Get the total wall clock time for the optimization, including function evaluations. More...
 
 IpoptSolver (bool rethrow_non_ipopt_exceptions=false)
 
void SetOption (const std::string &name, const std::string &value)
 
void SetOption (const std::string &name, double value)
 
void SetOption (const std::string &name, int value)
 
void Solve (Problem &nlp) override
 Creates an IpoptAdapter and solves the NLP. More...
 
virtual ~IpoptSolver ()=default
 
- Public Member Functions inherited from ifopt::Solver
int GetReturnStatus () const
 Get the return status for the optimization. More...
 
virtual ~Solver ()=default
 

Private Attributes

std::shared_ptr< Ipopt::IpoptApplication > ipopt_app_
 

Additional Inherited Members

- Protected Attributes inherited from ifopt::Solver
int status_
 

Detailed Description

An interface to IPOPT, fully hiding its implementation.

To set specific options, see: https://www.coin-or.org/Ipopt/documentation/node40.html

Definition at line 47 of file ipopt_solver.h.

Member Typedef Documentation

◆ Ptr

using ifopt::IpoptSolver::Ptr = std::shared_ptr<IpoptSolver>

Definition at line 49 of file ipopt_solver.h.

Constructor & Destructor Documentation

◆ IpoptSolver()

ifopt::IpoptSolver::IpoptSolver ( bool  rethrow_non_ipopt_exceptions = false)

Definition at line 56 of file ipopt_solver.cc.

◆ ~IpoptSolver()

virtual ifopt::IpoptSolver::~IpoptSolver ( )
virtualdefault

Member Function Documentation

◆ GetTotalWallclockTime()

double ifopt::IpoptSolver::GetTotalWallclockTime ( )

Get the total wall clock time for the optimization, including function evaluations.

Definition at line 133 of file ipopt_solver.cc.

◆ SetOption() [1/3]

void ifopt::IpoptSolver::SetOption ( const std::string &  name,
const std::string &  value 
)

Set options for the IPOPT solver. A complete list can be found here: https://www.coin-or.org/Ipopt/documentation/node40.html

Definition at line 118 of file ipopt_solver.cc.

◆ SetOption() [2/3]

void ifopt::IpoptSolver::SetOption ( const std::string &  name,
double  value 
)

Definition at line 128 of file ipopt_solver.cc.

◆ SetOption() [3/3]

void ifopt::IpoptSolver::SetOption ( const std::string &  name,
int  value 
)

Definition at line 123 of file ipopt_solver.cc.

◆ Solve()

void ifopt::IpoptSolver::Solve ( Problem nlp)
overridevirtual

Creates an IpoptAdapter and solves the NLP.

Parameters
[in/out]nlp The specific problem.

Implements ifopt::Solver.

Definition at line 90 of file ipopt_solver.cc.

Member Data Documentation

◆ ipopt_app_

std::shared_ptr<Ipopt::IpoptApplication> ifopt::IpoptSolver::ipopt_app_
private

Definition at line 71 of file ipopt_solver.h.


The documentation for this class was generated from the following files:


ifopt
Author(s): Alexander W. Winkler
autogenerated on Mon Sep 18 2023 02:14:38