proxsuite-nlp
0.11.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
pdal.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
proxsuite-nlp/fwd.hpp
"
6
#include "
proxsuite-nlp/workspace.hpp
"
7
8
namespace
proxsuite
{
9
namespace
nlp {
10
23
template
<
typename
_Scalar>
struct
ALMeritFunctionTpl {
24
public
:
25
using
Scalar = _Scalar;
26
PROXSUITE_NLP_DYNAMIC_TYPEDEFS
(Scalar);
27
using
Problem =
ProblemTpl<Scalar>
;
28
using
Workspace =
WorkspaceTpl<Scalar>
;
29
using
ConstraintObject =
ConstraintObjectTpl<Scalar>
;
30
31
ALMeritFunctionTpl(
const
Problem &prob,
const
Scalar &beta);
32
33
Scalar evaluate(
const
ConstVectorRef &x,
const
std::vector<VectorRef> &lams,
34
Workspace &workspace)
const
;
35
36
void
computeGradient(
const
std::vector<VectorRef> &lams,
37
Workspace &workspace)
const
;
38
39
private
:
40
// fraction of mu to use in linesearch; reference to outer algorithm param
41
const
Scalar &beta_;
42
const
Problem &problem_;
43
};
44
45
}
// namespace nlp
46
}
// namespace proxsuite
47
48
#include "
proxsuite-nlp/pdal.hxx
"
49
50
#ifdef PROXSUITE_NLP_ENABLE_TEMPLATE_INSTANTIATION
51
#include "proxsuite-nlp/pdal.txx"
52
#endif
fwd.hpp
Forward declarations and configuration macros.
PROXSUITE_NLP_DYNAMIC_TYPEDEFS
#define PROXSUITE_NLP_DYNAMIC_TYPEDEFS(Scalar)
Definition
math.hpp:26
proxsuite
Main package namespace.
Definition
bcl-params.hpp:5
pdal.hxx
proxsuite::nlp::ConstraintObjectTpl
Packs a ConstraintSetTpl and C2FunctionTpl together.
Definition
constraint-set.hpp:121
proxsuite::nlp::ProblemTpl
Definition
problem-base.hpp:12
proxsuite::nlp::WorkspaceTpl
Definition
workspace.hpp:25
workspace.hpp
include
proxsuite-nlp
pdal.hpp
Generated by
1.13.2