8.8. Двойственные задачи линейного программирования. Взаимодвойственные задачи
Рассмотрим задачу об использовании ресурсов. Пусть предприятие № 1 производит п видов продукции и использует т видов сырья. Известна прибыль, получаемая с единицы продукции . Известны технологические коэффициенты . Требуется организовать производство так, чтобы предприятию была обеспечена максимальная прибыль. Сведем все исходные данные в следующую таблицу:
Цены на ресурсы | Запасы сырья | Продукция | |||
П1 | П2 | … | Пn | ||
u1 | a1 | a11 | a12 | … | a1n |
u2 | a2 | a21 | a22 | … | a2n |
… | … | … | … | … | … |
um | am | am1 | am2 | … | amn |
| Прибыль с единицы продукции | c1 | c2 | … | cn |
Запишем в общем виде экономико-математическую модель задачи об использовании ресурсов. Для этого введем переменные — количество продукции j-го вида. Тогда ограничения на сырье запишутся в виде
(8.55)
Целевая функция, определяющая максимум прибыли, имеет вид
По этим же исходным данным сформулируем задачу по предприятию № 2.
Допустим, предприятие № 2 решило закупить все ресурсы, которыми располагает предприятие № 1. В этом случае предприятию № 2 необходимо установить оптимальные цены на эти ресурсы, исходя из следующих условий:
-
общая стоимость ресурсов для предприятия № 2 должна быть минимальной;
-
за каждый вид ресурса предприятию № 1 надо уплатить не менее той суммы, которую это предприятие может получать при переработке данного вида ресурса в готовую продукцию.
Обозначим цены, по которым предприятие № 2 покупает ресурсы у предприятия № 1, через . Запишем экономико-математическую модель для предприятия № 2 с учетом вышеуказанных условий 1) и 2).
Целевая функция, определяющая минимальную суммарную стоимость ресурсов, имеет вид
(8.57)
В соответствии с условием 2) запишем систему ограничений:
(8.58)
Сравним математические модели задач (8.55), (8.56) и (8.57), (8.58):
1) число неизвестных одной задачи равно числу ограничений другой задачи;
-
матрица коэффициентов системы ограничений получается одна из другой путем транспонирования;
-
неравенства в системах ограничений имеют противоположный смысл;
-
свободные члены системы ограничений одной из задач становятся коэффициентами целевой функции другой задачи, коэффициенты целевой функции превращаются в свободные члены ограничений;
-
целевые функции в задачах имеют противоположный смысл: в первой — max, во второй — min.
Задачи линейного программирования, обладающие пятью указанными формальными признаками, называются симметричными. Одна из них называется основной, а другая — двойственной.
В линейном программировании кроме симметричных двойственных пар существуют несимметричные двойственные пары, которые имеют следующий вид:
основная задача:
(8.59)
(8.60)
двойственная задача:
(8.61)
(8.62)
Эти задачи отличаются от симметричной пары двумя особенностями;
-
ограничения задачи (8.59)—(8.60) выражены уравнениями вместо неравенств;
-
в задаче (8.61)—(8.62) отсутствуют условия неотрицательности переменных .
Общее правило построения двойственной пары
К пяти признакам, сформулированным ранее, необходимо добавить следующие:
а) в исходной задаче ограничения неравенства следует записывать со знаком г, если целевая функция стремится к min, и со знаком , если целевая функция стремится к max;
б) каждому ограничению неравенства исходной задачи соответствует в двойственной задаче условие неотрицательности переменных ;
в) каждому условию равенства соответствует переменная yi- без ограничения на знак, и наоборот: неотрицательным переменным xkиз основной задачи в двойственной задаче соответствуют ограничения неравенства, а неограниченным по знаку переменным соответствуют равенства.
Пример 8.15.
Дана следующая система:
Проверяем условие: целевая функция стремится к min, а знак неравенства должен быть . Исходная задача соответствует данному условию, и можно сразу приступить к построению симметричной двойственной пары.
Так как в прямой задаче в системе ограничений два неравенства, то в двойственной будет две переменных u1 и и2, причем .
Целевая функция:
.
Учитывая, что целевая функция на max и в прямой задаче , то система ограничений запишется в следующем виде:
Пример 8.16.
Имеем систему
и не имеют ограничения знака;
Так как целевая функция на min, то в исходной задаче ограничения неравенства должны иметь знак . Умножим второе неравенство системы на -1:
В прямой задаче число ограничений равно 3, значит, в двойственной будет три переменных: . Так как и2 и и3 соответствуют неравенствам, то . Параметр и1 соответствует равенству, поэтому и1 — переменная без ограничения знака.
Число ограничений в двойственной задаче равно 5, так как в прямой задаче пять переменных, в том числе первое, третье и пятое ограничения будут неравенствами, потому что они соответствуют неотрицательным переменным, а второе и четвертое ограничения будут уравнениями, так как соответствуют переменным без ограничения знака. Запишем двойственную задачу с учетом вышеизложенного:
целевая функция:
ограничения:
Решение симметричных двойственных задач
Сформулируем без доказательства теорему, справедливую для любых двойственных задач.
Теорема (первая теорема двойственности). Если одна из двойственных задач имеет оптимальное решение, то и другая его имеет.
Причем экстремальные значения целевых функций совпадают. Если же в одной задаче целевая функция не ограничена, то двойственная ей задача противоречива.
Запишем в обшем виде прямую и двойственную задачи линейного программирования:
а) прямая задача:
(8.63)
б) двойственная задача:
(8.64)
Преобразуем задачи (8.63) и (8.64) к виду, допускающему применение симплекс-алгоритма. Для этого введем выравнивающие переменные в прямую задачу и — в двойственную задачу:
а) прямая:
(8.63’)
б) двойственная:
(8.64’)
Построим для задач (8.63') и (8.64') общую симплекс-таблицу, причем эта таблица имеет дополнительные столбец и строку для двойственной задачи:
Двойственная задача | v1 | v2 | … | vn | Lmin | |
| С Б | x1 | x2 | … | xn | свободные члены |
-u1 | y1 | a11 | a12 | … | a1n | a1 |
-u2 | y2 | a21 | a22 | … | a2n | a2 |
… | … | … | … | … | … | … |
-um | ym | am1 | am2 | … | amn | am |
| Zmax | -c1 | -c2 | … | -cn | 0 |
Задачи, представленные в обшей симплекс-таблице, решаются обычным симплекс-методом, алгоритм которого приведен выше.
Сформулируем признаки оптимальности двойственной пары задач:
-
планы Х= (х1 ,х2, .., хп) и U = (u1, u2, ..., ит) оптимальны, если Zmax(X) = Imin(U);
-
решения Х= (х1 ,х2, .., хп) и U = (u1, u2, ..., ит) оптимальны, если все произведения сопряженных условий для этих решений равны 0.
Запишем следующие сопряженные условия:
1 группа:
II группа получается, если умножить на х1, х2, .... хп выражения для базисных переменных двойственной задачи:
Пример 8.17. По исходной задаче построить двойственную и найти оптимальное решение обеих задач.
Согласно общему правилу составления двойственных задач запишем:
Решим задачи в единой симплекс-таблице. Для этого представим их в виде, позволяющем применить симплекс-метод: прямая задача: вводим выравнивающие переменные х5, x6:
х5 = 50 - (3 х1 + 8 х2 + х3 + х4);
х6 = 14 — (5х1 - 4 х2 — х3. + х4);
Zmax = 0 - (З х1 - 5х2 - х3 – х4);
двойственная задача: вводим в левую часть ограничений выравнивающие переменные v1,v2, v3, v4 со знаком «—»:
Итак, составим таблицу, внешний контур которой образует двойственную задачу, внутренний – прямую задачу:
С** | Б* | v1 | v2 | v3 | v4 | Lmin |
С Б | x1 | x2 | x3 | x4 | Свободные члены | |
-u1 | x5 | 3 | 1 | 1 | 50 | |
-u2 | x6 | 5 | -4 | -1 | 1 | 14 |
Свободные члены | Zmax | 3 | -5 | -1 | -1 | 0 |
*Б – базисные переменные. | ||||||
**С – свободные переменные. |
Будем работать по симплекс – методу, но так как записанная в последней строчке функция стремится к максимуму, то в этой строчке мы будем искать наименьший отрицательный элемент:
Построим итоговую таблицу:
С* | Б* | v1 | u2 | v3 | v4 | Lmin |
С Б | x1 | x5 | x3 | x4 | Свободные члены | |
-v2 | x2 | 3/8 | 1/8 | 1/8 | 50/8 | |
-u2 | x6 | 52/8 | 4/8 | -4/8 | 12/8 | 39 |
Свободные члены | Zmax | 39/8 | 5/8 | -3/8 | -3/8 | 250/8 |
С* | Б* | v1 | u1 | v2 | v4 | Lmin |
С Б | x1 | x5 | x2 | x4 | Свободные члены | |
-v3 | x3 | 3 | 1 | 8 | 1 | 50 |
-u2 | x6 | 8 | 1 | 4 | 64 | |
Свободные члены | Zmax | 6 | 1 | 3 | 50 |
С* | Б* | v1 | u1 | v2 | u2 | Lmin |
С Б | x1 | x5 | x2 | x6 | Свободные члены | |
-v3 | x3 | -1 | 1/2 | 6 | -1/2 | 18 |
-v4 | x4 | 4 | 1/2 | 2 | 1/2 | 32 |
Свободные члены | Zmax | 6 | 1 | 3 | 0 | 50 |
Итак, мы получили итоговую таблицу, в последней строчке которой нет отрицательных элементов, следовательно, задачи решены:
прямая задача X = (0; 0; 18; 32), Zmm = 50;
двойственная задача U = (1; 0), Lmin = 50.
Проверим полученное решение на оптимальность;
условие I) выполнено; Z(X) = L (U) = 50.
Для выполнения условия 2) составим произведения сопряженных условий:
Итак, оба условия выполняются, значит, полученный план — оптимальный.
Рассмотренную задачу примера 8.17 можно решить иначе. Для этого необходимо:
-
Решить прямую задачу обычным симплекс-методом. Решение получим следующее: Zmax = 50; X = (0; 0; 18; 32).
-
Составить произведение сопряженных условий и приравнять их к 0:
Подставим вектор X в записанные условия, тогда будем иметь
После преобразований получим
Откуда ,так как , значит, задача решена верно.
- 8.2. Построение экономико-математических моделей задач линейного программирования
- 8.3. Графическое решение задачи линейного программирования
- 8.4. Анализ моделей на чувствительность
- 8.5. Симплекс – метод. Общая идея симплекс – метода
- 8.6. Методы нахождения опорного решения задачи линейного программирования
- 8.7. Экономическая интерпретация решения задачи линейного программирования
- 8.8. Двойственные задачи линейного программирования. Взаимодвойственные задачи
- 8.9. Экономико-математический анализ полученных оптимальных решений
- Итоговая таблица
- Задачи Построить математическую модель задачи линейного программирования (8.1 — 8.30).
- Решите задачи линейного программирования (8.31 — 8.60) графическим методом, проведите анализ на чувствительность.
- Задачи линейного программирования (8.61 – 8.90) решите симплекс-методом и проведите анализ моделей на чувствительность, сформулируйте двойственную задачу к исходной и решите её.
- 9. Транспортные задачи линейного программирования
- 9.1. Постановка задачи
- Исходные данные
- 9.2. Алгоритм метода потенциалов
- Исходные данные
- Начальный план перевозок
- Оптимальный план перевозок
- 9.3. Усложненные задачи транспортного типа
- Исходные данные
- Оптимальное решение
- Исходные данные
- Исходные данные
- Оптимальное решение
- 10. Математическое моделирование управления рынком
- 10.1. Общий подход к разработке аналитической математической модели управления рынком
- 10.2. Содержательная характеристика особенностей модели сэо
- 10. 3. Методы обоснования модели сэо
- 10.4. Основные компоненты модели
- 1.Оценивание требует:
- 2.Оценивание предполагает:
- 3.Оценивание позволяет:
- 11. Основы математического моделирования управления рынком (На примере управления рынком труда)
- 11.1 Механизмы регулирования занятости: понятие, теории и уровни его регулирования
- 11.2. О диалектических связях в развитии рынка труда и занятости сэо
- 11.3 Общий подход к формированию системы рынка труда и занятости населения
- 12. Алгоритмическое обеспечения управления системой рынка труда и занятости населения
- 12.1 Обоснование методологических основ деятельности администрации
- 12.2 Алгоритмическое обеспечение управления системой рынка труда и занятости
- 1.Оценивание требует:
- 2.Оценивание предполагает:
- 3.Оценивание позволяет:
- 12.3 Разработка алгоритма реализации модели поставки ресурсов на рынок труда в условиях воздействия разнородных факторов
- 12.4 Разработка алгоритма реализации комплексной модели информационно-управляющей системы рынка труда и занятости населения
- Приложение 1
- Приложение 2
- Литература
- Содержание
- В.Г. Бурлов математические методы моделирования в экономике