alpaqa 1.1.0a1
Nonconvex constrained optimization
Loading...
Searching...
No Matches
CasADiProblem< Conf > Class Template Reference

#include <alpaqa/casadi/CasADiProblem.hpp>

Detailed Description

template<Config Conf = EigenConfigd>
class alpaqa::CasADiProblem< Conf >

Problem definition for a CasADi problem, loaded from a DLL.

Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 47 of file CasADiProblem.hpp.

Inheritance diagram for CasADiProblem< Conf >:
Collaboration diagram for CasADiProblem< Conf >:

Public Types

using Box

Public Member Functions

 CasADiProblem (const std::string &filename, DynamicLoadFlags dl_flags={})
 Load a problem generated by CasADi (with parameters).
 CasADiProblem (const SerializedCasADiFunctions &functions)
 Create a problem from a collection of serialized CasADi functions.
 CasADiProblem (const CasADiFunctions &functions)
 Create a problem from a collection of CasADi functions.
 ~CasADiProblem ()
 CasADiProblem (const CasADiProblem &)
CasADiProblemoperator= (const CasADiProblem &)
 CasADiProblem (CasADiProblem &&) noexcept
CasADiProblemoperator= (CasADiProblem &&) noexcept
void load_numerical_data (const std::filesystem::path &filepath, char sep=',')
 Load the numerical problem data (bounds and parameters) from a CSV file.
