G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsOptProblem< T > Class Template Reference

Detailed Description

template<typename T>
class gismo::gsOptProblem< T >

Class defining an optimization problem.

+ Inheritance diagram for gsOptProblem< T >:
+ Collaboration diagram for gsOptProblem< T >:

Public Member Functions

virtual void computeJacStructure ()
 Computes the sparsity pattern of the constraint Jacobian matrix. More...
 
virtual void evalCon_into (const gsAsConstVector< T > &, gsAsVector< T > &) const
 Returns values of the constraints at design value u.
 
virtual T evalObj (const gsAsConstVector< T > &) const
 Returns the gradient value of the objective function at design value u. More...
 
virtual void gradObj_into (const gsAsConstVector< T > &u, gsAsVector< T > &result) const
 Returns the gradient of the objective function at design value u By default it uses finite differences, overriding it should provide exact gradient.
 
virtual void hessLagr_into (const gsAsConstVector< T > &, gsAsVector< T > &) const
 Returns Hessian Lagrangian of the constraints at design value.
 
virtual void jacobCon_into (const gsAsConstVector< T > &, gsAsVector< T > &) const
 Returns Jacobian of the constraints at design value u. Format of result is sparse, complying to m_conJacRows and m_conJacCols.
 
int numDesignVars () const
 Callback function is executed after every iteration. Returning false causes premature termination of the optimization.
 

Protected Attributes

std::vector< index_tm_conJacCols
 Constraint Jacobian non-zero entries columns.
 
std::vector< index_tm_conJacRows
 Constraint Jacobian non-zero entries rows.
 
gsVector< T > m_conLowerBounds
 Lower bounds for the constraints.
 
gsVector< T > m_conUpperBounds
 Upper bounds for the constraints.
 
gsMatrix< T > m_curDesign
 Current design variables (and starting point )
 
gsVector< T > m_desLowerBounds
 Lower bounds for the design variables.
 
gsVector< T > m_desUpperBounds
 Upper bounds for the design variables.
 
gsMatrix< T > m_lambda
 Lagrange multipliers (set in the finalize_solution method)
 
int m_numConJacNonZero
 Number of nonzero entries in the Constraint Jacobian.
 
int m_numConstraints
 Number of constraints.
 
int m_numDesignVars
 Number of design variables.
 

Member Function Documentation

virtual void computeJacStructure ( )
inlinevirtual

Computes the sparsity pattern of the constraint Jacobian matrix.

Number of constraints and design variables need to be set before calling this. By default the constraint Jacobian is set to full. Override this function to provide sparsity.

virtual T evalObj ( const gsAsConstVector< T > &  ) const
inlinevirtual

Returns the gradient value of the objective function at design value u.

default constructor default destructor

Reimplemented in gsOptProblemStatic< T >, and gsFunctionAdaptor< T >.