
- •РАБОЧАЯ ПРОГРАММА
- •СОДЕРЖАНИЕ
- •Тема 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. Математическое описание линейных систем

|
|
|
Т а б л и ц а 3.17 |
|
|
|
Т а б л и ц а 3. 18 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
БП |
Свобод- |
|
Небазисные |
|
|
БП |
Свобод- |
|
Небазисные |
|
|
|||
|
ные |
|
переменные |
|
|
|
ные |
|
переменные |
|
|
|||
|
члены |
|
|
|
|
|
|
|
члены |
|
|
|
|
|
|
y1 |
y2 |
y3 |
|
y4 |
|
|
y1 |
y2 |
y5 |
y4 |
|
||
y5 |
6 |
2 |
-4 |
3 |
|
-1 |
|
y3 |
2 |
2/3 |
-4/3 |
1/3 |
-1/3 |
|
y6 |
12 |
-3 |
3 |
1 |
|
0 |
|
y6 |
10 |
-11/3 |
13/3 |
-1/3 |
1/3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F(Y) |
0 |
6 |
12 |
-3 |
|
2 |
|
F(Y) |
6 |
8 |
8 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение, соответствующее табл. 3.18, является оптимальным. Запишем соответствие между переменными прямой и двойственной задач. Если ограничения прямой задачи приводить к виду равенств, то в качестве дополнительных появятся переменные x3, x4 , x5, x6 .
Тогда
x1 |
x2 |
x3 x4 x5 x6 |
|
|||
b |
b |
b |
b |
b |
b . |
(3.28) |
y5 |
y6 |
y1 |
y2 y3 |
y4 |
|
|
В F-строке расположены |
коэффициенты |
при небазисных |
переменных |
y1, y2 , y5, y4 . С учетом (3.28) найдем оптимальное решение прямой задачи: x3 =8; x4 =8; x1 =1; x6 =1.
Переменная x5 , соответствующая y3, и x2 , соответствующая y6 , равны ну-
лю.
min F( y) = max F(x) = 6 .
Таким образом, решая симплексным методом одну из пары двойственных задач, автоматически получаем решение другой.
3.9. Целочисленное линейное программирование
Специфика задач целочисленного программирования (ЦП) заключается в том, что на переменные xi и функцию цели F(x) налагается дополнительное огра-
ничение – условие целочисленности. ЦП иногда называют дискретным про-
37

граммированием. Если требование целочисленности распространяется не на все переменные, а только на часть из них, то задача называется частично целочис-
ленной.
В большинстве случаев целочисленные задачи сильно отличаются от своих непрерывных аналогов и требуют для решения специальных методов. Условно методы решения задач целочисленного программирования можно разделить на три основных группы: методы отсечения; комбинаторные методы; приближенные методы.
Процедура решения задачи методом отсечения осуществляется следующим образом:
1.Решается задача линейного программирования с отброшенным условием целочисленности. Если в полученном оптимальном решении хотя бы одна переменная или функция цели являются дробными, то переходят ко второму шагу.
2.Строятся дополнительные линейные ограничения, отсекающие от ОДЗП ту её часть, в которой содержится оптимальное решение и не содержится ни одного целочисленного решения.
3.В исходную задачу включается дополнительное ограничение и применяется симплекс-процедура. Если же найденное оптимальное решение опять будет дробным, то формируется новое дополнительное ограничение и процесс вычислений повторяется.
Способы построения дополнительных линейных ограничений известны как алгоритмы Гомори. Они различны для полностью и частично целочисленных задач и обеспечивают решение задачи за конечное число шагов.
3.9.1.Алгоритм Гомори для полностью целочисленной задачи ЛП. Пусть дана следующая задача:
|
n |
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
max F(x) = ∑ci xi | ∑a ji xi {≤, =, ≥}b j , |
j =1, m, xi ≥ 0 ицелыедлявсех i =1, n , (3.29) |
||||||
|
i =1 |
j=1 |
|
|
|
|
|
|
|
|
|
|
|
в результате решения которой с отброшенными условиями целочисленности получена оптимальная симплекс-таблица (табл. 3.19) и оптимальное нецелочисленное решение.
Здесь для удобства через v j ( j =1,m) обозначены базисные переменные в
оптимальном решении задачи, а через wi (i =1, n) – небазисные переменные. Для любой j-й строки симплекс-таблицы справедливо равенство:
n
∑α ji wi + v j = βj . (3.30)
i =1
38