real_t eval_objective (crvec x) const
void eval_objective_gradient (crvec x, rvec grad_fx) const
real_t eval_objective_and_gradient (crvec x, rvec grad_fx) const
void eval_constraints (crvec x, rvec g) const
void eval_constraints_gradient_product (crvec x, crvec y, rvec grad_gxy) const
void eval_augmented_lagrangian_gradient (crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const
real_t eval_augmented_lagrangian_and_gradient (crvec x, crvec y, crvec Σ, rvec grad_ψ, rvec work_n, rvec work_m) const
void eval_lagrangian_gradient (crvec x, crvec y, rvec grad_L, rvec work_n) const
real_t eval_augmented_lagrangian (crvec x, crvec y, crvec Σ, rvec ŷ) const
void eval_grad_gi (crvec x, index_t i, rvec grad_i) const
Sparsity get_constraints_jacobian_sparsity () const
void eval_constraints_jacobian (crvec x, rvec J_values) const
void eval_lagrangian_hessian_product (crvec x, crvec y, real_t scale, crvec v, rvec Hv) const
Sparsity get_lagrangian_hessian_sparsity () const
void eval_lagrangian_hessian (crvec x, crvec y, real_t scale, rvec H_values) const
void eval_augmented_lagrangian_hessian_product (crvec x, crvec y, crvec Σ, real_t scale, crvec v, rvec Hv) const
Sparsity get_augmented_lagrangian_hessian_sparsity () const
void eval_augmented_lagrangian_hessian (crvec x, crvec y, crvec Σ, real_t scale, rvec H_values) const
bool provides_eval_lagrangian_gradient () const
bool provides_eval_augmented_lagrangian () const
bool provides_eval_augmented_lagrangian_gradient () const
bool provides_eval_augmented_lagrangian_and_gradient () const
bool provides_eval_grad_gi () const
bool provides_eval_constraints_jacobian () const
bool provides_eval_lagrangian_hessian_product () const
bool provides_eval_lagrangian_hessian () const
bool provides_eval_augmented_lagrangian_hessian_product () const
bool provides_eval_augmented_lagrangian_hessian () const
std::string get_name () const
void resize (length_t num_variables, length_t num_constraints)
 Change the dimensions of the problem (number of decision variables and number of constraints).
length_t get_num_variables () const
 Number of decision variables \( n \), num_variables.
length_t get_num_constraints () const
 Number of constraints \( m \), num_constraints.
real_t eval_proximal_gradient_step (real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p) const
void eval_projecting_difference_constraints (crvec z, rvec p) const
void eval_projection_multipliers (rvec y, real_t M) const
const Boxget_variable_bounds () const
const Boxget_general_bounds () const
bool provides_get_variable_bounds () const
 Only supported if the ℓ₁-regularization term is zero.
index_t eval_inactive_indices_res_lna (real_t γ, crvec x, crvec grad_ψ, rindexvec J) const
void check () const

Static Public Member Functions

static real_t eval_proj_grad_step_box (const Box &C, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p)
 Projected gradient step for rectangular box C.
static void eval_prox_grad_step_box_l1_impl (const Box &C, const auto &λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p)
 Proximal gradient step for rectangular box C with ℓ₁-regularization.
static real_t eval_prox_grad_step_box_l1 (const Box &C, const auto &λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p)
 Proximal gradient step for rectangular box C with ℓ₁-regularization.
static real_t eval_prox_grad_step_box_l1_scal (const Box &C, real_t λ, real_t γ, crvec x, crvec grad_ψ, rvec x̂, rvec p)
 Proximal gradient step for rectangular box C with ℓ₁-regularization.
static void eval_proj_multipliers_box (const Box &D, rvec y, real_t M, index_t penalty_alm_split)

Public Attributes

vec param
std::string name = "CasADiProblem"
length_t num_variables
 Number of decision variables, dimension of x.
length_t num_constraints
 Number of constraints, dimension of g(x) and z.
Box variable_bounds
 Constraints of the decision variables, \( x \in C \).
Box general_bounds
 Other constraints, \( g(x) \in D \).
vec l1_reg
 \( \ell_1 \) (1-norm) regularization parameter.
index_t penalty_alm_split
 Components of the constraint function with indices below this number are handled using a quadratic penalty method rather than using an augmented Lagrangian method.

Private Types

using Functions = casadi_loader::CasADiFunctionsWithParam<Conf>

Private Attributes

guanaqo::copyable_unique_ptr< Functionsimpl

Member Typedef Documentation

◆ Functions

template<Config Conf = EigenConfigd>
using Functions = casadi_loader::CasADiFunctionsWithParam<Conf>
private

Definition at line 143 of file CasADiProblem.hpp.

◆ Box

using Box
inherited

Definition at line 19 of file box-constr-problem.hpp.

Constructor & Destructor Documentation

◆ CasADiProblem() [1/5]

template<Config Conf>
CasADiProblem ( const std::string & filename,
DynamicLoadFlags dl_flags = {} )

Load a problem generated by CasADi (with parameters).

Parameters
filenameFilename of the shared library to load the functions from.
dl_flagsFlags passed to dlopen when loading the problem.

The file should contain functions with the names f, grad_f, g and grad_g. These functions evaluate the objective function, its gradient, the constraints, and the constraint gradient times a vector respectively. For second order solvers, additional functions hess_L, hess_ψ, hess_L_prod and hess_ψ_prod can be provided to evaluate the Hessian of the (augmented) Lagrangian and Hessian-vector products.

Exceptions
std::invalid_argumentThe dimensions of the loaded functions do not match.

Definition at line 140 of file CasADiProblem.tpp.

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

◆ CasADiProblem() [2/5]

template<Config Conf>
CasADiProblem ( const SerializedCasADiFunctions & functions)

Create a problem from a collection of serialized CasADi functions.

Definition at line 172 of file CasADiProblem.tpp.

Here is the call graph for this function:

◆ CasADiProblem() [3/5]

template<Config Conf>
CasADiProblem ( const CasADiFunctions & functions)

Create a problem from a collection of CasADi functions.

Definition at line 199 of file CasADiProblem.tpp.

Here is the call graph for this function:

◆ ~CasADiProblem()

template<Config Conf>
~CasADiProblem ( )
default

◆ CasADiProblem() [4/5]

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

◆ CasADiProblem() [5/5]

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

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ load_numerical_data()

template<Config Conf>
void load_numerical_data ( const std::filesystem::path & filepath,
char sep = ',' )

Load the numerical problem data (bounds and parameters) from a CSV file.

The file should contain 7 rows, with the following contents:

  1. variable_bounds lower bound [n]
  2. variable_bounds upper bound [n]
  3. general_bounds lower bound [m]
  4. general_bounds upper bound [m]
  5. param [p]
  6. l1_reg [0, 1 or n]
  7. penalty_alm_split [1]

Line endings are encoded using a single line feed (\n), and the column separator can be specified using the sep argument.

Definition at line 221 of file CasADiProblem.tpp.

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

◆ eval_objective()

template<Config Conf>
auto eval_objective ( crvec x) const
nodiscard
Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 287 of file CasADiProblem.tpp.

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

◆ eval_objective_gradient()

template<Config Conf>
void eval_objective_gradient ( crvec x,
rvec grad_fx ) const

Definition at line 294 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_objective_and_gradient()

template<Config Conf>
auto eval_objective_and_gradient ( crvec x,
rvec grad_fx ) const

Definition at line 300 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_constraints()

template<Config Conf>
void eval_constraints ( crvec x,
rvec g ) const
Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 308 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_constraints_gradient_product()

template<Config Conf>
void eval_constraints_gradient_product ( crvec x,
crvec y,
rvec grad_gxy ) const

Definition at line 318 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_augmented_lagrangian_gradient()

template<Config Conf>
void eval_augmented_lagrangian_gradient ( crvec x,
crvec y,
crvec Σ,
rvec grad_ψ,
rvec work_n,
rvec work_m ) const

Definition at line 332 of file CasADiProblem.tpp.

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

◆ eval_augmented_lagrangian_and_gradient()

template<Config Conf>
CasADiProblem< Conf >::real_t eval_augmented_lagrangian_and_gradient ( crvec x,
crvec y,
crvec Σ,
rvec grad_ψ,
rvec work_n,
rvec work_m ) const

Definition at line 347 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_lagrangian_gradient()

template<Config Conf>
void eval_lagrangian_gradient ( crvec x,
crvec y,
rvec grad_L,
rvec work_n ) const

Definition at line 363 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_augmented_lagrangian()

template<Config Conf>
CasADiProblem< Conf >::real_t eval_augmented_lagrangian ( crvec x,
crvec y,
crvec Σ,
rvec ŷ ) const
nodiscard

Definition at line 372 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_grad_gi()

template<Config Conf>
void eval_grad_gi ( crvec x,
index_t i,
rvec grad_i ) const

Definition at line 385 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ get_constraints_jacobian_sparsity()

template<Config Conf>
auto get_constraints_jacobian_sparsity ( ) const
nodiscard

Definition at line 405 of file CasADiProblem.tpp.

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

◆ eval_constraints_jacobian()

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

Definition at line 421 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_lagrangian_hessian_product()

template<Config Conf>
void eval_lagrangian_hessian_product ( crvec x,
crvec y,
real_t scale,
crvec v,
rvec Hv ) const

Definition at line 429 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ get_lagrangian_hessian_sparsity()

template<Config Conf>
auto get_lagrangian_hessian_sparsity ( ) const
nodiscard

Definition at line 439 of file CasADiProblem.tpp.

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

◆ eval_lagrangian_hessian()

template<Config Conf>
void eval_lagrangian_hessian ( crvec x,
crvec y,
real_t scale,
rvec H_values ) const

Definition at line 453 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ eval_augmented_lagrangian_hessian_product()

template<Config Conf>
void eval_augmented_lagrangian_hessian_product ( crvec x,
crvec y,
crvec Σ,
real_t scale,
crvec v,
rvec Hv ) const

Definition at line 463 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ get_augmented_lagrangian_hessian_sparsity()

template<Config Conf>
auto get_augmented_lagrangian_hessian_sparsity ( ) const
nodiscard

Definition at line 475 of file CasADiProblem.tpp.

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

◆ eval_augmented_lagrangian_hessian()

template<Config Conf>
void eval_augmented_lagrangian_hessian ( crvec x,
crvec y,
crvec Σ,
real_t scale,
rvec H_values ) const

Definition at line 490 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_lagrangian_gradient()

template<Config Conf>
bool provides_eval_lagrangian_gradient ( ) const
nodiscard
See also
provides_eval_lagrangian_gradient

Definition at line 519 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_augmented_lagrangian()

template<Config Conf>
bool provides_eval_augmented_lagrangian ( ) const
nodiscard
See also
provides_eval_augmented_lagrangian

Definition at line 506 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_augmented_lagrangian_gradient()

template<Config Conf>
bool provides_eval_augmented_lagrangian_gradient ( ) const
nodiscard
See also
provides_eval_augmented_lagrangian_gradient

Definition at line 510 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_augmented_lagrangian_and_gradient()

template<Config Conf>
bool provides_eval_augmented_lagrangian_and_gradient ( ) const
nodiscard
See also
provides_eval_augmented_lagrangian_and_gradient

Definition at line 514 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_grad_gi()

template<Config Conf>
bool provides_eval_grad_gi ( ) const
nodiscard
See also
provides_eval_grad_gi

Definition at line 502 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_constraints_jacobian()

template<Config Conf>
bool provides_eval_constraints_jacobian ( ) const
nodiscard
See also
provides_eval_constraints_jacobian

Definition at line 523 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_lagrangian_hessian_product()

template<Config Conf>
bool provides_eval_lagrangian_hessian_product ( ) const
nodiscard
See also
provides_eval_lagrangian_hessian_product

Definition at line 527 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_lagrangian_hessian()

template<Config Conf>
bool provides_eval_lagrangian_hessian ( ) const
nodiscard
See also
provides_eval_lagrangian_hessian

Definition at line 531 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_augmented_lagrangian_hessian_product()

template<Config Conf>
bool provides_eval_augmented_lagrangian_hessian_product ( ) const
nodiscard
See also
provides_eval_augmented_lagrangian_hessian_product

Definition at line 535 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ provides_eval_augmented_lagrangian_hessian()

template<Config Conf>
bool provides_eval_augmented_lagrangian_hessian ( ) const
nodiscard
See also
provides_eval_augmented_lagrangian_hessian

Definition at line 540 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ get_name()

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

Definition at line 545 of file CasADiProblem.tpp.

Here is the caller graph for this function:

◆ resize()

void resize ( length_t num_variables,
length_t num_constraints )
inlineinherited

Change the dimensions of the problem (number of decision variables and number of constraints).

Destructive: resizes and/or resets the members variable_bounds, general_bounds, l1_reg and penalty_alm_split.

Parameters
num_variablesNumber of decision variables
num_constraintsNumber of constraints

Definition at line 47 of file box-constr-problem.hpp.

◆ get_num_variables()

length_t get_num_variables ( ) const
inlineinherited

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

Definition at line 83 of file box-constr-problem.hpp.

◆ get_num_constraints()

length_t get_num_constraints ( ) const
inlineinherited

Number of constraints \( m \), num_constraints.

Definition at line 85 of file box-constr-problem.hpp.

◆ eval_proj_grad_step_box()

real_t eval_proj_grad_step_box ( const Box & C,
real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p )
inlinestaticinherited

Projected gradient step for rectangular box C.

\[ \begin{aligned} \hat x &= \Pi_C(x - \gamma\nabla\psi(x)) \\ p &= \hat x - x \\ &= \max(\underline x - x, \;\min(-\gamma\nabla\psi(x), \overline x - x) \end{aligned} \]

Definition at line 92 of file box-constr-problem.hpp.

◆ eval_prox_grad_step_box_l1_impl()

void eval_prox_grad_step_box_l1_impl ( const Box & C,
const auto & λ,
real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p )
inlinestaticinherited

Proximal gradient step for rectangular box C with ℓ₁-regularization.

\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]

Definition at line 115 of file box-constr-problem.hpp.

◆ eval_prox_grad_step_box_l1()

real_t eval_prox_grad_step_box_l1 ( const Box & C,
const auto & λ,
real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p )
inlinestaticinherited

Proximal gradient step for rectangular box C with ℓ₁-regularization.

\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]

