CppAD: A C++ Algorithmic Differentiation Package 20110419
cppad_ipopt_solution Class Reference

Class that contains information about the problem solution. More...

List of all members.

Public Types

enum  solution_status {
  not_defined, success, maxiter_exceeded, stop_at_tiny_step,
  stop_at_acceptable_point, local_infeasibility, user_requested_stop, feasible_point_found,
  diverging_iterates, restoration_failure, error_in_step_computation, invalid_number_detected,
  too_few_degrees_of_freedom, internal_error, unknown
}
 possible values for he solution status More...

Public Member Functions

 cppad_ipopt_solution (void)
 constructor initializes solution status as not yet defined

Public Attributes

enum
cppad_ipopt_solution::solution_status 
status
NumberVector x
 the approximation solution
NumberVector z_l
 Lagrange multipliers corresponding to lower bounds on x.
NumberVector z_u
 Lagrange multipliers corresponding to upper bounds on x.
NumberVector g
 value of g(x)
NumberVector lambda
 Lagrange multipliers correspondiing constraints on g(x)
Ipopt::Number obj_value
 value of f(x)

Detailed Description

Class that contains information about the problem solution.

Nonlinear Programming Problem

We are give smooth functions $ f : {\bf R}^n \rightarrow {\bf R} $ and $ g : {\bf R}^n \rightarrow {\bf R}^m $ and wish to solve the problem

\[ \begin{array}{rcl} {\rm minimize} & f(x) & {\rm w.r.t.} \; x \in {\bf R}^n \\ {\rm subject \; to} & g^l \leq g(x) \leq g^u \\ & x^l \leq x \leq x^u \end{array} \]

Users Representation

The functions $ f : {\bf R}^n \rightarrow {\bf R} $ and $ g : {\bf R}^n \rightarrow {\bf R}^m $ are defined by

\[ \left( \begin{array}{c} f(x) \\ g(x) \end{array} \right) = \sum_{k=0}^{K-1} \; \sum_{\ell=0}^{L(k) - 1} [ (m+1) \otimes I_{k,\ell} ] \; \circ \; r_k \; \circ \; [ J_{k,\ell} \otimes n ] \; (x) \]

where for $ k = 0 , \ldots , K-1$, $ r_k : {\bf R}^{q(k)} \rightarrow {\bf R}^{p(k)} $.

Evaluation Methods

The set of evaluation methods for this class is

	{ eval_f, eval_grad_f, eval_g, eval_jac_g, eval_h }

Note that the bool return flag for the evaluations methods does not appear in the Ipopt documentation. Looking at the code, it seems to be a flag telling Ipopt to abort when the flag is false.

Definition at line 703 of file cppad_ipopt_nlp.hpp.


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