Методы одномерной оптимизации

Слайд 2

Метод деления на три равных отрезка. Дан отрезок [a;b] на котором

Метод деления на три равных отрезка.

Дан отрезок [a;b] на котором определена

функция f(x) и точность ε. Надо уточнить точку минимума с заданной точностью. Введём новое обозначение точек x1=a и x4=b. Вычислим Z=1/3.
Делим отрезок на три равные части и определяем точку x2=x1+Z(x4-x1) и точку x3=x4-Z(x4-x1). Вычисляем значения функции в этих точках F2=f(x2) F3=f(x3).
Определяем новый отрезок, содержащий точку экстремума, сравнив значения функций F2 и F3. Если F2 < F3, то границы нового отрезка определим как x1=x1, а x4=x3, иначе x1=x2, а x4=x4.
Проверяем условие окончания итерационного процесса | x4-x1 | ≤ 2ε. Если оно выполняется, то определим решение, как x=(x4+x1)/2 и значение функции в этой точке f(x). Иначе перейдем на пункт 2.

Введем понятие эффективности, как отношение доли сокращения отрезка к количеству вычисления функции на одной итерации тогда Q=0,33/2≈0,17

Слайд 3

Слайд 4

Слайд 5

Попробуем увеличить долю сокращения отрезка Дан отрезок [a;b] на котором определена

Попробуем увеличить долю сокращения отрезка

Дан отрезок [a;b] на котором определена функция

f(x) и точность ε. Надо уточнить точку минимума с заданной точностью. Введём новое обозначение точек x1=a и x4=b.
Делим отрезок пополам и определяем точку середины x2=(x4+x1)/2 и точку x3, отстоящую на незначительное расстояние от середины x3=x2+(x4-x1)/100. Вычисляем значения функции в этих точках F2=f(x2) F3=f(x3).
Определяем новый отрезок, содержащий точку экстремума, сравнив значения функций F2 и F3. Если F2 < F3, то границы нового отрезка определим как x1=x1, а x4=x3, иначе x1=x2, а x4=x4.
Проверяем условие окончания итерационного процесса | x4-x1 | ≤ 2ε. Если оно выполняется, то определим решение, как x=(x4+x1)/2 и значение функции в этой точке f(x). Иначе перейдем на пункт 2.

Метод деления отрезка пополам.

Эффективность метода Q≈0,5/2=0,25

Слайд 6

Слайд 7

Слайд 8

Попробуем разбивать отрезок на такие части, чтобы одну из двух точек

Попробуем разбивать отрезок на такие части, чтобы одну из двух точек

и соответствующее значение функции мы могли использовать на следующей итерации.

делим на

Заменяем

Решая получим

Слайд 9

Метод Золотого сечения. Дан отрезок [a;b] на котором определена функция f(x)

Метод Золотого сечения.

Дан отрезок [a;b] на котором определена функция f(x) и

точность ε. Надо уточнить точку минимума с заданной точностью. Введём новое обозначение точек x1=a и x4=b и вычислим Z=(3-√5)/2.
Делим отрезок на три части и определяем точку x2=x1+Z(x4-x1) и точку x3=x4-Z(x4-x1). Вычисляем значения функции в этих точках F2=f(x2) F3=f(x3).
Определяем новый отрезок, содержащий точку экстремума, сравнив значения функций F2 и F3. Если F2 < F3, то границы нового отрезка определим как x1=x1, x4=x3 , x3=x2, F3=F2 x2=x1+z(x4-x1) F2=f(x2) иначе x1=x2, x4=x4, x2=x3 F2=F3 x3=x4-z(x4-x1) F3= f(x3).
Проверяем условие окончания итерационного процесса | x4-x1 | ≤ 2ε. Если оно выполняется, то определим решение, как x=(x4+x1)/2 и значение функции в этой точке f(x). Иначе перейдем на пункт 3.

Введем понятие эффективности, как отношение доли сокращения отрезка к количеству вычисления функции на одной итерации тогда Q=0,3819/1≈0,3819

Слайд 10

начало F2 x, f(x) a, b, ε || f(x). x1 :=

начало

F2

x, f(x)

a, b, ε || f(x).

x1 := a; x4:=b: Z=(3-√5)/2

x2:=x1+Z(x4-x1); x3:=x4-Z(x4-x1)
F2:=f(x2);

F3:=f(x3)

|x4-x1|≤2ε

конец

x:=(x1+x4)/2

нет

да

x1=x2: x2=x3: F2=F3
x3:=x4-Z(x4-x1): F3:=f(x3)

x4=x3: x3=x2: F3=F2
x2:=x1+Z(x4-x1):F2:=f(x2)