Definition at line 124 of file box-constr-problem.hpp.

◆ eval_prox_grad_step_box_l1_scal()

real_t eval_prox_grad_step_box_l1_scal ( const Box & C,
real_t λ,
real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p )
inlinestaticinherited

Proximal gradient step for rectangular box C with ℓ₁-regularization.

\[ \begin{aligned} h(x) &= \|x\|_1 + \delta_C(x) \\ \hat x &= \prox_{\gamma h}(x - \gamma\nabla\psi(x)) \\ &= -\max\big( x - \overline x, \;\min\big( x - \underline x, \;\min\big( \gamma(\nabla\psi(x) + \lambda), \;\max\big( \gamma(\nabla\psi(x) - \lambda), x \big) \big) \big) \big) \end{aligned} \]

Definition at line 132 of file box-constr-problem.hpp.

◆ eval_proximal_gradient_step()

real_t eval_proximal_gradient_step ( real_t γ,
crvec x,
crvec grad_ψ,
rvec ,
rvec p ) const
inlineinherited
See also
eval_proximal_gradient_step

Definition at line 142 of file box-constr-problem.hpp.

◆ eval_projecting_difference_constraints()

void eval_projecting_difference_constraints ( crvec z,
rvec p ) const
inlineinherited

◆ eval_proj_multipliers_box()

