Optimo  0.1.0
A C++ header library for optimization
 All Classes Functions Variables Pages
optimo::Problem< Scalar, m, n > Class Template Reference

Class defining a convex Problem. More...

#include <objects.h>

Public Member Functions

 Problem (const ObjectiveFunctor< Scalar, n > &obj, const Constraints< Scalar, m, n > &con, const Eigen::Matrix< Scalar, m, n > &Aeq, const Eigen::Matrix< Scalar, m, 1 > &beq, const GradientFunctor< Scalar, n > &g, const HessianFunctor< Scalar, n > &h)
 Constrained problem.
 
 Problem (const ObjectiveFunctor< Scalar, n > &obj, const GradientFunctor< Scalar, n > &g, const HessianFunctor< Scalar, n > &h)
 Unconstrained problem.
 

Public Attributes

const ObjectiveFunctor< Scalar,
n > & 
objective
 
const Constraints< Scalar, m, n > & constraints
 
const GradientFunctor< Scalar,
n > & 
gradient
 
const HessianFunctor< Scalar, n > & hessian
 
const Eigen::Matrix< Scalar, m, n > A
 
const Eigen::Matrix< Scalar, m, 1 > b
 

Detailed Description

template<typename Scalar, uint m, uint n>
class optimo::Problem< Scalar, m, n >

Class defining a convex Problem.

The convex problem is assumed to have the following form:

\begin{eqnarray*} \underset{\mathbf{x}}{\text{minimize}} & f_0(\mathbf{x}) & \\ \text{subject to} & & \\ f_i(\mathbf{x}) & \leq & 0 \\ A_{\text{eq}} \mathbf{x} & = & \mathbf{b}_{\text{eq}} \end{eqnarray*}

This class Eigen matrices on the stack. Thus, use this class if the problem fits in the stack. If it does not, then use the class ProblemLS.


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