
- •Глава 1. Математическая формулировка задачи непрерывной оптимизации в конечномерном пространстве
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения
- •Глава 12. Задачи оптимального управления и методы их приближенного решения
- •Глава 1. Математическая формулировка задачи оптимального проектирования.
- •Глава 2. Условия существования минимума в детерминированных задачах оптимизации.
- •Глава 3. Классификация поисковых методов оптимизации и методология их сравнения.
- •Глава 4. Методы поиска локального минимума одномерных функций.
- •Глава 5. Методы поиска глобального минимума одномерных функций.
- •Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы.
- •Глава 7. Многомерная локальная безусловная оптимизация. Детерминированные методы первого и второго порядков.
- •1. Постановка задачи.
- •2. Итерационная формула.
- •Глава 8. Многомерная локальная безусловная оптимизация. Методы случайного поиска (прямые методы).
- •Глава 9. Многомерная локальная условная оптимизация.
- •Глава 10. Многомерная глобальная условная оптимизация.
- •Глава 11. Задачи многокритериальной оптимизации и методы их решения.
- •Глава 12. Задачи оптимального управления и методы их приближенного решения.
Глава 6. Многомерная локальная безусловная оптимизация. Детерминированные прямые методы.
6.1 Метод Гаусса-Зейделя
При
решении задач САПР чаще всего приходится
иметь дело с математическими моделями,
в которых нет аналитических зависимостей
для первых производных минимизируемой
функции
(
).
Поэтому поиск локального минимума в
этом случае приходится вести по
результатам вычислений только значений
функции
(
)
– с помощью прямых
методов оптимизации.
Рассматривается
следующая многомерная задача
безусловной оптимизации(точнее
говоря, задача многомерной локальной
безусловной оптимизации): найти минимумкритерия
оптимальности
(
),
определенного в
-мерном
евклидовом пространстве
,
|
(1) |
При решении задачи (1) методом Гаусса-Зейделя(методом покоординатного спуска,методом циклического покоординатного спуска) используются следующие итерационные формулы
|
(2) |
где
вектор
определяет
направление вдоль
-й
координатной оси и представляет собой
-мерный
вектор с компонентами
а
величины
,
,...,
–
определяются из условий
|
(3) |
Другими
словами, величина
,
представляет
собой длину шага, минимизирующего
функцию
в
направлении
на
итерации номер
,
исходя из точки, полученной на предыдущем
шаге.
Если
положить
=
,
=
,
то формулы (2), (3) можно записать в виде
|
(4) |
|
(5) |
Таким
образом, каждая итерация по методу
Гаусса-Зейделявключает в себя
шагов.
Каждая последующая итерация начинается
из точки, полученной на последнем шаге
предыдущей итерации. Поиск заканчивается
при выполнении одного из стандартных
условий окончания итераций:
|
(6) |
Заметим,
что задачи (5) даже в случае одноэкстремальной
функции
(
)
могут быть задачами
многоэкстремальной оптимизациии
могут быть решены рассмотренными в
главе 4 методами решениязадач
одномерной оптимизации.
Схема метода Гаусса-Зейделя:
Задаем начальную точку
и полагаем
=0 ,
=1.
Последовательно для
=1,2,...,
решаем задачи (5), т.е. исходя из предыдущей точки, отыскиваем минимум функции
(
) вдоль
-го координатного направления;
Если условие окончания поиска (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), а методом
Гаусса-Зейделя.
Схема метода Хука-Дживса:
Задаем начальную точку
, вектор «пробных» шагов
и полагаем
=0.
Последовательно для
=1,2,...
по формулам (2), (3) находим точки
.
Если
, то переходим к п. 4). Иначе уменьшаем длины «пробных» шагов
, например, вдвое и переходим к п.2).
Если условие окончания поиска (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) |
На
втором этапе каждой из итераций система
векторов
с
использованием ортогонализации
Грамма-Шмидта заменяется новой системой
линейно независимых векторов
.
Схема метода Розенброка:
Задаем начальную точку
, полагаем
,
, и орты исходной системы координат обозначаем
.
Исходя из точки
по формулам (7), (8) выполняем одну итерацию по методу Гаусса-Зейделя– получаем точку
и совокупность векторов
,
,...,
.
Если одно из стандартных условий окончания итераций
(9)
выполнено, то полагаем
, и заканчиваем вычисления. Иначе переходим к п.4).
На основе векторов
находим векторы
:
(10)
С помощью процедуры ортогонализации Грамма-Шмидта (3) –(6) выполняем переход от системы векторов
к системе векторов
, полагаем
=
+1 и переходим к п. 2
Заметим,
что из формулы (10) следует равенство
.
По сравнению с методом Гаусса-Зейделяиметодом Хука-Дживсаметод Розенброкаимеет, как правило, более высокую эффективность наовражных функцияхс не прямолинейным оврагом.
Метод
Розенброкаиллюстрирует рис. 1, на
котором показаны линии уровняфункции
Химмельблау(=2),
|
Рис. 1. Траектория поиска минимума функции Химмельблау методом Розенброка.
6.4 Метод сопряженных направлений
Рассмотрим
следующую задачу
локальной безусловной оптимизации:
найти минимумкритерия
оптимальности
(
),
определенного в
-мерном
евклидовом пространстве
,
|
(1) |
Введем
прежде следующие понятия: векторы
,
принадлежащие пространству
,
называются векторами
сопряженными относительно матрицы A
(A
– ортогональными векторами), если
для
всех
.
В методе сопряженных направленийприменяется итерационная формуламетода Гаусса-Зейделя в виде, близком к использованному в параграфе 6.3.
Положим
и
пусть
,
,...,
- орты используемой системы координат.
Тогда итерационную формулу метода
Гаусса-Зейделяможно записать в виде
|
(2) |
где
коэффициенты
находятся
из условий
|
(3) |
Схема метода сопряженных направлений:
Задаем начальную точку
и полагаем
=0,
=1.
Последовательно для
=1,2,...,
по формулам (2), (3) находим точки
,
,
.
Исходя из точки
, еще раз находим минимум функции
(
) вдоль первого координатного направления - вычисляем координаты точки
(4)
где коэффициент
находится из условия
(5)
Исходя из точки
, находим минимум функции
вдоль вектора
- вычисляем
(6)
где коэффициент
находится из условия
(7)
Если одно из стандартных условий окончания итераций
(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) |
Схема простейшего варианта симплекс-метода.
Суть симплекс-методараскрывает его простейший вариант.
Задаем начальную точку
, длину ребра симплекса
и полагаем
=0.
По формулам (2), (3) находим координаты
всех вершин симплекса.
Вычисляем значения
минимизируемой функции во всех вершинах симплекса.
Находим максимальное из значений функции
в вершинах симплекса
По формулам (5), (6) отражаем вершину
относительно центра тяжести остальных вершин симплекса – получаем новый симплекс с координатами вершин
.
Вычисляем значение
минимизируемой функции в новой вершине симплекса.
Если условие окончания итераций (см. ниже) выполнено, то в качестве приближенного значения точки минимума функции
(
) принимаем ту вершину симплекса
, в которой
(
) имеет минимальное значение, и заканчиваем вычисления. Иначе полагаем
=
+1 и переходим к п. 4
Поскольку размер симплекса в простейшем варианте симплекс-методефиксирован, в качестве условия окончания итераций в данном случае можно использовать условие
|
(8) |
где
-
требуемая точность решения по
,
-
номер произвольной вершины симплекса.
Отметим, что выражение в левой части
неравенства (8) есть максимальная разность
значений функции
(
)
в двух вершинах симплекса
.
Простейший
вариант симплекс-методаиллюстрирует рис. 4, на котором показаны
линии уровняфункции
Химмельблау(=2).
|
Рис. 4. Траектория поиска минимума функции Химмельблау простейшим симплекс-методом.
Модифицированный симплекс-метод.
Рассмотренный
простейший симплекс-методсклонен к зацикливанию и медленно
сходится, если длина ребра симплекса
выбрана
малой (выбор же большой длины ребра
симплекса обеспечивает высокую скорость
сходимости, но дает малую точность
решения). Поэтому в вычислительной
практике используются различные
модификации простейшего метода,
направленные на преодоление его указанных
недостатков.
Основной идей модифицированного симплекс-методаявляется изменение по некоторому правилу размера симплекса в процессе поиска. При этом наряду с условием (8) в качестве условия окончания итераций можно использовать условие
|
(9) |
где
-
текущая длина ребра симплекса,
-
требуемая точность решения по
.
Обычно размер симплекса изменяется при выполнении следующих условий:
при «накрытии» симплексом дна оврага или точки минимума;
при циклическом движении.
«Накрытие»
симплексом дна оврага или точки минимума.
Пусть
-
вершина, которая получилась на
-ой
итерации в результате отражения вершины
.
Так что координаты вершин нового
симплекса равны
.
Ситуация
интерпретируется
как «накрытие» этим симплексом дна
оврага или точки минимума и простейший
симплекс-методмодифицируется следующим образом (см.
рис. 5):
Полагаем
=
+1 (если
=
+2, то полагаем
=1);
Выполняем отражение
-ой вершины симплекса
;
Если
(
)>
(
) и не все вершины перебраны, то переходим к п.1.
Иначе - продолжаем итерации по схеме простейшего симплекс-метода
|
Рис. 5. Траектория поиска минимума функции Розенброка модифицированным симплекс-методом при «накрытии» дна оврага. Пунктиром показаны отвергнутые симплексы.
Циклическое
движение. Ситуация, когда некоторая
вершина симплекса не исключается на
протяжении
итераций,
интерпретируется как «зацикливание»
алгоритма. Простейший симплекс-методмодифицируется в этом случае следующим
образом:
Находим вершину текущего симплекса
, в которой функция
(
) принимает наименьшее значение
По формуле (7) выполняем редукцию симплекса
к вершине
.
Продолжаем итерации по схеме простейшего симплекс-метода
Здесь
количество итераций
рекомендуется
находить из условия
где
*
- символ ближайшего целого большего.
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).
Схема метода Нелдера-Мида.
Симплекс
с вершинами
обозначим
.
Задаем начальную точку
, длину ребра симплекса
и полагаем
=0.
Находим координаты
,
[1,
+1] всех вершин регулярного симплекса
с длиной ребра
. Вычисляем значения
(
) минимизируемой функции во всех вершинах симплекса.
Среди вершин симплекса
находим вершины
в которых функция
(
) принимает, соответственно, наименьшее, наибольшее и следующее за максимальным значения, а также находим значения функции
(
) в этих точках:
По формулам (2), (3) выполняем отражение вершину симплекса
относительно центра тяжести остальных вершин симплекса – получаем новый симплекс
. Вычисляем значение
(
) минимизируемой функции в новой вершине симплекса.
Если условие окончания итераций (см. ниже) выполнено, то в качестве приближенного значения точки минимума функции
(
) принимаем ту вершину симплекса
, в которой
(
) имеет минимальное значение, и заканчиваем вычисления.
Если
и
, то переходим к п.7 (растяжению симплекса) - см. рис. 5. Если
, но
, то переходим к п.3 (отражению) – см. рис. 6. Если
, то переходим к п.8 (сжатию симплекса) – см. рис. 7, рис. 8.
Ситуация
и
. По формуле (6) выполняем растяжение симплекса
в направлении
- получаем новый симплекс
. Вычисляем значение минимизируемой функции в новой вершине симплекса
. Если
, то полагаем
и переходим к п.3 (отражению вершины симплекса). Иначе полагаем
и переходим к п.3 (отражению вершины симплекса) с симплексом
(т.е. не используем результаты растяжения).
Ситуация
. По формуле (5) выполняем сжатие симплекса
в направлении
- получаем новый симплекс
. Вычисляем значение минимизируемой функции в новой вершине симплекса
. Если
, то полагаем
=
+2 и переходим к п.3 (отражению вершины симплекса). Иначе по формуле (4) выполняемредукцию симплекса
к вершине
- получаем новый симплекс
. Вычисляем значение минимизируемой функции во всех новых вершинах симплекса
. Полагаем
=
+1 и переходим к п.3 (отражению симплекса)
|
Рис. 5. Ситуация, когда метод Нелдера-Мида использует успешное растяжение симплекса.
|
Рис. 6. Ситуация, когда метод Нелдера-Мида использует успешное отражение симплекс.
|
Рис. 7. Ситуация, когда метод Нелдера-Мида использует успешное сжатие симплекс.
|
Рис. 8. Ситуация, когда метод Нелдера-Мида использует редукцию после неудачного сжатия симплекса. Пунктиром показаны отвергнутые (неудачные) итерации.
На
рис. 5 - рис. 8 минимизируемой функцией
(
)
является функция
Химмельблау.
В качестве условия окончания итераций в методе Нелдера-Мидаможно использовать условие
где
-
требуемая точность решения по
,
[1,
+1]
- номер произвольной вершины симплекса.
Можно также завершать итерации, когда
длина максимального из ребер текущего
симплекс станет меньше или равна
-
требуемой точности решения по
.
Изложенная
схема метода Нелдера–Мида имеет тот
недостаток, что для сильно овражных
функцийможет происходить вырождение
(«сплющивание») симплекса. Поэтому к
рассмотренной схемеметода
Нелдера-Мидадобавляется этап
периодического (через
итераций)
восстановления
симплекса, который заключается в
следующем:
в текущем симплексе выбираются две «лучшие» вершины и определяется расстояние между ними
;
исходя из «лучшей» вершины текущего симплекса строится новый симплекс, длина ребра которого принимается равной
(см. параграф 5).