- •Зав. Кафедрой иксу, к.Т.Н., доцент _________________ а. В. Лиепиньш
- •Краткие теоретические сведения.
- •О численных методах многомерной оптимизации.
- •1.2. Методы прямого поиска.
- •Общая характеристика.
- •1.2.2. Метод конфигураций (метод Хука и Дживса).
- •1.2.3 Метод симплекса.
- •1.5.4. Метод деформируемого симплекса (метод Нелдера – Мида).
- •Поиск экстремума функции нескольких переменных в Матлаб
- •5. Программа работы
- •6. Варианты заданий
- •7 Содержание отчета
- •8 Список литературы
- •Безусловная многомерная оптимизация (прямые методы)
1.2.3 Метод симплекса.
Под
симплексом понимается
-мерный
выпуклый многогранник
-мерного
пространства, имеющий
вершину. Для
это треугольник, а при
это тетраэдр. У регулярного симплекса
все ребра имеют одинаковую длину.
Рис.1 Симплекс двух переменных
Идея
метода состоит в сравнении значений
функции в
вершинах симплекса и перемещении
симплекса в направлении лучшей точки.
В рассматриваемом методе симплекс
перемещается с помощью операций
отражения. Далее принято следующее:
– вершины симплекса, где
- номер итерации.
Схема алгоритма
Шаг 1.
Построение начального симплекса.
Для
этого задаются начальная точка
и длина ребра симплекса l.
Формируются остальные вершины симплекса:
,
где
– единичные векторы.
В лабораторной работе допускается произвольное начальное размещение симплекса относительно начальной точки.
Рис.2 Поиск направления изменения симплекса
Шаг 2.
Определение направления улучшения решения.
Для
этого на
-й
итерации вычисляются значения целевой
функции в каждой точке симплекса. Пусть
для всех
:
,
где
– номера соответствующих вершин
симплекса. Определим центр тяжести всех
точек, исключая точку
,
.
Тогда
направление улучшения решения определяется
вектором
.
Шаг 3.
Построение
отраженной точки.
Замена вершины с максимальным значением целевой функции на новую точку с помощью операции отражения, результатом которой является новая точка:
.
Рис.3
Рис.4 Уменьшение симплекса
Шаг 4.
Построение нового симплекса.
Вычисляем
.
При этом возможен один из двух случаев:
а)
,
б)
.
Случай
а): вершина
заменяется на
,
чем определяется набор вершин
-й
итерации и
-я
итерация заканчивается.
Случай
б): в результате отражения получается
новая точка
,
значение функции в которой еще хуже,
чем в точке
,
то есть отражать симплекс некуда. Поэтому
в этом случае производится пропорциональное
уменьшение симплекса (например, в 2 раза)
в сторону вершины
:
,
где
.
На этом -я итерация заканчивается.
Шаг 5.
Проверка сходимости.
Если
то поиск минимума заканчивается и полагается
.
В противном случае и переходим к шагу 2.
1.5.4. Метод деформируемого симплекса (метод Нелдера – Мида).
Метод деформируемого симплекса обладает большей общностью и позволяет учитывать локальные свойства поверхности целевой функции. Симплексы вытягиваются в направлении наклона поверхности, их оси поворачиваются при встрече с оврагом на поверхности целевой функции, вблизи минимума они сжимаются.
В рассматриваемом методе симплекс перемещается с помощью трех основных операций над симплексом: отражение, растяжение и сжатие.
Схема алгоритма.
Шаг 1.
Построение начального симплекса.
Для этого задаются начальная точка и длина ребра симплекса l. Формируются остальные вершины симплекса:
, где – единичные векторы.
Задаются начальная точка и длина ребра l. Формируются остальные вершины симплекса: , где – единичные векторы.
В лабораторной работе допускается произвольное начальное размещение симплекса относительно начальной точки.
Шаг 2.
Определение направления улучшения решения.
Для этого на каждой итерации вычисляются значения целевой функции в каждой вершине симплекса. Пусть для всех
где
– номера соответствующих вершин
симплекса. Определим центр тяжести всех
точек, исключая точку
,
Тогда направление улучшения решения определяется вектором
.
Шаг 3.
Построение нового симплекса.
Замена вершины с максимальным значением целевой функции на новую точку с помощью операции отражения, результат которой является новая точка
,
где
- коэффициент отражения.
Рис.5
Шаг 4.
Построение нового симплекса.
Вычисляем , при этом возможен один из трех случаев:
а)
;
б)
,
в)
.
Случай а): отражённая точка является точкой с наилучшим значением целевой функции. Поэтому направление отражение является перспективным и можно попытаться растянуть симплекс в этом направлении. Для этого строиться точка
,
где
– коэффициент расширения.
Если
,
то вершина
заменяется на
,
в противном случае на
и
-ая
итерация заканчивается.
Случай б): в результате отражения получается новая точка , которая, если заменить , сама станет наихудшей. Поэтому в этом случае производится сжатие симплекса. Для этого строится точка :
где
– коэффициент сжатия.
Рис.6
Если
,
то вершина
заменяется на
.
В
противном случае вершинам
присваивается значение:
и на этом -ая итерация заканчивается.
в) вершина заменяется на , чем определяется набор вершин -й итерации и –ая итерация заканчивается.
Шаг 5.
Проверка сходимости.
Проверка сходимости.
Если ,
то поиск минимума заканчивается и полагается
.
В противном случае и происходим переход к шагу 2.
Опыт
использования описанного алгоритма
показывает, что целесообразно брать
следующие значения параметров:
.
