Реферат: Задачи линейного программирования 2
|
Название: Задачи линейного программирования 2 Раздел: Рефераты по информатике Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Лабораторная работа. Тема Задачи линейного программирования
Цель: преобретение практических навыков применения методов линейного программирования Задача линейного программирования (ЛП) состоит в определении максимального (минимального) значения целевой функции:
При условиях :
где 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 Симплекс-преобразования продолжаются до тех пор, пока среди чисел Исходная симплекс-таблица в общем случае имеет вид
В столбце Сб записываются коэффициенты целевой функции с теми же индексами, что и векторы базиса. В столбце Р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. Правило прямоугольника
Пример. Решить задачу ЛП:
1. Представим задачу в каноническом виде:
Найдем опорный план X=(0,0,0,360,192,180). Т.о. базисные переменные x4 , x5 , x6 ; свободные – x1 , x2 , x3 . 2. Составим исходную симплекс-таблицу:
Δ1 = 0·18 + 0·6 + 0·5 – 9 = – 9Δ2 = 0·15 + 0·4 + 0·3 – 10 = – 10 Δ3 = 0·12 + 0·8 + 0·3 – 16 = – 16 Δ4 = 0·1 + 0·0 + 0·0 – 0 = 0Δ5 = 0·0 + 0·1 + 0·0 – 0 = 0 Δ6 = 0·0 + 0·0 + 0·1 – 0 = 0 3. Найденный опорный план X=(0,0,0,360,192,180) не оптимален, т.к. Δ1 , Δ2 , Δ3 – отрицательны.4. 5. 6. а23 = 8 – разрешающий элемент. 7, 8, 9, 10 Строим новую симплекс-таблицу по приведенному выше алгоритму, вводя в базис P3 вместо P5 .
Полученный опорный план X=(0,0,24,72,0,108) так же не оптимален, т.к. Δ2 = – 2 < 0. Поэтому по алгоритму симплекс-метода переходим к новому опорному плану, вводя в базис P2 вместо P4 .
Этот опорный план 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
Определение . Задача, состоящая в определении максимума функции
|
| 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 |
1 |
0 |
0 |
0 |
||
| 2 |
P5 |
0 |
22 |
1 |
2 |
4 |
0 |
1 |
0 |
0 |
22/4 |
|
| 3 |
P7 |
–M |
10 |
1 |
–1 |
2 |
0 |
0 |
–1 |
1 |
10/2 |
|
| 4 |
24 |
0 |
4 |
–8 |
0 |
0 |
0 |
0 |
||||
| 5 |
–10 |
–1 |
1 |
–2 |
0 |
0 |
1 |
0 |
||||
|
р.ст. |
F=1·24+0·22+(–M) ·10 = 24 – 10M
Δ1 = 2·1 + 1·0 + 1·(–M) – 2 = 0 – M
Δ2 = 1·1 + 2·0 + 2(–M)–(–3) =4 + M
Δ3 = (–2)·1 + 4·0 + 2(–M)–6=–8–2M
Δ4 = 1·1 + 0·0 + 0·(–M) – 1 = 0
Δ5 = 0·1 + 0·0 + 0·(–M) – 0 = 0
Δ6 = 0·1 + 0·0 + (–1)·(–M) – 0=M
Δ7 = 0·1 + 0·0 + 1·(–M) – (–M)=0
При этом в (m+2)-й строке записываем коэффициенты при М. В начале проверяем условие
для последней (пятой) строки. Здесь есть отрицательные числа:
и
.
Переходим к новому опорному плану по алгоритму симплекс-метода. Для этого исключим вектор P7 из базиса, а вектор P3 введем вместо него. В дальнейшем искусственный вектор P7 не имеет смысла вводить в базис, поэтому столбец P7 исключаем из таблицы.
Так как все искусственные векторы исключены из базиса то нет смысла включать в таблицу и (m+2)-ю (пятую для нашей задачи) строку.
Поэтому новая таблица имеет четыре строки и шесть столбцов:
| I |
Базис |
Сб |
P0 |
2 |
–3 |
6 |
1 |
0 |
0 |
bi /aij |
|
| P1 |
P2 |
P3 |
P4 |
P5 |
P6 |
||||||
| 1 |
P4 |
1 |
34 |
3 |
0 |
0 |
1 |
0 |
–1 |
||
| 2 |
P5 |
0 |
2 |
–1 |
4 |
0 |
0 |
1 |
2 |
2/2 |
|
| 3 |
P3 |
6 |
5 |
1/2 |
–1/2 |
1 |
0 |
0 |
–1/2 |
||
| 4 |
64 |
4 |
0 |
0 |
0 |
0 |
-4 |
||||
|
р.ст. |
Полученное опорное решение Х=(0;0;5;34;2;0) не является оптимальным; т.к. Δ6 <0.
Дальше итерационный процесс ведется по (m+1)-й строке до получения оптимального решения или установления неразрешимости задачи.
Вводим в базис P6 вместо P5 и переходим к новой таблице:
| I |
Базис |
Сб |
P0 |
2 |
–3 |
6 |
1 |
0 |
0 |
bi /aij |
| P1 |
P2 |
P3 |
P4 |
P5 |
P6 |
|||||
| 1 |
P4 |
1 |
35 |
5/2 |
2 |
0 |
1 |
1/2 |
0 |
|
| 2 |
P6 |
0 |
1 |
–1/2 |
2 |
0 |
0 |
1/2 |
1 |
|
| 3 |
P3 |
6 |
11/2 |
¼ |
1/2 |
1 |
0 |
1/4 |
0 |
|
| 4 |
68 |
2 |
8 |
0 |
0 |
2 |
0 |
Т.к. все
, то полученный опорный план
– оптимальный.
. ![]()
Индивидуальные задания. Решить задачу ЛП методом искусственного базиса. Варианты заданий взять из индивидуальных заданий пункта 1.1.
(1.1)
(1.2)
(1.3)
Для каждого из ограничений определяем допустимую полуплоскость и отмечаем ее стрелками. Например, условие 

(1.7)



.


(1.11)
(1.13)



