Методы решения физико-математических задач

Пример решения прямой и двойственной задачи симплекс методом

Условие задачи, решаемой симплекс-методом.
Рассмотрен пример решения задачи симплекс методом, а также пример решения двойственной задачи.

Условие задачи

Для реализации трех групп товаров коммерческое предприятие располагает тремя видами ограниченных материально-денежных ресурсов в количестве b1 = 240, b2 = 200, b3 = 160 единиц. При этом для продажи 1 группы товаров на 1 тыс. руб. товарооборота расходуется ресурса первого вида в количестве a11 = 2 единицы, ресурса второго вида в количестве a21 = 4 единицы, ресурса третьего вида в количестве a31 = 4 единицы. Для продажи 2 и 3 групп товаров на 1 тыс. руб. товарооборота расходуется соответственно ресурса первого вида в количестве a12 = 3, a13 = 6 единицы, ресурса второго вида в количестве a22 = 2, a23 = 4 единицы, ресурса третьего вида в количестве a32 = 6, a33 = 8 единиц. Прибыль от продажи трех групп товаров на 1 тыс. руб. товарооборота составляет соответственно c1 = 4, c2 = 5, c3 = 4 (тыс. руб.). Определить плановый объем и структуру товарооборота так, чтобы прибыль торгового предприятия была максимальной.

К прямой задаче планирования товарооборота, решаемой симплекс методом, составить двойственную задачу линейного программирования.
Установить сопряженные пары переменных прямой и двойственной задачи.
Согласно сопряженным парам переменных из решения прямой задачи получить решение двойственной задачи, в которой производится оценка ресурсов, затраченных на продажу товаров.

Решение задачи симплекс методом

Пусть x1, x2, x3 - количество реализованных товаров, в тыс. руб., 1, 2, 3 - ей групп, соответственно. Тогда математическая модель задачи имеет вид.

F = 4 · x1 + 5 · x2 + 4 · x3 → max
2·x1 + 3·x2 + 6·x3 ≤ 240
4·x1 + 2·x2 + 4·x3 ≤ 200
4·x1 + 6·x2 + 8·x3 ≤ 160
x1 ≥ 0x2 ≥ 0x3 ≥ 0
Решаем симплекс методом.

Вводим дополнительные переменные x4 ≥ 0, x5 ≥ 0, x6 ≥ 0, чтобы неравенства преобразовать в равенства.

2·x1 + 3·x2 + 6·x3 + 1·x4 + 0·x5 + 0·x6 = 240
4·x1 + 2·x2 + 4·x3 + 0·x4 + 1·x5 + 0·x6 = 200
4·x1 + 6·x2 + 8·x3 + 0·x4 + 0·x5 + 1·x6 = 160
x1 ≥ 0x2 ≥ 0x3 ≥ 0x4 ≥ 0x5 ≥ 0x6 ≥ 0

В качестве базиса возьмем x4 = 240; x5 = 200; x6 = 160.
Данные заносим в симплекс таблицу

Симплекс таблица № 1

Cj454000
CiБазисbix1x2x3x4x5x6Q
0x424023610080
0x5200424010100
0x616046800126,67
Δi0 – 4 – 5 – 4

Целевая функция:
F = 3i = 1Ci·bi = 0 · 240 + 0 · 200 + 0 · 160 = 0

Вычисляем оценки по формуле:
Δ(xj) = 3i = 1Ci·aij – Cj.
Оценки базисных переменных всегда равны нулю. Для свободных переменных, имеем:
Δ(x1) = 0 · 2 + 0 · 4 + 0 · 4 – 4 =  – 4
Δ(x2) = 0 · 3 + 0 · 2 + 0 · 6 – 5 =  – 5
Δ(x3) = 0 · 6 + 0 · 4 + 0 · 8 – 4 =  – 4

Поскольку есть отрицательные оценки, то план не оптимален.

Наименьшая оценка Δ(x2) =  – 5. Вводим переменную x2 в базис.

Определяем переменную, выходящую из базиса из условия, чтобы остальные базисные переменные не приняли отрицательных значений. Для этого находим наименьшее неотрицательное отношение Qi = bi/ai2 для столбца x2:
Q1 = 240 / 3 = 80
Q2 = 200 / 2 = 100
Q3 = 160 / 6 = 26,67
Наименьшее неотрицательное отношение Q3 = 26,67 в строке 3. Переменная x6 выходит из базиса.

Вводим переменную x2 в базис. Переменную в строке x6 выводим из базиса. Для этого выполняем эквивалентные преобразования, чтобы столбец x2 состоял из единицы, в строке x2, и нулей, в остальных строках.

3-ю строку делим на 6
Из 1-й строки вычитаем 3-ю строку, умноженную на 3
Из 2-й строки вычитаем 3-ю строку, умноженную на 2

Cj454000
CiБазисbix1x2x3x4x5x6
0x4240 – 3·8032 – 3·233 – 3·16 – 3·431 – 3·00 – 3·00 – 3·16
0x5200 – 2·8034 – 2·232 – 2·14 – 2·430 – 2·01 – 2·00 – 2·16
5x2803231430016

Подробные вычисления
240 – 3·803 = 240 – 2403 = 240 – 80 = 160
2 – 3·23 = 2 – 63 = 2 – 2 = 0
6 – 3·43 = 6 – 123 = 6 – 4 = 2
200 – 2·803 = 200 – 1603 = 200·3–1603 = 4403
4 – 2·23 = 4 – 43 = 4·3–43 = 83
4 – 2·43 = 4 – 83 = 4·3–83 = 43

