
- •Конспект лекцій
- •Поиск оптимального значения функции с помощью метода наискорейшего спуска
- •Использование метода оврагов для поиска экстремумов функции
- •Поиск оптимального значения функции с помощью метода Нелдера-Мида
- •Контрольні запитання
- •Тема 2.
- •Контрольні запитання
- •Тема 3.
- •Контрольні запитання
- •Тема 4.
- •Л8.2 Двойственные задачи линейного программирования
- •Контрольні запитання
- •Тема 5.
- •Контрольні запитання
- •Тема 6.
- •Решение многокритериальной задачи с помощью теоретико-игрового подхода
- •2.1. Постановка задачи
- •2.2 Общая схема решения
- •3. Сформируем квадратную матрицу, строки которой соответствуют k оптимальным векторам X*I , а столбцы ‑ k целевым функциям CjXext .
- •2.3. Решение игровой задачи путем сведения ее к паре взаимно-двойственных задач линейного программирования
- •Контрольні запитання
- •Тема 7.
- •Контрольні запитання
- •Тема 9.
- •Контрольні запитання
Контрольні запитання
1. Задача про дієту.
2. Різні способи завдання обмежень.
3. Задача про призначення.
4. Задача оптимального розкрою.
5. Цілочисельне програмування.
6. Метод Гоморі.
7. Задача закріплення літаків за авіалініями.
Рекомендована література: [1,3,8,9,10]
Тема 4.
Подвійність у лінійному програмуванні
Розглянуті питання з теми:
Подвійність у лінійному програмуванні. 1 і 2 теореми подвійності. Економічна інтерпретація пари подвійних задач.
Л8.2 Двойственные задачи линейного программирования
Для каждой задачи линейного программирования можно определенным образом сформулировать некоторую другую задачу линейного программирования, называемую двойственной по отношению к исходной, или прямой задаче.
Дадим определение двойственной задачи по отношению к общей задаче линейного программирования, состоящей в нахождении максимального значения функции
Z = p1x1 + … + pnxn (1.3.1)
при ограничениях-неравенствах
ai1x1 + … + ainxn ai ; (i=
), (1.3.2)
при ограничениях-равенствах
ai1x1 + … + ainxn = ai ; (i=
),
при несвободных переменных
xj 0 (j =
), (1.3.3)
при свободных переменных
xj 0 (j =
).
Определение 1.3.1. Задача линейного программирования, состоящая в нахождении минимального значения функции
W = a1u1 + … + amum (1.3.4)
при несвободных переменных
ui 0 (i = ), (1.3.5)
при свободных переменных
ui 0 (i= ),
при ограничениях-неравенствах
a1ju1 + … + amjum pj (j = ), (1.3.6)
при ограничениях-равенствах
a1ju1 + … + amjum = pj ; (j = )
называется двойственной по отношению к задаче (1.3.1) – (1.3.3).
Сравнивая две сформулированные задачи, видим, что двойственная задача по отношению к прямой составляется по следующим правилам:
максимизация целевой функции (1.3.1) прямой задачи заменяется минимизацией целевой функции (1.3.4) двойственной задачи;
свободные члены a1 , … , am ограничений (1.3.2) прямой задачи служат коэффициентами целевой функции двойственной задачи, коэффициенты p1 , … , pn целевой функции (1.3.1) прямой задачи – свободными членами ограничений (1.3.6) двойственной задачи (так что число переменных двойственной задачи равно m – числу ограничений прямой задачи, а число ограничений двойственной задачи n – числу переменных прямой задачи);
матрицей коэффициентов ограничений двойственной задачи служит матрица Aт, получаемая транспонированием матрицы A коэффициентов ограничений прямой задачи;
каждому ограничению-неравенству ai1x1 + … + ainxn ai ( ai) (i= 1, …, k) прямой задачи соответствует несвободная переменная двойственной задачи с противоположным знаком неравенства, т.е.
ui 0 (ui 0) (i= );
каждому ограничению-равенству ai1x1 + … + ainxn = ai ; (i= ) прямой задачи –свободная переменная ui двойственной задачи, т.е.
ui 0 (i= );
каждой несвободной переменной xj 0 (j = ) прямой задачи – ограничение-неравенство a1ju1 + … + amjum pj ( pj), (j = ) двойственной задачи с тем же знаком неравенства;
каждой свободной переменной xj 0 (j = ) прямой задачи – ограничение-равенство a1ju1 + … + amjum = pj ; (j = ) двойственной задачи.
Параллельная запись обеих задач выглядит так:
Прямая задача |
Двойственная задача |
максимизировать линейную функцию Z = p1x1 + … + pnxn при ограничениях-неравенствах ai1x1 + … + ainxn ai (i= ) |
минимизировать линейную функцию W = a1u1 + … + amum При несвободных переменных ui 0 (i= ) |
при ограничениях-равенствах ai1x1 + … + ainxn = ai ; (i= ) |
При свободных переменных ui 0 (i= ) |
при несвободных переменных xj 0 (j = ) |
При ограничениях-неравенствах a1ju1 + … + amjum pj (j = ) |
при свободных переменных xj 0 (j = ) |
При ограничениях-равенствах a1ju1 + … + amjum = pj ; (j = ) |
Прямую задачу можно рассматривать как двойственную по отношению к своей двойственной, т.е. обе задачи являются взаимно двойственными.
Условия пары взаимно двойственных задач можно совместить в одной таблице. Для этого запишем ограничения прямой задачи в виде
Yi = ai1(-x1) + … + ain(-xn) + ai 0 ; (i= );
0 = ai1(-x1) + … + ain(-xn) + ai ; (i= ),
а ограничения двойственной задачи – в виде
vj = a1ju1 + … + amjum - pj 0 (j = );
0 = a1ju1 + … + amjum - pj ; (j = )
и совместим их в следующей таблице
|
|
|
... |
|
|
... |
|
|
|
|
|
... |
|
|
... |
|
1 |
|
|
|
... |
|
|
... |
|
|
... |
... |
. |
. |
. |
. |
. |
. |
... |
|
|
|
... |
|
|
... |
|
|
|
|
|
... |
|
|
... |
|
|
... |
... |
. |
. |
. |
. |
. |
. |
... |
|
|
|
... |
|
|
... |
|
|
|
|
|
... |
|
|
... |
|
|
как будет показано далее, решая симплекс-методом основную задачу ()-() линейного программирования, мы одновременно решаем и двойственную ей задачу ()-().
Основная (первая) теорема двойственности. Пусть рассматривается пара двойственных задач. Тогда:
1) если одна из них обладает оптимальным решением, то и другая имеет оптимальное решение, причем экстремальные значения соответствующих целевых функций совпадают:
;
2) если у одной из этих задач целевая функция не ограничена, то двойственная ей задача противоречива;
3) если одна из задач противоречива, то двойственная ей задача либо имеет неограниченную целевую функцию, либо также противоречива.