Алгоритм метода покоординатного спуска
1. Задается точность вычисления 2. Запоминаем 3. Начинаем поиск параллельно оси Охi : 4. Задаем шаг 5. Задаем знак 6. Вычисляем 7. Если новое значение функции меньше предыдущего, то принимаем 8. Если знак 9. Уменьшим величину шага 10. Если текущий шаг 11. Проверка условия достижения заданной точности: 12. Завершить вычисления, приняв за точку минимума
4. Текст программы.
Смотри приложение №1.
Метод Нелдера — Мида, также известный как метод деформируемого многогранника и симплекс-метод, — метод безусловной оптимизации функции от нескольких переменных, не использующий градиентов функции, а поэтому легко применим к негладким и/или зашумлённым функциям. В методе Нелдера и Мида минимизируется функция n независимых переменных с использованием n+1 вершин деформируемого многогранника в En. Каждая вершина может быть идентифицирована вектором x. Вершина (точка) в En, в которой значение f(x) максимально, проектируется через центр тяжести (центроид) оставшихся вершин. Улучшенные (более низкие) значения целевой функции находятся последовательной заменой точки с максимальным значением f(x) на более «хорошие точки», пока не будет найден минимум f(x). Суть метода заключается в последовательном перемещении и деформировании симплекса вокруг точки экстремума. Предполагается, что серьёзных ограничений на область определения функции нет, то есть функция определена во всех встречающихся точках. Параметрами метода являются: · коэффициент отражения α > 0, обычно выбирается равным 1. · коэффициент сжатия β > 0, обычно выбирается равным 0,5. · коэффициент растяжения γ > 0, обычно выбирается равным 2.
Алгоритм метода. Пусть
Определим
Тогда координаты этого центра определяются формулой
где индекс j обозначает координатное направление.
Начальный многогранник обычно выбирается в виде регулярного симплекса (но это не обязательно) с точкой 1 в качестве начала координат; можно начало координат поместить в центр тяжести. Процедура отыскания вершины в En, в которой f(x) имеет лучшее значение, состоит из следующих операций:
1. Отражение – проектирование
2. Растяжение. Эта операция заключается в следующем: если
3. Сжатие. Если
4. Редукция. Если Затем возвращаемся к операции 1 для продолжения поиска на (k+1)-м шаге.
Критерий окончания поиска, использованный Нелдером и Мидом, состоял в проверке условия
где e – произвольное малое число, а
На рис.2 приведена блок-схема поиска методом деформируемого многогранника
xi(0), i = 1, 2, …, n+1, и f(x(0)) начального симплекса
Отражение: вычислить xn+3 = xn+2 + a(xn+2 - xn)
Вычислить f(xn+3)
f(xn+3) < f(xh) ?
xn+4 = xn+2 + g(xn+3 - xn+2)
Вычислить f(xn+4)
неравенство f(xn+4) < f(xl) ?
xh на xn+4
Выполняется ли неравенство f(xn+3) < f(xi) для всех i ¹ h ?
xh на xn+3
Рис. 2 неравенство f(xn+3) < f(xh) ?
Заменить xh на xn+3
Сжатие: вычислить xn+5 = xn+2 + b(xh - xn+2)
Выполняется ли неравенство f(xn+5) > f(xh) ?
Заменить
Редукция: заменить все xi на xl + 1/2(xi - xl)
Останов 7. Текст программы.
Смотри приложение №1.
Задание. Используя метод покоординатного спуска или метод деформированного многогранника, реализовав их в виде программ на Turbo Pascal, найти минимум следующих функций:
1) f(X)=x12+ x22 +x32+ x1–x1 *x2-2x3 2) f(X)=100( x2 –x12) 2+ (1-x1)2 3) f(X)=( x2 –x12) 2+ (1-x1*x2)2 4) f(X)=5x12+ x22 + 4x1 *x2-16x1-12x2 5) f(X= х12 + 4х22 –4х1 –8х2 + 5
Лабораторная работа №2.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ![]() ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (2262)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |