Государственный комитет Российской Федерации по высшему образованию
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
[pic]
Кафедра АСУ
Реферат по дисциплине
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ
на тему
МЕТОД ДЕФОРМИРУЕМОГО МНОГОГРАННИКА
Студент Борзов Андрей Николаевич
Группа АС–513
Преподаватель Ренин Сергей Васильевич
Новосибирск 1997
Поиск по деформируемому многограннику
Впервые метод деформируемого многогранника был предложен Нелдером и
Мидом. Они предложили метод поиска, оказавшийся весьма эффективным и легко
осуществляемым на ЭВМ. Чтобы можно было оценить стратегию Нелдера и Мида,
кратко опишем симплексный поиск Спендли, Хекста и Химсворта, разработанный
в связи со статистическим планированием эксперимента. Вспомним, что
регулярные многогранники в En являются симплексами. Например, как видно из
рисунка 1, для случая двух переменных регулярный симплекс представляет
собой равносторонний треугольник (три точки); в случае трёх переменных
регулярный симплекс представляет собой тетраэдр (четыре точки) и т.д.
[pic]
Рисунок 1.
Регулярные симплексы для случая двух (а) и трёх (б) независимых переменных.
( обозначает наибольшее значение f(x). Стрелка указывает направление
наискорейшего улучшения.
При поиске минимума целевой функции f(x) пробные векторы x могут быть
выбраны в точках En, находящихся в вершинах симплекса, как было
первоначально предложено Спендли, Хекстом и Химсвортом. Из аналитической
геометрии известно, что координаты вершин регулярного симплекса
определяются следующей матрицей D, в которой столбцы представляют собой
вершины, пронумерованные от 1 до (n+1), а строчки – координаты, i принимает
значения от 1 до n:
[pic] – матрица n X (n+1),
где
[pic],
[pic],
t – расстояние между двумя вершинами. Например, для n=2 и t=1
треугольник, приведённый на рисунке 1, имеет следующие координаты:
|Вершина |x1,i | x2,i |
|1 |0 |0 |
|2 |0.965 |0.259 |
|3 |0.259 |0.965 |
Целевая функция может быть вычислена в каждой из вершин симплекса; из
вершины, где целевая функция максимальна (точка A на рисунке 1), проводится
проектирующая прямая через центр тяжести симплекса. Затем точка A
исключается и строится новый симплекс, называемый отражённым, из оставшихся
прежних точек и одной новой точки B, расположенной на проектирующей прямой
на надлежащем расстоянии от центра тяжести. Продолжение этой процедуры, в
которой каждый раз вычёркивается вершина, где целевая функция максимальна,
а также использование правил уменьшения размера симплекса и предотвращения
циклического движения в окрестности экстремума позволяют осуществить поиск,
не использующий производные и в котором величина шага на любом этапе k
фиксирована, а направление поиска можно изменять. На рисунке 2 приведены
последовательные симплексы, построенные в двумерном пространстве с
«хорошей» целевой функцией.
[pic]
Рисунок 2.
Последовательность регулярных симплексов, полученных при минимизации f(x).
----- проекция
Определённые практические трудности, встречающиеся при использовании
регулярных симплексов, а именно отсутствие ускорения поиска и трудности при
проведении поиска на искривлённых «оврагах» и «хребтах», привели к
необходимости некоторых улучшений методов. Далее будет изложен метод
Нелдера и Мида, в котором симплекс может изменять свою форму и таким
образом уже не будет оставаться симплексом. Именно поэтому здесь
использовано более подходящее название «деформируемый многогранник».
В методе Нелдера и Мида минимизируется функция n независимых
переменных с использованием n+1 вершин деформируемого многогранника в En.
Каждая вершина может быть идентифицирована вектором x. Вершина (точка) в
En, в которой значение f(x) максимально, проектируется через центр тяжести
(центроид) оставшихся вершин. Улучшенные (более низкие) значения целевой
функции находятся последовательной заменой точки с максимальным значением
f(x) на более «хорошие точки», пока не будет найден минимум f(x).
Более подробно этот алгоритм может быть описан следующим образом.
Пусть [pic], является i-й вершиной (точкой) в En на k-м этапе поиска,
k=0, 1, …, и пусть значение целевой функции в x(k)i равно f(x(k)i). Кроме
того, отметим те векторы x многогранника, которые дают максимальное и
минимальное значения f(x).
Определим
[pic]
[pic]
[pic]
[pic] Поскольку многогранник в En состоит из (n+1) вершин x1, …,xn+1, пусть
xn+2 будет центром тяжести всех вершин, исключая xh.
Тогда координаты этого центра определяются формулой
[pic] (1)
где индекс j обозначает координатное направление.
Начальный многогранник обычно выбирается в виде регулярного симплекса
(но это не обязательно) с точкой 1 в качестве начала координат; можно
начало координат поместить в центр тяжести. Процедура отыскания вершины в
En, в которой f(x) имеет лучшее значение, состоит из следующих операций:
1. Отражение – проектирование x(k)h через центр тяжести в соответствии с соотношением
[pic] (2)
где (>0 является коэффициентом отражения; [pic] – центр тяжести, вычисляемый по формуле (1); [pic] – вершина, в которой функция f(x) принимает наибольшее из n+1 значений на k-м этапе.
2. Растяжение. Эта операция заключается в следующем: если [pic], то вектор [pic] растягивается в соответствии с соотношением
[pic] (3)
где (>1 представляет собой коэффициент растяжения. Если [pic], то [pic] заменяется на [pic] и процедура продолжается снова с операции 1 при k=k+1. В противном случае [pic] заменяется на [pic] и также осуществляется переход к операции 1 при k=k+1.
3. Сжатие. Если [pic] для всех i(h, то вектор [pic] сжимается в соответствии с формулой
[pic] (4)
где 0