|
|
|
|
|
|
|
Т а б л и ц а 3.19 |
|||
|
|
|
|
|
|
|
|
|||
Базисные |
Свободные |
|
Небазисные переменные |
|
|
|||||
переменные |
члены |
|
|
|
|
|
|
|
|
|
w1 |
w2 |
|
K |
|
wn |
|
||||
|
|
|
|
|
|
|||||
v1 |
β1 |
α11 |
α12 |
|
K |
|
α1n |
|
||
|
|
|
|
|||||||
α22 |
|
K |
|
|
||||||
v |
|
β2 |
α21 |
|
|
α |
|
|
||
2 |
|
K |
|
2n |
|
|||||
|
|
K |
|
|
|
|
|
|||
K |
L |
K |
|
K |
|
K |
|
|||
αm1 |
|
|
|
|
||||||
vm |
βm |
αm2 |
|
K |
|
αnm |
|
|||
|
|
|
|
|||||||
F |
β |
c1 |
c2 |
|
KK |
|
сn |
|
||
Представим величины βj |
и α ji следующим образом: |
|
|
|
|
|
||||
|
|
βj = [βj ] + {βj }, |
α ji = [α ji ] + {α ji }, |
|
|
(3.31) |
где выражение в [ ] означает наибольшее целое число, не превышающее исходное, а выражение в {} – дробную положительную часть числа, например
|
|
1 |
|
1 |
|
2 |
|
3 |
|
|
|
2 |
|
= 2 + |
|
; −1 |
|
= −2 + |
|
. |
|
3 |
3 |
5 |
5 |
|||||||
|
|
|
|
|
|
Подставим (3.31) в (3.30)
∑n ([α |
ji |
] + {α |
ji |
} )w + v |
j |
= [β |
j |
] + {β |
j |
} |
(3.32) |
i =1 |
|
i |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
и преобразуем (3.32) следующим образом
n
v j − [βj ] + ∑[α ji ] wi = {βj } −{α ji } wi . (3.33) i =1
Так как переменные v j и wi должны быть целыми, левая часть (3.33) также
целая, следовательно, правая часть уравнения (3.33) может принимать только целые значения. Для того, чтобы правая часть была целой, необходимо выполнение неравенства:
n |
n |
|
||
{βj } − ∑{α ji} wi ≤ 0 или |
∑{α ji }wi ≥ { βj }, j = |
1, m |
. |
(3.34) |
i=1 |
i =1 |
|
Выражение (3.34) представляет дополнительное линейное ограничение, или отсечение Гомори, которое определяет гиперплоскость, отсекающую нецелочисленные решения задачи вместе с частью ОДЗП и сохраняющую при этом все це-
39

