Skip to main content

Fibonacci Method

An approach for finding the minimum of [Graphics:Images/FibonacciSearchMod_gr_1.gif] in a given interval is to evaluate the function many times and search for a local minimum. To reduce the number of function evaluations it is important to have a good strategy for determining where [Graphics:Images/FibonacciSearchMod_gr_2.gif] is to be evaluated. Two efficient bracketing methods are the golden ratio and Fibonacci searches. To use either bracketing method for finding the minimum of [Graphics:Images/FibonacciSearchMod_gr_3.gif], a special condition must be met to ensure that there is a proper minimum in the given interval.

The function [Graphics:Images/FibonacciSearchMod_gr_4.gif] is unimodal on [Graphics:Images/FibonacciSearchMod_gr_5.gif], if there exists a unique number [Graphics:Images/FibonacciSearchMod_gr_6.gif] such that

[Graphics:Images/FibonacciSearchMod_gr_7.gif] is decreasing on [Graphics:Images/FibonacciSearchMod_gr_8.gif],
and
[Graphics:Images/FibonacciSearchMod_gr_9.gif] is increasing on [Graphics:Images/FibonacciSearchMod_gr_10.gif].

In the golden ratio search two function evaluations are made at the first iteration and then only one function evaluation is made for each subsequent iteration. The value of [Graphics:Images/FibonacciSearchMod_gr_11.gif] remains constant on each subinterval and the search is terminated at the [Graphics:Images/FibonacciSearchMod_gr_12.gif] subinterval, provided that [Graphics:Images/FibonacciSearchMod_gr_13.gif] or[Graphics:Images/FibonacciSearchMod_gr_14.gif] where [Graphics:Images/FibonacciSearchMod_gr_15.gif] are the predefined tolerances. The Fibonacci search method differs from the golden ratio method in that the value of [Graphics:Images/FibonacciSearchMod_gr_16.gif] is not constant on each subinterval. Additionally, the number of subintervals (iterations) is predetermined and based on the specified tolerances.

The Fibonacci search is based on the sequence of Fibonacci numbers which are defined by the equations

[Graphics:Images/FibonacciSearchMod_gr_17.gif]
[Graphics:Images/FibonacciSearchMod_gr_18.gif] for [Graphics:Images/FibonacciSearchMod_gr_19.gif]

Thus the Fibonacci numbers are [Graphics:Images/FibonacciSearchMod_gr_20.gif]

Exploration for Fibonacci Numbers

Assume we are given a function [Graphics:Images/FibonacciSearchMod_gr_86.gif] that is unimodal on the interval [Graphics:Images/FibonacciSearchMod_gr_87.gif]. As in the golden ratio search a value [Graphics:Images/FibonacciSearchMod_gr_88.gif] [Graphics:Images/FibonacciSearchMod_gr_89.gif] is selected so that both of the interior points [Graphics:Images/FibonacciSearchMod_gr_90.gif] will be used in the next subinterval and there will be only one new function evaluation.

If [Graphics:Images/FibonacciSearchMod_gr_91.gif], then the minimum must occur in the subinterval [Graphics:Images/FibonacciSearchMod_gr_92.gif], and we replace [Graphics:Images/FibonacciSearchMod_gr_93.gif] and [Graphics:Images/FibonacciSearchMod_gr_94.gif] and continue the search in the new subinterval [Graphics:Images/FibonacciSearchMod_gr_95.gif]. If [Graphics:Images/FibonacciSearchMod_gr_96.gif], then the minimum must occur in the subinterval [Graphics:Images/FibonacciSearchMod_gr_97.gif], and we replace [Graphics:Images/FibonacciSearchMod_gr_98.gif] and [Graphics:Images/FibonacciSearchMod_gr_99.gif] and continue the search in the new subinterval [Graphics:Images/FibonacciSearchMod_gr_100.gif]. These choices are shown in Figure 1 below.

[Graphics:Images/FibonacciSearchMod_gr_101.gif]

