- •Общие понятия
- •Геометрическая интерпретация множества решений системы линейных неравенств с 2 неизвестными
- •Общая задача линейного программирования.
- •Основные теоремы линейного программирования
- •Симплексный метод решения задачи линейного программирования.
- •Построение опорных планов
- •Отыскание оптимального плана Условия оптимальности
- •Метод искусственного базиса
- •Пример решения задачи линейного программирования симплексным методом
Построение опорных планов
Рассмотрим каноническую форму задачи линейного программирования
(1)
при ограничениях
;
.
Пусть
.Предположим,
что система ограничений содержитm -
единичных векторов. Пусть это первые n -
векторов, тогда:
(2)
(3)
Запишем систему (2) в векторной форме
(4)
,
,
…,
.
Векторы
-
единичные, линейно независимые векторыm -
мерного пространства, они образуют
базис. В (4) за базисные неизвестные
выберем
.
Свободные неизвестные
приравниваем
нулю и учитывая, что
(где
),
а векторы
-
единичные. Получим первоначальный
план
(5).
Плану
(5) соответствует разложение
(6),
так как
-
линейно независимые, то первоначальный
план является и опорным.
Рассмотрим,
как исходя из опорного плана (5)
можно построить другой опорный план
-
базис, поэтому
.
Предположим, что для некоторого вектора,
не входящего в базис,
например для
, является положительным
хотя бы один из коэффициентов
,
входящих в разложение
(7).
Зададимся величиной
,
пока неизвестной, умножим
(7) на
и почленно вычислим
из (6),получаем
![]()
вектор ![]()
является
планом, если его компоненты
положительны.
(9).
Из
(9) следует, что
,
план,
если
(10).
Чтобы план был опорным должно быть m - положительных компонентов.
Необходимо обратить в нуль хотя бы одну из компонентов
(11).
Отыскание оптимального плана Условия оптимальности
Предположим,
что задача линейного программирования (1)
- (3) обладает планами и каждый ее опорный
план невырожден. В этом случае для
опорного плана (5) имеем
(12)
(13),
где
-
это значение линейной формы, соответствующее
плану
.
Разложение любого вектора
по
векторам базиса
-
единственно.
(14)![]()
(15)![]()
Теорема
(для задачи на min):
Если для некоторого вектора
выполняются
условия
,
то план
не
является оптимальным и можно построить
такой планX:
.
Доказательство:
Умножим
равенство (14) на
и вычтим из
равенства (12), получаем
.
Умножим
равенство (15) на
и вычтим из
равенства (13), получаем
(16).
Следствие:
Если для некоторого плана
разложение
всех векторов
в
данном базисе, удовлетворяющих
условию
(17),
то план
является
оптимальным. Неравенство (17) это условие
оптимальности задачи на минимум, а
величины
-
оценки плана.
Теорема
(для задачи на max):
Если для некоторого вектора
выполняются
условия
,
то план
не
является оптимальным и можно построить
такой планX:
.
Следствие: Если
для некоторого плана
разложение
всех векторов
в
данном базисе, удовлетворяющих
условию
(18),
то план
является
оптимальным. Неравенство (18) это условие
оптимальности задачи на минимум, а
величины
-
оценки плана.
- формула Жордана-Гаусса.
![]()
Метод искусственного базиса
![]()
при ограничениях

.
Рассмотрим расширенную задачу
![]()
при ограничениях
,
где m -
достаточно большое положительное
число.
- базис
(искусственный). Применение симплексного
метода к расширенной задаче обеспечивает
построение плана, в котором каждая из
искусственных переменных
,
если же первоначальная задача не обладает
планами, то решение расширенной задачи
будет содержать, по крайней мере, одно
.
Пример решения задачи линейного программирования симплексным методом
Задача. Для изготовления различных изделий A и B используется 2 вида сырья. На производство единицы изделия A его требуется затратить: 1-го вида -15кг, 2-го вида - 11кг, 3-го вида - 9кг. На производство единицы изделия B требуется затратить сырья 1-го вида - 4кг, 2-го вида - 5кг, 3-го вида - 10кг.
Производство обеспечено сырьем 1-го вида в количестве 1095кг, 2-го вида - 865кг, 3-го вида -1080кг.
Прибыль от реализации единицы готового изделия А составляет 3 рубля, изделия B - 2 рубля. Составить план производства изделий А и В, обеспечивающий максимальную прибыль от их реализации.
Решение. Составим задачу линейного программирования
![]()
при ограничениях

Приведем к канонической форме
![]()
при ограничениях

