|
Pipal
1.2.0
Penalty Interior-Point ALgorithm
|
Problem class for the Pipal library. More...
#include <Problem.hxx>
Inherited by Pipal::ProblemWrapper< Real >.
Public Types | |
| using | UniquePtr = std::unique_ptr<Problem> |
Public Member Functions | |
| Problem ()=default | |
| Default constructor. | |
| Problem (std::string t_name) | |
| Problem constructor. | |
| Problem (Problem const &)=delete | |
| Deleted copy constructor. | |
| Problem & | operator= (Problem const &)=delete |
| Deleted assignment operator. | |
| Problem (Problem &&)=delete | |
| Deleted move constructor. | |
| Problem & | operator= (Problem &&)=delete |
| Deleted move assignment operator. | |
| virtual | ~Problem ()=default |
| Default destructor. | |
| std::string const & | name () const |
| Get the name of the optimization problem. | |
| void | name (std::string const &t_name) |
| Set the name of the optimization problem. | |
| virtual bool | objective (Vector< Real > const &x, Real &out) const =0 |
| Evaluate the objective function. | |
| virtual bool | objective_gradient (Vector< Real > const &x, Vector< Real > &out) const =0 |
| Evaluate the gradient of the objective function. | |
| virtual bool | constraints (Vector< Real > const &x, Vector< Real > &out) const =0 |
| Evaluate the constraints function. | |
| virtual bool | constraints_jacobian (Vector< Real > const &x, SparseMatrix< Real > &out) const =0 |
| Evaluate the Jacobian of the constraints function with respect to the primal variables. | |
| virtual bool | lagrangian_hessian (Vector< Real > const &x, Vector< Real > const &l, SparseMatrix< Real > &out) const =0 |
| Evaluate the Hessian of the Lagrangian function with respect to the primal variables. | |
| virtual bool | primal_lower_bounds (Vector< Real > &out) const =0 |
| Lower bounds on the primal variables. | |
| virtual bool | primal_upper_bounds (Vector< Real > &out) const =0 |
| Upper bounds on the primal variables. | |
| virtual bool | constraints_lower_bounds (Vector< Real > &out) const =0 |
| Lower bounds on the constraints. | |
| virtual bool | constraints_upper_bounds (Vector< Real > &out) const =0 |
| Upper bounds on the constraints. | |
Private Attributes | |
| std::string | m_name {"(Unnamed Pipal Problem)"} |
The Problem class serves as a base class for defining optimization problems in the Pipal library. It provides a structure for encapsulating the problem's objective function, constraints, and other necessary components.
| Real | The real number type. |
| using Pipal::Problem< Real >::UniquePtr = std::unique_ptr<Problem> |
|
default |
Initializes the problem with default values for the objective, gradient, hessian, constraints and Jacobian functions.
|
inline |
| [in] | t_name | Name of the optimization problem. |
|
delete |
|
delete |
|
virtualdefault |
|
pure virtual |
| [in] | x | Primal variables. |
| [out] | out | The value of the constraints function. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [in] | x | Primal variables. |
| [out] | out | The Jacobian matrix of the constraints function. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [out] | out | The lower bounds on the constraints. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [out] | out | The upper bounds on the constraints. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [in] | x | Primal variables. |
| [in] | l | Dual variables. |
| [out] | out | The Hessian matrix of the Lagrangian function. |
Implemented in Pipal::ProblemWrapper< Real >.
|
inline |
|
inline |
| [in] | t_name | The name of the optimization problem. |
|
pure virtual |
| [in] | x | Primal variables. |
| [out] | out | The objective function. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [in] | x | Primal variables. |
| [out] | out | The gradient of the objective function. |
Implemented in Pipal::ProblemWrapper< Real >.
|
delete |
|
delete |
|
pure virtual |
| [out] | out | The lower bounds on the primal variables. |
Implemented in Pipal::ProblemWrapper< Real >.
|
pure virtual |
| [out] | out | The upper bounds on the primal variables. |
Implemented in Pipal::ProblemWrapper< Real >.
|
private |
Name of the optimization problem.