If [Graphics:Images/FibonacciSearchMod_gr_103.gif], then squeeze from the right and
use the new interval [Graphics:Images/FibonacciSearchMod_gr_105.gif].

[Graphics:Images/FibonacciSearchMod_gr_102.gif]


If [Graphics:Images/FibonacciSearchMod_gr_104.gif], then squeeze from the left and
use the new interval [Graphics:Images/FibonacciSearchMod_gr_106.gif].

Figure 1. The decision process for the Fibonacci ratio search.

If [Graphics:Images/FibonacciSearchMod_gr_107.gif] and only one new function evaluation is to be made in the interval [Graphics:Images/FibonacciSearchMod_gr_108.gif], then we select [Graphics:Images/FibonacciSearchMod_gr_109.gif] [Graphics:Images/FibonacciSearchMod_gr_110.gif] for the subinterval [Graphics:Images/FibonacciSearchMod_gr_111.gif]. We already have relabeled

[Graphics:Images/FibonacciSearchMod_gr_112.gif]

and since
[Graphics:Images/FibonacciSearchMod_gr_113.gif] we will relabel it by

[Graphics:Images/FibonacciSearchMod_gr_114.gif]

then we will have

(1)
[Graphics:Images/FibonacciSearchMod_gr_115.gif].

The ratio [Graphics:Images/FibonacciSearchMod_gr_116.gif] is chosen so that [Graphics:Images/FibonacciSearchMod_gr_117.gif] and [Graphics:Images/FibonacciSearchMod_gr_118.gif] and subtraction produces

[Graphics:Images/FibonacciSearchMod_gr_119.gif]

[Graphics:Images/FibonacciSearchMod_gr_120.gif]

(2) [Graphics:Images/FibonacciSearchMod_gr_121.gif]

And the ratio [Graphics:Images/FibonacciSearchMod_gr_122.gif] is chosen so that

(3) [Graphics:Images/FibonacciSearchMod_gr_123.gif].

Now substitute (2) and (3) into (1) and get

(4) [Graphics:Images/FibonacciSearchMod_gr_124.gif].

Also the length of the interval [Graphics:Images/FibonacciSearchMod_gr_125.gif] has been shrunk by the factor [Graphics:Images/FibonacciSearchMod_gr_126.gif]. Thus [Graphics:Images/FibonacciSearchMod_gr_127.gif] and using this in (4) produces

(5) [Graphics:Images/FibonacciSearchMod_gr_128.gif].

Cancel the common factor [Graphics:Images/FibonacciSearchMod_gr_129.gif] in (5) and we now have

(6) [Graphics:Images/FibonacciSearchMod_gr_130.gif].

Solving (6) for [Graphics:Images/FibonacciSearchMod_gr_131.gif] produces

(7) [Graphics:Images/FibonacciSearchMod_gr_132.gif].

Now we introduce the Fibonacci numbers [Graphics:Images/FibonacciSearchMod_gr_133.gif] for the subscript [Graphics:Images/FibonacciSearchMod_gr_134.gif]. In equation (7), substitute [Graphics:Images/FibonacciSearchMod_gr_135.gif] and get the following

[Graphics:Images/FibonacciSearchMod_gr_136.gif]

[Graphics:Images/FibonacciSearchMod_gr_137.gif]

[Graphics:Images/FibonacciSearchMod_gr_138.gif]

Reasoning inductively, it follows that the Fibonacci search can be begun with

[Graphics:Images/FibonacciSearchMod_gr_139.gif]

[Graphics:Images/FibonacciSearchMod_gr_140.gif]
and

[Graphics:Images/FibonacciSearchMod_gr_141.gif] for [Graphics:Images/FibonacciSearchMod_gr_142.gif].

Note that the last step will be

[Graphics:Images/FibonacciSearchMod_gr_143.gif],

thus no new points can be added at this stage (i.e. the algorithm terminates). Therefore, the set of possible ratios is

[Graphics:Images/FibonacciSearchMod_gr_144.gif].

There will be exactly n-2 steps in a Fibonacci search!