Первоначальный опорный план принимает вид X0 = ( 0, 0, 1095, 865, 1080 )
Для получения оптимального плана составим таблицу
|
№ итерации |
базисные переменные |
Сб |
С1= − 3 |
С2= − 2 |
С3= 0 |
С4= 0 |
С5= 0 |
A0 |
Σ |
ai0/aik |
|
x1 |
x2 |
x3 |
x4 |
x5 | ||||||
|
0 |
x3 |
0 |
15 |
4 |
1 |
0 |
0 |
1095 |
1115 |
73* |
|
x4 |
0 |
11 |
5 |
0 |
1 |
0 |
865 |
882 |
78 | |
|
x5 |
0 |
9 |
10 |
0 |
0 |
1 |
1080 |
1100 |
120 | |
|
Δj = Zj -Cj |
3** |
2 |
0 |
0 |
0 |
| ||||
|
I |
x1 |
− 3 |
1 |
0,26 |
0,06 |
0 |
0 |
73 |
74,33 |
27,75 |
|
x4 |
0 |
0 |
2,06 |
−0,73 |
1 |
0 |
62 |
64,3 |
30* | |
|
x5 |
0 |
0 |
7,6 |
−0,6 |
0 |
1 |
423 |
431 |
55 | |
|
Δj = Zj -Cj |
0 |
0,24** |
−0,2 |
0 |
0 |
− 219 |
− 218 |
| ||
|
II |
x1 |
− 3 |
1 |
0 |
0,16 |
− 0,13 |
0 |
65 |
660,32 |
|
|
x2 |
− 2 |
0 |
1 |
− 0,35 |
0,48 |
0 |
30 |
31,13 |
| |
|
x5 |
0 |
0 |
0 |
2,1 |
− 3,68 |
1 |
195 |
194,4 |
* | |
|
Δj = Zj -Cj |
0 |
0 |
0,22** |
− 0,58 |
0 |
− 255 |
− 255,35 |
| ||
|
III |
x1 |
− 3 |
1 |
0 |
0 |
0,15 |
− 0,08 |
50 |
51,7 |
|
|
x2 |
− 2 |
0 |
1 |
0 |
− 0,14 |
0,17 |
63 |
64,03 |
| |
|
x3 |
0 |
0 |
0 |
1 |
− 1,75 |
0,48 |
93 |
92,72 |
| |
|
Δj = Zj -Cj |
0 |
0 |
0 |
− 0,18 |
− 0,1 |
− 276 |
− 276,29 |
| ||
* разрешающая строка ;** разрешающий столбец
Опорные планы X1 = ( 73, 0, 0, 62, 423 ), X2 = ( 65, 30, 0, 0, 195 ) − не оптимальные.
Опорный план X3 = (50, 63, 93 ) оптимальный.
при X0 = ( 0, 0, 1095, 865, 1080 ), Z(X0) = 0
при X1 = ( 73, 0, 0, 62, 423 ), Z(X1) = − 219
при X2 = ( 65, 30, 0, 0, 195 ), Z(X2) = − 255
при X3 = (50, 63, 93) , Z(X3) =Z(Xmin) =Z(X*) = − 276
4. Геометрический метод решение задач ЛП
Задача 1. При откорме каждое животное должно получить не менее 14 ед.питательного вещества S1, не менее 15 ед. вещества S2 и не менее 10 вещества S3. Для составления рациона используют два вида корма. Содержание количества единиц питательных веществ в 1 килограмме каждого вида корма и стоимость одного килограмма корма дана в таблице 1.
Таблица 1
|
Питательные вещества |
Количество единиц питательных веществ в 1 кг.корма | |
|
|
корм 1 |
корм 2 |
|
S1 |
1 |
2 |
|
S2 |
1 |
3 |
|
S3 |
2 |
1 |
|
Стоимость 1 кг.корма |
3 |
7 |
Составить рацион минимальной стоимости.
Решение:
X1 + 2X2 ≥ 14
X1 + 3X2 ≥ 15
2X1 + X2 ≥ 10
X1, X2 ≥ 0
3X1
+ 7 X2 → min![]()
X1 + 2X2 = 14
X1 + 3X2 =15
2X1 + X2 = 10

