Главная Учебники - Разные Лекции (разные) - часть 34
|
Лабораторная работа.
Тема Задачи линейного программирования
Цель:
преобретение практических навыков применения методов линейного программирования Задача линейного программирования (ЛП) состоит в определении максимального (минимального) значения целевой функции: При условиях : где aij
, bi
, cj
– заданные постоянные числа. Функция F(1) называется целевой функцией, выражения (2), (3) – ограничениями. Значения xj
1.1.
Графический метод решения задач ЛП.
Постановка задачи.
Метод применяется в том случае, если количество переменных задачи ЛП (1), (2), (3) равно двум, т.е.: Методика решения
.
Процесс решения задачи ЛП графическим методом включает следующие этапы: 1) На плоскости Х1
ОХ2
строятся граничные прямые, уравнения которых получают путем замены неравенств (5), (6) на строгие равенства 2) Находятся полуплоскости, определяемые каждым из ограничений (5), (6). 3) Определяется область допустимых решений ОДР задачи на плоскости Х1
ОХ2
. Если система ограничений (5), (6) несовместна, то задача ЛП не имеет решения. 4) Строится вектор 5) Строится прямая с1
х1
+с2
х2
= 0, перпендикулярная вектору 6) Определяют координаты точки А – (х1
*
,х2
*
) и максимальное значение функции F*
=с1
х1
*
+ с2
х2
*
. Пример.
Решить задачу ЛП:
1. На плоскости Х1
ОХ2
строим уравнения прямых: х1
–х2
= 3; х1
+ 2х2
= 4; х2
= 4; х1
=0; х2
=0 2. 3. Определяем допустимую область для всех ограничений задачи (ОДР). Это многоугольник ABCD. 4. Строим вектор 5. Строим прямую F=2x1
+x2
= 0. Передвигая ее в направлении вектора 6. Координаты т. А находятся путем решения системы
Аналогично определяются координаты точки минимума С:
Индивидуальные задания. Решить графическим методом. Вариант 1. F = x1
+ x2
-3x1
+ 2x2
≤ 1
x1
+ 2x2
≤ 14
2x1
+ x2
≤ 13
3x1
– x2
≤ 12
x1
, x2
≥ 0
Вариант 2. F = 3x1
+ x2
3x1
+ 5x2
≥ 15
5x1
+ 3x2
≥ 15
x1
≥ 1
x2
≥ 1
x1
, x2
≥ 0
Вариант 3. F = 3x1
+ 3x2
x1
+ 4x2
≥ 4
4x1
+ x2
≥ 4
x1
, x2
≥ 0
Вариант 4. F = 6x1
– 5x2
2x1
+ 5x2
≤ 10
5x1
+ 2x2
≤ 10
x1
, x2
≥ 0
Вариант 5. F = 8x1
+ 2x2
x1
– 4x2
≤ 4
–4x1
+ x2
≤ 4
x1
+ x2
≤ 6
x
1
,
x
2
≥ 0
Вариант 6. F = 2x1
+ 3x2
x1
+ 5x2
≥ 10
3x1
+ 2x2
≥ 12
2x1
+ 4x2
≥ 10
x1
≥ 1
x1
, x2
≥ 0
Вариант 7. F = 5x1
+ 4x2
+ 6x3
x1
+ x2
+ x3
≤ 6
2x1
+ x2
+ x3
≥ 9
3x1
+ x2
+2x3
≥ 11
x1
, x2
, x3
≥ 0
Вариант 8. F = –7x1
+ 2x2
x1
+ x2
≥ 1
5x1
+ x2
≥ 3
–3x1
+ x2
≤ 3
2x1
+ x2
≤ 4
x1
, x2
≥ 0
Вариант 9. F = 6x1
+ 4x2
2x1
+ x2
≥ 3
x1
– 2x2
≤ 2
x1
, x2
≥ 0
Вариант 10. F = – x1
– 2x2
5x1
– 2x2
≤ 4
– x1
+ 2x2
≤ 4
x1
+ x2
≥ 4
x1
, x2
≥ 0
Вариант 11. F = 3x1
+ 3x2
x1
+ x2
≤ 4
3x1
+ x2
≥ 4
x1
+ 5x2
≥ 4
0 ≤ x1
≤ 3
0 ≤ x2
≤ 3
Вариант 12. F = 7x1
– 2x2
x1
+ x2
≤ 5
2x1
– 3x2
≤ 6
3x1
+ x2
≥ 3
x1
+ x2
≥ 2
x1
– x2
≥ –3
x1
, x2
≥ 0
Вариант 13. F = 6x1
– x2
x1
+ x2
≥ 3
4x1
– x2
≥ –4
3x1
– 2x2
≤ 24
x2
≤ 6
x1
, x2
≥ 0
Вариант 14. F = –3x1
– 2x2
x1
– 2x2
≤ –3
2x1
+ x2
≤ 10
3x1
– x2
≥ –5
–x1
+ x2
≥ 3
x1
, x2
≥ 0
Вариант 15. F = x1
+ 2x2
2x1
+ 3x2
≤ 8
2x1
+ x2
≤ 6
x1
+ x2
≥ 1
x1
, x2
≥ 0
Вариант 16. F = –2x1
+ x2
2x1
+ x2
≤ 8
x1
+ 3x2
≥ 6
3x1
+ x2
≥ 3
x1
, x2
≥ 0
Вариант 17. F = 6x1
+ 4x2
2x1
+ x2
≥ 3
x1
– 2x2
≤ 1
–x1
+ 2x2
≥ 1
x1
, x2
≥ 0
Вариант 18. F = 4x1
+ 3x2
5x1
+ 2x2
≥ 20
x1
+ 3x2
≤ 15
x1
, x2
≥ 0
Вариант 19. F = x1
+ 3x2
x1
+ x2
≥ 3
6x1
+ x2
≤ 42
2x1
– 3x2
≥ 6
x1
, x2
≥ 0
Вариант 20. F = x1
– 2x2
5x1
– 2x2
≤ 3
x1
+ x2
≥ 1
–3x1
+ x2
≤ 3
x1
, x2
≥ 0
Вариант 21. F = 8x1
+ 2x2
x1
– 4x2
≤ 4
–4x1
+ x2
≤ 4
x1
+ x2
≤ 6
x1
, x2
≥ 0
Вариант 22. F = 2x1
+ 3x2
x1
+ 5x2
≥ 16
3x1
+ 2x2
≥ 12
2x1
+ 4x2
≥ 16
x1
≥ 1
x1
, x2
≥ 0
Вариант 23. F = 3x1
+ 3x2
x1
+ x2
≤ 4
3x1
+ x2
≥ 4
x1
+ 5x2
≥ 4
0 ≤ x1
≤ 3
0 ≤ x2
≤ 3
Вариант 24. F = 7x1
– 2x2
x1
+ x2
≤ 5
2x1
– 3x2
≤ 6
3x1
+ x2
≥ –3
x1
, x2
≥ 0
Вариант 25. F = –7x1
+ 2x2
x1
+ x2
≥ 1
5x1
+ x2
≥ 3
–3x1
+ x2
≤ 3
2x1
+ x2
≤ 4
x1
, x2
≥ 0
Вариант 26. F = 2x1
– x2
3x1
+ x2
≥ 16
x1
+ 2x2
≤ 12
x1
, x2
≥ 0
Вариант 27. F = 6x1
+ 4x2
2x1
+ x2
≥ 3
x1
– 2x2
≤ 2
3x1
+ 2x2
≥ 1
x1
, x2
≥ 0
Вариант 28. F = –x1
– 2x2
5x1
– 2x2
≤ 4
–x1
+ 2x2
≤ 4
x1
+ x2
≥ 4
x1
, x2
≥ 0
Вариант 29. F = x1
+ 2x2
5x1
– 2x2
≤ 20
x1
– 2x2
≥ –20
x1
+ x2
≥ 16
x1
, x2
≥ 0
Вариант 30. F = x1
+ x2
2x1
+ x2
≤ 18
x1
+ 2x2
≤ 16
x1
, x2
≥ 0
1.2.
Симплексный метод решения задач ЛП.
Прежде чем решать задачу ЛП симплекс-методом ее необходимо привести к каноническому виду
:
Для этого в случае необходимости задача (1.1) поиска минимума сводится к задаче на поиск максимума (1.7) путем изменения знаков коэффициентов Сj
Неравенства (1.2) преобразуются в строгие равенства путем введения дополнительных неотрицательных переменных; условия неотрицательности (1.3) распространяются на все переменные путем введения подстановок. Пример
. Дана задача ЛП в общем виде:
Приведем ее к каноническому виду. Условие неотрицательности не распространяется на переменную х2
. Поэтому введем подстановку: х2
= х5
– х4
, где Тогда
Изменим вид экстремума на максимум:
Изменим неравенства на строгие равенства путем введения дополнительных неотрицательных переменных. Тогда
Основные понятия и определения
.
Исходная задача (1.7), (1.8), (1.9) может быть представлена в векторной форме:
x1
Р1
+x2
Р2
+…+xn
Pn
=P0
С=(c1
, c2
… cn
); X=(x1
,x2
… xn
); P1
,P2
…Pn
, P0
– m-мерные вектор-столбцы. Вектор X=(x1
,x2
… xn
) называется опорным планом задачи ЛП, если он удовлетворяет ограничениям (1.8); (1.9) и содержит m отличных от нуля положительных компонент. Остальные (n-m) элементов опорного плана равны нулю. Алгоритм симплекс-метода предполагает переход от одного опорного плана к другому с увеличением при этом значения целевой функции. В некоторых случаях исходный опорный план можно легко определить. Это происходит тогда, когда среди векторов Pj Симплекс-преобразования продолжаются до тех пор, пока среди чисел Исходная симплекс-таблица в общем случае имеет вид i Базис Сб
P0
C1
C2
… Cm
Cm+1
… Cn
P1
P2
… Pm
Pm+1
… Pn
1 P1
C1
b1
1 0 … 0 a1m+1
… a1n
2 P1
C2
b2
0 1 … 0 a2m+1
… a2n
… … … … … … … … … … … m Pm
Cm
bm
0 0 … 1 amm+1
… amn
M+1 F0
0 0 … 0 Δm+1
… Δn
В столбце Сб
записываются коэффициенты целевой функции с теми же индексами, что и векторы базиса. В столбце Р0
записываются положительные компоненты исходного опорного плана, в нем же в результате вычислений получают положительные компоненты оптимального плана. В столбцах Р1
…Рn
записаны коэффициенты ограничений при неизвестных. В (m+1)-й строке: F0
– текущее значение целевой функции; в столбцах Pj Алгоритм решения
.
1. Задачу ЛП приводят к каноническому виду и находят исходный опорный план. 2. Составляют исходную симплекс-таблицу. 3. Определяют, имеется ли хотя бы одно отрицательное число Δj в (m+1)-й строке. Если нет, то найденный опорный план оптимален. 4. Находят наименьшее отрицательное Δj и соответствующий столбец обозначают как разрешающий. Если в разрешающем столбце среди чисел aij
нет положительных, то целевая функция не ограничена сверху, а задача ЛП не имеет решения. 5. Находят отношения bi
к положительным aij
разрешающего столбца. Минимальное из этих отношений определяет разрешающую строку. 6. На пересечении разрешающих строки и столбца определяют разрешающий элемент. 7. Все элементы разрешающей строки делят на разрешающий элемент. 8. Все элементы разрешающего столбца (кроме разрешающего элемента) заменяют нулями. 9. Остальные элементы таблицы рассчитываются по правилу прямоугольника и фиксируется введение в базис новой переменной. При этом разрешающая строка определяет переменную, которая исключается из базиса, а разрешающий столбец – переменную, которая вводится в базис. 10. Переходят к пункту 3. p. столбец
Пример.
Решить задачу ЛП:
1. Представим задачу в каноническом виде:
Найдем опорный план X=(0,0,0,360,192,180). Т.о. базисные переменные x4
, x5
, x6
; свободные – x1
, x2
, x3
. 2. Составим исходную симплекс-таблицу: I Базис Сб
P0
9 10 16 0 0 0 bi
/aij
P1
P2
P3
P4
P5
P6
1 P4
0 360 18 15 12 1 0 0 360/12=30 2 P5
0 192 6 4 8 0 1 0 192/8=24
3 P6
0 180 5 3 3 0 0 1 180/3=60 4 0 -9 –10 –16 0 0 0
p.ст. Δ2
= 0·15 + 0·4 + 0·3 – 10 = – 10 Δ3
= 0·12 + 0·8 + 0·3 – 16 = – 16 Δ5
= 0·0 + 0·1 + 0·0 – 0 = 0 Δ6
= 0·0 + 0·0 + 0·1 – 0 = 0 4. 5. 6. а23
= 8 – разрешающий элемент. 7, 8, 9, 10 Строим новую симплекс-таблицу по приведенному выше алгоритму, вводя в базис P3
вместо P5
. I Базис Сб
P0
9 10 16 0 0 0 bi
/aij
P1
P2
P3
P4
P5
P6
1 P4
0 72 9 9 0 1 –3/2 0 72/9=8
2 P3
16 24 6/8 1/2 1 0 1/8 0 24 :1/2 = 48 3 P6
0 108 11/4 3/2 0 0 –3/8 1 108 : 3/2=72 4 384 3 –2 0 0 2 0
p.ст. Полученный опорный план X=(0,0,24,72,0,108) так же не оптимален, т.к. Δ2
= – 2 < 0. Поэтому по алгоритму симплекс-метода переходим к новому опорному плану, вводя в базис P2
вместо P4
. i Базис Сб
P0
9 10 16 0 0 0 bi
/aij
P1
P2
P3
P4
P5
P6
1 P2
10 8 1 1 0 1/9 –1/6 0 2 P3
16 20 1/4 0 1 –1/8 5/24 0 3 P6
0 96 5/4 0 0 –1/6 –1/8 1 4 400 5 0 0 2/9 5/3 0 Этот опорный план X*
=(0; 8; 20; 0; 0; 96) оптимален, т.к. все Δj
Максимальное значение функции на оптимальном решении равно: Fmax
= 0·9 + 8·10 + 20·16 + 0·0 + 0·0 + 0·96 = 400 Решение общей задачи ЛП: x1
*
= 0; x2
*
= 8; x3
*
= 20; Fmax
= 400.
Индивидуальные задания.
Решить задачу ЛП симплексным методом. Варианты заданий взять из индивидуальных заданий пункта 1.1.
1.3. Метод искусственного базиса. В общем случае после приведения задачи ЛП к каноническому виду непосредственно записать опорный план не удается, т.к. среди векторов Pj
Постановка задачи
. Требуется найти максимум функции При условиях
m<n, но среди векторов Pj
Определение
.
Задача, состоящая в определении максимума функции при условиях
называется расширенной по отношению к исходной задаче (1.10), (1.11). Здесь M некоторые большие положительные числа, значения которых не задаются. Расширенная задача (1.12), (1.13) имеет опорный план:
Переменные xn+1
, xn+2
… xn+m
называются искусственными, а система единичных векторов Pn+1
, Pn+2
… Pn+m
образует искусственный базис. Если в оптимальном плане Поэтому процесс решения задачи ЛП (1.10), (1.11) включает следующие этапы: 1. Для исходной задачи составляют расширенную задачу вида (1.12), (1.13). 2. Находят опорный план расширенной задачи. 3. С помощью вычислений симплекс-метода исключают искусственные вектора из базиса. В результате находят опорный план исходной задачи. Если искусственные переменные исключить из базиса не удается, то задача ЛП неразрешима. 4. Используя найденный опорный план исходной задачи (1.10), (1.11), либо находят симплекс-методом ее оптимальный план, либо устанавливают ее неразрешимость Пример.
Найти минимум функции при условиях:
Представим эту задачу в каноническом виде:
Для образования базиса необходимо три единичных вектора, т.к. m = 3. Но среди векторов Pj
есть только два единичных – P4
и P5
. Поэтому составим расширенную задачу, введя искусственную переменную x7
в целевую функцию и в третье ограничение:
Расширенная задача имеет опорный план X=(0;0;0;24;22;0;10), определяемый базисом P4
, P5
, P7
. Составим исходную таблицу: i Базис Сб
P0
2 –3 6 1 0 0 -M bi
/aij
P1
P2
P3
P4
P5
P6
P7
1 P4
1 24 2 1 –2
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||