11/13/2009
Fibonacci Search
MATH MODELING II FALL 2009 DR. XIN LI
Observation on Unimodal Functions
A unimodal function on [a,b] has a unique minimum point x* x If a<b, then
f(a)<f(b) f(a)>f(b) f(a)=f(b) x* is in [a,b] x* is in [a,b] x* is in [a,b]
The third case is usually combined witht eh second y case for convenience
Fall2009,MathModelingII(Dr.Li)
11/13/2009
The Basic Ideas
Trapping the minimum point using smaller and smaller intervals Need two function values to reduce the interval length At each iteration, use only one new evaluation and use an old one Reduce the length by a fixed ratio Golden Ratio Search Reduce the length with variable ratio Fibonacci Search
Motivating Fibonacci Search
Need to know the total number of iteration (so that a global strategy can be planned at each step the best strategy is to pick two points close to the midpoint of the interval, but this leads to bad performance for the next iteration, for example) LN=t1t2tNL0
Fall2009,MathModelingII(Dr.Li)
11/13/2009
Fibonacci Search Algorithm
F0=1,F1=1 Fn=Fn-1+Fn-2, n>1 F 1 2 The length of the last interval is LN:
(b-a)/FN
The estimate x^ (of x*) is the midpoint in the last interval IN For k=N,N-1,,3: routine For k=2: take a point near the midpoint For the final step take the midpoint of the interval as the estimate of x*
16.1.5(a) 1st Step
N=4: Del=F2/F4(b a)=2/5*(10 0)=4 (b-a)=2/5 (10-0)=4 a=a+Del=4 b=b-Del=6 f(a)=-6 f(b)=2 f(a) < f(b). Set [a,b]=[0,6]
Fall2009,MathModelingII(Dr.Li)
11/13/2009
16.1.5(a) 2nd Step
N=3: Del=F1/F3(b a)=1/3*(6 0)=2 (b-a)=1/3 (6-0)=2 a=a+Del=2 b=b-Del=4 f(a)=-6 f(b)=-6 f(a) >= f(b). Set [a,b]=[2,6] (You may use [2,4] but you have to consider one more case)
16.1.5(a) 3rd Step
N=2: This is the 2nd to last iteration a=midpoint=4 Take b=midpt+2*delta=4+0.5=4.5 f(a)=-6 f(b)=-4.75 f(a) < f(b). Set [a,b]=[2,4.5]. This is the final interval.
Fall2009,MathModelingII(Dr.Li)
11/13/2009
16.1.5(a) Final Step
Take the midpoint =3.25 as the estimate for x* The exact minimum point is at 3 3. The error is |3-3.25|=0.25
Notes:
FN-2/FN <1/2 for N>1 The ratio between the lengths Lk-1 and Lk of intervals g after the kth iteration is equal to Fk-1/Fk The last two steps/iterations must be treated separately since the second to the last step has the midpoint as the existing point. So, we stay close to the midpoint and only check a point nearby (within 2*delta). The length of the interval g LN-1=LN-2/2 or LN-2/2+2*delta Take the midpoint of this interval in the last step (no further evaluation) as the estimate of x*. |error|<(1/2)LN-1+delta.
Fall2009,MathModelingII(Dr.Li)