- •Оптимизация
- •1. , Отсюда
- •2. , Откуда
- •Оптимизация функции одной переменной
- •Методы поиска
- •Метод золотого сечения
- •Блок-схема метода "золотого сечения"
- •Оптимизация функции многих переменных Минимум функции нескольких переменных
- •Общий алгоритм методов многомерного поиска:
- •Вычисление производных функции
- •Градиентные методы поиска экстремума
- •Алгоритм простого градиентного метода:
- •Алгоритм метода наискорейшего спуска:
- •Симплексный метод
- •Расчет координат новой вершины симплекса
- •Алгоритм метода "деформируемых многогранников"
Расчет координат новой вершины симплекса
Для
n-мерного
пространства симплекс имеет n+1
вершину:
Пусть некоторая вершина
- наихудшая. Тогда противолежащая грань
образована точками
,
т.е. точка
ей не принадлежит.
Расчет координат новой вершины состоит из следующих этапов:
1)
Определяются координаты "центра
тяжести" противолежащей грани (точка
).
Они равны среднеарифметическому значению
координат всех вершин, образующих эту
грань, т.е.
,
причемi
¹
L, или
,
где n - размерность задачи.
2) Вычисляется расстояние от отбрасываемой вершины до центра тяжести противолежащей грани. Это расстояние равно
![]()
3)
Определяются координаты новой вершины
симплекса, точка
.
Эти координаты равны
![]()
Подставляя сюда координаты центра тяжести противолежащей грани, получают окончательную формулу:

В этой формуле А - коэффициент, показывающий каким образом отражается исходная вершина. Если происходит зеркальное отображение, то А=1 и в этом случае формула примет вид
![]()
Если происходит сжатие исходного симплекса, то 0 < A < 1 (обычно берут А = 0.5). Если симплекс растягивается, то A > 1 (часто А = 2).
Алгоритм метода "деформируемых многогранников"
Идея метода заключается в том, что вместо зеркального отражения вершин симплекса происходит либо растяжение их ребер (если значение целевой функции во вновь найденной вершине будет лучше, чем в наихудшей вершине), либо их сжатие (в противном случае).
Дано: n - размерность задачи, e - точность решения задачи оптимизации, x[n+1,n] - матрица начальных приближений.
1) Рассчитывают (или задают) координаты n+1 вершины симплекса.
2) Во всех найденных вершинах вычисляют значения целевой функции.
3) Из найденных значений целевой функции ищут минимальное (Ymin) и максимальные (Ymax) значения.
Отражение "наихудшей" вершины
4) Вершина с максимальным значением целевой функции отражается через центр противоположной грани. Координаты новой вершины рассчитываются по приведенной выше формуле при А=1. В этой вершине определяется значение целевой функции Y(1).
5) Если Y(1) < Ymin , то вдоль выбранного направления выполняется
Растяжение "наихудшей" вершины
6) Координаты новой вершины также определяются по приведенной формуле, но в этом случае А=2. В этой вершине также рассчитывают значение целевой функции Y(2).
7) Если Y(2) < Ymin, то в качестве новой вершины симплекса берется вершина, полученная растяжением. В противном случае - вершина, полученная отражением. После этого проверяется выполнение условия окончания оптимизации (пункт 12).
8) Если Y(1) > Ymax, то производится
Сжатие "наихудшей" вершины
9) В этом случае координаты новой вершины симплекса рассчитываются по формуле при А = 0.5. В полученной точке вычисляется значение целевой функции Y(2) . Если Y(2) < Ymax , то запоминаются координаты этой вершины и проверяется условие окончания поиска (пункт 12).
10) Если Y(2) > Ymax , то выполняется
Пропорциональное уменьшение размеров симплекса
11) То есть координаты всех вершин симплекса сдвигаются на половину расстояния до наилучшей точки.
Проверка окончания оптимизации
12) Наиболее часто используют следующий критерий

где ycp - среднее значение целевой функции во всех вершинах симплекса.
Если это условие не выполняется, то расчеты повторяют с пункта 3.
