proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::ProxNLPSolverTpl< _Scalar > Class Template Reference

#include <proxsuite-nlp/prox-solver.hpp>

Collaboration diagram for proxsuite::nlp::ProxNLPSolverTpl< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Problem = ProblemTpl<Scalar>
 
using Workspace = WorkspaceTpl<Scalar>
 
using Results = ResultsTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 
using LinesearchOptions = typename Linesearch<Scalar>::Options
 
using CallbackPtr = shared_ptr<helpers::base_callback<Scalar>>
 
using ConstraintSet = ConstraintSetTpl<Scalar>
 
using ConstraintObject = ConstraintObjectTpl<Scalar>
 

Public Member Functions

 ProxNLPSolverTpl (Problem &prob, const Scalar tol=1e-6, const Scalar mu_eq_init=1e-2, const Scalar rho_init=0., const VerboseLevel verbose=QUIET, const Scalar mu_lower=1e-9, const Scalar prim_alpha=0.1, const Scalar prim_beta=0.9, const Scalar dual_alpha=1., const Scalar dual_beta=1., LDLTChoice ldlt_blocked=LDLTChoice::BUNCHKAUFMAN, const LinesearchOptions ls_options=LinesearchOptions())
 
const Problemproblem () const
 
const Manifoldmanifold () const
 
void setup ()
 
ConvergenceFlag solve (const ConstVectorRef &x0, const std::vector< VectorRef > &lams0)
 Solve the problem.
 
PROXSUITE_NLP_DEPRECATED const WorkspacegetWorkspace () const
 
PROXSUITE_NLP_DEPRECATED const ResultsgetResults () const
 
ConvergenceFlag solve (const ConstVectorRef &x0, const ConstVectorRef &lams0=VectorXs(0))
 Solve the problem.
 
void innerLoop (Workspace &workspace, Results &results)
 
void assembleKktMatrix (Workspace &workspace)
 
PROXSUITE_NLP_INLINE bool iterativeRefinement (Workspace &workspace) const
 Iterative refinement of the KKT linear system.
 
void updatePenalty ()
 
void setDualPenalty (const Scalar beta)
 Set the dual penalty weight for the merit function.
 
void setPenalty (const Scalar &new_mu) noexcept
 Set penalty parameter, its inverse and update the merit function.
 
void setProxParameter (const Scalar &new_rho) noexcept
 Set proximal penalty parameter.
 
void registerCallback (const CallbackPtr &cb) noexcept
 Add a callback to the solver instance.
 
void clearCallbacks () noexcept
 Remove all callbacks from the instance.
 
void updateToleranceFailure () noexcept
 Update primal-dual subproblem tolerances upon failure (insufficient primal feasibility)
 
void updateToleranceSuccess () noexcept
 Update primal-dual subproblem tolerances upon successful outer-loop iterate (good primal feasibility)
 
void tolerancePostUpdate () noexcept
 
void acceptMultipliers (Results &results, Workspace &workspace) const
 Accept Lagrange multiplier estimates.
 
void computeMultipliers (const ConstVectorRef &inner_lams_data, Workspace &workspace) const
 
void computeProblemDerivatives (const ConstVectorRef &x, Workspace &workspace, boost::mpl::false_) const
 
void computeProblemDerivatives (const ConstVectorRef &x, Workspace &workspace, boost::mpl::true_) const
 
void computePrimalResiduals (Workspace &workspace, Results &results) const
 
void tryStep (Workspace &workspace, const Results &results, Scalar alpha)
 
void invokeCallbacks (Workspace &workspace, Results &results)
 

Public Attributes

 Scalar
 
ALMeritFunctionTpl< Scalarmerit_fun
 Merit function.
 
QuadraticDistanceCostTpl< Scalarprox_penalty
 Proximal regularization penalty.
 
VerboseLevel verbose = QUIET
 Level of verbosity of the solver.
 
HessianApprox hess_approx = HessianApprox::GAUSS_NEWTON
 Use a Gauss-Newton approximation for the Lagrangian Hessian.
 
LinesearchStrategy ls_strat = LinesearchStrategy::ARMIJO
 Linesearch strategy.
 
MultiplierUpdateMode mul_update_mode = MultiplierUpdateMode::NEWTON
 
std::size_t max_refinement_steps_ = 5
 linear algebra opts
 
Scalar kkt_tolerance_ = 1e-13
 
LDLTChoice ldlt_choice_
 
KktSystem kkt_system_ = KKT_CLASSIC
 
Scalar inner_tol0 = 1.
 
Scalar prim_tol0 = 1.
 
Scalar inner_tol_ = inner_tol0
 
Scalar prim_tol_ = prim_tol0
 
Scalar rho_init_
 
Scalar mu_init_
 
Scalar inner_tol_min = 1e-9
 
Scalar mu_upper_ = 1.
 
Scalar mu_lower_ = 1e-9
 
Scalar pdal_beta_ = 0.5
 
BCLParamsTpl< Scalarbcl_params
 BCL strategy parameters.
 
LinesearchOptions ls_options
 Linesearch options.
 
Scalar target_tol
 Target tolerance for the problem.
 
BaseLogger logger {}
 Logger.
 
Scalar del_inc_k = 8.
 
Scalar del_inc_big = 100.
 
Scalar del_dec_k = 1. / 3.
 
Scalar DELTA_MIN = 1e-14
 
Scalar DELTA_MAX = 1e6
 
Scalar DELTA_NONZERO_INIT = 1e-4
 
Scalar DELTA_INIT = 0.
 
std::size_t max_iters = 100
 
std::size_t max_al_iters = 1000
 
std::vector< CallbackPtrcallbacks_
 Callbacks.
 
unique_ptr< Workspaceworkspace_
 
unique_ptr< Resultsresults_
 

Protected Attributes

Problemproblem_
 General nonlinear program to solve.
 

Detailed Description

template<typename _Scalar>
class proxsuite::nlp::ProxNLPSolverTpl< _Scalar >

Semi-smooth Newton-based solver for nonlinear optimization using a primal-dual method of multipliers. This solver works by approximately solving the proximal subproblems in the method of multipliers.

Definition at line 39 of file prox-solver.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Scalar = _Scalar

Definition at line 41 of file prox-solver.hpp.

◆ Problem

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Problem = ProblemTpl<Scalar>

Definition at line 43 of file prox-solver.hpp.

◆ Workspace

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Workspace = WorkspaceTpl<Scalar>

Definition at line 44 of file prox-solver.hpp.

◆ Results

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Results = ResultsTpl<Scalar>

Definition at line 45 of file prox-solver.hpp.

◆ Manifold

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar>

Definition at line 46 of file prox-solver.hpp.

◆ LinesearchOptions

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::LinesearchOptions = typename Linesearch<Scalar>::Options

Definition at line 47 of file prox-solver.hpp.

◆ CallbackPtr

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::CallbackPtr = shared_ptr<helpers::base_callback<Scalar>>

Definition at line 48 of file prox-solver.hpp.

◆ ConstraintSet

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ConstraintSet = ConstraintSetTpl<Scalar>

Definition at line 49 of file prox-solver.hpp.

◆ ConstraintObject

template<typename _Scalar >
using proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ConstraintObject = ConstraintObjectTpl<Scalar>

Definition at line 50 of file prox-solver.hpp.

Constructor & Destructor Documentation

◆ ProxNLPSolverTpl()

template<typename _Scalar >
proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ProxNLPSolverTpl ( Problem & prob,
const Scalar tol = 1e-6,
const Scalar mu_eq_init = 1e-2,
const Scalar rho_init = 0.,
const VerboseLevel verbose = QUIET,
const Scalar mu_lower = 1e-9,
const Scalar prim_alpha = 0.1,
const Scalar prim_beta = 0.9,
const Scalar dual_alpha = 1.,
const Scalar dual_beta = 1.,
LDLTChoice ldlt_blocked = LDLTChoice::BUNCHKAUFMAN,
const LinesearchOptions ls_options = LinesearchOptions() )

Member Function Documentation

◆ problem()

template<typename _Scalar >
const Problem & proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::problem ( ) const
inline

Definition at line 134 of file prox-solver.hpp.

◆ manifold()

template<typename _Scalar >
const Manifold & proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::manifold ( ) const
inline

Definition at line 136 of file prox-solver.hpp.

◆ setup()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::setup ( )
inline

Definition at line 138 of file prox-solver.hpp.

◆ solve() [1/2]

template<typename _Scalar >
ConvergenceFlag proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::solve ( const ConstVectorRef & x0,
const std::vector< VectorRef > & lams0 )

Solve the problem.

Parameters
x0Initial guess.
lams0Initial Lagrange multipliers given separately for each constraint.

◆ getWorkspace()

template<typename _Scalar >
PROXSUITE_NLP_DEPRECATED const Workspace & proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::getWorkspace ( ) const
inline

Definition at line 155 of file prox-solver.hpp.

◆ getResults()

template<typename _Scalar >
PROXSUITE_NLP_DEPRECATED const Results & proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::getResults ( ) const
inline

Definition at line 157 of file prox-solver.hpp.

◆ solve() [2/2]

template<typename _Scalar >
ConvergenceFlag proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::solve ( const ConstVectorRef & x0,
const ConstVectorRef & lams0 = VectorXs(0) )

Solve the problem.

Parameters
x0Initial guess.
lams0Initial Lagrange multipliers given separately for each constraint.

