47278 (608198), страница 2
Текст из файла (страница 2)
Рассмотрим вопрос о выборе направления
, обеспечивающего (2.2). Для этого изучим поведение
вдоль луча
. Имеем
Введем
(2.4)
Здесь
В соответствии с (2.3)
Тогда
Вычислим
(2.5)
Теперь, чтобы для любого
обеспечить отрицательность (2.5), достаточно положить
, где
произвольная положительно определенная
матрица. Тогда
При этом
(2.6)
Выбрав каким-либо образом
, получим
Затем аналогично рассчитаем
Общее рекуррентное соотношение имеет вид :
(2.7)
Различные варианты градиентных процедур отличаются друг от друга способом выбора
.
Полученное соотношение (2.7) обеспечивает построение последовательности точек
, сходящейся к точке
, минимизирующей
. Понятно, что каждая из точек этой последовательности может рассматриваться как некоторое приближение к точке минимума
, положение которого, вообще говоря, остается неизвестным в ходе всей процедуры спуска. Поэтому для всех таких процедур принципиальной остается проблема останова. В вычислительной практике часто используются следующие критерии останова:
(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-х вершин. Длину ребра 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.
-
Градиентный метод с дроблением шага
Для реализации процедуры необходимо вычислить градиент:















