- •РАБОЧАЯ ПРОГРАММА
- •СОДЕРЖАНИЕ
- •Тема 1. ОБЩИЕ СВЕДЕНИЯ О МЕТОДАХ ОПТИМИЗАЦИИ
- •1.1. Основные понятия и определения. Постановка задачи
- •Тема 2. МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •2.2. Определение выпуклости функций
- •2.3. Типы задач математического программирования
- •2.4. Связь между задачей математического программирования
- •Тема 3. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
- •3.3. Симплекс-метод решения задач ЛП
- •3.4. Симплекс-таблицы
- •3.5. Метод искусственного базиса
- •3.6. Информационные технологии линейного программирования
- •3.7. Двойственная задача линейного программирования
- •3.8. Двойственный симплекс-метод
- •3.9. Целочисленное линейное программирование
- •3.9.1. Алгоритм Гомори для полностью целочисленной задачи ЛП.
- •3.9.2. Алгоритм Гомори для частично целочисленной задачи.
- •3.9.3. Метод ветвей и границ решения целочисленных задач ЛП.
- •Тема 4. ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ БЕЗ ОГРАНИЧЕНИЙ
- •4.1. Одномерная минимизация унимодальных функций
- •4.1.1. Метод Фибоначчи.
- •4.1.2 Метод золотого сечения.
- •4.1.3. Методы с использованием производных.
- •4.1.4. Методы полиномиальной аппроксимации.
- •4.2.2. Градиентные методы. Метод наискорейшего спуска.
- •4.2.4. Метод Дэвидона-Флетчера-Пауэла (ДФП) (метод переменной мет-
- •4.2.6. Обобщенный градиентный алгоритм.
- •4.2.7. Метод Ньютона.
- •4.2.9. Установка метода оптимизации в пакете MATLAB.
- •Тема 5. ЭКСТРЕМАЛЬНЫЕ НЕЛИНЕЙНЫЕ ЗАДАЧИ
- •5.1. Метод неопределенных множителей Лагранжа
- •5.2. Теорема Куна-Таккера
- •5.3. Квадратичное программирование
- •5.4. Метод допустимых направлений Зойтендейка
- •6.1. Метод линейных комбинаций
- •6.2. Метод отсекающих плоскостей Кэлли
- •6.3. Сепарабельное программирование
- •ТЕМА 7. МЕТОДЫ ОПТИМИЗАЦИИ УПРАВЛЕНИЯ
- •7.1. Дискретное динамическое программирование
- •7.3. Принцип максимума Понтрягина
- •7.3.1. Постановка задачи. Формулировка принципа максимума.
- •7.3.3. Принцип максимума в задачах о максимальном быстродействии.
- •7.4.1. Определение моментов переключения.
- •ЛИТЕРАТУРА
- •Содержание
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •ЗАДАНИЯ ПО КУРСОВОЙ РАБОТЕ
- •Задание 1. Линейное программирование
- •Задание 2. Нелинейное программирование
- •Задание 3. Математическое описание линейных систем
Тема 4. ЭКСТРЕМАЛЬНЫЕ ЗАДАЧИ БЕЗ ОГРАНИЧЕНИЙ
Методы решения задач безусловной оптимизации отличаются более высоким уровнем развития по сравнению с другими методами нелинейного программирования. Ни один из известных методов не позволяет решить любую задачу оптимизации. Наиболее подходящий метод надо приспосабливать к характеристикам конкретно решаемой задачи. Простейшая оптимизационная задача – это задача нахождения экстремума функции одной переменной. Однако именно одномерные методы оптимизации часто используются в инженерной практике при реализации итеративных процедур в многомерных задачах.
4.1. Одномерная минимизация унимодальных функций
Функция F(x) , определенная на интервале [a, b] , называется унимодальной, если существует точка x* [a,b] такая, что при x ≤ x* функция F(x) строго убы-
вает и при x ≥ x* – строго возрастает. При этом F(x* ) = min F(x). Унимодаль-
a≤x≤b
ная функция может быть недифференцируемой, разрывной, неопределенной в некоторых точках, но не должна иметь горизонтальных участков («плато»). Функции одной переменной, являющиеся в области определения выпуклыми или вогнутыми, относятся к унимодальным.
Будем рассматривать задачи поиска экстремума, где:
а) целевая функция F(x) не имеет аналитического выражения;
б) значения функции при ряде значений x могут быть получены в результате некоторого эксперимента (моделирование процесса, обращение к таблице или к памяти ПЭВМ и т.д.).
В начале поиска положение точки x* на интервале [a, b] неизвестно. Путем проведения некоторых N экспериментов необходимо локализовать оптимальное решение x* в интервале [aN , bN ] меньшей длины, чем исходный. Интервал [a, b]
называется априорным интервалом неопределенности, а интервал [aN , bN ] –
апостериорным интервалом неопределенности.
Методы оптимизации, основанные на свойстве унимодальности минимизи-
руемой функции, называются методами сокращения интервала неопределен-
ности. При этом на каждом k-м шаге поиска исключаются те подинтервалы, в которых точка x* не находится, и определяется текущий интервал [ak +1, bk +1 ] , удовлетворяющий системе неравенств:
50
ak ≤ ak +1 ≤ x* ≤ bk +1 ≤ bk ,
(4.1)
ak < ak +1 или bk +1 < bk .
Точность решения определяется длиной апостерионого интервала [aN , bN ] и
зависит от числа экспериментов.
Различные методы отличаются процедурой выбора точек эксперимента.
4.1.1. Метод Фибоначчи. Реализация метода связана с использованием последовательности целых чисел, открытой итальянским математиком Леонардо Фибоначчи в начале XVIII века. Последовательность чисел Фибоначчи F опреде-
ляется выражением |
|
F0 = F1 |
= 1; Fk |
= Fk - 1 + Fk - 2 |
для k = 2, 3, 4,… . Первые 16 |
|||||||||||||||
чисел приведены в табл. 4.1. |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а 4.1 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
0 |
1 |
2 |
|
3 |
|
4 |
|
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fk |
1 |
1 |
2 |
|
3 |
|
5 |
|
8 |
13 |
21 |
34 |
55 |
89 |
144 |
233 |
377 |
610 |
987 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для того чтобы начать процедуру поиска, нужно задать число экспериментов
N.
На первом шаге, который соответствует k = 0, точки эксперимента на априорном интервале [a, b] вычисляются по формулам:
|
|
|
x1 |
= a + (b − a) |
FN −1 |
, |
|
|
|
(4.2) |
|
|
|
|
1 |
|
FN +1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
x12 |
= a +(b −a) |
FN |
. |
|
|
|
(4.3) |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
FN +1 |
|
|
|
|
|
Эти точки находятся на равных расстояниях от концов интервала [a, b] . В |
|||||||||||
точках x1 |
и |
x1 |
определяются значения функции |
F |
= F(x1 ) и |
F |
= F(x1 ) . Со- |
||||
1 |
|
2 |
|
|
|
|
|
1 |
1 |
2 |
2 |
гласно условию унимодальности F(x) перед вторым шагом проводится сокращение интервала неопределенности по информации о значениях функции в точках эксперимента. Если F1 < F2 , то точка минимума x* не может принадлежать ин-
тервалу [x12 , b] . Эта часть априорного интервала исключается и для следующего
51
шага остается интервал [a, x12 ], как показано на рис. 4.1, а. Таким образом, |
если |
||||||
F < F , то a = a и b = x1 . |
|
|
|
||||
1 |
2 |
1 |
1 |
2 |
|
|
|
|
Если же |
F |
> F , как показано на рис. 4.1, б, то сокращается часть [a, x1 |
] ап- |
|||
|
|
1 |
2 |
|
|
1 |
|
риорного интервала [a, b] и для следующего шага остается a |
= x1 |
и b = b . |
|
||||
|
|
|
|
1 |
1 |
1 |
|
|
Если F1 |
= F2 , как показано на рис. 4.1, в, то можно исключить обе крайние |
части интервала, тогда для следующего шага границами интервала будут точки
a |
= x1 |
и b |
= x1 . |
|
|
|
|
|
|
|
1 |
1 |
1 |
2 |
|
|
|
|
|
|
|
|
F (x) |
|
F(x) |
|
|
F (x) x* [a, x11 ] |
|
|||
|
|
x* [x12 , b] |
x* [a, x11] |
|
|
x* [x1 |
, b] |
|
||
|
|
|
|
|
|
|
|
2 |
|
|
F2 |
|
|
|
F1 |
|
F1 |
= F2 |
|
|
|
F1 |
|
|
|
F2 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
1 |
x12 b |
a x11 |
x12 |
b |
a |
1 |
1 |
b |
|
a x1 |
|
x1 |
x2 |
|
|||||
|
a1 |
|
b1 |
a1 |
|
b1 |
|
a1 |
b1 |
|
|
|
|
а |
|
б |
|
|
в |
|
|
Рис. 4.1. Сокращение априорного интервала неопределенности
На каждом последующем шаге (при k = 1,2,3,…) точки эксперимента вы-
числяются по формулам:
k+1 |
|
FN −k−1 |
. |
(4.4) |
|||
x1 |
= ak +(bk −ak ) |
|
|
|
|||
F |
|
||||||
|
|
|
N −k+1 |
|
|
|
|
|
|
|
F |
|
. |
(4.5) |
|
x2k+1 |
= ak +(bk −ak ) |
|
N −k |
||||
F |
|
||||||
|
|
|
N −k+1 |
|
При этом необходимо заново вычислять только одну из координат x1k +1 или x2k +1 для точки нового эксперимента, так как сведения о другом эксперименте пе-
52
реходят с предыдущего шага. Сокращение интервала неопределенности выполняется в соответствии со значениями функции в точках эксперимента на основании свойства унимодальности.
Последний N-й эксперимент проводится вблизи от точки xN −1 , которая оста-
лась от предыдущего эксперимента и попала в оставшийся интервал. Это точка xN = xN −1 − ε, где ε – постоянная, положительная, близкая к нулю величина, яв-
ляющаяся параметром метода и определяемая целесообразным количеством верных десятичных знаков при задании аргумента x.
Если априорный интервал является единичным ( a = 0, b = 1), то длина LN апостериорного интервала неопределенности определяется выражением
LN = |
(1 + ε)FN −2 |
. |
(4.6) |
|
|||
|
FN |
|
Недостаток метода Фибоначчи заключается в том, что в нем априори необходимо задавать число экспериментов N, так как на первом шаге требуется вычислять N-е и (N-1)-е числа Фибоначчи. Проиллюстрируем стратегию поиска по методу Фибоначчи на примере.
Пример 4.1. Найти минимальное значение унимодальной функции F(x) на интервале [0, 13] для N = 5.
1-й шаг. Эксперимент проводится в точках
x1 |
= a + (b − a) |
FN −1 |
=13 |
F4 |
=13 |
5 |
=5, |
||||||
|
|
|
|
|
|
||||||||
1 |
|
|
FN +1 |
|
F6 |
|
13 |
|
|
||||
|
|
|
|
|
|
|
|||||||
x12 |
= a + (b − a) |
FN |
=13 |
F5 |
|
=13 |
|
8 |
|
= 8. |
|||
|
F6 |
13 |
|||||||||||
|
|
FN +1 |
|
|
|
Значения функции в точках эксперимента будем определять по графику на рис. 4.2. Так как F(x11 ) > F(x12 ) , то x* [0,5] и подинтервал [0,5] исключается, то-
гда a1 = 5; b1 = 13 .
2-й шаг ( k = 1). Точки эксперимента вычисляются по формулам
x2 |
= a + (b − a ) |
FN −k−1 |
= 5 +8 |
F3 |
= 5 +8 3 |
= 8 , |
||||||||
F |
F |
|||||||||||||
1 |
1 |
1 |
1 |
|
|
|
|
8 |
|
|||||
|
|
|
|
|
N −k+1 |
5 |
|
|
||||||
x2 |
= a + (b − a ) |
FN −k |
= 5 +8 |
F4 |
|
= 5 +8 |
5 |
=10 . |
||||||
|
F |
8 |
||||||||||||
2 |
1 |
1 |
1 |
F |
|
|
|
|||||||
|
|
|
|
|
N −k+1 |
5 |
|
|
|
|
53
F(x)
10
8
6
4
2
|
|
|
|
x1 |
|
|
x12 |
|
|
|
|
1 шаг |
|
|
|
|
1 |
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
13 |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 12 |
14 |
|
|
|
|
|
|
|
|
x2 |
|
x2 |
|
|
|
|
|
|
|
5 |
|
|
1 |
|
2 |
|
|
2 шаг |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
5 |
x13 |
|
x23 |
|
10 |
3 шаг |
||
|
|
|
|
x14 |
x24 |
|
|
|||||
|
|
|
|
5 |
|
8 |
|
4 шаг |
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
5 |
|
7 |
|
|
|
|
|
|
Рис. 4.2. Поиск минимума унимодальной функции по методу Фибоначчи для N = 5
Точка x12 совпала с точкой x12 , которая осталась от предыдущего шага, и эксперимент в ней уже выполнен, поэтому значение функции определяется только в точке x22 = 10 . В соответствии с рис. 4.2 F(x12 ) < F(x22 ), поэтому x* [10,13] и подинтервал [10,13] сокращается. Для третьего шага остается интервал [5,10], т.е a2 = 5, b2 = 10.
3-й шаг ( k = 2 ). Эксперимент проводится только в точке x13 = 7 ; точка x12 с предыдущего шага сохранилась внутри интервала, поэтому x23 = x12 = 8. Следует
отметить, что точки эксперимента всегда находятся на равных расстояниях от концов интервала:
x3 |
= a |
|
+ (b |
− a |
|
) |
FN −k−1 |
= 5 + (10 −5) |
F2 |
= 7 . |
|
|
F |
F |
|||||||
1 |
|
2 |
2 |
|
2 |
|
|
|
||
|
|
|
|
|
|
|
N −k+1 |
|
4 |
|
54