![]() |
Prev | Next |
ok = abs_min_quad(
level, n, m, s,
g_hat, g_jac, hessian, bound, epsilon, maxitr, delta_x
)
template <class DblVector, class SizeVector> bool abs_min_quad( size_t level , size_t n , size_t m , size_t s , const DblVector& g_hat , const DblVector& g_jac , const DblVector& hessian , const DblVector& bound , const DblVector& epsilon , const SizeVector& maxitr , DblVector& delta_x )
double
.
size_t
.
f
for the original function; see
f
.
level == 0
,
no tracing of the optimization is printed.
If
level >= 1
,
a trace of each iteration of abs_min_quad
is printed.
If
level >= 2
,
a trace of the qp_box
sub-problem is printed.
If
level >= 3
,
a trace of the qp_interior
sub-problem is printed.
f
; see
n
.
f
; see
m
. This must be one so that @(@
f
@)@
is an objective function.
f
; see
s
.
g
for the abs-normal representation of
f
;
see g
.
m + s
and is the value of
g(x, u)
at @(@
x = \hat{x}
@)@ and @(@
u = a( \hat{x} )
@)@.
(m + s) * (n + s)
and is the Jacobian of
@(@
g(x, u)
@)@ at @(@
x = \hat{x}
@)@ and @(@
u = a( \hat{x} )
@)@.
n * n
.
It is a row-major
representation
of the matrix @(@
H \in \B{R}^{n \times n}
@)@.
n
and is the vector @(@
b \in \B{R}^n
@)@.
The trust region is defined as the set of @(@
\Delta x
@)@ such that
@[@
| \Delta x | \leq b_j
@]@
for @(@
j = 0 , \ldots , n-1
@)@.
epsilon[0]
is convergence criteria in terms
of the infinity norm of the difference of
delta_x
between iterations.
The value
epsilon[1]
is convergence criteria in terms
of the derivative of the objective; i.e.
@[@
\Delta x^T H \Delta x / 2 + \tilde{f}( \hat{x} + \Delta x)
@]@
maxitr[0]
is the maximum number of
abs_min_quad
iterations to try before giving up on convergence.
The value
maxitr[1]
is the maximum number of iterations in
the qp_interior
sub-problems.
n
.
The input value of its elements does not matter.
Upon return,
the approximate minimizer of the objective with respect to the trust region.
abs_min_quad
.