Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации.doc
Скачиваний:
89
Добавлен:
30.03.2015
Размер:
7.77 Mб
Скачать

Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы.

6.1 Метод Гаусса-Зейделя

При решении задач САПР чаще всего приходится иметь дело с математическими моделями, в которых нет аналитических зависимостей для первых производных минимизируемой функции (). Поэтому поиск локального минимума в этом случае приходится вести по результатам вычислений только значений функции () – с помощью прямых методов оптимизации.

Рассматривается следующая многомерная задача безусловной оптимизации(точнее говоря, задача многомерной локальной безусловной оптимизации): найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

При решении задачи (1) методом Гаусса-Зейделя(методом покоординатного спуска,методом циклического покоординатного спуска) используются следующие итерационные формулы

 (2)

где вектор определяет направление вдоль -й координатной оси и представляет собой -мерный вектор с компонентами

а величины , ,..., – определяются из условий

 (3)

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

Если положить =, =, то формулы (2), (3) можно записать в виде

 (4)

 (5)

Таким образом, каждая итерация по методу Гаусса-Зейделявключает в себя шагов. Каждая последующая итерация начинается из точки, полученной на последнем шаге предыдущей итерации. Поиск заканчивается при выполнении одного из стандартных условий окончания итераций:

 (6)

Заметим, что задачи (5) даже в случае одноэкстремальной функции () могут быть задачами многоэкстремальной оптимизациии могут быть решены рассмотренными в главе 4 методами решениязадач одномерной оптимизации.

Схема метода Гаусса-Зейделя:

  1. Задаем начальную точку и полагаем =0 , =1.

  2. Последовательно для =1,2,..., решаем задачи (5), т.е. исходя из предыдущей точки, отыскиваем минимум функции () вдоль -го координатного направления;

  3. Если условие окончания поиска (6) или (6') выполнено, то полагаем и заканчиваем вычисления. Иначе - полагаем =+1 и переходим к п. 2

Метод Гаусса-Зейделяиллюстрирует рис. 1, на котором показан фрагмент линий уровняфункции Химмельблау . На рис. 1 точка представляет собой локальный минимум функции () вдоль оси X1 при исходной точке . Точка представляет собой локальный минимум функции () вдоль оси X2 при исходной точке . Отыскание точки завершает первую итерацию. Следующая итерация начинается из точки =. И т.д.

Линии уровня на рис. 1 получены с помощью следующей MATLAB-программы:

x=-6:0.05:0;

y=x;

[X,Y]=meshgrid(x);

Z=(X.^2+Y-11).^2+(X+Y.^2-7).^2;

V=[1,4,8,16,32,64,100,150,200,250];

contour(X,Y,Z,V);

Рис. 1.  Траектория поиска минимума не овражной функции Химмельблау методом Гаусса-Зейделя.

Метод Гаусса-Зейделямедленно сходится наовражных функциях, в которых овраг не ориентирован в направлении какой-либо из координатных осей (см. рис. 2). На рисунке показаны линии уровняфункции Розенброка(=2). Линии уровня получены с помощью следующей MATLAB-программы:

x=-2:0.06:2;

y=x;

[X,Y]=meshgrid(x);

Z=100.*(Y-X.^2).^2+(1-X).^2;

V=[1,5,50,500];

[C,h]=contour(X,Y,Z,V);

clabel(C,h);

Рис. 2.  Траектория поиска минимума овражной функции Розенброка методом Гаусса-Зейделя. Текущая точка быстро (в данном случае – за один шаг) «скатывается» на дно оврага и очень медленно движется по дну оврага к минимуму функции Ф(Х).

Метод Гаусса-Зейделя. Тест 1

Выполните несколько итераций (не менее двух) решения двумерной локальной задачи безусловной оптимизации

 (1)

 (2)

методом Гаусса-Зейделя, исходя из точки =(,)=(-1.5,1.5).

Траекторию поиска изобразите на рисунке, содержащем линии уровня квадратичной функции (2), которые можно получить с помощью следующей MATLAB-программы:

x=-2:0.06:2;

y=x;

[X,Y]=meshgrid(x);

Z=(X).^2+(Y).^2+3*(X+Y).^2;

V=[0.1,0.2,0.4,0.8,1.5,3.,6.,12,24];

[C,h]=contour(X,Y,Z,V);

clabel(C,h);

 Ответ 

Итерационная формула Гаусса-Зейделя.

Каждая итерация метода Гаусса-Зейделядля задачи (1), (2) состоит из двух шагов и имеет вид

 (3)

 (4)

где величины , – определяются из условий

 (5)

 (6)

Найдем явное решение задачи (5). Из (5) имеем

 (7)

Функция (7) относительно является квадратичной функций с положительным коэффициентом при и достигает минимума в точке, удовлетворяющей условию

из которого имеем

 (8)

Аналогично явное решение задачи (6) равно

 (9)

Таким образом, из (3), (4), (8), (9) имеем искомую итерационную формулу метода Гаусса-Зейделядля задачи (1), (2)

 (10)

 (11)

Первая итерация (=1).

Из формул (10) имеем и Аналогично из формул (11) имеем Таким образом, (см. рис. 1).

Вторая итерация (=2).

Аналогично первой итерации, имеем

,

Таким образом, (см. рис. 1).

Рис. 1.  Фрагмент (две итерации) траектории поиска минимума функции (2) методом Гаусса-Зейделя, исходя из точки X0=(x0,y0)=(-1.5,1.5).

6.2 Метод Хука-Дживса

Рассмотрим следующую многомерную задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

При решении задачи (1) методом Хука-Дживса(методом конфигураций,методом пробных шагов) используются итерационные формулы, аналогичные формулам, используемым вметоде Гаусса-Зейделя

 (2)

где принято , , вектор определяет направление вдоль -й координатной оси и представляет собой -мерный вектор с компонентами

величины , ,..., – определяются из условий

 (3)

После завершения шагов выполняется спуск в направлении вектора (-) по формуле

 (4)

где - ускоряющий множитель. В различных модификациях метода Хука-Дживсамножитель может

  • приниматься постоянным (обычно, равным 2),

  • выбираться из условия ()<(),

  • находиться из условия локального минимума функции () при движении из точки в направлении вектора :

 (5)

Заметим, что задачи (5) даже в случае одноэкстремальной функции () могут быть многоэкстремальными задачами оптимизациии могут быть решены рассмотренными в главе 4 методами решениязадач одномерной оптимизации.

Итерации заканчиваются при выполнении одного из стандартных условий окончания итераций:

 (6)

Вектор является вектором свободных параметров метода - вектором «пробных шагов» по всем координатным осям.

Известна модификация метода Хука-Дживса, в которой точка определяется не процедурами (2), (3), а методом Гаусса-Зейделя.

Схема метода Хука-Дживса:

  1. Задаем начальную точку , вектор «пробных» шагов и полагаем =0.

  2. Последовательно для =1,2,... по формулам (2), (3) находим точки .

  3. Если , то переходим к п. 4). Иначе уменьшаем длины «пробных» шагов , например, вдвое и переходим к п.2).

  4. Если условие окончания поиска (6) или (6') выполнено, то полагаем и заканчиваем вычисления. Иначе выполняем спуск в направлении вектора по формуле (4), в которой ускоряющий множитель находится, например, из условия (5). Полагаем и переходим к п. 2

Метод Хука-Дживсаиллюстрирует рис. 1, на котором показаны линии уровняфункции Химмельблау(=2). Ускоряющий множитель находиться из условия локального минимума функции () при движении из точки в направлении вектора .

Рис. 1.  Траектория поиска минимума не овражной функции Химмельблау методом Хука-Дживса.

Метод Хука-Дживсаимеет высокую эффективность в случае, если функция () имеет прямолинейный овраг (не обязательно ориентированный вдоль одного из координатных направлений, как в методе Гаусса-Зейделя). При минимизации "овражных" функций, имеющих не прямолинейный овраг, процесс поиска может сильно замедлиться и закончиться далеко от точки истинного минимума (см. рис. 2). На рисунке показаны линии уровняфункции Розенброка(=2).

Рис. 2.  Траектория поиска минимума овражной функции Розенброка методом Хука-Дживса. Ускоряющий множитель αr принят равным двум.

6.3 Метод Розенброка

Рассмотрим следующую задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

Ортогонализация Грамма-Шмидта.

При решении задачи (1) методом Розенброка(методом вращающихся координат) используется преобразование на каждой итерации системы координат таким образом, чтобы в новой системе координат одна из осей совпадала с направлением предыдущего шага. Остальные оси новой системы координат обычно находят с помощью процедуры ортогонализации Грамма-Шмидта.

Рассмотрим произвольный набор векторов пространства . Поставим задачу построить на основе этих векторов ортонормированный набор векторов того же пространства .

Напомним, что набор векторов называется ортонормированным, если для любых двух векторов из этого набора выполняется условие

 (2)

Или, другими словами, набор векторов ортонормирован, если эти векторы линейно независимы и скалярное произведение любых двух из них равно единице.

Для построения векторов применим индуктивный подход. Положим, что

 (3)

где - символ евклидовой нормы. Полагая векторы уже построенными будем искать вектор в виде

 (4)

Для отыскания неизвестных множителей умножим (4) скалярно на вектор :

Поскольку , имеем

 (5)

Множитель найдем из условия :

 (6)

Определение 1. Процесс перехода от векторов к векторам согласно формулам (3) – (6) называется ортогонализацией Грамма-Шмидта

Схема метода Розенброка.

Каждая итерация метода Розенброкасостоит из двух этапов. В зависимости от модификации метода первый этап может выполняться с использованием различных методов. Рассмотрим применение на первом этапе итерационной формулыметода Гаусса-Зейделя. Приведем формулировку этой формулы, несколько отличную от формулировки, рассмотренной в параграфе 6.1.

Положим , и пусть - орты системы координат, используемой на -ой итерации. Тогда итерационную формулу метода Гаусса-Зейделяможно записать в виде

 (7)

где коэффициенты находятся из условий

 (8)

На втором этапе каждой из итераций система векторов с использованием ортогонализации Грамма-Шмидта заменяется новой системой линейно независимых векторов .

Схема метода Розенброка:

  1. Задаем начальную точку , полагаем , , и орты исходной системы координат обозначаем .

  2. Исходя из точки по формулам (7), (8) выполняем одну итерацию по методу Гаусса-Зейделя– получаем точку и совокупность векторов ,,...,.

  3. Если одно из стандартных условий окончания итераций

     (9)

  4. выполнено, то полагаем , и заканчиваем вычисления. Иначе переходим к п.4).

  5. На основе векторов находим векторы :

     (10)

  6. С помощью процедуры ортогонализации Грамма-Шмидта (3) –(6) выполняем переход от системы векторов к системе векторов , полагаем =+1 и переходим к п. 2

Заметим, что из формулы (10) следует равенство .

По сравнению с методом Гаусса-Зейделяиметодом Хука-Дживсаметод Розенброкаимеет, как правило, более высокую эффективность наовражных функцияхс не прямолинейным оврагом.

Метод Розенброкаиллюстрирует рис. 1, на котором показаны линии уровняфункции Химмельблау(=2),

Рис. 1.  Траектория поиска минимума функции Химмельблау методом Розенброка.

6.4 Метод сопряженных направлений

Рассмотрим следующую задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

Введем прежде следующие понятия: векторы , принадлежащие пространству , называются векторами сопряженными относительно матрицы A (A – ортогональными векторами), если для всех .

В методе сопряженных направленийприменяется итерационная формуламетода Гаусса-Зейделя в виде, близком к использованному в параграфе 6.3.

Положим и пусть ,,..., - орты используемой системы координат. Тогда итерационную формулу метода Гаусса-Зейделяможно записать в виде

 (2)

где коэффициенты находятся из условий

 (3)

Схема метода сопряженных направлений:

  1. Задаем начальную точку и полагаем =0, =1.

  2. Последовательно для =1,2,..., по формулам (2), (3) находим точки , , .

  3. Исходя из точки , еще раз находим минимум функции () вдоль первого координатного направления - вычисляем координаты точки

     (4)

  4. где коэффициент находится из условия

     (5)

  5. Исходя из точки , находим минимум функции вдоль вектора - вычисляем

     (6)

  6. где коэффициент находится из условия

     (7)

  7. Если одно из стандартных условий окончания итераций

     (8)

  8. выполнено, то полагаем , и заканчиваем вычисления. Иначе - полагаем =+1 и переходим к п.2)

Метод сопряженных направленийиллюстрирует рис. 1, на котором показаны линии уровняфункции Химмельблау(=2).

Рис. 1.  Траектория поиска минимума функции Химмельблау методом сопряженных направлений.

Рассмотрим еще один пример – см. рис. 2, на котором показаны линии уровня двумерной квадратичной функции

 (9)

Линии уровня получены с помощью MATLAB-программы, приведенной в параграфе 6.1.

Рис. 2.  Траектория поиска минимума квадратичной функции (9) методом сопряженных направлений.

Произвольную -мерную квадратичную функцию можно записать в виде

 (10)

где – квадратная * матрица, *1 столбец, – скалярная константа. Например, если положить

то имеем функцию (9):

Утверждение 1. В случае минимизации двумерной квадратичной функции (10) методом сопряженных направлений, направления , являются -ортогональными.

Доказательство (см. рис. 2). По определению -ортогональности для доказательства утверждения достаточно показать, что скалярное произведение

 (11)

Легко видеть, что производная функции (10) равна . Поэтому Подставляя этот результат в выражение (11), получим .

Последнее равенство следует из ортогональности пар векторов

Утверждение 1 объясняет название рассмотренного метода.

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

6.5 Симплекс-метод

Рассмотрим следующую задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

Регулярный симплекс и некоторые операции над ним.

Регулярным симплексомв пространстве называется правильный многогранник, образованный -ой равноотстоящими друг от друга вершинами. Для случая – это равносторонний треугольник, для случая – тетраэдр.

Если в пространстве необходимо построить регулярный симплекс, одна из вершин которого находится в точке , то координаты вершин такого симплекса удобно задавать с помощью матрицы

 (2)

Здесь -й столбец представляет собой координаты -й вершины симплекса, ;

 (3)

-длина ребра симплекса.

