Линейное программирование
.pdfПример 4.1. Решить геометрическим методом задачу 1, §2
(задача планирования производства).
2 1 + 5 2 ≤ 20
8 1 + 5 2 ≤ 40 − система ограничений.
5 1 + 6 2 ≤ 30
1 ≥ 0, 2 ≥ 0
Требуется найти значения переменных 1, 2, удовлетворяющие системе ограничений и обращающие в max целевую функцию
1, 2 = 50 1 + 40 2 →
Решение.
11
Замечания. |
|
|
|
|
|
|
|
1. Если требуется минимизировать целевую функцию 1, 2 |
→ , |
||||||
то двигаться надо в направлении, противоположном направлению вектора |
|||||||
, то есть в направлении вектора −. |
|
|
|
|
|||
2. В зависимости от особенностей области D и взаимного расположения |
|||||||
области D и вектора возможны различные случаи: |
|
|
|
||||
2 |
|
2 |
|
2 |
|
|
|
|
В |
|
|
|
|
|
|
А |
С |
|
А |
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
0 |
|
1 |
|
1, 2 = 0 |
|
|
1, 2 = 0 |
1, 2 = 0 |
|
|
|
Функция достигает |
Функция достигает |
max нет; |
|
|
|
||
min в т. А; |
|
|
|
|
|||
|
max в т. А; |
min нет. |
|
|
|
||
|
|
|
|
|
|||
max в любой т. отр. ВС |
min не имеет. |
|
Вывод. Если целевая функция ЗЛП достигает оптимального значения, то это имеет место, по крайней мере, в одной из вершин области допустимых решений.
III. ЗЛП с системой ограничений в виде неравенств и числом переменных = .
Система ограничений
11 1 + 12 2 + 13 3 ≤ 1
… … … … … … … … … … … … . .
1 1 + 2 2 + 13 3 ≤1 ≥ 0, 2 ≥ 0, 3 ≥ 0,
Целевая функция
1, 2, 3 |
= 1 1 + 2 2 + 3 3 → ( ) |
Каждое неравенство системы ограничений есть полупространство в 3 Если система ограничений совместна, то пересекаясь, эти полупространства образуют в 3 многогранник решений.
Построить вектор = ( 1; 2; 3) и плоскость 1 1 + 2 2 + 3 3 = 0, которую следует перемещать параллельно самой себе в направлении
вектора .
12
IV. Система ограничений в стандартной (канонической) форме (ОЗЛП)
|
|
+ + |
= |
|
||
11 1 |
|
1 |
|
1 |
|
|
… … … … … … … … … … . . |
|
|||||
|
|
+ + |
= |
|
||
1 |
1 |
|
|
|
|
|
|
|
≥ 0, … , |
≥ 0 |
|
|
|
|
1 |
|
|
|
|
|
, … , |
= |
+ + |
|
→ ( ) |
||
1 |
|
1 1 |
|
|
|
|
|
|
11 |
… |
1 |
|
|
= |
… |
… . |
… |
|
|
|
|
|
|
… |
|
|
|
|
|
1 |
|
|
|
|
Ранг матрицы равен , т.е. |
= (все уравнения линейно независимы). |
|||||
Пусть |
|
|
|
|
|
|
− = 2
− число неизвестных;
− число уравнений;
− число базисных переменных 3, 4, … , ; 2 − число свободных переменных 1, 2
Преобразуем систему ограничений, выразив базисные переменные через
свободные переменные
3 = 31 1 + 32 2 + 3
4 = 41 1 + 42 2 + 4
… … … … … … … … … … . .
= 1 1 + 2 2 +1 ≥ 0, 2 ≥ 0, … , ≥ 0
Преобразуем целевую функцию
1, 2 = 1 1 + 2 2 → ( )
Базисные переменные 3 ≥ 0, 4 ≥ 0, … , ≥ 0. Для построения области D построим прямые
+ + = 0, |
= 3, 4, … , . |
|||
1 |
1 |
2 2 |
|
|
Определим полуплоскости, где |
|
|
||
+ + ≥ 0, |
= 3, 4, … , . |
|||
1 |
1 |
2 2 |
|
|
В пересечении с полуплоскостями 1 ≥ 0, 2 |
≥ 0 получим область D. |
|||
2 |
|
|
Далее решаем аналогично случаю с |
|
2 |
B |
|
||
|
|
|
числом переменных = 2. |
|
D |
|
|
Максимальное (минимальное) |
|
|
|
значение достигается в одной из |
||
|
|
|
||
|
|
|
вершин области D (где, по крайней |
|
|
|
|
мере, две переменных равны 0). |
|
0 |
|
|
|
|
|
1 |
1 |
|
|
|
|
|
13 |
|
§6. Теорема о решении ОЗЛП.
Рассмотрим задачу 1 из §2 (задача планирования производства).
2 1 + 5 2 ≤ 20 |
|
|
|
||||
8 1 + 5 2 ≤ 40 |
|
|
|
||||
5 |
+ 6 |
≤ 30 − система ограничений. |
|
||||
1 |
2 |
|
|
|
|
||
1 |
≥ 0, 2 ≥ 0 |
|
|
|
|||
|
|
|
|
1, 2 |
= 50 1 + 40 2 → |
|
|
В стандартной (канонической) форме: |
|
|
|||||
|
|
|
|
|
2 1 + 5 2 + 3 = 20 |
|
|
|
|
|
|
|
8 1 + 5 2 + 4 = 40 |
|
|
|
|
|
|
|
5 1 + 6 2 + 5 = 30 |
|
|
|
|
|
|
|
1 ≥ 0, 2 ≥ 0, 3 ≥ 0, 4 ≥ 0, 5 ≥ 0 |
||
|
|
|
|
1, 2 |
= 50 1 + 40 2 + 0 ∙ |
3 + 0 ∙ 4 + 0 |
∙ 5 → |
Построим многоугольник решений (область D, соответствующую системе |
|||||||
ограничений). |
3 |
= 0; 2 1 + 5 2 |
= 20 ( 1) |
||||
|
2 |
|
|||||
|
|
4 |
= 0; 8 1 + 5 2 |
= 40 ( 2) |
|||
|
8 |
|
|
||||
|
|
|
5 |
= 0; 5 1 + 6 2 |
= 30 ( 3) |
||
|
|
|
|
|
|||
5 |
|
|
|
|
|
|
|
|
|
|
|
4A 3 = 0 |
|
|
|
|
|
|
|
|
|||
|
|
|
B |
|
|
|
|
|
|
|
|
1 = 0 |
|
5 = 0 |
С |
|
|
|
|
|
|
|
|
|
|
|
4 = 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
8 |
9 |
10 |
|
|
2 = 0 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Все переменные можно разбить на 2 группы
Вер- |
Нулевые |
Ненулевые |
шины |
переменные |
переменные |
|
(свободные) |
(базисные) |
O |
1; 2 |
3; 4; 5 |
A |
1; 3 |
2; 4; 5 |
B |
3; 5 |
1; 2; 4 |
C |
5; 4 |
1; 2; 3 |
D |
4; 2 |
1; 3; 5 |
Вершины многоугольника (опорные решения):
в каждой вершине две переменные равны нулю (число переменных – число уравнений = 5–3 = 2);
смежные вершины отличаются только одной переменной каждой
группы.
Точки, лежащие на границе многоугольника:
имеют одну нулевую переменную.
Точки, лежащие внутри многоугольника:
не имеют нулевых переменных.
14
Из геометрического метода решения ЗЛП получим, что оптимальное решение (если оно существует) всегда достигается в одной из вершин многоугольника, в точке, где, по крайней мере, две переменные равны нулю
(для случая − = 2).
Сформулируем ОЗЛП в общем случае: |
|
|
|||
Максимизировать целевую функцию |
|
|
|
||
, … , |
= |
+ + |
|
→ |
|
1 |
|
1 1 |
|
|
|
при ограничениях
11 1 + + 1 = 1
… … … … … … … … … … . .
1 1 + + =1 ≥ 0, … , ≥ 0
Или в матричной форме
= ∙ →
при ограничениях
∙ =
≥ 0
где
11 |
… |
1 |
|
1 |
|
|
|
= … … . |
… |
|
; = , … , ; = |
1 |
|||
; = |
|
||||||
|
|
… |
|
|
|
1 |
|
1 |
|
|
|||||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
По теореме Кронекера – Капелли система совместна, если ранг матрицы системы равен рангу расширенной матрицы (если система несовместна, то модель противоречива).
Теорема о решении ОЗЛП.
Пусть система уравнений ∙ = совместна и имеет ранг r. Тогда
оптимальное решение ОЗЛП достигается в такой точке = ( , … , ), в
1
которой обращаются в нуль по крайней мере s переменных, где
= −
− число степеней свободы;− число неизвестный;− ранг матрицы .
(если все уравнения линейно независимы, то = − ).
При = 2: изображается точкой на плоскости, лежащей в одной из вершин многоугольника решений.
При = 3: область D есть многогранник, и есть одна из его вершин. При > 3: геометрическая интерпретация теряет смысл; область D будем называть многогранником решений; оптимальное решение достигается в одной из его вершин.
15
§7. Симплекс – метод решения ОЗЛП.
Решение ЗЛП геометрическим методом является наглядным в случае двух переменных, в случае трех переменных менее наглядным, а в случае большего числа переменных невозможным (если − > 2).
Потому необходим другой метод.
Было показано, что оптимальное решение ОЗЛП достигается в одной из вершин многогранника решений. Простой перебор опорных решений и выбор из них оптимального решения при большом числе переменных крайне затруднителен. Необходим целенаправленный перебор.
Симплекс – метод то упорядоченный переход от одного опорного решения к другому (от одной вершины к другой) до тех пор, пока не придем к оптимальному решению.
Пример 7.1. Максимизировать целевую функцию
= −4 + 5 →
при ограничениях
1 + 4 − 2 5 = 12 − 2 4 + 5 = 23 + 3 4 + 5 = 31 ≥ 0, … , 5 ≥ 0
Решение.
16
17
18
Блок – схема симплекс – метода.
Максимизировать целевую функцию |
|
|
|
|
= , … , |
= |
+ + |
|
→ |
1 |
1 1 |
|
|
|
при ограничениях
11 1 + + 1 = 1
… … … … … … … … … … . .
1 1 + + =1 ≥ 0, … , ≥ 0
1. |
|
|
|
1).Исследовать систему, найти − ранг матрицы и = − . |
|
|
|
Выделить базисных переменных и свободных. |
|
|
|
|
|
|
2. |
|
|
|
2).Выразить базисные переменные через свободные |
|
|
|
||
|
|
|
|
переменные. |
|
|
|
|
3).Выразить целевую функцию через свободные |
|
|
|
|
|
3. |
|
|
|
переменные. Найти значение целевой функции при |
|
|
|
|
равенстве свободных переменных нулю. |
|
|
|
|
|
|
|
|
|
|
4). Проверяем, есть ли среди |
4. |
|
нет |
Оптим. |
конец свободных переменных, входящих в |
|
|
|
да |
решение |
целевую функцию, переменные с |
|
|
|
|
положительными коэффициентами. |
||
|
|
|
|
|
|
5. |
|
|
|
|
Если нет, то то данное решение |
|
|
|
|
оптимальное (конец). |
|
|
|
|
|
|
|
|
|
|
|
|
Если да, то переходим к блоку 5. |
|
|
|
|
|
|
5). Пусть − свободная переменная в целевой функции с положительным коэффициентом (если таких несколько, то выбираем с большим положительным коэффициентом).
Находим наибольшее значение переменной , при котором остальные переменные остаются неотрицательными (≥ 0).
При этом одна из переменных, например , станет равной нулю, = 0. Свободная переменная → в базисные переменные; базисная переменная → в свободные переменные.
Переходим к блоку 2.
Рассмотренный метод называют также методом последовательного
улучшения плана.
Замечание. В ходе метода последовательного улучшения плана из числа свободных переменных выбирается одна переменная , подлежащая увеличению и включению в число базисных переменных; а из числа базисных переменных одна переменная , становится равной нулю и включается в число свободных переменных.
19
Эту операцию можно провести иначе. 1. Целевую функцию привести к виду
− 1 1 − 2 2 − = 0
Затем выразить через свободные переменные. Среди свободных переменных, входящих в целевую функцию, выбрать такую переменную , коэффициент при которой отрицательный.
2. В системе ограничений найти отношение свободных членов к положительным коэффициентам при и выбрать из них минимальное, которое и определяет выбор переменной .
Симплекс – таблица.
Метод последовательного улучшения плана связан с эквивалентными преобразованиями задачи, которые целесообразно проводить не с самими уравнениями, а с таблицами, составленными из коэффициентов при переменных.
Требуется решить ОЗЛП. Целевая функция
= ∙ →
Система ограничений
∙ =
≥ 0
где
11 |
… |
1 |
|
1 |
|
|
|
= … … . |
… |
|
; = , … , ; = |
1 |
|||
; = |
|
||||||
|
|
… |
|
|
|
1 |
|
1 |
|
|
|||||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
= − ранг матрицы А; = − − число степеней свободы.
1, … − базисные переменные;+1, … − свободные переменные.
Целевую функцию преобразовать к виду
+ +1 +1 + + = 0
(т.е. выразить базисные переменные через свободные и перенести влево).
Составить начальную таблицу, строки которой будут соответствовать коэффициентам при переменных системы ограничений, а последняя строка – коэффициенты целевой функции.
20
