В процессе поиска осуществляется работа с регулярными симплексами. Регулярные многогранники в пространстве  называются симплексами. Для  регулярный симплекс представляет собой равносторонний треугольник; при  - тетраэдр и т.д.

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

где:

;    ;


 – расстояние между вершинами.

 

В самом простом виде симплексный алгоритм заключается в следующем. Строится регулярный симплекс. Из вершины, в которой  максимальна (т.1) проводится проектирующая прямая через центр тяжести симплекса. Затем т.1 исключается и строится новый отраженный симплекс из оставшихся старых точек и одной новой, расположенной на проектирующей прямой на надлежащем расстоянии от центра тяжести.

Продолжение этой процедуры, в которой каждый раз исключается вершина, где целевая функция максимальна, а также использование правил уменьшения размера симплекса и предотвращение циклического движения в окрестности экстремума позволяет достаточно эффективно определять минимум для "хороших" функций. Но для "овражных" функций такой поиск неэффективен.

В симплексном алгоритме Нелдера и Мида минимизация функций  переменных осуществляется с использованием деформируемого многогранника.

Будем рассматривать -ю итерацию алгоритма. Путь , , является -й вершиной в  на -м этапе поиска, , и пусть значения целевой функции в вершине . Отметим вершины с минимальным и максимальным значениями. И обозначим их следующим образом:

  и  .

Многогранник в  состоит из  вершин . Обозначим через  - центр тяжести вершин без точки  с максимальным значением функции. Координаты этого центра вычисляются по формуле:

, .                              (1)

Начальный многогранник обычно выбирается в виде регулярного симплекса (с вершиной в начале координат). Можно начало координат поместить в центр тяжести. Процедура отыскания вершин в , в которых  имеет лучшее значение, состоит из следующих операций: 1) отражения; 2) растяжения; 3) сжатия; 4) редукции.

1. Отражение. Отражение – проектирование точки  через центр тяжести  в соответствии со следующим соотношением:

,                                    (2)

где  - коэффициент отражения.

Вычисляем значение функции в найденной точке . Если значение функции в данной точке  , то переходим к четвертому пункту алгоритма – операции редукции.

Если , то выполняем операцию растяжения.

2. Растяжение. Эта операция заключается в следующем. Если  (меньше минимального значения на -м этапе), то вектор  растягивается в соответствии с соотношением

 ,                                  (3)

 где - коэффициент растяжения.

В противном случае, если , то выполняется операция сжатия.

Если , то  заменяется на  и процедура продолжается с операции 1) при . В противном случае  заменяется на  и переходим к операции отражения 1).

3. Сжатие. Если  для  , то вектор  сжимается в соответствии с формулой

,

где  - коэффициент сжатия. После этого, точка  заменяется на , и переходим к операции отражения 1) с . Заново ищется  .

4. Редукция. Если , то все векторы , где  уменьшаются в два раза с отсчетом от точки  по формуле

, 

и переходим к операции отражения (на начало алгоритма с ).

В качестве критерия останова могут быть взяты те же критерии, что и в остальных алгоритмах. Можно также использовать критерий останова следующего вида:

.

Выбор коэффициентов  обычно осуществляется эмпирически. После того как многогранник подходящим образом промасштабирован, его размеры должны поддерживаться неизменными пока изменения в топологии задачи не потребуют многогранника другой формы. Чаще всего выбирают , , .

 

Сайт создан в системе uCoz