|
|
Растяжение: вычислить
xn+4 = xn+2 + g(xn+3 - xn+2)
Вычислить f(xn+4)
Выполняется ли
неравенство
f(xn+4) < f(xl) ?
Заменить
xh на xn+4
|
|||||||
неравенство f(xn+3) < f(xi)
для всех i ¹ h ?
|
|||||||||||
|
|||||||||||
|
|||||||||||
|
Заменить
xh на xn+3
|
||||
Схема 1. Информационная блок-схема поиска методом деформируемого многогранника. |
Выполняется ли
неравенство
f(xn+3) < f(xh) ?
|
|||||||
|
|||||||
Заменить
xh на xn+3
Сжатие: вычислить
xn+5 = xn+2 + b(xh - xn+2)
Вычислить f(xn+5)
Выполняется ли
неравенство
f(xn+5) > f(xh) ?
Заменить
|
Редукция: заменить
все xi на xl + 1/2(xi - xl)
|
|||
Останов
Коэффициент отражения a используется для проектирования вершины с наибольшим значением f(x) через центр тяжести деформируемого многогранника. Коэффициент g вводится для растяжения вектора поиска в случае, если отражение даёт вершину со значением f(x), меньшим, чем наименьшее значение f(x), полученное до отражения. Коэффициент сжатия b используется для уменьшения вектора поиска, если операция отражения не привела к вершине со значением f(x), меньшим, чем второе по величине (после наибольшего) значение f(x), полученное до отражения. Таким образом, с помощью операций растяжений или сжатия размеры и форма деформируемого многогранника масштабируются так, чтобы они удовлетворяли топологии решаемой задачи.
Естественно возникает вопрос, какие значения параметров a, b и g должны быть выбраны. После того как деформируемый многогранник подходящим образом промасштабирован, его размеры должны поддерживаться неизменными, пока изменения в топологии задачи не потребуют применения многогранника другой формы. Это возможно реализовать только при a=1. Кроме того, Нелдер и Мид показали, что при решении задачи с a=1 требуется меньшее количество вычислений функции, чем при a<1. С другой стороны, a не должно быть много больше единицы, поскольку
1) деформируемый многогранник легче адаптируется к топологии задачи при меньших значениях a, особенно когда необходимо изменять направление поиска, столкнувшись с изогнутой впадиной, и
2) в области локального минимума размеры многогранника должны уменьшаться и большое a в этих условиях замедлит сходимость.
Таким образом, значение a=1 выбирается как компромисс.
Чтобы выяснить, какое влияние на процедуру поиска имеет выбор b и g, Нелдер и Мид (а также Павиани) провели решение нескольких тестовых задач, используя большое число различных комбинаций значений b и g. В качестве удовлетворительных значений этих параметров при оптимизации без ограничений Нелдер и Мид рекомендовали a=1, b=0,5 и g=2. Размеры и ориентация исходного многогранника в некоторой степени влияли на время решения, а значения a, b и g оказывали значительно большее влияние. Павиани отмечает, что нельзя чётко решить вопрос относительно выбора b и g и что влияние выбора b на эффективность поиска несколько более заметно, чем влияние g. Павиани рекомендует следующие диапазоны значений для этих параметров:
0,4 £ b £ 0,6,
2,8 £ g £ 3,0.
При 0<b<0,4 существует вероятность того, что из-за уплощения многогранника будет иметь место преждевременное окончание процесса. При b>0,6 может потребоваться избыточное число шагов и больше машинного времени для достижения окончательного решения.
Пример
Поиск методом деформируемого многогранника.
Для иллюстрации метода Нелдера и Мида рассмотрим задачу минимизации функции f(x)=4(x1–5)2+(x2–6)2, имеющей минимум в точке x*=[5 6]T. Поскольку f(x) зависит от двух переменных, в начале поиска используется многоугольник с тремя вершинами. В этом примере в качестве начального многогранника взят треугольник с вершинами x1(0)=[8 9]T, x2(0)=[10 11]T и x3(0)=[8 11]T, хотя можно было бы использовать любую другую конфигурацию из трёх точек.
На нулевом этапе поиска, k=0, вычисляя значения функции, получаем f(8,9)=45, f(10,11)=125 и f(8,11)=65. Затем отражаем x2(0)=[10 11]T через центр тяжести точек x1(0) и x3(0) [по формуле (1)], который обозначим через x4(0):
,
с тем, чтобы получить x5(0).
,
,
f(6,9)=13.
Поскольку f(6,9)=13<f(8,9)=45, переходим к операции растяжения:
,
,
f(4,8)=8.
Поскольку f(4,8)=8<f(8,9)=45, заменяем x2(0) на x6(0) и полагаем x6(0)=x2(1) на следующем этапе поиска.
Наконец, поскольку
,
начинаем этап поиска k=1. На рисунке 4 приведена траектория поиска на начальных этапах, а в таблице 2 приведены координаты вершин и значения f(x) для четырёх дополнительных этапов. На рисунке 5 изображена полная траектория поиска до его окончания. Для уменьшения f(x) до значения потребовалось 32 этапа.
Рисунок 4.
Метод Нелдера и Мида при отсутствии ограничений.
Рисунок 5.
Траектория поиска с помощью алгоритма Нелдера и Мида.
Содержание
Поиск по деформируемому многограннику_______________________
Пример____________________________________________________
Содержание_______________________________________________
Список рисунков____________________________________________
Список литературы________________________________________
Список рисунков
Рисунок 1. Регулярные симплексы для случая двух (а) и трёх (б) независимых переменных.___________________________________________________________
Рисунок 2. Последовательность регулярных симплексов, полученных при минимизации f(x).___________________________________________________________
Рисунок 3. Поиск минимума функции Розенброка методом деформируемого многогранника.___________________________________________________________
Рисунок 4. Метод Нелдера и Мида при отсутствии ограничений._____
Рисунок 5. Траектория поиска с помощью алгоритма Нелдера и Мида.
Список литературы
· Химмельблау Д. Прикладное нелинейное программирование. –М.,1975.
Страницы: 1, 2
При использовании материалов активная ссылка на источник обязательна.