МЕТОД ДИХОТОМИИ

Метод дихотомии также называется методом деления пополам. Необходимым условием для его применения является требование унимодальности целевой функции f(x): на рассматриваемом промежутке [a,b] функция f(x) должна иметь не более одного экстремума (см. рис 1).

Алгоритм

1. На начальном этапе отрезок, на котором ищется минимум, задаётся равным интервалу допустимых значений [a,b]

2. Вычисляется положение центра отрезка c=(a+b)/2 и центров его правой и левой половин: x1=(a+c)/2, x2=(c+b)/2

3. Вычисляются значения целевой функции в точках f(c), f(x1), f(x2)

4. Значения функции в точках c, x1, x2 сравниваются, и определяется положение нового, уточнённого интервала поиска. При этом интервал поиска МЕТОД ДИХОТОМИИ уменьшается в 2 раза:

1. Если f(c) > f(x1), то новый отрезок: [a,c]

2. Если f(c) > f(x2), то новый отрезок: [c,b]

3. Иначе новый отрезок: [x1,x2]

5. Если длина отрезка меньше заданной точности ε, то алгоритм завершается, иначе осуществляется переход на шаг 2.

Алгоритм проиллюстрирован рис. 2.

Рис. 2. Метод дихотомии. Показан случай, когда f(x1)

Для уменьшения количества вычислений можно воспользоваться тем, что на втором и последующих шагах значение функции в центре нового отрезка всегда будет вычислено на предыдущем шаге, поэтому на каждом новом шаге требуется вычислять целевую функцию только в центрах правого и левого полуотрезков.

Так МЕТОД ДИХОТОМИИ как каждый последующий отрезок всегда ровно в 2 раза меньше предыдущего, метод дихотомии обеспечивает увеличение точности в 2 раза за каждые 2 вычисления целевой функции, или, в среднем, в 21/2 = 1,41... раза на 1 вычисление целевой функции.

МЕТОД ЗОЛОТОГО СЕЧЕНИЯ

Метод золотого сечения аналогичен методу деления пополам, но вместо деления отрезка на равные части в нём используется деление в золотой пропорции: φ = (1 + 51/2) / 2 = 1,6817…. Так же , как и метод деления пополам, метод золотого сечения требует того, чтобы функция была унимодальной.

Алгоритм

1) На начальном этапе выбирается отрезок [a,b] , на котором ищется минимум.

2) Внутри отрезка выбирается точка c, делящая его в золотом отношении, то есть так, что отношение большей части отрезка к меньшей МЕТОД ДИХОТОМИИ равно отношению всего отрезка к его большей части:

с = a + (b-a)/ φ

3) Определяется положение дополнительной точки x, которая расположена симметрично точке c относительно центра отрезка:

x = a + b - c

4) Вычисляются значения функции f(a), f(b), f(c), f(x).

5) Значения функции сравниваются и определяется новое положение интервала поиска (см. рис 3):

a. Если c>x:

i. Если f(x) < f(c), то новый отрезок: [a, c]

ii. Иначе новый отрезок: [x, b]

b. Если c

i. Если f(x) < f(c), то новый отрезок: [c, b]

ii. Иначе новый отрезок: [a, x МЕТОД ДИХОТОМИИ]

6) Если длина отрезка стала меньше заранее заданной точности, алгоритм завершается, иначе итерация повторяется с шага 2.

Рис. 3. Метод золотого сечения. Показан случай, когда f(x)

Особенностью метода золотого сечения, позволяющей экономить дорогостоящие вычисления целевой функции f(x), является то, что, начиная со второго шага, значение функции в точке c известно с предыдущего шага, остаётся вычислить только значение в отражённой точке x.



Например, на рис.3 f(x)

Длина интервала поиска на следующем шаге всегда в φ = 1,68… раз меньше длины на предыдущем шаге. Таким образом, за одно вычисление целевой функции метод золотого сечения увеличивает точность в 1,68… раз, что больше чем соответствующий показатель метода дихотомии (1.41…).


documentaahfzoz.html
documentaahggzh.html
documentaahgojp.html
documentaahgvtx.html
documentaahhdef.html
Документ МЕТОД ДИХОТОМИИ