Получаем новую таблицу.

Симплекс таблица № 2

Cj454000
CiБазисbix1x2x3x4x5x6Q
0x416000210 – 12
0x544038304301 – 1355
5x280323143001640
Δi4003 – 238356

Целевая функция:
F = 3i = 1Ci·bi = 0 · 160 + 0 · 4403 + 5 · 803 = 4003 ≈ 133,3

Вычисляем оценки по формуле:
Δ(xj) = 3i = 1Ci·aij – Cj.
Оценки базисных переменных всегда равны нулю. Для свободных переменных, имеем:
Δ(x1) = 0 · 0 + 0 · 83 + 5 · 23 – 4 =  – 23 ≈  – 0,6667
Δ(x3) = 0 · 2 + 0 · 43 + 5 · 43 – 4 = 83 ≈ 2,667
Δ(x6) = 0 · ( – 12) + 0 · ( – 13) + 5 · 16 – 0 = 56 ≈ 0,8333

Поскольку есть отрицательная оценка Δ(x1) =  – 0,6667, то план не оптимален.

Вводим переменную x1 в базис.

Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение Qi = bi/ai2 для столбца x1:
Q1 = 160 / 0 = ∞
Q2 = 4403 / 83 = 55
Q3 = 803 / 23 = 40
Наименьшее неотрицательное отношение Q3 = 40 в строке 3. Переменная x2 выходит из базиса.

Вводим переменную x1 в базис. Для этого выполняем эквивалентные преобразования, чтобы столбец x1 состоял из единицы, в строке x1, и нулей, в остальных строках.

3-ю строку делим на 23
Из 2-й строки вычитаем 3-ю строку, умноженную на 83

Cj454000
CiБазисbix1x2x3x4x5x6
0x416000210 – 12
0x5440383·408383·10 – 83·324383·20 – 83·01 – 83·0 – 1383·14
4x14013220014

Подробные вычисления
440383·40 = 44033203 = 440–3203 = 40
8383·1 = 8383 = 8–83 = 0
4383·2 = 43163 = 4–163 =  – 4
 – 1383·14 =  – 13812 =  – 13 – 23 = -1–23 =  – 1

Получаем новую таблицу.

Симплекс таблица № 3

Cj454000
CiБазисbix1x2x3x4x5x6
0x416000210 – 12
0x5400 – 4 – 401 – 1
4x14013220014
Δi160014001

Целевая функция:
F = 3i = 1Ci·bi = 0 · 160 + 0 · 40 + 4 · 40 = 160

Вычисляем оценки по формуле:
Δ(xj) = 3i = 1Ci·aij – Cj.
Оценки базисных переменных всегда равны нулю. Для свободных переменных, имеем:
Δ(x2) = 0 · 0 + 0 · ( – 4) + 4 · 32 – 5 = 1
Δ(x3) = 0 · 2 + 0 · ( – 4) + 4 · 2 – 4 = 4
Δ(x6) = 0 · ( – 12) + 0 · ( – 1) + 4 · 14 – 0 = 1

Поскольку отрицательных оценок нет, то план оптимален.

Решение задачи: x1 = 40; x2 = 0; x3 = 0; x4 = 160; x5 = 40; x6 = 0; Fmax = 160

Ответ

x1 = 40; x2 = 0; x3 = 0; x4 = 160; x5 = 40; x6 = 0; Fmax = 160
То есть необходимо реализовать товар первого вида в объеме 40 тыс. руб. Товар 2-го и 3-го видов реализовывать не надо. При этом максимальная прибыль составит Fmax = 160 тыс. руб.

Решение двойственной задачи

Двойственная задача имеет вид:
Z = 240 · y1 + 200 · y2 + 160 · y3 → min
2·y1 + 4·y2 + 4·y3 ≥ 4
3·y1 + 2·y2 + 6·y3 ≥ 5
6·y1 + 4·y2 + 8·y3 ≥ 4
y1 ≥ 0y2 ≥ 0y3 ≥ 0
Вводим дополнительные переменные y4 ≥ 0, y5 ≥ 0, y6 ≥ 0, чтобы неравенства преобразовать в равенства.
2·y1 + 4·y2 + 4·y3 – 1·y4 + 0·y5 + 0·y6 = 4
3·y1 + 2·y2 + 6·y3 + 0·y4 – 1·y5 + 0·y6 = 5
6·y1 + 4·y2 + 8·y3 + 0·y4 + 0·y5 – 1·y6 = 4
y1 ≥ 0y2 ≥ 0y3 ≥ 0y4 ≥ 0y5 ≥ 0y6 ≥ 0

Сопряженные пары переменных прямой и двойственной задач имеют вид:

Основные Дополнительные
x1 x2 x3 x4 x5 x6
y4 y5 y6 y1 y2 y3
Дополнительные Основные

Из последней симплекс таблицы № 3 прямой задачи, находим решение двойственной задачи:
Zmin = Fmax = 160;
y1 = Δ4 = 0; y2 = Δ5 = 0; y3 = Δ6 = 1; y4 = Δ1 = 0; y5 = Δ2 = 1; y6 = Δ3 = 4;

Ответ

y1 = 0; y2 = 0; y3 = 1; Zmin = 160.

Автор: Олег Одинцов.     Опубликовано:

Меню