The [Graphics:Images/FibonacciSearchMod_gr_145.gif] subinterval is obtained by reducing the length of the [Graphics:Images/FibonacciSearchMod_gr_146.gif] subinterval by a factor of [Graphics:Images/FibonacciSearchMod_gr_147.gif]. After [Graphics:Images/FibonacciSearchMod_gr_148.gif] steps the length of the last subinterval will be

[Graphics:Images/FibonacciSearchMod_gr_149.gif].

If the abscissa of the minimum is to be found with a tolerance of[Graphics:Images/FibonacciSearchMod_gr_150.gif], then we want [Graphics:Images/FibonacciSearchMod_gr_151.gif]. It is necessary to use n iterations, where n is the smallest integer such that

(8) [Graphics:Images/FibonacciSearchMod_gr_152.gif].

Note. Solving the above inequality requires either a trial and error look at the sequence of Fibonacci numbers, or the deeper fact that the Fibonacci numbers can be generated by the formula

[Graphics:Images/FibonacciSearchMod_gr_153.gif].

Knowing this fact may be useful, but we still need to compute all the Fibonacci numbers [Graphics:Images/FibonacciSearchMod_gr_154.gif] in order to calculate the ratios [Graphics:Images/FibonacciSearchMod_gr_155.gif].

The interior points [Graphics:Images/FibonacciSearchMod_gr_156.gif] and [Graphics:Images/FibonacciSearchMod_gr_157.gif] of the [Graphics:Images/FibonacciSearchMod_gr_158.gif] subinterval [Graphics:Images/FibonacciSearchMod_gr_159.gif] are found, as needed, using the formulas

(9) [Graphics:Images/FibonacciSearchMod_gr_160.gif],

(10) [Graphics:Images/FibonacciSearchMod_gr_161.gif].

Note. The value of n used in formulas (9) and (10) is found using inequality (8).

Comments

Popular Posts

Runge-Kutta-Fehlberg Method

One way to guarantee accuracy in the solution of an I.V.P. is to solve the problem twice using step sizes h and and compare answers at the mesh points corresponding to the larger step size. But this requires a significant amount of computation for the smaller step size and must be repeated if it is determined that the agreement is not good enough. The Runge-Kutta-Fehlberg method (denoted RKF45) is one way to try to resolve this problem. It has a procedure to determine if the proper step size h is being used. At each step, two different approximations for the solution are made and compared. If the two answers are in close agreement, the approximation is accepted. If the two answers do not agree to a specified accuracy, the step size is reduced. If the answers agree to more significant digits than required, the step size is increased. Each Runge-Kutta-Fehlberg step requires the use of the following six values: Then an approximation to the solution of the I.V.P.

Van Der Pol System

The van der Pol equation is an ordinary differential equation that can be derived from the Rayleigh differential equation by differentiating and setting . It is an equation describing self-sustaining oscillations in which energy is fed into small oscillations and removed from large oscillations. This equation arises in the study of circuits containing vacuum tubes and is given by If , the equation reduces to the equation of simple harmonic motion The van der Pol equation is , where is a constant. When the equation reduces to , and has the familiar solution . Usually the term in equation (1) should be regarded as friction or resistance, and this is the case when the coefficient is positive. However, if the coefficient is negative then we have the case of "negative resistance." In the age of "vacuum tube" radios, the " tetrode vacuum tube " (cathode, grid, plate), was used for a power amplifie

Powell's Method

The essence of Powell's method is to add two steps to the process described in the preceding paragraph. The vector represents, in some sense, the average direction moved over the n intermediate steps in an iteration. Thus the point is determined to be the point at which the minimum of the function f occurs along the vector . As before, f is a function of one variable along this vector and the minimization could be accomplished with an application of the golden ratio or Fibonacci searches. Finally, since the vector was such a good direction, it replaces one of the direction vectors for the next iteration. The iteration is then repeated using the new set of direction vectors to generate a sequence of points . In one step of the iteration instead of a zig-zag path the iteration follows a "dog-leg" path. The process is outlined below. Let be an initial guess at the location of the minimum of the function . Let for be the