Hansen1980 Article GlobalOptimizationUsingInterva
Hansen1980 Article GlobalOptimizationUsingInterva
Eldon Hansen
Lockheed Missiles and Space Company
Sunnyvale, CA 94086, USA
Summary. We show how interval analysis can be used to compute the global
minimum of a twice -continuously differentiable function of n variables over
an n-dimensional parallelopiped with sides parallel to the coordinate axes.
Our method provides infallible bounds on both the globally minimum value
of the function and the point(s) at which the minimum occurs.
Subject Classification: AMS(MOS): 65K05, 90C30.
1. Introduction
0029-599 X/80/0034/0247/$04.80
248 E. Hansen
The second part of the algorithm used alone would find the global minimum (or
minima) but its asymptotic convergence is relatively slow compared to that of
the Newton method. Hence the latter is used also. The third and fourth parts of
the algorithm merely improve convergence.
2. Interval Analysis
The toot which allows us to be certain we have bounded the global minimum is
interval analysis. We bound rounding errors by using interval arithmetic. More
importantly, however, we use interval analysis to bound the range of a function
over a box.
Let g(x) be a rational function of n variables x 1.... , x,. On a computer, we
can evaluate g(x) for a given x by performing a sequence of arithmetic
operations involving only addition, subtraction, multiplication, and division.
Let X~ (i = 1.... , n) be closed intervals. If we use X~ in place of x~ and perform
the same sequence of operations using interval arithmetic (see [8]) rather than
ordinary real arithmetic, we obtain a closed interval g(X) containing the range
3. Taylor's Theorem
We shall use interval analysis in conjunction with Taylor's theorem in two ways.
First, we expand f as
Assume x i e X i and y~eX~ for i = 1.... , n. Then ~ij~Xj for each j = 1.... , i. For
general n, the arguments of H~j are (Yx, -.-, Yj- 1, ~j, xj+ 1.... , x,). Other arrange-
ments of arguments could be obtained by reordering the indices.
Let x be a fixed point in X. Then for any point y e X ,
gi(Y) -----gi(X) + (Yl -- x1) dil (t]l, x2, -", xn) + (Y2 - xz) Ji2(Y l, 1~2, x3 . . . . . Xn)
+(Y3 - x 3 ) Ji3(Yl, Y2, rl3, x4 . . . . . x,,)+ ... + ( y n - x n ) Jin(Yl . . . . , Y,- 1, rl,),
where 0.3)
Ji2 = c~2f/c3xi c3xj (i,j = 1.... , n).
This Jacobian matrix J and the Hessian H introduced above are, of course,
essentially the same. However, they will be evaluated with different arguments
depending on whether we are expanding f or g. Also, H is lower triangular while
d is a full matrix.
Let J(x, y, Yl) denote the Jacobian matrix with elements J~i(Yl . . . . , Y.i 1, ~lj,
x j+ 1.... , x,). Then
g(y)= g(x) + J (x, y, rl) ( y - x). (3.4)
We shall again shorten notation and denote J(x, y, tl) by J(t/) and J(x, X , X) by
J(X).
Global Optimization Using Interval Analysis 251
Note that the elements of H(X) on and below the diagonal have the same
arguments as the corresponding elements of J(X). Thus we need only calculate
J(X); then H(X) follows easily.
hence the stationary points off. Such a method produces from X a new box or
boxes N(X). Any points in X not in N(X) cannot contain a zero o f g and can be
discarded unless they are boundary points of X (~
These methods, in effect, solve (3.5) for points y where g(y)=0. The first such
method was derived by Moore [8]. Variants of Moore's method can be found in
[3, 8, 12, 13]. The most efficient variant is described below. Krawczyk's method
[8] is a suitable alternative to the method in [6]. Discussions of Krawczyk's
method can be found in [10] and [11].
We now give a brief synopsis of our method. We wish to solve the set of
equations
g(x) + J(~)(y-x)- 0 (6.1)
for the set of points y obtained by letting ~ range over X. We shall find a subset
Y of X containing this set.
Let Jc be the matrix whose element in position (i,j) is the midpoint of the
corresponding interval element J~j(X) of the Jacobian J(X). Let B be an
approximate inverse of Jc. As pointed out in [3], a useful first step in solving for
Y is to multiply (6.1) by B giving
Note that the product BJ(~) approximates the identity matrix. However it may
be a very poor approximation when X is a large box.
We 'solve' (6.2) by a process similar to a single sweep of the Gauss-Seidel
method. Write
BJ(X)=L+D+U
where L, D, and U are the lower triangular, diagonal, and upper triangular part
of BJ(X), respectively. The interval matrix
contains the inverse of every matrix in D. The box Y'solving' (6.2) is obtained as
When obtaining the component Y~ of Y, the components Y1, ..., Y~-1 appearing
in the right member of this equation have already been obtained.
This formulation presupposes that the intervals D~ (i=1 . . . . . n) do not
contain zero. When X is a small box, BJ(X) is closely approximated by the
identity matrix and hence D is also. However, for X large, it is possible to have
0eD u for one or more values of i. This case is easily handled. We simply use an
extended interval arithmetic which allows division by an interval containing
zero. A detailed discussion of this new method will be published elsewhere.
Note that we cannot allow the Newton procedure to delete boundary points
of X ~~ since the global minimum need not be a stationary point if it occurs on
the boundary. We discuss this point further in Sect. 10.
Global Optimization Using Interval Analysis 253
7. Boundingf
We now consider how to delete points y~X where we know f ( y ) > f and hence
where f ( y ) is not a global minimum. We retain the complementary set which is a
sub-box (or sub-boxes) Y c X wherein f ( y ) may be <j~
As pointed out in [5], if we only wish to bound f * and not x*, we can delete
points where
f(y)>f -e I (7.1)
for some e 1 >0. We can allow e 1 to be nonzero only if we do not need to know
the point(s) x* at which f is globally minimum.
We want to retain points where (7.1) is not satisfied. F r o m (3.1), this is the
case for points y if
E = f - f ( x ) - e 1.
Then
~r g(x) + 89 H(~) ~ < E (7.2)
We first wish to reduce X in the xl-direction. Thus we solve this relation for
acceptable values of Yl. After collecting terms in y~, we replace Y2 by X 2. In the
higher dimensional case we would also replace Yi by Xi for all i = 3 .... , n. We
also replace ~ by X (since ~eX). We obtain
where X 2 = X 2 - x 2 .
254 E. Hansen
where 91 = IIi - x l .
If the solution set Y2 is strictly contained in X 2, we could replace X 2 by Y2
in (7.4) and solve for a new Y1- We have not tried to do this in practice. Instead,
we start over with the box Y in place of X as soon as we have tried to reduce
each X i to Y~(i = 1.... , n). N o t e this means we re-evaluate H(X).
We now consider how to solve the quadratic equation (7.4) or (7.5). These
have the general form
A + Bt + Ct2 <O (7.6)
where A, B, and C are intervals and we seek values of t satisfying this inequality.
D e n o t e C = [c 1, c2] and let c be an arbitrary point in C. Similarly, let asA
and beB be arbitrary. Suppose t is such that (7.6) is violated; that is Q ( t ) > 0 ,
where
Q(t)=a+bt +ct 2.
If this is true for c=c~, then it is true for all c6C. Hence if we wish to find the
c o m p l e m e n t a r y values of t where (7.6) might hold we need only consider
A + B t +c 1 t2~0. (7.7)
Recall that we will intersect T with X i for some value of i. Thus although T m a y
be unbounded, the intersection is bounded.
If c1:# 0, the quadratic (7.6) m a y have no solution or it m a y have a solution
set T c o m p o s e d of either one or two intervals. In the latter case, the intervals
m a y be semi-infinite. However, after intersecting T with Xi, the result is finite.
Global Optimization Using Interval Analysis 255
Denote
Ql(t)=a+bt + q t 2
where aeA, bEB, and c 1 is the left endpoint of C. We shall delete points t where
Q a ( t ) > 0 for all a~A and beB. Thus we retain a set T of points where Ql(t)=<0,
as desired. But we also retain (in T) points where, for fixed t, Q a ( t ) > 0 for some
aeA and beB and Qa(t)<O for other aEA and beB. This same criterion was
used to obtain T when c a = 0 . This assures that we shall always retain points in
Xi where f(x) is a minimum.
Denote
qa(t)={aa+b2t+clt2 if t < 0 ,
a,+bat+cat 2 if t > 0
and
qe(t)={a2+btt+Cat2 if t=<0,
a2+b2t+cit 2 if t>=0.
Thus for any finite t, qa(t) is a lower b o u n d for Qa(t) and q2(t) is an upper b o u n d
for Ql(t) for any aeA and any beB.
F o r a given value of t, if q l ( t ) > 0 , then 0 1 ( 0 > 0 for all aeA and beB. Hence
we need only to solve the real quadratic equation qa ( t ) = 0 in order to determine
intervals wherein, without question, Q1 (t)> 0. This is a straightforward problem.
The function qa(t) is continuous but its derivative is discontinuous at the
origin when b1=t= b 2 which will generally be the case in practice. Hence we must
consider the cases t < 0 and t =>0 separately.
If c a > 0 , the curve qa(t) is convex for t=<0 and convex for t=>0. Consider the
case t=<0. If q~(t) has real roots, then Q a ( t ) > 0 outside these roots, provided
t < 0 . Hence, we retain the interval between these roots. We need only examine
the discriminant of q~ (t) to determine whether the roots are real or not. Hence it
is a simple procedure to determine which part (if any) of the half line t <=0 can be
deleted. The same procedure can be used for t >_0.
F o r c a < 0 , qa(t) is concave for t__<0 and for t>=0. In this case we can delete
the interval (if any) between the roots of q~(t) in each half line. The set T is the
complement of this interval. It is c o m p o s e d of two semi-infinite intervals.
In determining T for either the case c 1 < 0 or in the case c I > 0 , it is necessary
to know whether the discriminant of qa (t) is non-negative or not. D e n o t e
These are the discriminants of qa (t) when t >__0 and t _-<0, respectively.
W h e n we c o m p u t e A a or A2, we shall make rounding errors. Thus we should
c o m p u t e them using interval arithmetic to b o u n d these errors. W h e n computing
A i = ( i = 1, 2), suppose we obtain the interval
A[=[A],Aff] ( i = 1 , 2).
256 E. Hansen
Note that R~+ = S/- and R i- = S~+. As is well known, the rounding error is less if
we compute a root in the form R~+ rather than in the form S 7 when b i <0. The
converse is true when bi > 0. Similarly, the rounding error is less when using R~-
rather than S~+ when bi>0. Hence we compute the roots of q~(t) as R~+ and S~
when b i < 0 and as R~- and S~- when bi>0.
Note that computing R~ or S~ involves taking the square root of the
interval A[. In exact arithmetic this would bc the real quantity Ai. We would
never be computing roots of q~(t) when A~ was negative. Hence if we find that
the computed result A[ contains zero, we can replace it by its non-negative part.
Thus we will never try to take the square root of an interval containing negative
numbers.
Given any interval 1, let I L and I R denote its left and right endpoint,
respectively. We use this notation below. Using the above prescriptions on how
to compute the set T, we obtain the following results:
For b~ __>0and c I >0,
if A~<0,
T = [ E ( S ~ ) , (R~-)n] if a l > 0 and A~>0, (7.9)
2 ) , ( R ~ ) R]
[ [ ( S+L if a 1 <0.
{
[--oe,(Rf)g]w[(S-~) L, ~ ]
T= [--oQ,(R~)R]~[(S~)L, oO]
[ - - ~ , oe]
if a l > 0 ,
if al <O<A~,
if AL<0.
(7.12)
can be empty, a single interval, or two intervals. We now consider the logistics
of handling these cases.
The quadratic inequality to be solved for Z~ will have quadratic term
1"2hii(X ) so the interval C in (7.6) is 89
gY~ ) and the left endpoint is c]i)
= [89 L. If c(/)>0 the solution set is a single interval. But if c]~ it is two
semi-infinite intervals and it may be that Y~ will be two intervals. This would
complicate the process of finding Yi+ 1,-.., Y,. Thus we proceed as follows.
Let 11 denote the set of indices i for which c]~)>0 and I z denote the set of
indices i for which c]i~<0. We first find Y~for each i~11. We then begin to find Y~
for ieI 2. L e t j e I 2 be such that Y~is composed of two intervals, say y)l) and y)2).
Then Xj is the smallest interval containing both y)l~ and y)2). When finding Y~
for the remaining values of i, we use Xj in place of Yj.
After finding all Y~for i = t .... , n, we wish to use the fact that we can delete
the interval, say Yf, between y)n and y)2). We would like to do this for all the
values of j for which Y~ was two intervals. However, it could be that this
occurred for all the indices j = 1, ..., n. After deleting the interior interval yjc in
each dimension, the resulting set would be composed of 2" boxes. For large n,
this is too many boxes to handle separately. Hence we delete only a few (one,
two, or three) of the' largest of the intervals Yr. We then process each of the new
boxes separately.
258 E. Hansen
We would like to prevent the generation of long, narrow boxes. Thus a good
choice of which yjc to delete is the one(s) corresponding to the component for
which the smallest interval containing both Y~(1)and YS2) is largest. However, we
have chosen to delete the largest interval Yr.
Let us call the process we have described in this section the quadratic method.
We can combine the quadratic method with the Newton method. It is desirable
to do this as we now explain.
If the left endpoint of Hu(X ) is negative, then the quadratic method can give
rise to two new intervals y m and Yi(2) in place of X i. When trying to improve
Xi+ 1 (say), it is impractical to use y(1) and y(2) separately and we use X i,
instead. Thus the improvement of Xi is of no help when trying to improve Xi+ 1,
etc. Similarly, when applying the Newton step, if Ju(X) contains zero as an
interior point, we can obtain two subintervals in place of X~. Again, we cannot
conveniently use this fact in the remaining part of the Newton step.
We would like to do those steps first which are of help in subsequent steps.
Hence the following sequence is suggested. First try to improve X~ by the
quadratic method for each value of i = 1.... , n for which the left endpoint of
H , ( X ) is positive. Then apply the interval Newton method to the (old or new)
components for which O6BJu(X ) (i = 1, ..., n). Next use the quadratic method for
those components for which the left endpoint of Hii(X ) is non-positive. Finally,
complete the Newton step for those components with O~BJu(X ).
At each stage of either method, when trying to improve the i-th component
of the box, we use the currently best interval for the other components. This
may be the smallest interval containing two disjoint intervals in some cases. In
fact it would be possible for the quadratic method and the Newton method to
each delete disjoint sub-intervals for a given component. This would give rise to
three sub-intervals to be retained. However, it seems better to simplify this case
and only delete the larger of the two sub-intervals.
When both methods are completed, we may have several components
divided into two sub-intervals. If so, we find the one for which the largest
interior sub-interval has been deleted. We replace all the others by the smallest
sub-interval containing the two disjoint parts. We then divide the remaining
part of the current box into two sub-boxes by deleting the sub-interval for the
component in question. We could do this for more than one component, but
each deletion would double the number of boxes. It seems better to keep the
number of boxes small.
8. Choice of el
f(y)>f-~l. (8.t)
Once we have found a point )~ where f(~2)=f is such that f - f * < = e l , our
algorithm will eventually delete all of X <~ if we use (8.1). However, ~ may be far
Global Optimization Using Interval Analysis 259
9. Monotonicity
Another step in our algorithm makes use of the monotonicity off. Suppose, for
example, the i-th component gi(x) of the gradient is non-negative for all x e X .
Then the smallest value of f ( x ) for x e X must occur for xg equal to the left
endpoint of X i.
To make use of a fact such as this, we evaluate gg(X 1..... X,). The resulting
interval, which we denote by [a i, cog], contains g/(x) for all x e X . Denote X i
=Ix/L, xiR]. If a i > O , f ( x ) is smallest (in X) for x i = x ~. Hence we can delete all of
X except the points with xg=x~. If ag>O,f(x) cannot have a stationary point in
X. Hence we can delete all of X unless the boundary at x i = x ~ contains
boundary points of the initial box X (~ Similar results occur if coi __<0 or if cog< 0.
We evaluate gg(X~ . . . . . Xn) for i = 1.... , n and reduce the dimensionality of X
for any value of i for which crg__>0 or cog<0. Of course, we delete all of X, if
possible.
It is possible that we can reduce X in every dimension in this way. If so, only
a single point, say 2, remains. In this case, we evaluate f(2). I f f ( 2 ) > ~ we can
eliminate ~ and hence all of X is deleted by the process. Iff(k)_<_f, we reset f
equal to f(2). In this latter case, X is again deleted; but we store 2 for future
reference.
The process just described in Sect. 9 can sometimes eliminate points of the
boundary of X (~ which lie in X. Suppose that for some X, we find
gj(X 1.... , X , ) > 0 for some j = 1. . . . . n. Then we can delete all of X except for
any boundary points of X (~ occurring at x i = x~. Any other boundary points of
X ~~ which are in X are thus deleted.
The quadratic method of Sect. 7 deletes any point x w h e r e f ( x ) > f whether x
lies on the boundary of X ~~ or not. However, the Newton method of Sect. 6 and
the procedure in Sect. 5 (which considers convexity) cannot delete any boundary
points of X (~
Suppose we apply a step of the Newton method to a box X and obtain a new
box X' contained in x . A simple way to proceed is to retain the smallest box
containing both X' and all boundary points of X (~ which are in X. This will
260 E. Hansen
generally save points of X outside X' thus reducing the efficiency of the
procedure. In fact, it may be that the smallest box containing the boundary
points of X ~~ which are in X is X itself. If this were the case, we would bypass
the Newton step for the box X. This approach would rely upon the methods of
Sects. 7 and 9 to delete boundary points of X (~
This same idea can be used for the method of Sect. 5. I f f is not convex in X,
we can simply replace X by the smallest (perhaps degenerate) box, say X,
containing the boundary points of X (~ which lie in X. In this case, either )( = X
or else X is a degenerate box of dimension less than that of X.
Suppose we are given a box X. For this approach, if ) ( = X, we do not apply
either the Newton method or the convexity test. We could use the Newton
method in this case also or we might bypass its use whenever X contains
boundary points of X (~
A more straightforward procedure is to simply express the boundary of X (~
as 2n separate (degenerate) boxes of dimension n - 1 . The interior of X (~ can
then be treated as a box wherein the global minimum must be a stationary
point. However, the (n-1)-dimensional faces of X (~ have (n-2)-dimensional
boundaries which must, in turn, be separated from the interiors, and so on.
Finally the vertices of X (~ would have to be separated. These vertices alone are
2" points. Even for moderate values of n, this separation process produces too
many (degenerate) boxes. Thus it is better, in general, not to try to separate the
boundaries from X (~
These two approaches represent extreme cases. Intermediate methods might
be used wherein the boundaries of X (~ in a given box X are separated off under
special circumstances.
It should, perhaps, be pointed out that the Newton method can delete
boundary points of X (~ under certain circumstances. Suppose our algorithm has
produced a degenerate box X which is all or part of a face of X (~ In this
degenerate ( n - 1)-dimensional box, the Newton method can delete points which
are not in the (n-2)-dimensional boundary of the face of X ~~ Such deleted
points are, of course, on the boundary of X (~
In some examples, we shall know a priori that the global minimum is a
stationary point. In this case we are free to delete boundary points by any of our
procedures.
When we begin our algorithm, we shall have a single box X (~ We apply the
four procedures described in Sects. 5, 6, 7, and 9 to this box. It is possible that
none of these procedures can delete any of X (~ If so, we divide X ~~ in half in a
direction of its m a x i m u m width. We put one of these new boxes in a list L to be
processed and work on the other. These and subsequent boxes may also have to
be subdivided, thus adding to the list L of boxes yet to be processed. If boundary
points are handled appropriately, the four procedures described in Sects. 5, 6, 7
and 9 can each produce more than one new sub-box; and all but one are added
to the list. Thus the number of boxes in the list tends to grow initially.
Global Optimization Using Interval Analysis 261
Eventually, however, the boxes become small and often a box is entirely
eliminated. Thus the number of boxes in the list eventually decreases to one, or
just a few, or to none at all when e 1 is chosen to be nonzero.
In the initial stages of our algorithm, we shall be applying it to large boxes. For
example, we begin by applying it to the entire initial box X (~ Thus it could be
that, for a given box X, none of the procedures described in Sects. 5, 6, 7, and 9
can delete any of X. When this occurs, we wish to subdivide X.
We could subdivide each component X~ of X into two parts. But this would
give rise to 2" sub-boxes. To prevent generation of too many sub-boxes, we shall
divide only one component in half. It is best to subdivide the largest component
X~ to prevent generation of a long, narrow box.
Suppose we divide X~=[x~, x~] in half giving two new boxes X' and X"
whose i-th components are X' i = [x L, Xi] and X' i' = [)Zi, xR], respectively, where 97i
=(xL+xR)/2. The boxes X' and X" have a boundary in common at x i = ~ i. I f f
had a global minimum on this common boundary, we would subsequently find
it twice. This is unlikely to be the case. To avoid having the same points in two
boxes, we could define one of them in terms of a half open interval. Thus we
could define X ri - [ xLi, xi).
It is simpler to always use closed intervals. The extra work of keeping track
of whether an interval contains a given endpoint is probably not worth the
effort. In practice, we have elected to avoid this problem. Thus we have always
used closed intervals only. In general, this does not cause the algorithm to find a
given global minimum more than once.
13. Termination
i wi<e
i=1
(13.1)
for some ,~2>0. This is provided 52 is chosen large enough that the prescribed
precision is attainable using (say) single precision arithmetic. However, it is
more convenient computationally to require only that
w i < e2 (13.2)
Ix}')-x~'E__<~2/2 ( / = 1 . . . . , n).
Let s denote the number of boxes remaining and denote the boxes by X (~) (i
= 1. . . . . s). As a final step, we want to assure that f * is bounded sufficiently
sharply. We do this as follows.
For each i = 1.... , s we evaluate f(X")); that is we evaluate f with interval
arguments X~ i) (j = 1. . . . . n). The result, say [Fi L, F~] contains the range of f for
all x e X ~), but will not be sharp, in general. However, if e 2 was chosen to be
small, the interval result should be 'close to sharp' since e 2 is an upper bound on
the largest dimension of any box X(i); and the smaller X (1) is, the sharper
[F~L, F~] is. (See 1-8].) Therefore, it is generally not necessary to use special
procedures to sharpen the computed interval.
Since [FiL, F/R] contains the range o f f ( x ) for all x e X Ci), we have
f <f*<f (13.3)
We thus have bounds on f * . However, they may not be sharp enough since
our specified requirement is to bound f * to within, say, ~0; and it may be that f
- f > e 0. If this is the case, we shall improve our bounds. To do this, we find a
Global Optimization Using Interval Analysis 263
value j for which f =fi L. We apply our main algorithm to X (J). This will increase
fjL, in general. It might also decrease 3~ For exact interval arithmetic, this must
decrease f - - f j L since X ~J) will be reduced in size (even if it is merely subdivided).
Repeating this step for each j such that f=fjL, we must decrease f - f (at least,
if exact interval arithmetic is used) and hence eventually have
f - - f "(/30
so that f * is bounded to sufficient accuracy since (13.3) holds.
Because of rounding errors, we cannot reduce f - f arbitrarily, in practice.
Hence we assume eo is chosen commensurate with achievable accuracy using
(say) single precision arithmetic.
We also require that
for each box X ") (i = 1. . . . . s). For convenience, we can choose e 3 = eo to reduce
the number of quantities to be specified. Note that F~L<f since otherwise
f(x) >f for all x~X (i) in which case X (i) can be deleted. Hence
F/R ~-~f-~- e3 ~f-~- ~;0"~/33 < f * + ~o + g3
for every i = t .... , s. That is, every remaining box contains a point x at which
f(x) differs from f * by no more than eo+e3.
We now describe the steps involved in our algorithm. Initially, the list L of
boxes to be processed consists of a single box X (~ In general, divide the list L
into the list L 1 of intervals X (~ satisfying the condition wi < e2 (see (13.2)) and a
list L 2 which do not satisfy this condition.
We assume we have evaluated f at the center of X (~ and thus obtained an
initial value for )~ The subsequent steps are to be done in the following order
except as indicated by branching:
(1) Of the boxes in L2, choose one which has been in L 2 longest. Call it X. If
L 2 is empty, go to step (11) if e l > 0 . If L 2 is empty and e l = 0 choose a box
which has been in L1 longest and go to step 2. If both L 1 and L 2 are empty,
print the b o u n d s f - ~ l a n d f on f * and stop.
(2) Check for monotonicity. Evaluate g(X) as described in Sect. 9. For i
=1 .... , n, if gi(X)>O ( < 0 ) and the boundary of X at xi=x L ( = x R) does not
contain a boundary point of X (~ delete X and go to step (1). Otherwise, if
g~(X)>0 (_-<0), replace Xi= [X i, L x~] by [x~, x L] ,Lfl-XRi,XR3~J,"Rename the result X
again.
(3) Test for non-convexity as in Sect. 5. Let X' denote the smallest box in X
containing all the boundary points of X ~~ which lie in X. If X' -- X go to step 4.
Otherwise, evaluate h,(X~ . . . . . X.) for i = 1 , ..., n. If the resulting interval is
strictly negative for any value of i, replace X by X'. If X' is empty, go to step 1.
If X' is not empty, put it in the list L and go to step 1.
264 E. Hansen
(4) Begin use of the quadratic method of Sect. 7. For those values of i
=1 ..... n for which the left endpoint of Hii(X) is non-negative, solve the
quadratic for the interval Y~to replace X i. Rename the result X i.
(5) Begin use of the Newton method. For those values of i = i, ..., n for
which Oq~[BJ(X)]u, solve for the new interval to replace X~. Rename the result
X~. For a given value of i, omit this step if a reduction of X i will delete
boundary points of X (~ from the box X.
(6) Complete the quadratic method. For those values of i not used in step 4,
solve the quadratic for Y~. If Y~is a single interval, replace X~ by Yi, renaming it
X i. Otherwise save Y~for use in step 8.
(7) Complete the Nowton method. For those values of i not used in step 5,
solve for the new set (say) Yj. For a given value of i, omit this step if a reduction
of X i will delete boundary points of X C~ from the box X. If Y/ is a single
interval, replace Xi by Y/, renaming it X~.
(8) Combine the results from the quadratic and Newton methods for those
components X i for which both methods divided X~ into two sub-intervals. That
is, find the intersection Y/' of Y~ from step 6 and Y~' from step 7. If Yj' is
composed of three intervals, replace it by either Y~ or Y/, whichever has the
smallest intersection with X i. Of all the Y~",save the one (or two or three) which
deletes the largest subinterval of X i. That is, save that Y/' whose complement in
X i is largest. Let j be its index. For all relevant values of i ~j, replace Y~" by X~,
that is, ignore the fact that part of X i could be deleted.
(9) If Yj' exists; that is, if at least one interval Xj was divided into two sub-
intervals, say YS') and i1(2), subdivide the box X into two sub-boxes. These sub-
boxes will have the same components X~ as X except one will have j-th
component yj(1) and the other will have j-th component YS2~. If no such Yj'
exists, we may wish to subdivide the current box. Let X denote the box chosen
in step 1 and let X" denote the current box resulting from applying steps 2
through 8 to X. If the improvement of X" over X is so small that (say)
We now illustrate the steps of our algorithm. We shall consider the so-called
three hump camel function.
which has three minima and two saddle points. The gradient g(x) has com-
ponents
gl (x)= 4 x l - 4.2 x~ + x ~ - x 2,
g2(x)=2X2--Xl. (15.2)
The interval Jacobian J(X) (see Sect. 3) has elements
J I ~ ( X ) = 4 - 1 2 . 6 X 2 + 5 X 4,
J12(X)=J2t(X) = - 1,
Jzz(X)=2. (15.3)
We see that g2(x) is non-positive for all x e X and hence f is smallest in X for
X2=I. Thus we can replace X by the degenerate box X' with components
X'1 = [2, 31 and X 2 = [1, 11.
If the box X had components X1 = [0, l] and X 2 = [2, 3], we would have
obtained
g l (X) - [ - 7.2, 33, g2 (X) = [3, 63.
In this case g2(x) is strictly positive and we can eliminate all of X unless the
boundary of X at x 2 = 2 contains a boundary point of X w). Suppose X~~ [0, 1]
266 E. Hansen
2 2 = [ - 1.7212, 1.1141].
Hence
Z2 = x 2 ']- Z2 = [ - 1.2212, 1.6141]
and
Y2-~-Z2usX2.=X2 .
[-3.3333 - 1.6667 ]
B = I_- 1.6667 -0.33333J"
where we have replaced Yl by X1. Solving for Y2, we obtain the interval
Z 2 = [-4.9904, 8.678].
Using equation (7.11), we find that this quadratic has the solution set
where we have now replaced I12 by X 2. Solving for Yl, we obtain the two semi-
infinite intervals
We wish to combine the results obtained using the quadratic method and the
Newton method. Thus we retain the intersection of
Y(I)w Y1(2) and Yt3)wY1~4)
which is
[0, 0.35223] t~ [0.92555, 1].
0.35223]] [[0.92555,
[[0'[0,1 ] ] and [ [0,1] 1]].
X = [ [ _ 2 . 9 1 x 1 0 _ v , 3.56 x10_6]].
Global Optimization Using Interval Analysis 269
Here and in the following, we record results to only three decimals. This box
satisfies the error criterion requiring its width to be less than %. Evaluating f at
the center of this box, we obtain f = 1.12 x 10- lO
As prescribed in step 11, we evaluate f(X) and obtain [ - 1.24 x 10-11, 7.57
x 10-1~ Thus _f = - 1.24 x 10 - 1 1 and
17. Conclusion
f(y) = f ( x ) + ( y - x) T g(~)
for some ( e X . Thus we can solve for the approximate points y from
c o n t i n u o u s b u t n o t differentiable. H o w e v e r , o u r a l g o r i t h m is v e r y slow. It e n t a i l s
a different a p p r o a c h t h a t w e h o p e to d e s c r i b e in a n o t h e r p a p e r .
T h e n o n l i n e a r c o n s t r a i n e d o p t i m i z a t i o n p r o b l e m c a n also b e s o l v e d by
i n t e r v a l m e t h o d s . A n e x t e n s i o n o f o u r a l g o r i t h m is r e q u i r e d . O u r e x p e r i e n c e in
this case is for h a n d c a l c u l a t i o n s only. A difficulty exists (currently) w h e n it is
difficult to find a p o i n t in the n e i g h b o r h o o d of x* w h i c h is w i t h o u t q u e s t i o n ,
feasible.
O n e o f the v i r t u e s o f i n t e r v a l a r i t h m e t i c is t h a t it is u s u a l l y p o s s i b l e to
f o r m u l a t e a n i t e r a t i v e a l g o r i t h m in s u c h a w a y t h a t it s t o p s a u t o m a t i c a l l y w h e n
t h e best p o s s i b l e result h a s b e e n o b t a i n e d for t h e finite p r e c i s i o n a r i t h m e t i c used.
W e p l a n to d o this for o u r a l g o r i t h m a n d t h u s p r e c l u d e t h e n e e d for specifying
t30' gl, ~2, a n d e 3.
Acknowledgments. The author is greatly indebted to Thomas Kratzke and Saumyendra Sengupta for
their assistance in programming and debugging the computer program with which the data in this
paper was obtained.
This research was supported by the U.S. Air Force Office of Scientific Research under grant
F49620-76-C-0003. The United State Government is authorized to reproduce and distribute reprints
for governmental purposes notwithstanding any copyright notation hereon.
References
1. Dixon, L.C.W., Szeg6, G.P.: Towards global optimization. Amsterdam: North Holland, 1975
2. Dixon. L.C.W., Szeg6, G.P.: Towards global optimization 2. Amsterdam: North Holland, 1977
3. Hansen, Eldon: On solving systems of equations using interval arithmetic. Math. Comp. 22, 374-
384 (1968)
4. Hansen, Eldon: Interval forms of Newton's method. Computing 20, 153-163 (1978)
5. Hansen, Eldon: Global optimization using interval analysis - the one-dimension case. Jour.
Optimiz. Theo. Applic. 29, 331-344 (1979)
6. Hansen, Eldon, and Roberta Smith: Interval arithmetic in matrix computations, II. SIAM J.
Num. Anal. 4, I-9 (1967)
7. Krawczyk, R.: Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehlerschranken.
Computing 4, 187-201 (1969)
8. Moore, R.E.: Interval analysis. New York: Prentice-Hall (1966)
9. Moore, R.E.: On computing the range of a rational function ot n variables over a bounded
region. Computing 16, 1-15 (1976)
10. Moore, R.E.: A test for existence of solutions to nonlinear systems. SIAM J. Num. Anal. 14,
611-615 (1977)
11. Moore, R.E.: A computational test for convergence of iterative methods for nonlinear systems.
SIAM J. Num. Anal. 15, 1194-1196 (1978)
12. Moore, R.E.: Methods and applications of interval analysis. Philadelphia: SIAM (1979)
13. Nickel, Karl: On the Newton method in interval analysis. Mathematics Research Center Report
1136, University of Wisconsin (1971)
14. Skelboe, S.: Computation of rational interval functions, BIT 14, 87-95 (1974)