void eval_proj_multipliers_box ( const Box & D,
rvec y,
real_t M,
index_t penalty_alm_split )
inlinestaticinherited

Definition at line 157 of file box-constr-problem.hpp.

◆ eval_projection_multipliers()

void eval_projection_multipliers ( rvec y,
real_t M ) const
inlineinherited
See also
eval_projection_multipliers

Definition at line 173 of file box-constr-problem.hpp.

◆ get_variable_bounds()

const Box & get_variable_bounds ( ) const
inlineinherited
See also
get_variable_bounds

Definition at line 178 of file box-constr-problem.hpp.

◆ get_general_bounds()

const Box & get_general_bounds ( ) const
inlineinherited
See also
get_general_bounds

Definition at line 180 of file box-constr-problem.hpp.

◆ provides_get_variable_bounds()

bool provides_get_variable_bounds ( ) const
inlinenodiscardinherited

Only supported if the ℓ₁-regularization term is zero.

See also
provides_get_variable_bounds

Definition at line 184 of file box-constr-problem.hpp.

◆ eval_inactive_indices_res_lna()

index_t eval_inactive_indices_res_lna ( real_t γ,
crvec x,
crvec grad_ψ,
rindexvec J ) const
inlineinherited
See also
eval_inactive_indices_res_lna