◆ innerLoop()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::innerLoop ( Workspace & workspace,
Results & results )

◆ assembleKktMatrix()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::assembleKktMatrix ( Workspace & workspace)

◆ iterativeRefinement()

template<typename _Scalar >
PROXSUITE_NLP_INLINE bool proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::iterativeRefinement ( Workspace & workspace) const

Iterative refinement of the KKT linear system.

◆ updatePenalty()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::updatePenalty ( )
inline

Update penalty parameter using the provided factor (with a safeguard ProxNLPSolverTpl::mu_lower).

◆ setDualPenalty()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::setDualPenalty ( const Scalar beta)
inline

Set the dual penalty weight for the merit function.

Definition at line 182 of file prox-solver.hpp.

◆ setPenalty()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::setPenalty ( const Scalar & new_mu)
noexcept

Set penalty parameter, its inverse and update the merit function.

Parameters
new_muThe new penalty parameter.

◆ setProxParameter()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::setProxParameter ( const Scalar & new_rho)
noexcept

Set proximal penalty parameter.

◆ registerCallback()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::registerCallback ( const CallbackPtr & cb)
inlinenoexcept

Add a callback to the solver instance.

Definition at line 192 of file prox-solver.hpp.

◆ clearCallbacks()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::clearCallbacks ( )
inlinenoexcept

Remove all callbacks from the instance.

Definition at line 197 of file prox-solver.hpp.

◆ updateToleranceFailure()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::updateToleranceFailure ( )
noexcept

Update primal-dual subproblem tolerances upon failure (insufficient primal feasibility)

This is called upon initialization of the solver.

◆ updateToleranceSuccess()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::updateToleranceSuccess ( )
noexcept

Update primal-dual subproblem tolerances upon successful outer-loop iterate (good primal feasibility)

◆ tolerancePostUpdate()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::tolerancePostUpdate ( )
inlinenoexcept

◆ acceptMultipliers()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::acceptMultipliers ( Results & results,
Workspace & workspace ) const

Accept Lagrange multiplier estimates.

◆ computeMultipliers()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::computeMultipliers ( const ConstVectorRef & inner_lams_data,
Workspace & workspace ) const

Evaluate the problem data, as well as the proximal/projection operators, and the first-order & primal-dual multiplier estimates.

Parameters
inner_lams_dataInner (SQP) dual variables
workspaceProblem workspace.

◆ computeProblemDerivatives() [1/2]

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::computeProblemDerivatives ( const ConstVectorRef & x,
Workspace & workspace,
boost::mpl::false_  ) const

Evaluate the derivatives (cost gradient, Hessian, constraint Jacobians, vector-Hessian products) of the problem data.

Parameters
xPrimal variable
workspaceProblem workspace.
second_orderWhether to compute the second-order information; set to false for e.g. linesearch.

◆ computeProblemDerivatives() [2/2]

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::computeProblemDerivatives ( const ConstVectorRef & x,
Workspace & workspace,
boost::mpl::true_  ) const

Evaluate the derivatives (cost gradient, Hessian, constraint Jacobians, vector-Hessian products) of the problem data.

Parameters
xPrimal variable
workspaceProblem workspace.
second_orderWhether to compute the second-order information; set to false for e.g. linesearch.

◆ computePrimalResiduals()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::computePrimalResiduals ( Workspace & workspace,
Results & results ) const

Compute the primal residuals at the current primal-dual pair \((x, \lambda^+)\), where the multipliers are chosen to be the predicted next ALM iterate.

◆ tryStep()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::tryStep ( Workspace & workspace,
const Results & results,
Scalar alpha )

Take a trial step.

Parameters
workspaceWorkspace
resultsContains the previous primal-dual point
alphaStep size

◆ invokeCallbacks()

template<typename _Scalar >
void proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::invokeCallbacks ( Workspace & workspace,
Results & results )
inline

Definition at line 260 of file prox-solver.hpp.

Member Data Documentation

◆ Scalar

template<typename _Scalar >
proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::Scalar

Definition at line 42 of file prox-solver.hpp.

◆ problem_

template<typename _Scalar >
Problem* proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::problem_
protected

General nonlinear program to solve.

Definition at line 54 of file prox-solver.hpp.

◆ merit_fun

template<typename _Scalar >
ALMeritFunctionTpl<Scalar> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::merit_fun

Merit function.

Definition at line 58 of file prox-solver.hpp.

◆ prox_penalty

template<typename _Scalar >
QuadraticDistanceCostTpl<Scalar> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::prox_penalty

Proximal regularization penalty.

Definition at line 60 of file prox-solver.hpp.

◆ verbose

template<typename _Scalar >
VerboseLevel proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::verbose = QUIET

Level of verbosity of the solver.

Definition at line 63 of file prox-solver.hpp.

◆ hess_approx

