Public Member Functions | List of all members
ifopt::ExCost Class Reference

#include <test_vars_constr_cost.h>

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

Public Member Functions

 ExCost ()
 
 ExCost (const std::string &name)
 
void FillJacobianBlock (std::string var_set, Jacobian &jac) const override
 Set individual Jacobians corresponding to each decision variable set. More...
 
double GetCost () const override
 Returns the scalar cost term calculated from the variables. More...
 
- Public Member Functions inherited from ifopt::CostTerm
 CostTerm (const std::string &name)
 
VecBound GetBounds () const final
 Returns infinite bounds (e.g. no bounds). More...
 
VectorXd GetValues () const final
 Wrapper function that converts double to Eigen::VectorXd. More...
 
void Print (double tol, int &index) const final
 
virtual ~CostTerm ()=default
 
- Public Member Functions inherited from ifopt::ConstraintSet
 ConstraintSet (int n_constraints, const std::string &name)
 Creates constraints on the variables x. More...
 
Jacobian GetJacobian () const final
 The matrix of derivatives for these constraints and variables. More...
 
void LinkWithVariables (const VariablesPtr &x)
 Connects the constraint with the optimization variables. More...
 
virtual ~ConstraintSet ()=default
 
- Public Member Functions inherited from ifopt::Component
 Component (int num_rows, const std::string &name)
 Creates a component. More...
 
std::string GetName () const
 Returns the name (id) of this component. More...
 
int GetRows () const
 Returns the number of rows of this component. More...
 
void SetRows (int num_rows)
 Sets the number of rows of this component. More...
 
virtual ~Component ()=default
 

Additional Inherited Members

- Public Types inherited from ifopt::ConstraintSet
using Ptr = std::shared_ptr< ConstraintSet >
 
using VariablesPtr = Composite::Ptr
 
- Public Types inherited from ifopt::Component
using Jacobian = Eigen::SparseMatrix< double, Eigen::RowMajor >
 
using Ptr = std::shared_ptr< Component >
 
using VecBound = std::vector< Bounds >
 
using VectorXd = Eigen::VectorXd
 
- Static Public Attributes inherited from ifopt::Component
static const int kSpecifyLater = -1
 
- Protected Member Functions inherited from ifopt::ConstraintSet
const VariablesPtr GetVariables () const
 Read access to the value of the optimization variables. More...
 

Detailed Description

Definition at line 149 of file test_vars_constr_cost.h.

Constructor & Destructor Documentation

◆ ExCost() [1/2]

ifopt::ExCost::ExCost ( )
inline

Definition at line 151 of file test_vars_constr_cost.h.

◆ ExCost() [2/2]

ifopt::ExCost::ExCost ( const std::string &  name)
inline

Definition at line 152 of file test_vars_constr_cost.h.

Member Function Documentation

◆ FillJacobianBlock()

void ifopt::ExCost::FillJacobianBlock ( std::string  var_set,
Jacobian jac_block 
) const
inlineoverridevirtual

Set individual Jacobians corresponding to each decision variable set.

Parameters
var_setSet of variables the current Jacobian block belongs to.
jac_blockColumns of the overall Jacobian affected by var_set.

A convenience function so the user does not have to worry about the ordering of variable sets. All that is required is that the user knows the internal ordering of variables in each individual set and provides the Jacobian of the constraints w.r.t. this set (starting at column 0). GetJacobian() then inserts these columns at the correct position in the overall Jacobian.

If the constraint doen't depend on a var_set, this function should simply do nothing.

Attention: jac_bock is a sparse matrix, and must always have the same sparsity pattern. Therefore, it's better not to build a dense matrix and call .sparseView(), because if some entries happen to be zero for some iteration, that changes the sparsity pattern. A more robust way is to directly set as follows (which can also be set =0.0 without erros): jac_block.coeffRef(1, 3) = ...

Implements ifopt::ConstraintSet.

Definition at line 160 of file test_vars_constr_cost.h.

◆ GetCost()

double ifopt::ExCost::GetCost ( ) const
inlineoverridevirtual

Returns the scalar cost term calculated from the variables.

Implements ifopt::CostTerm.

Definition at line 154 of file test_vars_constr_cost.h.


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


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