Definition at line 194 of file box-constr-problem.hpp.

◆ check()

void check ( ) const
inlineinherited
See also
check

Definition at line 233 of file box-constr-problem.hpp.

Member Data Documentation

◆ param

template<Config Conf = EigenConfigd>
vec param
Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 50 of file CasADiProblem.hpp.

◆ name

template<Config Conf = EigenConfigd>
std::string name = "CasADiProblem"

Definition at line 51 of file CasADiProblem.hpp.

◆ impl

template<Config Conf = EigenConfigd>
guanaqo::copyable_unique_ptr<Functions> impl
private

Definition at line 144 of file CasADiProblem.hpp.

◆ num_variables

length_t num_variables
inherited

Number of decision variables, dimension of x.

Definition at line 22 of file box-constr-problem.hpp.

◆ num_constraints

length_t num_constraints
inherited

Number of constraints, dimension of g(x) and z.

Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 24 of file box-constr-problem.hpp.

◆ variable_bounds

Box variable_bounds
inherited

Constraints of the decision variables, \( x \in C \).

Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 67 of file box-constr-problem.hpp.

◆ general_bounds

Box general_bounds
inherited

Other constraints, \( g(x) \in D \).

Examples
C++/CasADi/Rosenbrock/main.cpp.

Definition at line 69 of file box-constr-problem.hpp.

◆ l1_reg

vec l1_reg
inherited

\( \ell_1 \) (1-norm) regularization parameter.

Possible dimensions are: \( 0 \) (no regularization), \( 1 \) (a single scalar factor), or \( n \) (a different factor for each variable).

Definition at line 74 of file box-constr-problem.hpp.

◆ penalty_alm_split

index_t penalty_alm_split
inherited

Components of the constraint function with indices below this number are handled using a quadratic penalty method rather than using an augmented Lagrangian method.

Specifically, the Lagrange multipliers for these components (which determine the shifts in ALM) are kept at zero.

Definition at line 80 of file box-constr-problem.hpp.


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