5. Симплексный метод решения задач ЛП
Задача 2. Для изготовления 4-ёх видов продукции P1, P2, P3, P4 используют два вида сырья: S1 и S2. Запасы сырья, количество единиц сырья, затрачиваемых на изготовление единицы продукции, а так же величина прибыли, получаемая от реализации единицы продукции, приведены в таблице 2.
Таблица 2.
|
Вид сырья |
Запас сырья |
Количество единиц сырья, идущих на изготовление единицы продукции | |||||||
|
|
|
P1 |
P2 |
P3 |
P4 | ||||
|
S1 |
3 |
1 |
1 |
1 |
2 | ||||
|
S2 |
7 |
1 |
2 |
3 |
1 | ||||
|
Прибыль от единицы продукции |
9 |
14 |
15 |
10 | |||||
Составить план производства, обеспечивающий получений максимальной прибыли.
Решение:
1. Формальная постановка задачи имеет следующий вид:
9X1 + 14X2 + 15 X3 + 10X4 → max
X1 + X2 + X3 + 2X4 ≤ 3
X1 + 2X2 + 3X3 + X4 ≤ 7
X1, X2, X3, X4 ≥ 0
2. Приведем к стандартной (канонической) форме:
F = 9X1 + 14X2 +15X3 + 10X4 + 0X5 + 0X6
X1 + X2 + X3 + 2X4 + X5 = 3
X1 + 2X2 +3X3 + X4 + X6 = 7
X1, X2, X3, X4 ≥ 0
3. Запишем систему ограничений в векторной форме:
X1 (1/1) + X2 (1/2) + X3 (1/3) + X4 (2/1) + X5 (1/0) + X6 (0/1) = (3/7)
P1 P2 P3 P4 P5 P6 P0
P5, P6 - базисные
4. Запишем первоначальный опорный план:
Х0 (0, 0, 0, 0, 3,7), F0 = 9*0 + 14*0 +15*0 +10*0 + 0*3 +0*7 = 0
Составим соответствующую плану 1 симплексную таблицу:
|
Базис |
Сб |
Р0 |
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
Р6 |
|
|
|
|
9 |
14 |
15 |
10 |
0 |
0 |
|
Р5 |
0 |
3 |
1 |
1 |
1 |
2 |
1 |
0 |
|
Р6 |
0 |
7 |
1 |
2 |
3 |
1 |
0 |
1 |
|
|
-9 |
-14 |
-15 |
-10 |
0 |
0 | ||
Вычислим оценки:
∆ = (Сб*А) - С
∆1 = (0 *1 + 0*1) - 9 = - 9; ∆2 = (0 *1 + 0*2) - 14 = - 14; ∆3 = (0 *1 + 0*3) - 15 = - 15; ∆4 = (0 *2 + 0*1) - 10 = - 10; ∆5 = (0 *1 + 0*0) - 0 = 0; ∆6 = (0 *0 + 0*1) - 0 = 0
Критерием оптимальности является условие, что все ∆ ≥ 0, т.к. это не так, решение не оптимально.
Выберем вектор, который будем включать в базис:
min1 = (3/1; 7/1) = 3; min2 = (3/1; 7/2) =3; min3 = (3/1; 7/3) = 2 1/3; min4 = (3/2; 7/1) = 1 1/2,
теперь посмотрим соотношение min c ∆:
∆f = - ∆*min
∆f 1 = - (-9) *3 = 27; ∆f 2 = - (-14) *3 = 42; ∆f 3 = - (-15) *2 1/3 = 34.95; ∆f 4 = - (-10) *1 1/2 = 15,
Отсюда следует, что менять будем Р5 на Р2.
5. Составим 2 симплексную таблицу:
|
Базис |
Сб |
Р0 |
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
Р6 | ||
|
|
|
|
9 |
14 |
15 |
10 |
0 |
0 | ||
|
Р2 |
14 |
3 |
1 |
1 |
1 |
2 |
1 |
0 | ||
|
Р6 |
0 |
1 |
-1 |
0 |
1 |
-1 |
-1 |
1 | ||
|
|
5 |
0 |
-1 |
4 |
14 |
0 | ||||
7- (3*2) /1 = 1; 1 - (1*2) /1 = - 1; 3 - (2*1) /1 = 1; 1- (2*1) /1 = - 1; 0- (1*1) /1 = - 1; 1- (0*1) /1 = 1
∆1 = 14*1+0* (-1) - 9 = 5; ∆3 = 14*1+0*1-15 = - 1; ∆4 = 14*2+0* (-1) - 10 = 4;
∆5 = 14*1+0* (-1) - 0 = 14; ∆6 = 14*0+0*1-0 = 0;
Х1 (0,3,0,0,0,1); F1 = 9*0+14*3+15*0+10*0+0*0+0*1 = 42
Приняв этот план видим, что выпуск 2го вида продукции является наиболее выгодным, остаток сырья 2го вида продукции составит 1 единица.
Т.к. не все ∆ ≥ 0, план не является оптимальным, поэтому продолжим…..
Вектором Р3 заменим Р6min = (3/1, 1/1) = (3,1)
6. Составим 3 симплексную таблицу
|
Базис |
Сб |
Р0 |
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
Р6 | ||
|
|
|
|
9 |
14 |
15 |
10 |
0 |
0 | ||
|
Р2 |
14 |
2 |
2 |
1 |
0 |
3 |
2 |
-1 | ||
|
Р3 |
15 |
1 |
-1 |
0 |
1 |
-1 |
-1 |
1 | ||
|
|
4 |
0 |
0 |
17 |
13 |
1 | ||||
3-1*1/1=2; 1- (-1) *1/1=2; 1-0*1/1=1; 2-1* (-1) /1=3; 1-1* (-1) /1=2; 0-1*1/1=-1
∆1 = 14*2+15* (-1) - 9 = 4; ∆2 = 14*1+15*0-14 = 0; ∆4 = 14*3+15* (-1) - 10 = 17;
∆5 = 14*2+15* (-1) - 0 = 13; ∆6 = 14* (-1) +15*1-0 = 1;
Х2 = (0,2,1,0,0,0); F2 = 9*0+14*2+15*1+0 = 43
План является оптимальным, говорим о том, что наиболее выгодным является производство 2единиц 2 вида продукции и 1единицы 3 вида продукции, причем сырье расходуется полностью.