template<typename _Scalar >
HessianApprox proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::hess_approx = HessianApprox::GAUSS_NEWTON

Use a Gauss-Newton approximation for the Lagrangian Hessian.

Definition at line 65 of file prox-solver.hpp.

◆ ls_strat

template<typename _Scalar >
LinesearchStrategy proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ls_strat = LinesearchStrategy::ARMIJO

Linesearch strategy.

Definition at line 67 of file prox-solver.hpp.

◆ mul_update_mode

template<typename _Scalar >
MultiplierUpdateMode proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::mul_update_mode = MultiplierUpdateMode::NEWTON

Definition at line 68 of file prox-solver.hpp.

◆ max_refinement_steps_

template<typename _Scalar >
std::size_t proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::max_refinement_steps_ = 5

linear algebra opts

Definition at line 71 of file prox-solver.hpp.

◆ kkt_tolerance_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::kkt_tolerance_ = 1e-13

Definition at line 72 of file prox-solver.hpp.

◆ ldlt_choice_

template<typename _Scalar >
LDLTChoice proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ldlt_choice_

Definition at line 73 of file prox-solver.hpp.

◆ kkt_system_

template<typename _Scalar >
KktSystem proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::kkt_system_ = KKT_CLASSIC

Definition at line 74 of file prox-solver.hpp.

◆ inner_tol0

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::inner_tol0 = 1.

Definition at line 78 of file prox-solver.hpp.

◆ prim_tol0

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::prim_tol0 = 1.

Definition at line 79 of file prox-solver.hpp.

◆ inner_tol_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::inner_tol_ = inner_tol0

Definition at line 80 of file prox-solver.hpp.

◆ prim_tol_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::prim_tol_ = prim_tol0

Definition at line 81 of file prox-solver.hpp.

◆ rho_init_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::rho_init_

Definition at line 82 of file prox-solver.hpp.

◆ mu_init_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::mu_init_

Definition at line 83 of file prox-solver.hpp.

◆ inner_tol_min

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::inner_tol_min = 1e-9

Definition at line 89 of file prox-solver.hpp.

◆ mu_upper_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::mu_upper_ = 1.

Definition at line 90 of file prox-solver.hpp.

◆ mu_lower_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::mu_lower_ = 1e-9

Definition at line 91 of file prox-solver.hpp.

◆ pdal_beta_

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::pdal_beta_ = 0.5

Definition at line 92 of file prox-solver.hpp.

◆ bcl_params

template<typename _Scalar >
BCLParamsTpl<Scalar> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::bcl_params

BCL strategy parameters.

Definition at line 95 of file prox-solver.hpp.

◆ ls_options

template<typename _Scalar >
LinesearchOptions proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::ls_options

Linesearch options.

Definition at line 98 of file prox-solver.hpp.

◆ target_tol

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::target_tol

Target tolerance for the problem.

Definition at line 101 of file prox-solver.hpp.

◆ logger

template<typename _Scalar >
BaseLogger proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::logger {}

Logger.

Definition at line 104 of file prox-solver.hpp.

◆ del_inc_k

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::del_inc_k = 8.

Definition at line 108 of file prox-solver.hpp.

◆ del_inc_big

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::del_inc_big = 100.

Definition at line 109 of file prox-solver.hpp.

◆ del_dec_k

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::del_dec_k = 1. / 3.

Definition at line 110 of file prox-solver.hpp.

◆ DELTA_MIN

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::DELTA_MIN = 1e-14

Definition at line 111 of file prox-solver.hpp.

◆ DELTA_MAX

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::DELTA_MAX = 1e6

Definition at line 112 of file prox-solver.hpp.

◆ DELTA_NONZERO_INIT

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::DELTA_NONZERO_INIT = 1e-4

Definition at line 113 of file prox-solver.hpp.

◆ DELTA_INIT

template<typename _Scalar >
Scalar proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::DELTA_INIT = 0.

Definition at line 114 of file prox-solver.hpp.

◆ max_iters

template<typename _Scalar >
std::size_t proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::max_iters = 100

Definition at line 116 of file prox-solver.hpp.

◆ max_al_iters

template<typename _Scalar >
std::size_t proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::max_al_iters = 1000

Definition at line 117 of file prox-solver.hpp.

◆ callbacks_

template<typename _Scalar >
std::vector<CallbackPtr> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::callbacks_

Callbacks.

Definition at line 120 of file prox-solver.hpp.

◆ workspace_

template<typename _Scalar >
unique_ptr<Workspace> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::workspace_

Definition at line 122 of file prox-solver.hpp.

◆ results_

template<typename _Scalar >
unique_ptr<Results> proxsuite::nlp::ProxNLPSolverTpl< _Scalar >::results_

Definition at line 123 of file prox-solver.hpp.


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