|
PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
|
Go to the documentation of this file.
9 throw std::out_of_range(
"Dimension of x not consistent "
10 "with problem dimension n");
23 throw std::out_of_range(
"Dimension of x not consistent "
24 "with problem dimension n");
36 throw std::out_of_range(
37 "Dimension of result of grad_f not consistent "
38 "with problem dimension n");
47 throw std::out_of_range(
"Dimension of x not consistent "
48 "with problem dimension n");
60 throw std::out_of_range(
61 "Dimension of result of g not consistent "
62 "with problem dimension m");
73 throw std::out_of_range(
"Dimension of x not consistent "
74 "with problem dimension n");
76 throw std::out_of_range(
"Dimension of y not consistent "
77 "with problem dimension m");
89 auto &&res = fun(
x,
y);
91 throw std::out_of_range(
92 "Dimension of result of grad_g_prod not consistent "
93 "with problem dimension n");
103 throw std::out_of_range(
"Dimension of x not consistent "
104 "with problem dimension n");
106 throw std::out_of_range(
"Constraint index greater or "
107 "equal to problem dimension m");
117 p.grad_gi = [
n{
p.n}, fun{std::move(fun)}](
pa::crvec x,
unsigned i,
119 auto &&res = fun(
x, i);
121 throw std::out_of_range(
122 "Dimension of result of grad_gi not consistent "
123 "with problem dimension n");
133 throw std::out_of_range(
"Dimension of x not consistent "
134 "with problem dimension n");
136 throw std::out_of_range(
"Dimension of y not consistent "
137 "with problem dimension m");
149 auto &&res = fun(
x,
y);
151 throw std::out_of_range(
152 "Number of rows of result of hess_L not consistent "
153 "with problem dimension n");
155 throw std::out_of_range(
"Number of columns of result "
156 "of hess_L not consistent "
157 "with problem dimension n");
168 throw std::out_of_range(
"Dimension of x not consistent "
169 "with problem dimension n");
171 throw std::out_of_range(
"Dimension of y not consistent "
172 "with problem dimension m");
174 throw std::out_of_range(
"Dimension of v not consistent "
175 "with problem dimension n");
189 auto &&res = fun(
x,
y,
v);
191 throw std::out_of_range(
192 "Dimension of result of hess_L_prod not consistent "
193 "with problem dimension n");
203 throw std::out_of_range(
"Dimension of x not consistent "
204 "with problem dimension n");
217 throw std::out_of_range(
"Dimension of x not consistent "
218 "with problem dimension n");
230 throw std::out_of_range(
231 "Dimension of result of grad_f not consistent "
232 "with problem dimension n");
241 throw std::out_of_range(
"Dimension of x not consistent "
242 "with problem dimension n");
253 if (res.size() != m1)
254 throw std::out_of_range(
255 "Dimension of result of g1 not consistent "
256 "with problem dimension m1");
264 return [
n{
p.n}, m1{
p.m1}, grad_g1_prod{
p.grad_g1_prod}](
pa::crvec x,
267 throw std::out_of_range(
"Dimension of x not consistent "
268 "with problem dimension n");
270 throw std::out_of_range(
"Dimension of y not consistent "
271 "with problem dimension m");
273 grad_g1_prod(
x,
y, g1y);
283 auto &&res = fun(
x,
y);
285 throw std::out_of_range(
286 "Dimension of result of grad_g1_prod not consistent "
287 "with problem dimension n");
288 g1y = std::move(res);
295 return [
n{
p.n}, m1{
p.m1}, grad_g1i{
p.grad_g1i}](
pa::crvec x,
unsigned i) {
297 throw std::out_of_range(
"Dimension of x not consistent "
298 "with problem dimension n");
300 throw std::out_of_range(
"Constraint index greater or "
301 "equal to problem dimension m1");
311 p.grad_g1i = [
n{
p.n}, fun{std::move(fun)}](
pa::crvec x,
unsigned i,
313 auto &&res = fun(
x, i);
315 throw std::out_of_range(
316 "Dimension of result of grad_g1i not consistent "
317 "with problem dimension n");
326 throw std::out_of_range(
"Dimension of x not consistent "
327 "with problem dimension n");
338 if (res.size() != m2)
339 throw std::out_of_range(
340 "Dimension of result of g2 not consistent "
341 "with problem dimension m2");
349 return [
n{
p.n}, m2{
p.m2}, grad_g2_prod{
p.grad_g2_prod}](
pa::crvec x,
352 throw std::out_of_range(
"Dimension of x not consistent "
353 "with problem dimension n");
355 throw std::out_of_range(
"Dimension of y not consistent "
356 "with problem dimension m");
358 grad_g2_prod(
x,
y, g2y);
368 auto &&res = fun(
x,
y);
370 throw std::out_of_range(
371 "Dimension of result of grad_g2_prod not consistent "
372 "with problem dimension n");
373 g2y = std::move(res);
380 return [
n{
p.n}, m2{
p.m2}, grad_g2i{
p.grad_g2i}](
pa::crvec x,
unsigned i) {
382 throw std::out_of_range(
"Dimension of x not consistent "
383 "with problem dimension n");
385 throw std::out_of_range(
"Constraint index greater or "
386 "equal to problem dimension m2");
396 p.grad_g2i = [
n{
p.n}, fun{std::move(fun)}](
pa::crvec x,
unsigned i,
398 auto &&res = fun(
x, i);
400 throw std::out_of_range(
401 "Dimension of result of grad_g2i not consistent "
402 "with problem dimension n");
412 throw std::out_of_range(
"Dimension of x not consistent "
413 "with problem dimension n");
415 throw std::out_of_range(
"Dimension of y not consistent "
416 "with problem dimension m");
428 auto &&res = fun(
x,
y);
430 throw std::out_of_range(
431 "Number of rows of result of hess_L not consistent "
432 "with problem dimension n");
434 throw std::out_of_range(
"Number of columns of result "
435 "of hess_L not consistent "
436 "with problem dimension n");
447 throw std::out_of_range(
"Dimension of x not consistent "
448 "with problem dimension n");
450 throw std::out_of_range(
"Dimension of y not consistent "
451 "with problem dimension m1");
453 throw std::out_of_range(
"Dimension of v not consistent "
454 "with problem dimension n");
468 auto &&res = fun(
x,
y,
v);
470 throw std::out_of_range(
471 "Dimension of result of hess_L_prod not consistent "
472 "with problem dimension n");
auto prob_setter_grad_gi()
Eigen::Ref< vec > rvec
Default type for mutable references to vectors.
auto prob_full_setter_hess_L_prod()
auto prob_full_setter_f()
realvec vec
Default type for vectors.
auto prob_full_getter_hess_L_prod()
Eigen::Ref< mat > rmat
Default type for mutable references to matrices.
auto prob_full_setter_g2()
auto prob_full_getter_grad_g2i()
auto prob_full_setter_g1()
auto prob_setter_hess_L()
auto prob_full_getter_grad_g1i()
auto prob_full_getter_grad_g1_prod()
auto prob_full_getter_g2()
auto prob_full_getter_grad_f()
auto prob_full_setter_grad_g1i()
auto prob_full_getter_grad_g2_prod()
auto prob_getter_grad_g_prod()
auto prob_getter_grad_f()
Eigen::Ref< const vec > crvec
Default type for immutable references to vectors.
auto prob_full_getter_f()
auto prob_full_setter_grad_g2_prod()
auto prob_full_setter_hess_L()
auto prob_getter_hess_L_prod()
auto prob_full_getter_g1()
auto prob_full_getter_hess_L()
auto prob_full_setter_grad_g2i()
realmat mat
Default type for matrices.
auto prob_setter_grad_g_prod()
auto prob_setter_grad_f()
Problem description for minimization problems.
auto prob_getter_grad_gi()
auto prob_getter_hess_L()
double real_t
Default floating point type.
auto prob_setter_hess_L_prod()
Problem description for minimization problems.
auto prob_full_setter_grad_g1_prod()
auto prob_full_setter_grad_f()