Смекни!
smekni.com

Исследование методов оптимизации (стр. 3 из 8)

(2.8)

(2.9)

где

и
-некоторые достаточно малые числа .

Понятно, что критерий (2.8) хорош в тех случаях, когда функция

в окрестности минимума, используя ранее введенную классификацию, имеет характер «глубокой» впадины. С другой стороны, если функция
ведет себя как «пологое плато», то более предпочтительным является критерий (2.9).Аналогом критерия (2.8) является другое часто применяемое правило останова :

, (2.10)

использующее необходимое условие экстремума функции.Очевидным недостатком критериев (2.8)-(2.10) является то, что их качество существенно зависит от абсолютных значений величины

и компонентов векторов
,
.Более универсальными являются относительные критерии :

(2.11)

(2.12)

(2.13)

Заметим, что очень часто на практике используются составные критерии, представляющие собой линейную комбинацию критериев (2.11)-(2.13), например,

Иногда применяют другой вариант построения составного критерия :

При реализации градиентного метода с дроблением шагав качестве

выбирают единичную матрицу, то есть

а длину шага определяют путем проверки некоторого неравенства. При этом основное рекуррентное соотношение (2.7) приобретает вид :

Ясно, то если

, выбирать достаточно малым, то это обеспечит убывание
, но потребуется весьма большое число шагов. Если же неосторожно выбрать
большим , то можно проскочить минимум, а это опасно в связи с возможным осциллированием. Для выбора шага используется правило Голдстейна-Армийо :

а)

(2.14)

б)

(2.15)

Выполнение условия а) обеспечивает выбор

не слишком большим. Выполнение условия б) не дает возможность выбрать
слишком малым.

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

и некоторое начальное значение
, проверяется (2.14) и, если оно выполняется, то делается шаг в направлении
В новой точке
вычисляется градиент
и вновь проверяется условие (2.14). В случае его удовлетворения продвижение к минимуму продолжается с тем же шагом. Если же оно не удовлетворяется, то параметр
, определяющий длину шага, делят пополам до тех пор, пока это неравенство не будет выполнено. Затем выполняется очередной шаг. Процедура продолжается до выполнения критерия останова.

3. РЕШЕНИЕ ЗАДАЧИ МИНИМИЗАЦИИ ДЛЯ КАЖДОГО ИЗ МЕТОДОВ

3.1Метод Нелдера-Мида

Построим симплекс состоящий из 3-х вершин. Длину ребра t возьмем равной 1 .

Начальные координаты симплекса :

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

Для осуществления оптимизации вычислим новую точку как отражение самой «плохой» вершины относительно центра тяжести симплекса. Формула для вычисления новой точки:

Затем, после сравнения значения функции в новой точке со значениями функции в остальных трех, а также после осуществления одного из четырех действий (замены, сжатия, растяжения и редукции), строится новый симплекс.

Одно из четырех действий, указанных выше, выполняется в соответствии с значением функции в новой точке, по отношению к значению функции в старых точках.

Замена происходит в случае, если новая точка лучше чем лучшая.

Если выполняется условие

, то при этом реализуется отражение. Точка
заменяет
.

При выполнении условия

осуществляется сжатие и отыскивается точка
:

Параметр

принимается равным 0,5. Точка
заменяет
. Таким образом полученная точка заменяет самую «плохую»

Если новая точка окажется самой «плохой», необходимо осуществить редукцию (уменьшение размера симплекса путем приближения всех его вершин к лучшей вершине)

После выполнения указанных действий проверяется параметр останова. В случае, если он признан большим, чем выбранное значение точности, действия повторяются снова. Параметр останова рассчитывается по формуле :

Результат работы метода представлен в таблице 3.1

Таблица 3.1 – Решение задачи минимизации при помощи метода Нелдера-Мида

Номер итерации Х1 Х2 Функция Параметр останова
1 0,4066667 0,4066667 45,631123492267 14,5885289
2 0,4433333 0,2683333 29,870063661634 2,8471538
3 0,3141667 0,2704167 16,456883364840 0,8308005
4 0,2495833 0,2714583 13,667862520021 0,3301516
5 0,2194792 0,2030729 12,662220410942 0,1540974
6 0,1796615 0,1864974 12,281326901893 0,0870517
7 0,1546549 0,1481608 12,136891733007 0,0558708
8 0,1284945 0,1302889 12,072845463097 0,0394655
9 0,1094511 0,1066526 12,044325208099 0,0355389
10 0,0380868 0,0472725 12,032057545239 0,0204381
11 0,0107240 0,0206094 12,021017539213 0,0124410
12 0,0217244 0,0287886 12,011093940034 0,0130068
13 -0,0220008 -0,0163585 12,008732867306 0,0089109
14 -0,0274319 -0,0235556 12,005248404276 0,0053110
15 -0,0178584 -0,0140681 12,003293104515 0,0042019
16 -0,0191470 -0,0189750 12,002069416305 0,0030794
17 -0,0146824 -0,0154579 12,001121615618 0,0025320
18 -0,0132441 -0,0133520 12,000655246493 0,0026725
19 -0,0028766 -0,0042119 12,000504634754 0,0015212
20 0,0004344 -0,0008739 12,000339347268 0,0009248
21 -0,0013297 -0,0023245 12,000183034613 0,0009948
22 0,0035282 0,0029010 12,000137117579 0,0007582
23 0,0038607 0,0034821 12,000078476732 0,0004900
24 0,0027293 0,0023210 12,000050320679 0,0004156
25 0,0022628 0,0023222 12,000031684386 0,0002830
26 0,0015804 0,0017419 12,000017894979 0,0002411
27 0,0015265 0,0015966 12,000009969113 0,0002705
28 0,0001079 0,0002907 12,000008036464 0,0001594
29 -0,0002737 -0,0001084 12,000005403290 0,0000921

В результате решения задачи минимизации с помощью метода Нелдера-Мида получено следующее значение функции :

. Данный оптимум достигается в точке
. Этот метод позволяет найти минимум (при начальной точке Х (1 ; 1)) за 29 итераций при точности решения
. При этом параметр останова равен 0,0000921.