- •2. Основы линейного программирования
- •2.1. Задачи линейного программирования
- •2.1.1. Математическая формулировка задачи линейного программирования
- •2.1.2. Примеры прикладных задач линейного программирования
- •2.2. Геометрическая интерпретация задач линейного программирования
- •2.3. Симплекс-метод в линейном программировании
- •2.4. Формализованная симплекс-таблица
- •2.5. Прямая и двойственная задачи линейного программирования
- •2.5.1. Введение в проблему двойственности
- •2.5.2. Двойственный симплекс-метод
- •2.6. Общая теория симплекс-метода на базе линейной алгебры
2.5. Прямая и двойственная задачи линейного программирования
2.5.1. Введение в проблему двойственности
Прямая задача линейного программирования ставится следующим образом. Находят значения переменных (х1, х2, ..., xn), удовлетворяющие условиям:
a11x1 + ... + a1lxl + a1,l+1xl+1 + ... + a1nxn = b1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ak1x1 + ... + aklxl + ak,l+1xl+1 +...+ aknxn = bk
a
(2.11)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
am1x1 + ... + amlxl + am,l+1xl+1 + ... + amnxn ≤ bm,
обращающим в максимум линейную форму
L = c1x1 + ... + cnxn → max.
При этом допускается, что часть переменных x1, ..., x1l имеет любые знаки, а переменные xl+1,...,xn 0.
Прямой задаче соответствует двойственная задача линейного программирования, в которой определяются двойственные переменные, удовлетворяющие соотношениям:
a11y1 + ... + ak1yk + ak+1,1yk+1 + ... + am1xym = c1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a1ly1 + ... + aklyk + ak+1,lyk+1 + ... + amlym = cl
a
(2.12)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a1ny1 + ... + aknyk + ak+1,nyk+1 + ... + amnxym cn,
обращающим в минимум линейную форму
L′ = b1y1 + ... + bmym → min.
Здесь переменные y1, ..., yk также могут иметь произвольные знаки, а yk+1,..., ym 0. Заметим, что l равенствам (2.12) соответствуют свободные переменные x1, ..., xl, а n – l неравенствам – неотрицательные переменные прямой задачи xl+1, ..., xn. И наоборот, k равенствам прямой задачи (2.11) соответствуют свободные (неограниченные по знаку) переменные y1, ..., yk, а n – k неравенствам – неотрицательные переменные yk+1,..., ym двойственной задачи.
Коэффициенты bj, стоящие в правой части ограничений прямой задачи, фигурируют как коэффициенты линейной формы в двойственной задаче, а коэффициенты линейной формы прямой задачи становятся коэффициентами правых частей ограничений двойственной задачи. Матрица АT коэффициентов левых частей ограничений двойственной задачи является транспонированной матрицей А коэффициентов левых частей прямой задачи. Запишем эти матрицы в виде
А
(2.13)
АT = ||ajI||.
Если нет специальных оговорок, далее используется матрица прямой задачи с m строками и n столбцами и i меняется от 1 до m, а j – от 1 до n. Поэтому переменные и коэффициенты имеют, соответственно, индексы xj, aij, yi, bi, cj. Соответственно число ограничений двойственной задачи равно числу неизвестных n прямой, а число неизвестных двойственной задачи равно числу ограничений m прямой задачи.
Кроме того, можно доказать так называемую теорему двойственности, которая утверждает, что
minL′ = maxL,
т.е. оптимальные значения функционалов для решений прямой и двойственной задач совпадают.
Все высказанные положения о взаимоотношении прямой и двойственной задач основаны на свойстве замкнутости пары прямой и двойственной задач, которое заключается в том, что задача, двойственная к двойственной, совпадает с основной, иногда они называются взаимно двойственными. По существу, мы специально так подобрали формализм прямой и двойственной задачи, чтобы удовлетворить сформулированному выше свойству замкнутости. Если попробовать изменить, к примеру, что-нибудь в формулировке двойственной задачи (минимум заменить на максимум или число свободных переменных изменить с k на k + 1), то это приведет к тому, что задача, двойственная к двойственной, не совпадет с прямой. На определенном уровне строгости, принятом в методе конструирования, никаких других доказательств не требуется. Свойство замкнутости (двойственности) широко используется и по существу является укрупненным свойством, с помощью которого можно экономным способом доказывать различные положения и получать методы оптимизации.