Лабораторная работа.
Тема Задачи линейного программирования
Цель: преобретение практических навыков применения методов линейного программирования
Задача линейного программирования (ЛП) состоит в определении максимального (минимального) значения целевой функции:
При условиях :
где aij, bi, cj – заданные постоянные числа. Функция F(1) называется целевой функцией, выражения (2), (3) – ограничениями. Значения xj
Графический метод решения задач ЛП.
Постановка задачи. Метод применяется в том случае, если количество переменных задачи ЛП (1), (2), (3) равно двум, т.е.:
Методика решения. Процесс решения задачи ЛП графическим методом включает следующие этапы:
На плоскости Х1ОХ2 строятся граничные прямые, уравнения которых получают путем замены неравенств (5), (6) на строгие равенства
Находятся полуплоскости, определяемые каждым из ограничений (5), (6).
Определяется область допустимых решений ОДР задачи на плоскости Х1ОХ2. Если система ограничений (5), (6) несовместна, то задача ЛП не имеет решения.
Строится вектор
Строится прямая с1х1+с2х2 = 0, перпендикулярная вектору
Определяют координаты точки А – (х1*,х2*) и максимальное значение функции F*=с1х1* + с2х2*.
Пример. Решить задачу ЛП:
На плоскости Х1ОХ2 строим уравнения прямых: х1–х2 = 3; х1 + 2х2 = 4; х2 = 4; х1=0; х2=0
Д
Определяем допустимую область для всех ограничений задачи (ОДР). Это многоугольник ABCD.
Строим вектор
Строим прямую F=2x1+x2 = 0. Передвигая ее в направлении вектора
Координаты т. А находятся путем решения системы
Аналогично определяются координаты точки минимума С:
Индивидуальные задания. Решить графическим методом.
Вариант 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
x1, x2 ≥ 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.3) распространяются на все переменные путем введения подстановок.
Пример. Дана задача ЛП в общем виде:
Приведем ее к каноническому виду. Условие неотрицательности не распространяется на переменную х2. Поэтому введем подстановку: х2 = х5 – х4, где
Тогда
Изменим вид экстремума на максимум:
Изменим неравенства на строгие равенства путем введения дополнительных неотрицательных переменных. Тогда
Основные понятия и определения. Исходная задача (1.7), (1.8), (1.9) может быть представлена в векторной форме:
x1Р1+x2Р2+…+xnPn=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
Алгоритм решения.
Задачу ЛП приводят к каноническому виду и находят исходный опорный план.
Составляют исходную симплекс-таблицу.
Определяют, имеется ли хотя бы одно отрицательное число Δj в (m+1)-й строке. Если нет, то найденный опорный план оптимален.
Находят наименьшее отрицательное Δj и соответствующий столбец обозначают как разрешающий. Если в разрешающем столбце среди чисел aij нет положительных, то целевая функция не ограничена сверху, а задача ЛП не имеет решения.
Находят отношения bi к положительным aij разрешающего столбца. Минимальное из этих отношений определяет разрешающую строку.
На пересечении разрешающих строки и столбца определяют разрешающий элемент.
Все элементы разрешающей строки делят на разрешающий элемент.
Все элементы разрешающего столбца (кроме разрешающего элемента) заменяют нулями.
Остальные элементы таблицы рассчитываются по правилу прямоугольника и фиксируется введение в базис новой переменной. При этом разрешающая строка определяет переменную, которая исключается из базиса, а разрешающий столбец – переменную, которая вводится в базис.
Переходят к пункту 3.
a1 | … | A2 | | ||
… | … | ||||
a3 | … | А4 | |||
p. столбец |
Представим задачу в каноническом виде:
Найдем опорный план X=(0,0,0,360,192,180). Т.о. базисные переменные x4, x5, x6; свободные – x1, x2, x3.
Составим исходную симплекс-таблицу:
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
Δ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
Найденный опорный план X=(0,0,0,360,192,180) не оптимален, т.к. Δ1, Δ2, Δ3 – отрицательны.
а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.ст. |
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 |
Максимальное значение функции на оптимальном решении равно:
Fmax = 0·9 + 8·10 + 20·16 + 0·0 + 0·0 + 0·96 = 400
Решение общей задачи ЛП: x1*= 0; x2* = 8; x3* = 20; Fmax= 400.
Индивидуальные задания. Решить задачу ЛП симплексным методом. Варианты заданий взять из индивидуальных заданий пункта 1.1.
Метод искусственного базиса.
В общем случае после приведения задачи ЛП к каноническому виду непосредственно записать опорный план не удается, т.к. среди векторов 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.12), (1.13).
Находят опорный план расширенной задачи.
С помощью вычислений симплекс-метода исключают искусственные вектора из базиса. В результате находят опорный план исходной задачи. Если искусственные переменные исключить из базиса не удается, то задача ЛП неразрешима.
Используя найденный опорный план исходной задачи (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 | 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 | ||||
р.ст. |
Δ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.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |