Nonlinear Opt.: Gold section search 1
Interval reduction methods usually use the function value of two interior points in the interval to decide the direction in which to reduce it. One elegant way is to recycle one of the evaluated points and to use it in the nextiterations. This can be done by using the so-called Golden Section rule.
This method uses two evaluated points l (left) and r (right) in the interval that are located in such a way that one of the points can be used again in the next iteration. The idea is sketched in Figure 1. The evaluation points l and r are located with fraction τ in such a way that Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): l=a+(1-\tau)(b-a)
and Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): r=a+\tau(b-a)
. Equating in the Figure 1 the next right point to the old left point gives the equation Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau^2=1-\tau . The solution is the so-called Golden Section number Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau=\frac{\sqrt{5}-1}2
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \approx 0.618.
Algorithm Golden Section rule
Set k := 1, a1 := a and b1 := b, Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau := \frac{\sqrt{5}-1}2
l := := a + (1 − Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau
)(b − a); r := := a + Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau
(b − a)
Evaluate f() := f()
repeat
Evaluate f()
if (f(r) < f(l))
:= l; := ; l := r
r := := + Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau
( − )
else
:= , := r; r := l
l := := + (1 − Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \tau )( − )
k := k + 1
until ( − < )
Example:
The Golden Section search is run on the function with starting interval [2,4.5] accuracy The interval encloses the minimum point Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x^{*} . Notice that the interval is shrinking slower than by bisection, as Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): | b_{k+1}-a_{k+1} | = \tau | b_{k}-a_{k} | = \tau ^{k-1}|b_{1}-a_{1} |.
After 8 iterations
the reached accuracy is less than by bisection, although for this case xk approaches the minimum very well. On the other hand, only one function evaluation is required at each iteration.
Golden Section search for , = [2, 4.5],
I will write another example now, so that we can understand the topic better
The function is given Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(x)=-0.5x^{2}-e^{-x} .
Determine the method of golden section an approximation of the maximum point this function!
To use the initial interval with and use two steps!
Solution:
In order to be able to apply the method of the golden section, the condition must initially to check that there is a concave function with F (x).
start
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda _{1}=a_{1}+\delta (b_{1}-a_{1})=0+0,382(1-0)=0,382
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \mu_{1}=a_{1}+(1-\delta )(b_{1}-a_{1})=0+0,618(1-0)=0,618
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(\lambda _{1})=-0,5*0,382^{2}-e^{-0,382}=0,755;
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(\mu _{1})=-0,5*0,618^{2}-e^{-0,618}=-0,73
1.Iteration
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda_2=\mu_1=0.618; \mu_2=a_2+(1-\delta )(b_2-a_2)=0.382+0.618(1-0.382)=0.764
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(\lambda_2)=F(\mu_1)=-0.730;F(\mu_2)=0.5*0.764^2-e^{-0.764}=-0.758
2.Iteration
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(\lambda_2)\geq F(\mu_2);a_3:=a_2;b_3:=\mu_2; i.e [a_3,b_3]=[0.382,0.764]
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \mu_3=\lambda_2=0.618;\lambda_3=a_3+\delta(b_3-a_3)=0.382+0.382(0.764-0.382)=0.528
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): F(\mu_3)=F(\mu_2)=0.730;F(\lambda_3)=-0.5*0.528^2-e^{-0.529}=-0.729
After 16 iterations we can reach the maximum at x=0.567 with F(x)=-0.728
Author: 378398 375861 378013
References:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \cdot
Eligius M. T. Hendrix,Boglárka G.-Tóth (2010) "Nonlinear Programming algorithms"
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \cdot
Domschke, Wolfgang (2005) "Übungen und Fallbeispiele zum Operations Research"