Алгоритмы методов прямого поиска оптимума
для функции N переменных А. Метод покоординатного спуска. 1. Выбрать точку x0, k = 0. 2. На k-й итерации: из точки xk произвести поиск минимума вдоль направления оси x1 и найти точку xk1. Произвести поиск из точки xk1 в направлении к оси x2 и определить точку xk2. Выполнить эту процедуру по всем координатам. Б. Симплексный метод. 1. Выбрать базовую точку x0. Задать масштабный множитель a. Вычислить . Определим остальные вершины симплекса: i, j =1, 2, …N. 2. На k-й итерации: определить , где x j - вершина с наибольшим значением функции. Отразить x j относительно xc. x = 2 xc – x j; 3. Тест на остановку: если выполнено, то конец. Если не выполнено условие сходимости или некоторая вершина не исключается на протяжении более чем M = 1,65N + 0,05N 2 итерации, то необходимо уменьшить размеры симплекса, построить новый симплекс, выбрав в качестве базовой точку, которой соответствует минимальное значение целевой функции, и перейти к 2. В. Метод Нелдера–Мида 1. Выбрать x1, …, xN+1, a, b, g. Вычислить f1, …, fN+1. 2. Найти xh, xg, xz, fh, fg, fz; fh - наибольшее, fg - следующее за ним, fz - наименьшее значение функции. 3. Найти 4. Найти xr, fr, отразив точку xh относительно x0: xr = (1 + a) x0 – axh . 5. Если fr < fz, то производим растяжение симплекса – находим xe = gxr + (t – g) x0, fe = f(xe). 6. Если fe < fz, то xh := xe. Проверка на сходимость. Если сходимость достигнута, то конец. В противном случае перейти на шаг 2. 7. Если fe ≥ fz, то xh := xr. Проверка на сходимость. Если сходимость достигнута, то конец. B противном случае перейти на шаг 3. 8. Если fr > fz, нo fr £ fg, то xh := xr. Проверка на сходимость. Если сходимость не достигнута, то возвратиться на шаг 2. 9. Если fr > fz и fr > fg, то перейти на шаг 10. 10. Если fr > fh, то перейти к 11. Если fr < fh, то xh := xr и fh := fr. Перейти к 11. 11. Так как fr > fh, то переходим к шагу сжатия: xc = b xh + (1 – b)x0. 12. Если fc < fh, то xh := xc, и если сходимость не достигнута, то возвратиться на шаг 2. 13. Если fc > fh, то перейти на шаг 14. 14. Уменьшить размерность симплекса xi := (xi + xz)/2. Вычислить fi для i = 1, N + 1. Проверка на сходимость. Если она не достигнута, возвратиться на шаг 3. Г. Метод Хука–Дживса: 1. Определить начальную точку x0, приращение Di, i = 1, N. Коэффициент уменьшения шага a > 1, параметр окончания поиска E. 2. Провести исследовательский поиск. 3. Если исследовательский поиск удачный (найдена точка с меньшим значением целевой функции), перейти к 5. Иначе перейти к 4. 4. Тест на остановку: если выполнено, то конец. Иначе: уменьшить приращение. , перейти к шагу 2. 5. Провести поиск по образцу xp(K+1) = xK + (xK – xK–1). 6. Провести исследующий поиск, используя xpK+1 в качестве базовой точки. Пусть xK+1 - полученная в результате точка. 7). Если выполняется неравенство f(xK+1) < f(xK), то положить xK–1 = xK и xK= xK+1. Перейти к 5. Иначе: перейти к 4. Основные обозначения: xK - текущая базовая точка; xK–1 - предыдущая базовая точка; xpK+1 - точка, построенная при движении по образцу; xK+1 - следующая (новая) базовая точка.
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (193)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |