Jump to content

Метод Нелдера-Мида

(Перенаправлено из метода Нелдера-Мида )
Итерация метода Нелдера-Мида в двумерном пространстве.
Поиск по банановой функции Розенброка
Поиск по функции Химмельблау
Поиск минимума Нелдера–Мида функции Симионеску . Вершины симплекса упорядочены по их значению, причем 1 соответствует наименьшему (наилучшему) значению.

Метод Нелдера-Мида (также метод нисходящего симплекса , метод амебы или метод многогранников ) — численный метод, используемый для поиска минимума или максимума целевой функции в многомерном пространстве. Это метод прямого поиска (основанный на сравнении функций), который часто применяется к задачам нелинейной оптимизации , для которых производные могут быть неизвестны. Однако метод Нелдера-Мида представляет собой эвристический метод поиска, который может сходиться к нестационарным точкам. [1] о проблемах, которые можно решить альтернативными методами. [2]

Методика Нелдера-Мида была предложена Джоном Нелдером и Роджером Мидом в 1965 году. [3] как развитие метода Spendley et al. [4]

В методе используется понятие симплекса , который представляет собой особый многогранник из n + 1 вершин в n измерениях. Примеры симплексов включают отрезок прямой в одномерном пространстве, треугольник в двумерном пространстве, тетраэдр в трехмерном пространстве и т. д.

Метод аппроксимирует локальный оптимум задачи с n переменными, когда целевая функция изменяется плавно и унимодальна . Типичные реализации минимизируют функции, а мы максимизируем минимизируя .

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

Нелдер-Мид в n измерениях поддерживает набор из n + 1 контрольных точек, расположенных в виде симплекса . Затем он экстраполирует поведение целевой функции, измеренной в каждой контрольной точке, чтобы найти новую контрольную точку и заменить одну из старых контрольных точек новой, и таким образом метод развивается. Самый простой подход — заменить худшую точку точкой, отраженной через центр тяжести оставшихся n точек. Если эта точка лучше, чем лучшая текущая точка, то мы можем попробовать экспоненциально растянуть эту линию. С другой стороны, если эта новая точка ненамного лучше предыдущей, то мы пересекаем долину и сжимаем симплекс в сторону лучшей точки. Интуитивное объяснение алгоритма из «Численных рецептов»: [5]

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

В отличие от современных методов оптимизации, эвристика Нелдера-Мида может сходиться к нестационарной точке, если только задача не удовлетворяет более строгим условиям, чем это необходимо для современных методов. [1] Современные усовершенствования эвристики Нелдера – Мида известны с 1979 года. [2]

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

Один из возможных вариантов алгоритма НМ.

[ редактировать ]

(Это приблизительно соответствует процедуре, описанной в оригинальной статье Нелдера-Мида.)

Метод Нелдера – Мида в применении к функции Розенброка

Мы пытаемся минимизировать функцию , где . Наши текущие контрольные точки: .

1. Упорядочить по значениям в вершинах:

Проверьте, должен ли метод остановиться. См. Прекращение (иногда называемое «конвергенцией»).

2. Рассчитать , центр тяжести всех точек, кроме .

3. Размышления

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

4. Расширение

Если отраженная точка на данный момент является лучшей точкой, ,
затем вычислите расширенную точку с .
Если расширенная точка лучше, чем отраженная точка, ,
затем получим новый симплекс, заменив худшую точку с расширенной точкой и перейдите к шагу 1;
иначе получим новый симплекс, заменив худшую точку с отраженной точкой и перейдите к шагу 1.

5. Сокращение

Вот это точно . (Обратите внимание, что является вторым или «следующим» после худшей точки.)
Если ,
затем вычислите сжатую точку снаружи с .
Если стянутая точка лучше, чем отраженная точка, т.е. ,
затем получим новый симплекс, заменив худшую точку с контрактной точкой и перейдите к шагу 1;
В противном случае перейдите к шагу 6;
Если ,
затем вычислите сжатую точку внутри с .
Если сжатая точка лучше, чем худшая точка, т.е. ,
затем получим новый симплекс, заменив худшую точку с контрактной точкой и перейдите к шагу 1;
В противном случае перейдите к шагу 6;

6. Сжать

Заменить все точки кроме лучшей( ) с
и перейдите к шагу 1.

Примечание : , , и соответственно коэффициенты отражения, расширения, сжатия и сжатия. Стандартные значения , , и .

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

Для расширения , если точка отражения — новый минимум вдоль вершин, мы можем ожидать найти интересные значения в направлении от к .

Что касается сокращения , если , мы можем ожидать, что лучшее значение будет внутри симплекса, образованного всеми вершинами .

Наконец, сжатие обрабатывает тот редкий случай, когда сокращение от наибольшей точки увеличивает , то, что не может произойти достаточно близко к неособому минимуму. В этом случае мы сжимаемся к самой низкой точке в надежде найти более простой ландшафт. Однако Нэш отмечает, что арифметика конечной точности иногда не может фактически сжать симплекс, и реализовал проверку того, что размер действительно уменьшается. [6]

Начальный симплекс

[ редактировать ]

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

Прекращение действия

[ редактировать ]

Критерии необходимы для разрыва итерационного цикла. Нелдер и Мид использовали выборочное стандартное отклонение значений функции текущего симплекса. Если они падают ниже некоторого допуска, то цикл останавливается и самая низкая точка симплекса возвращается в качестве предложенного оптимума. Обратите внимание, что очень «плоская» функция может иметь почти одинаковые значения функции в большой области, поэтому решение будет чувствительно к допуску. Нэш добавляет тест на усадку в качестве еще одного критерия завершения. [6] Обратите внимание, что программы завершаются, а итерации могут сходиться.

См. также

[ редактировать ]
  1. ^ Jump up to: а б
    • Пауэлл, Майкл Джей Ди (1973). «О направлениях поиска алгоритмов минимизации». Математическое программирование . 4 : 193–201. дои : 10.1007/bf01584660 . S2CID   45909653 .
    • Маккиннон, КИМ (1999). «Сходимость симплексного метода Нелдера – Мида к нестационарной точке». SIAM Journal по оптимизации . 9 : 148–158. CiteSeerX   10.1.1.52.3900 . дои : 10.1137/S1052623496303482 . (сводка алгоритма онлайн).
  2. ^ Jump up to: а б
  3. ^ Нелдер, Джон А.; Р. Мид (1965). «Симплексный метод минимизации функции». Компьютерный журнал . 7 (4): 308–313. дои : 10.1093/comjnl/7.4.308 .
  4. ^ Спендли, В.; Хект, Греция; Химсворт, Франция (1962). «Последовательное применение симплексных схем в оптимизации и эволюционных операциях». Технометрика . 4 (4): 441–461. дои : 10.1080/00401706.1962.10490033 .
  5. ^
  6. ^ Jump up to: а б Нэш, Дж. К. (1979). Компактные численные методы: линейная алгебра и минимизация функций . Бристоль: Адам Хильгер. ISBN  978-0-85274-330-0 .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a008b3ad712eb97d0d78b5e4c9452a73__1723029600
URL1:https://arc.ask3.ru/arc/aa/a0/73/a008b3ad712eb97d0d78b5e4c9452a73.html
Заголовок, (Title) документа по адресу, URL1:
Nelder–Mead method - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)