лые решения. Дополнительное ограничение составляется по той строке, переменной v j которой соответствует наибольшая дробная часть. Признаком отсутствия
целочисленного решения служит наличие в таблице хотя бы одной строки с дробным свободным членом и целыми остальными коэффициентами. Задача (3.29) с добавлением ограничения (3.34) называется расширенной. Соответствующее ей решение не является допустимым, поэтому вначале находим допустимое базисное решение, а затем переходим к процедуре оптимизации.
Пример 3.8. Найти оптимальное целочисленное решение:
F(x) = x1+5x2 (max);
x1 + x2 ≤ 7;
− 2x1 + x2 ≤ 2;x1 ≤ 4;
x1,2 ≥ 0 ицелые.
Процедура решения задачи с отброшенными целочисленными условиями иллюстрируется симплекс-таблицами 3.20 – 3.22.
|
|
|
|
Т а б л и ц а 3.20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а 3.21 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Свободные |
|
|
|
|
||||||||
Базисные |
Свободные |
|
Небазисные |
Базисные |
|
Небазисные |
|||||||||||||||||||||||||||||||||
перемен- |
члены |
|
переменные |
|
|
перемен- |
|
|
члены |
переменные |
|||||||||||||||||||||||||||||
ные |
|
|
|
|
|
|
|
|
х1 |
|
х2 |
|
|
|
|
|
|
ные |
|
|
|
|
|
|
|
|
х1 |
|
х4 |
||||||||||
х3 |
7 |
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
х3 |
|
|
|
|
|
5 |
|
3 |
|
-1 |
||||||||||||
х4 |
2 |
|
|
|
|
-2 |
|
|
|
1 |
|
|
|
|
|
|
х2 |
|
|
|
|
|
2 |
|
-2 |
|
1 |
||||||||||||
х5 |
4 |
|
|
|
|
1 |
|
|
|
0 |
|
|
|
|
|
|
х5 |
|
|
|
|
|
4 |
|
1 |
|
0 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|||
F |
0 |
|
|
|
|
-1 |
|
|
|
-5 |
|
|
|
|
|
|
F |
|
|
|
|
|
|
-11 |
|
5 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а 3.22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оптимальное решение яв- |
||||||||||||||||
Базисные |
Свободные |
|
Небазисные |
|
|||||||||||||||||||||||||||||||||||
перемен- |
члены |
|
переменные |
|
ляется дробным: |
|
|
|
|
|
|||||||||||||||||||||||||||||
ные |
|
|
|
|
|
|
|
|
|
|
х3 |
|
|
|
х4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
16 |
|
|
|
|
|
|
||||||||||
х1 |
|
5 |
|
|
|
|
|
1 |
|
|
|
|
|
− 1 |
|
|
x* |
= |
|
, x* |
= |
, x = 0, x |
4 |
= 0, |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
3 |
|
|
|
|
3 |
|
|
|
|
|
3 |
|
|
|
1 |
3 |
2 |
3 |
3 |
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
х2 |
16 |
|
|
|
|
2 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
85 |
|
|
|
|||||||||
|
3 |
|
|
|
|
|
3 |
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
x = |
, |
F = |
. |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
х5 |
|
7 |
|
|
|
|
|
− 1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
5 |
3 |
max |
3 |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
3 |
|
|
|
|
3 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
F |
85 |
|
|
|
|
11 |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
3 |
|
|
|
|
3 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40

Графическая интерпретация решения представлена на рис. 3.6.
x2
|
|
7 |
|
|
|
|
|
|
|
|
|
6 |
|
x* |
|
|
|
|
|
|
|
5 |
|
|
x* |
|
|
|
|
|
|
|
|
ц |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
F = 5 |
|
2 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
-3 -2 |
-1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
x1 |
7 |
Рис. 3.6. Графическая интерпретация примера 3.8
Дополнительное ограничение составляем по строке, соответствующей пере-
менной x1 в табл. 3.22, так как у нее наибольшая дробная часть: {x1}= 23 .
На основании (3.34) получаем:
1 |
|
|
1 |
5 |
|
или |
1 |
|
x3 |
|
2 |
x4 |
|
2 |
. |
(3.35) |
|||
|
|
x3 |
+ − |
|
x4 |
≥ |
|
|
|
|
+ |
|
≥ |
|
|||||
|
|
|
3 |
3 |
3 |
||||||||||||||
3 |
|
|
3 |
3 |
|
|
|
|
|
|
|
|
Приведем (3.35) к виду равенства, вводя дополнительную переменную x6 и одновременно умножая на (-1). Тогда
− |
1 |
x3 |
− |
2 |
x4 + x6 |
= − |
2 |
. |
(3.36) |
|
3 |
3 |
|||||||
|
3 |
|
|
|
|
|
С учетом (3.36) симплекс-таблица расширенной задачи представлена табл. 3.23. Осуществляя оптимизацию, найдем, что оптимальное целочисленное
решение определяется по табл. 3.24: x1* = 2; x2* = 5; Fmax = 27.
При нахождении оптимального целочисленного решения всегда происходит проигрыш в величине экстремального значения функции-цели.
41