В процессе поиска
осуществляется работа с регулярными симплексами. Регулярные многогранники в
пространстве
называются симплексами. Для
регулярный симплекс
представляет собой равносторонний треугольник; при
- тетраэдр и т.д.
Координаты вершин
регулярного симплекса в
-мерном пространстве могут быть определены следующей
матрицей D, в которой столбцы представляют собой вершины
симплекса, пронумерованные от 1 до (
), а строки – координаты вершин,
. Матрица имеет размерность
:
,
где:
;
;

– расстояние между
вершинами.
В самом простом виде
симплексный алгоритм заключается в следующем. Строится регулярный симплекс. Из
вершины, в которой
максимальна (т.1)
проводится проектирующая прямая через центр тяжести симплекса. Затем т.1
исключается и строится новый отраженный
симплекс из оставшихся старых точек и одной новой, расположенной на
проектирующей прямой на надлежащем расстоянии от
центра тяжести.
Продолжение этой процедуры,
в которой каждый раз исключается вершина, где целевая функция максимальна, а
также использование правил уменьшения размера симплекса и предотвращение циклического
движения в окрестности экстремума позволяет достаточно эффективно определять
минимум для "хороших" функций. Но для "овражных" функций
такой поиск неэффективен.
В симплексном алгоритме Нелдера и Мида минимизация
функций
переменных
осуществляется с использованием деформируемого многогранника.
Будем рассматривать
-ю итерацию алгоритма. Путь
,
, является
-й вершиной в
на
-м этапе поиска,
, и пусть значения целевой функции в вершине
. Отметим вершины с минимальным и максимальным значениями. И
обозначим их следующим образом:
и
.
Многогранник в
состоит из
вершин
. Обозначим через
- центр тяжести вершин
без точки
с максимальным значением
функции. Координаты этого центра вычисляются по формуле:
,
.
(1)
Начальный многогранник
обычно выбирается в виде регулярного симплекса (с вершиной в начале координат).
Можно начало координат поместить в центр тяжести. Процедура отыскания вершин в
, в которых
имеет лучшее значение,
состоит из следующих операций: 1) отражения; 2) растяжения; 3) сжатия; 4)
редукции.
1. Отражение. Отражение – проектирование точки
через центр тяжести
в соответствии со
следующим соотношением:
, (2)
где
- коэффициент
отражения.
Вычисляем значение функции в
найденной точке
. Если значение функции в данной точке
, то переходим к четвертому пункту алгоритма – операции
редукции.
Если
, то выполняем операцию растяжения.
2. Растяжение. Эта операция заключается в следующем. Если
(меньше минимального
значения на
-м этапе), то вектор
растягивается в
соответствии с соотношением
, (3)
где
- коэффициент растяжения.
В противном случае, если
, то выполняется операция сжатия.
Если
, то
заменяется на
и процедура
продолжается с операции 1) при
. В противном случае
заменяется на
и переходим к операции
отражения 1).
3. Сжатие. Если
для
, то вектор
сжимается в
соответствии с формулой
,
где
- коэффициент сжатия.
После этого, точка
заменяется на
, и переходим к операции отражения 1) с
. Заново ищется
.
4. Редукция. Если
, то все векторы
, где
уменьшаются в два раза
с отсчетом от точки
по формуле
, ![]()
и переходим к операции
отражения (на начало алгоритма с
).
В качестве критерия останова
могут быть взяты те же критерии, что и в остальных алгоритмах. Можно также
использовать критерий останова следующего вида:
.
Выбор коэффициентов
обычно осуществляется
эмпирически. После того как многогранник подходящим образом промасштабирован,
его размеры должны поддерживаться неизменными пока
изменения в топологии задачи не потребуют многогранника другой формы. Чаще
всего выбирают
,
,
.