![]() |
Prev | Next |
ok = abs_min_linear(
level, n, m, s,
g_hat, g_jac, bound, epsilon, maxitr, delta_x
)
template <class DblVector, class SizeVector> bool abs_min_linear( size_t level , size_t n , size_t m , size_t s , const DblVector& g_hat , const DblVector& g_jac , 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_linear
is printed.
If
level >= 2
,
a trace of the lp_box
sub-problem is printed.
If
level >= 3
,
a trace of the objective and primal variables @(@
x
@)@ are printed
at each simplex_method
iteration.
If
level == 4
,
the simplex tableau is printed at each simplex iteration.
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
and we denote its value by @(@
b \in \B{R}^n
@)@.
The trust region is defined as the set of @(@
x
@)@ such that
@[@
| x_j - \hat{x}_j | \leq b_j
@]@
for @(@
j = 0 , \ldots , n-1
@)@,
where @(@
x
@)@ is the point that we are approximating @(@
f(x)
@)@.
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., @(@
\tilde{f}(x)
@)@.
maxitr[0]
is the maximum number of
abs_min_linear
iterations to try before giving up on convergence.
The value
maxitr[1]
is the maximum number of iterations in
the simplex_method
sub-problems.
n
.
The input value of its elements does not matter.
Upon return,
the approximate minimizer of @(@
\tilde{f}(x)
@)@
with respect to the trust region
is @(@
x = \hat{x} + \Delta x
@)@.
abs_min_linear
.
It returns true if the test passes and false otherwise.