Например, регулярный симплексв двумерном пространстве с одной из вершин в начале координат (когда определяется матрицей

и имеет вид, представленный на рис. 1.

Рис. 1.  Регулярный симплекс в пространстве R2 с одной из вершин в начале координат.

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

Будем называть эту процедуру отражением вершины симплексаотносительно центра тяжести остальных вершин.

Рис. 2.  Отражение вершины X1 регулярного симплекса в пространстве R2 относительно центра тяжести Xc остальных вершин.

Пусть - векторы координат вершин регулярного симплекса. Тогда при выполнении операции отражения -й вершины симплекса имеет место следующая связь координат этой вершины и новой вершины:

 (4)

Здесь

 (5)

вектор координат центра тяжести остальных вершин симплекса (за исключением отраженной вершины )

Таким образом, после отражения -й вершины симплекса с координатами вершин , получаем новый симплекс с координатами вершин

 (6)

Кроме операции отражения вершины симплексасимплекс-методможет использовать операциюредукции симплекса(см. рис. 3) - уменьшение длин всех ребер симплекса на одну и ту же величину.

Рис. 3.  Редукция вершин регулярного симплекса в пространстве R2 к вершине X1.

Пусть - векторы координат вершин регулярного симплекса. Тогда при выполнении операции редукции вершин этого симплекса к вершине новые координаты остальных вершин симплекса определяются по формуле

=+(-), [1,+1], ,

где - коэффициент редукции. Рекомендуется использовать .

Таким образом, после редукции вершин симплекса к вершине получаем новый симплекс с координатами вершин

 (7)

Схема простейшего варианта симплекс-метода.

Суть симплекс-методараскрывает его простейший вариант.

  1. Задаем начальную точку , длину ребра симплекса и полагаем =0.

  2. По формулам (2), (3) находим координаты всех вершин симплекса.

  3. Вычисляем значения минимизируемой функции во всех вершинах симплекса.

  4. Находим максимальное из значений функции в вершинах симплекса

  5. По формулам (5), (6) отражаем вершину относительно центра тяжести остальных вершин симплекса – получаем новый симплекс с координатами вершин .

  6. Вычисляем значение минимизируемой функции в новой вершине симплекса.

  7. Если условие окончания итераций (см. ниже) выполнено, то в качестве приближенного значения точки минимума функции () принимаем ту вершину симплекса , в которой () имеет минимальное значение, и заканчиваем вычисления. Иначе полагаем =+1 и переходим к п. 4

Поскольку размер симплекса в простейшем варианте симплекс-методефиксирован, в качестве условия окончания итераций в данном случае можно использовать условие

 (8)

где - требуемая точность решения по , - номер произвольной вершины симплекса. Отметим, что выражение в левой части неравенства (8) есть максимальная разность значений функции () в двух вершинах симплекса .

Простейший вариант симплекс-методаиллюстрирует рис. 4, на котором показаны линии уровняфункции Химмельблау(=2).

Рис. 4.  Траектория поиска минимума функции Химмельблау простейшим симплекс-методом.

Модифицированный симплекс-метод.

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

Основной идей модифицированного симплекс-методаявляется изменение по некоторому правилу размера симплекса в процессе поиска. При этом наряду с условием (8) в качестве условия окончания итераций можно использовать условие

 (9)

где - текущая длина ребра симплекса, - требуемая точность решения по .

Обычно размер симплекса изменяется при выполнении следующих условий:

  • при «накрытии» симплексом дна оврага или точки минимума;

  • при циклическом движении.

«Накрытие» симплексом дна оврага или точки минимума. Пусть - вершина, которая получилась на -ой итерации в результате отражения вершины . Так что координаты вершин нового симплекса равны .

Ситуация интерпретируется как «накрытие» этим симплексом дна оврага или точки минимума и простейший симплекс-методмодифицируется следующим образом (см. рис. 5):

  1. Полагаем =+1 (если =+2, то полагаем =1);

  2. Выполняем отражение -ой вершины симплекса ;

  3. Если ()>() и не все вершины перебраны, то переходим к п.1.

  4. Иначе - продолжаем итерации по схеме простейшего симплекс-метода

Рис. 5.  Траектория поиска минимума функции Розенброка модифицированным симплекс-методом при «накрытии» дна оврага. Пунктиром показаны отвергнутые симплексы.

Циклическое движение. Ситуация, когда некоторая вершина симплекса не исключается на протяжении итераций, интерпретируется как «зацикливание» алгоритма. Простейший симплекс-методмодифицируется в этом случае следующим образом:

  1. Находим вершину текущего симплекса , в которой функция () принимает наименьшее значение

  2. По формуле (7) выполняем редукцию симплекса к вершине .

  3. Продолжаем итерации по схеме простейшего симплекс-метода

Здесь количество итераций рекомендуется находить из условия где * - символ ближайшего целого большего.

6.6 Метод деформируемого многогранника (Нелдера-Мида)

Рассмотрим следующую задачу локальной безусловной оптимизации: найти минимумкритерия оптимальности (), определенного в -мерном евклидовом пространстве ,

 (1)

В случае если функция () является овражной функцией, эффективностьсимплекс-методапри решении задачи (1) значительно снижается в силу того, чторегулярный симплекснельзя «вытянуть» вдоль оврага.Метод Нелдера-Мида(метод деформируемого многогранника) является развитием симплекс-метода и использует в процессе поиска деформацию (изменение размеров и формы) текущего симплекса (не обязательно регулярного).

Метод использует следующие операции над симплексами:

  • отражение;

  • редукция;

  • сжатие;

  • растяжение.

Отражение вершины симплексаотносительно центра тяжести остальных вершин (см. параграф 5, рис. 1). В результате отражения -й вершины симплекса с координатами вершин , получаем новый симплекс с координатами вершин

 (2)

где

 (3)

вектор координат центра тяжести остальных вершин симплекса (за исключением отраженной вершины ).

Рис. 1.  Отражение вершины X1 симплекса в пространстве R2 относительно центра тяжести Xc остальных вершин.

Редукции симплекса(см. параграф 5, рис. 2) - уменьшение длин всех ребер симплекса в одно и то же количество раз. В результате выполнения редукции вершин симплекса к вершине получаем новый симплекс с координатами вершин

 (4)

где - коэффициент редукции.

Рис. 2.  Редукция вершин симплекса в пространстве R2 к вершине X1.

Сжатие симплекса(см. рис. 3). В результате выполнения сжатия симплекса , [1,+1] в направлении получаем новый симплекс с координатами вершин

 (5)

где - коэффициент сжатия, - вектор координат центра тяжести остальных вершин симплекса (см. (3)).

Рис. 3.  Сжатие симплекса в пространстве R2 в направлении (X1-Xc).

Растяжение симплекса(см. рис. 4). В результате выполнения растяжения симплекса в направлении получаем новый симплекс с координатами вершин

 (6)

где - коэффициент растяжения, - вектор координат центра тяжести остальных вершин симплекса (см. (3)).

Рис. 4.  Растяжение симплекса в пространстве R2 в направлении (X1-Xc).

Схема метода Нелдера-Мида.

Симплекс с вершинами обозначим .

  1. Задаем начальную точку , длину ребра симплекса и полагаем =0.

  2. Находим координаты , [1,+1] всех вершин регулярного симплекса с длиной ребра . Вычисляем значения () минимизируемой функции во всех вершинах симплекса.

  3. Среди вершин симплекса находим вершины в которых функция () принимает, соответственно, наименьшее, наибольшее и следующее за максимальным значения, а также находим значения функции () в этих точках:

  4. По формулам (2), (3) выполняем отражение вершину симплекса относительно центра тяжести остальных вершин симплекса – получаем новый симплекс . Вычисляем значение () минимизируемой функции в новой вершине симплекса.

  5. Если условие окончания итераций (см. ниже) выполнено, то в качестве приближенного значения точки минимума функции () принимаем ту вершину симплекса , в которой () имеет минимальное значение, и заканчиваем вычисления.

  6. Если и , то переходим к п.7 (растяжению симплекса) - см. рис. 5. Если , но , то переходим к п.3 (отражению) – см. рис. 6. Если , то переходим к п.8 (сжатию симплекса) – см. рис. 7, рис. 8.

  7. Ситуация и . По формуле (6) выполняем растяжение симплекса в направлении - получаем новый симплекс . Вычисляем значение минимизируемой функции в новой вершине симплекса . Если , то полагаем и переходим к п.3 (отражению вершины симплекса). Иначе полагаем и переходим к п.3 (отражению вершины симплекса) с симплексом (т.е. не используем результаты растяжения).

  8. Ситуация . По формуле (5) выполняем сжатие симплекса в направлении - получаем новый симплекс . Вычисляем значение минимизируемой функции в новой вершине симплекса . Если , то полагаем =+2 и переходим к п.3 (отражению вершины симплекса). Иначе по формуле (4) выполняемредукцию симплекса к вершине - получаем новый симплекс . Вычисляем значение минимизируемой функции во всех новых вершинах симплекса . Полагаем =+1 и переходим к п.3 (отражению симплекса)

Рис. 5.  Ситуация, когда метод Нелдера-Мида использует успешное растяжение симплекса.

Рис. 6.  Ситуация, когда метод Нелдера-Мида использует успешное отражение симплекс.

Рис. 7.  Ситуация, когда метод Нелдера-Мида использует успешное сжатие симплекс.

Рис. 8.  Ситуация, когда метод Нелдера-Мида использует редукцию после неудачного сжатия симплекса. Пунктиром показаны отвергнутые (неудачные) итерации.

На рис. 5 - рис. 8 минимизируемой функцией () является функция Химмельблау.

В качестве условия окончания итераций в методе Нелдера-Мидаможно использовать условие

где - требуемая точность решения по , [1,+1] - номер произвольной вершины симплекса. Можно также завершать итерации, когда длина максимального из ребер текущего симплекс станет меньше или равна - требуемой точности решения по .

Изложенная схема метода Нелдера–Мида имеет тот недостаток, что для сильно овражных функцийможет происходить вырождение («сплющивание») симплекса. Поэтому к рассмотренной схемеметода Нелдера-Мидадобавляется этап периодического (через итераций) восстановления симплекса, который заключается в следующем:

  • в текущем симплексе выбираются две «лучшие» вершины и определяется расстояние между ними ;

  • исходя из «лучшей» вершины текущего симплекса строится новый симплекс, длина ребра которого принимается равной (см. параграф 5).