- •О.К. Мурга
- •Оглавление
- •1. Методы одномерной оптимизации 6
- •2. Методы безусловной оптимизации 13
- •3. Методы оптимизации при наличии ограничений 35
- •4. Приближённое решение задачи оптимального управления 53
- •Введение
- •1. Методы одномерной оптимизации
- •1.1.1. Метод равномерного поиска
- •1.1.2. Метод поразрядного поиска
- •1.2. Методы исключения отрезков
- •1.1. Методы перебора
- •1.2.1. Метод дихотомии
- •1.2.2. Метод золотого сечения
- •1.3. Сравнительный анализ методов одномерного поиска
- •1.4. Порядок выполнения лабораторной работы
- •1.5. Задания для лабораторной работы.
- •2. Методы безусловной оптимизации
- •2.1. Прямые методы безусловной оптимизации
- •2.1.1. Поиск по правильному симплексу
- •2.1.2. Поиск по деформируемому многограннику
- •Влияние параметров алгоритма на эффективность поиска
- •2.1.3. Типовой пример.
- •2.1.4. Порядок выполнения лабораторной работы
- •2.1.5. Задания для лабораторной работы
- •2.2 Методы покоординатного спуска
- •2.2.1 Метод циклического покоординатного спуска
- •2.2.2. Метод Зейделя.
- •2.2.3. Метод Хука-Дживса
- •2.2.4. Метод Пауэлла.
- •2.2.5. Типовые примеры
- •2.2.6. Порядок выполнения лабораторной работы
- •2.2.7. Задания для лабораторной работы
- •2.3. Градиентные методы
- •2.3.1. Метод градиентного спуска
- •2.3.2. Метод наискорейшего спуска
- •2.3.3. Типовой пример
- •2.3.4. Порядок выполнения лабораторной работы
- •2.3.5. Задания для лабораторной работы
- •3. Методы оптимизации при наличии ограничений
- •3.1. Методы последовательной безусловной оптимизации
- •3.1.1. Метод штрафных функций
- •3.1.2. Метод барьерных функций
- •3.1.3. Комбинированный метод штрафных функций
- •3.1.4. Типовой пример
- •3.1.5. Задание для лабораторной работы
- •3.2. Метод возможных направлений
- •3.2.1. Постановка задачи выпуклого программирования
- •3.2.2. Описание метода возможных направлений
- •3.2.3. Построение начального приближения
- •3.2.4. Выбор наилучшего подходящего направления
- •3.2.5. Определение длины шага
- •3.2.6. Типовой пример
- •3.2.7. Задания для лабораторной работы
- •3.3. Метод случайного поиска
- •3.3.1. Поиск с возвратом при неудачном шаге
- •3.3.2. Алгоритм наилучшей пробы
- •3.3.3. Алгоритм статистичекого градиента
- •3.3.4. Порядок выполнения работы
- •3.3.5. Задания для лабораторной работы
- •4. Приближённое решение задачи оптимального управления
- •4.1. Постановка задачи оптимального управления
- •4.2. Градиентный метод решения задачи оптимального управления
- •4.2.1. Описание градиентного метода в функциональном пространстве.
- •4.2.2. Алгоритм метода.
- •4.2.3. Порядок выполнения лабораторной работы.
- •4.2.4. Задания для лабораторной работы.
- •Список литературы
3.2.4. Выбор наилучшего подходящего направления
Ограничение
называется активным в фиксированной
точке
,
если
.
Шаг 1. Введем в рассмотрение множества индексов активных ограничений в точке :
-индексное
множество активных нелинейных ограничений;
-индексное
множество активных линейных ограничений;
.
Шаг 2.
Введем в рассмотрение множество n-мерных
векторов
в точке
и построим множество
Очевидно, что
множество
представляет
собой множество возмо-жных направлений
в точке
,т.е
направлений не выводящих за пределы
допустимой области.
Если
-внутренняя
точка множества R, то
пусто, т.е. нет активных ограничений и
на выбор вектора s не накладывается
никаких ограничений.
Шаг 3.
Введем искусственную переменную
и определим множество (n+1)-мерных векторов
с компонентами
:
.
Задачу выбора подходящего направления сформулируем как задачу линейного программирования:
(3.17)
Очевидно, что при
множества
и
совпадают. Если
,
то из ограничения
следует, что
и направление s будет подходящим. В этом
случае
,
т.е. s не направлено по касательной к
нелинейным границам. При этом, чем больше
,
тем больше отличается от нуля
,
т.е. тем больший угол образуется между
s и внешней нормалью
.
Если
,
то точка
оказывается точкой минимума функции
.
Это доказывается следующей теоремой.
Теорема 3.
Точка
является точкой минимума функции
на множестве R, регулярном по Слейтеру,
тогда и только тогда, когда
для всех
,
удовлетворяющих неравенству
.
Пусть
Система ограничений запишется в виде:
Когда речь идёт о выборе направления, нас интересует направление, которое задаётся некоторым вектором произвольной длины, но при решении ЗЛП (3.17) может оказаться неограниченной. Поэтому возникает необходимость наложить на длину S некоторые ограничения, которые называются нормализациями. Известны такие нормализации:
№1.
.
№2.
№3.
№4.
.
3.2.5. Определение длины шага
Пусть в точке
определено наилучшее подходящее
направление
.
Выберем теперь длину шага в этом
направлении, т.е. найдём такое число
,
при котором
принимает по
в допустимой области минимальное
значение
Эту задачу удобно решать в два этапа:
Шаг 1.
Определить значение
.
Эту задачу решаем
как определение
при которых луч
пересекает границы области R. В случае
многозначности решения выбираем
наименьший положительный корень.
Шаг 2.
Выбираем число
.
Минимум может
достигаться вне области R, тогда в
качестве длины шага выбираем
.
Если же минимум достигается в R, то в
качестве длины шага берётся
.
3.2.6. Типовой пример
Решить задачу выпуклого программирования
где f0(X)=x12+x22-10x1-6x2+34;
f1(X)=x12-4x1-x2+4;
f2(X)=-x1+2x2-1.
Выполним одну итерацию рассмотренного метода возможных направлений. В качестве начального приближения выберем точку Х0=(3;2).
Определим индексные множества активных ограничений в точке Х0
I(X0)={i I: fi(X0)=0}={1}; I+(X0)={i: xi=ci}=0; I-(X0)={i: xi=0}={2}.
Поставим задачу выбора наилучшего подходящего направления S0 в точке Х0 как задачу линейного программирования с нормализацией №3:
.
Здесь
S=(s1,s2)-искомый
вектор;
-вспомогательная
переменная;
-градиенты
соответствующих функций в точке Х0,то
есть векторы
;
.
Итак, получили задачу в виде
Решим её симплекс-методом. Вначале, для приведения задачи к канонической форме, введём дополнительные переменные и выполним замену s1=1-y1; s2=1-y2; =y3-y4.
Тогда, задача запишется так:
.
Дальнейший процесс решения приведён в таблице 3.1.
Таблица №3.1
|
|
|
|
|
|
|
|
|
|
|
N |
C |
P |
B |
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
t |
1 |
0 |
A5 |
12 |
6 |
6 |
1 |
-1 |
1 |
0 |
12 |
2 |
0 |
A6 |
1 |
0 |
1 |
1 |
-1 |
0 |
1 |
1 |
|
|
|
0 |
0 |
0 |
-1 |
1 |
0 |
0 |
|
1 |
0 |
A5 |
11 |
6 |
5 |
0 |
0 |
1 |
-1 |
|
2 |
1 |
A3 |
1 |
0 |
1 |
1 |
-1 |
0 |
1 |
|
|
|
|
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
Таким образом, в результате решения задачи выбора подходящего направления в точке Х0=(2;0) найден вектор S0=(1;1). Построим луч, исходящий из точки Х0 по направлению вектора S0
Определим
длину шага
в этом направлении. Для этого найдём
вначале то значение
,
при котором луч
пересекает границу допустимой области
R.То
есть найдём положительные корни уравнений
.
А
именно,уравнений
.
Таким
образом, величина
.
Далее, определим значение
,
при котором функция
достигает минимума по
.
Для этого приравняем к нулю производную
её по
и найдём корень полученного уравнения
.
Отсюда
получим
.
Следовательно, искомое значение
.
Итак,
найдена новая точка
.
Итерация завершена.
