|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
Go to the documentation of this file.
93 std::function<f_sig>
f;
97 std::function<g_sig>
g;
110 :
n(
n),
m(
m),
C{vec::Constant(
n, +
inf), vec::Constant(
n, -
inf)},
111 D{vec::Constant(
m, +
inf), vec::Constant(
m, -
inf)} {}
113 std::function<grad_f_sig>
grad_f, std::function<g_sig>
g,
115 std::function<grad_gi_sig>
grad_gi,
117 std::function<hess_L_sig>
hess_L)
118 :
n(
n),
m(
m),
C(std::move(
C)),
D(std::move(
D)),
f(std::move(
f)),
134 std::shared_ptr<pa::vec>
param = std::make_shared<pa::vec>();
313 std::function<f_sig>
f;
317 std::function<g1_sig>
g1;
323 std::function<g2_sig>
g2;
340 std::function<f_sig>
f,
341 std::function<grad_f_sig>
grad_f,
342 std::function<g1_sig>
g1,
344 std::function<grad_g1i_sig>
grad_g1i,
345 std::function<g2_sig>
g2,
347 std::function<grad_g2i_sig>
grad_g2i,
349 std::function<hess_L_sig>
hess_L)
368 std::shared_ptr<pa::vec>
param = std::make_shared<pa::vec>();
ProblemWithCounters(Problem &&p)
ProblemWithCounters(const ProblemWithCounters &)=delete
const pa::vec & get_param() const
void(crvec x, crvec y, rmat H) hess_L_sig
Signature of the function that evaluates the Hessian of the Lagrangian .
Box D2
Quadratic penalty constraints, .
void(crvec x, crvec y, crvec v, rvec Hv) hess_L_prod_sig
Signature of the function that evaluates the Hessian of the Lagrangian multiplied by a vector .
void(crvec x, crvec y, rvec grad_g2xy) grad_g2_prod_sig
Signature of the function that evaluates the gradient of the quadratic penalty constraints times a ve...
unsigned int n
Number of decision variables, dimension of x.
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
void(crvec x, rvec gx) g_sig
Signature of the function that evaluates the constraints .
std::function< g2_sig > g2
Constraint function .
Moves the state constraints in the set C to the set D, resulting in an unconstraint inner problem.
ProblemWithCounters & operator=(const ProblemWithCounters &)=delete
void(crvec x, rvec grad_fx) grad_f_sig
Signature of the function that evaluates the gradient of the cost function .
void(crvec x, unsigned i, rvec grad_g1i) grad_g1i_sig
Signature of the function that evaluates the gradient of one specific ALM constraint .
Box D
Other constraints, .
std::function< hess_L_sig > hess_L
Hessian of the Lagrangian function .
void set_param(pa::vec &&p)
ProblemWithCounters(const Problem &p)
realvec vec
Default type for vectors.
Eigen::Ref< mat > rmat
Default type for mutable references to matrices.
std::function< f_sig > f
Cost function .
const pa::vec & get_param() const
InnerStatsAccumulator< PANOCStats > & operator+=(InnerStatsAccumulator< PANOCStats > &acc, const PANOCStats &s)
real_t(crvec x) f_sig
Signature of the function that evaluates the cost .
std::function< hess_L_prod_sig > hess_L_prod
Hessian of the Lagrangian function times vector .
unsigned int m
Number of constraints, dimension of g(x) and z.
std::shared_ptr< pa::vec > get_param_ptr() const
std::function< grad_gi_sig > grad_gi
Gradient of a specific constraint .
unsigned int m2
Number of quadratic penalty constraints, dimension of g2(x) and z2.
void set_param(pa::crvec p)
void(crvec x, crvec y, rvec grad_g1xy) grad_g1_prod_sig
Signature of the function that evaluates the gradient of the ALM constraints times a vector .
void(crvec x, rvec g1x) g1_sig
Signature of the function that evaluates the ALM constraints .
void(crvec x, crvec y, rvec grad_gxy) grad_g_prod_sig
Signature of the function that evaluates the gradient of the constraints times a vector .
void(crvec x, rvec g2x) g2_sig
Signature of the function that evaluates the quadratic penalty constraints .
void(crvec x, unsigned i, rvec grad_g2i) grad_g2i_sig
Signature of the function that evaluates the gradient of one specific quadratic penalty constraints .
ProblemFull(unsigned n, unsigned int m1, unsigned int m2, Box C, Box D1, Box D2, std::function< f_sig > f, std::function< grad_f_sig > grad_f, std::function< g1_sig > g1, std::function< grad_g1_prod_sig > grad_g1_prod, std::function< grad_g1i_sig > grad_g1i, std::function< g2_sig > g2, std::function< grad_g2_prod_sig > grad_g2_prod, std::function< grad_g2i_sig > grad_g2i, std::function< hess_L_prod_sig > hess_L_prod, std::function< hess_L_sig > hess_L)
std::function< hess_L_prod_sig > hess_L_prod
Hessian of the Lagrangian function times vector .
std::function< f_sig > f
Cost function .
void(crvec x, crvec y, crvec v, rvec Hv) hess_L_prod_sig
Signature of the function that evaluates the Hessian of the Lagrangian multiplied by a vector .
Eigen::Ref< const vec > crvec
Default type for immutable references to vectors.
static void attach_counters(ProblemWithCounters &)
std::function< grad_f_sig > grad_f
Gradient of the cost function .
unsigned int m1
Number of ALM constraints, dimension of g1(x) and z1.
unsigned int n
Number of decision variables, dimension of x.
std::function< grad_g1i_sig > grad_g1i
Gradient of a specific constraint .
Problem(unsigned n, unsigned int m, Box C, Box D, std::function< f_sig > f, std::function< grad_f_sig > grad_f, std::function< g_sig > g, std::function< grad_g_prod_sig > grad_g_prod, std::function< grad_gi_sig > grad_gi, std::function< hess_L_prod_sig > hess_L_prod, std::function< hess_L_sig > hess_L)
void(crvec x, rvec grad_fx) grad_f_sig
Signature of the function that evaluates the gradient of the cost function .
std::function< grad_g_prod_sig > grad_g_prod
Gradient of the constraint function times vector .
void(crvec x, crvec y, rmat H) hess_L_sig
Signature of the function that evaluates the Hessian of the Lagrangian .
Box C
Constraints of the decision variables, .
ProblemWithCounters()=delete
std::function< grad_g2i_sig > grad_g2i
Gradient of a specific constraint .
real_t(crvec x) f_sig
Signature of the function that evaluates the cost .
ProblemOnlyD(const Problem &p)
std::function< g_sig > g
Constraint function .
std::function< grad_g2_prod_sig > grad_g2_prod
Gradient of the constraint function times vector .
std::function< g1_sig > g1
Constraint function .
ProblemWithCounters(ProblemWithCounters &&)=delete
std::function< grad_f_sig > grad_f
Gradient of the cost function .
void(crvec x, unsigned i, rvec grad_gi) grad_gi_sig
Signature of the function that evaluates the gradient of one specific constraints .
std::shared_ptr< pa::vec > get_param_ptr() const
Problem description for minimization problems.
std::shared_ptr< pa::vec > param
std::shared_ptr< pa::vec > param
ProblemOnlyD(Problem &&p)
double real_t
Default floating point type.
std::function< hess_L_sig > hess_L
Hessian of the Lagrangian function .
ProblemFull(unsigned int n, unsigned int m1, unsigned int m2)
ProblemWithCounters & operator=(ProblemWithCounters &&)=delete
EvalCounter operator+(EvalCounter a, EvalCounter b)
void set_param(pa::vec &&p)
Problem description for minimization problems.
Box C
Constraints of the decision variables, .
Problem(unsigned int n, unsigned int m)
void set_param(pa::crvec p)
std::function< grad_g1_prod_sig > grad_g1_prod
Gradient of the constraint function times vector .