alpaqa dll
Nonconvex constrained optimization
Loading...
Searching...
No Matches
UnconstrProblem< Conf > Class Template Reference

#include <alpaqa/problem/unconstr-problem.hpp>

Detailed Description

template<Config Conf>
class alpaqa::UnconstrProblem< Conf >

Implements common problem functions for minimization problems without constraints.

Meant to be used as a base class for custom problem implementations.

Examples
C++/SimpleUnconstrProblem/main.cpp.

Definition at line 14 of file unconstr-problem.hpp.

Collaboration diagram for UnconstrProblem< Conf >:

Public Member Functions

 UnconstrProblem (length_t num_variables)
void resize (length_t num_variables)
 Change the number of decision variables.
 UnconstrProblem (const UnconstrProblem &)=default
UnconstrProblemoperator= (const UnconstrProblem &)=default
 UnconstrProblem (UnconstrProblem &&) noexcept=default
UnconstrProblemoperator= (UnconstrProblem &&) noexcept=default
length_t get_num_variables () const
 Number of decision variables \( n \), num_variables.
length_t get_num_constraints () const
 Number of constraints (always zero)
void eval_constraints (crvec, rvec) const
 No-op, no constraints.
void eval_constraints_gradient_product (crvec, crvec, rvec grad) const
 Constraint gradient is always zero.
void eval_constraints_jacobian (crvec, rvec) const
 Constraint Jacobian is always empty.
void eval_grad_gi (crvec, index_t, rvec grad_gi) const
 Constraint gradient is always zero.
real_t eval_proximal_gradient_step (real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const
 No proximal mapping, just a forward (gradient) step.
void eval_projecting_difference_constraints (crvec, rvec) const
void eval_projection_multipliers (rvec, real_t) const
index_t eval_inactive_indices_res_lna (real_t, crvec, crvec, rindexvec J) const
std::string get_name () const

Public Attributes

length_t num_variables
 Number of decision variables, dimension of x.

Constructor & Destructor Documentation

◆ UnconstrProblem() [1/3]

template<Config Conf>
UnconstrProblem ( length_t num_variables)
inline
Parameters
num_variablesNumber of decision variables

Definition at line 22 of file unconstr-problem.hpp.

Here is the caller graph for this function:

◆ UnconstrProblem() [2/3]

template<Config Conf>
UnconstrProblem ( const UnconstrProblem< Conf > & )
default
Here is the call graph for this function:

◆ UnconstrProblem() [3/3]

template<Config Conf>
UnconstrProblem ( UnconstrProblem< Conf > && )
defaultnoexcept
Here is the call graph for this function:

Member Function Documentation

◆ resize()

template<Config Conf>
void resize ( length_t num_variables)
inline

Change the number of decision variables.

Definition at line 25 of file unconstr-problem.hpp.

◆ operator=() [1/2]

template<Config Conf>
UnconstrProblem & operator= ( const UnconstrProblem< Conf > & )
default
Here is the call graph for this function:

◆ operator=() [2/2]

template<Config Conf>
UnconstrProblem & operator= ( UnconstrProblem< Conf > && )
defaultnoexcept
Here is the call graph for this function:

◆ get_num_variables()

template<Config Conf>
length_t get_num_variables ( ) const
inline

Number of decision variables \( n \), num_variables.

Definition at line 33 of file unconstr-problem.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_num_constraints()

template<Config Conf>
length_t get_num_constraints ( ) const
inline

Number of constraints (always zero)

Definition at line 35 of file unconstr-problem.hpp.

◆ eval_constraints()

template<Config Conf>
void eval_constraints ( crvec ,
rvec  ) const
inline

No-op, no constraints.

See also
eval_constraints

Definition at line 39 of file unconstr-problem.hpp.

◆ eval_constraints_gradient_product()

template<Config Conf>
void eval_constraints_gradient_product ( crvec ,
crvec ,
rvec grad ) const
inline

Constraint gradient is always zero.

See also
eval_constraints_gradient_product

Definition at line 42 of file unconstr-problem.hpp.

◆ eval_constraints_jacobian()

template<Config Conf>
void eval_constraints_jacobian ( crvec ,
rvec  ) const
inline

Constraint Jacobian is always empty.

See also
eval_constraints_jacobian

Definition at line 45 of file unconstr-problem.hpp.

◆ eval_grad_gi()

template<Config Conf>
void eval_grad_gi ( crvec ,
index_t ,
rvec grad_gi ) const
inline

Constraint gradient is always zero.

See also
eval_grad_gi

Definition at line 48 of file unconstr-problem.hpp.

◆ eval_proximal_gradient_step()

template<Config Conf>
real_t eval_proximal_gradient_step ( real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p ) const
inline

No proximal mapping, just a forward (gradient) step.

See also
eval_proximal_gradient_step

Definition at line 52 of file unconstr-problem.hpp.

◆ eval_projecting_difference_constraints()

template<Config Conf>
void eval_projecting_difference_constraints ( crvec ,
rvec  ) const
inline
See also
eval_projecting_difference_constraints

Definition at line 59 of file unconstr-problem.hpp.

◆ eval_projection_multipliers()

template<Config Conf>
void eval_projection_multipliers ( rvec ,
real_t  ) const
inline
See also
eval_projection_multipliers

Definition at line 62 of file unconstr-problem.hpp.

◆ eval_inactive_indices_res_lna()

template<Config Conf>
index_t eval_inactive_indices_res_lna ( real_t ,
crvec ,
crvec ,
rindexvec J ) const
inline
See also
eval_inactive_indices_res_lna

Definition at line 65 of file unconstr-problem.hpp.

◆ get_name()

template<Config Conf>
std::string get_name ( ) const
inlinenodiscard
See also
get_name

Definition at line 71 of file unconstr-problem.hpp.

Member Data Documentation

◆ num_variables

template<Config Conf>
length_t num_variables

Number of decision variables, dimension of x.

Definition at line 19 of file unconstr-problem.hpp.


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