|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Метод деформируемого многогранника Нелдера-МидаМетод Нелдера-Мида (J. A. Nelder, R. Mead; 1965 г.) является развитием широко известного симплекс-метода, предложенного Спендли, Хекстом и Химсуортом (W. Spendley, G. R. Hext, F. R. Himsworth) в 1962 г. Рассмотрим вначале классический вариант метода. Симплексом в N-мерном пространстве называется правильный многогранник с N+1 вершинами. Например, симплекс на прямой — отрезок, на плоскости — правильный треугольник, в 3-мерном пространстве — тетраэдр и т. д. Отправной точкой алгоритма является задание некоторого начального симплекса в пространстве N переменных. Обозначим вершины симплекса x0, x1, ¼, xN. Вычислим значения минимизируемой функции в вершинах симплекса и обозначим их F0, F1, ¼, FN, соответственно. Выберем наибольшее (худшее) из значений F0, F1, ¼, FN; пусть это будет Fh, а соответствующая вершина — xh. Возьмем грань симплекса, противолежащую вершине xh, и определим ее центр как , т. е. как среднюю точку для N вершин, принадлежащих этой грани. Будем искать точку, лучшую, чем xh, в направлении от xh к центру противолежащей грани. Для этого выполним операцию отражения, т. е. найдем точку xr, зеркально симметричную xh относительно противолежащей грани симплекса. Очевидно, xr=xc+(xc-xh). Если значение функции в новой точке F(xr)<Fh, заменим вершину xh на xr и получим новый симплекс, в вершинах которого среднее значение функции улучшилось. Если же отражение не позволяет добиться улучшения худшей вершины, то, очевидно, размеры симплекса слишком велики по сравнению с расстоянием до минимума. В этом случае производится сокращение симплекса: вершина xh сохраняется, а остальные вершины заменяются серединами ребер, соединяющих их с xh, так что расстояния между всеми вершинами сокращаются в 2 раза. После этого вновь делается операция отражения и т. д. Поиск заканчивается, когда размеры симплекса станут достаточно малыми; в качестве окончательного результата можно принять последнюю точку xc либо центр симплекса. Симплекс-метод Спендли, Хекста и Химсуорта обеспечивает устойчивость процесса поиска и его сходимость к точке минимума. Однако, его недостатком является низкая скорость, так как величина перемещения на каждом шаге определяется текущим размером симплекса и никак не связана с поведением минимизируемой функции. Нелдер и Мид предложили значительно более эффективный вариант алгоритма, отказавшись от сохранения одинаковых расстояний между вершинами. Поскольку неправильный многогранник уже не подходит под определение симплекса, метод получил название поиска по деформируемому многограннику. Операция отражения у Нелдера и Мида стала более общей: xr=xc+a·(xc-xh), где a – произвольный коэффициент отражения (a>0). Кроме того, добавлены операции растяжения и сжатия многогранника. Растяжение используется аналогично поиску по образцу в методе Хука-Дживса — если отражение привело к значительному улучшению (значение в точке xr оказалось меньше, чем во всех вершинах), то производится дополнительное смещение от xr в том же направлении: xe=xc+g·(xr-xc), где g>1 – коэффициент растяжения. Сжатие заключается в замене xr на точку, лежащую по другую сторону грани (т. е. внутри многогранника): xr=xc+b·(xh-xc), где 0<b<1 – коэффициент сжатия. Сжатие применяется, если отражение привело к ухудшению значения функции по сравнению с Fh. На каждом шаге выделяются три вершины многогранника: xh, как и раньше — вершина, в которой значение функции максимально («наихудшая» вершина), xl — вершина, в которой значение функции минимально («наилучшая» вершина), и xg — вершина, в которой значение функции больше, чем во всех других, за исключением xh (т. е. ближайшая к xh по степени «плохости»). Комбинация операций отражения, растяжения, сжатия и сокращения для получения следующего многогранника зависит от сравнения значений функции в вершинах xh, xg, xl и в новых точках xr и xe. Логическая схема выбора лучшей точки достаточно сложна, и мы не будем рассматривать ее во всех деталях (подробности можно найти в книгах [[1], [2]]). В процессе поиска минимума многогранник вытягивается в направлении успешных шагов и сжимается в «неперспективных» направлениях, что приводит к ускоренному движению в сторону общего понижения значений функции. Перемещение многогранника напоминает поведение амебы; по этой причине процедура, реализующая метод Нелдера-Мида, получила название Amoeba. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |