Главная / Основы оптимизационных методов / Основная задача линейного программирования

Основная задача линейного программирования

Любую задачу линейного программирования можно свести к стандартной форме, так называемой «основной задаче линейного программирования» (ОЗЛП), которая формулируется так: Найти неотрицательные значения переменных х1, х2, …, Xn, которые удовлетворяли бы условиям-равенствам

(8.1)

И обращали бы в максимум линейную функцию этих переменных:

L = C1x1 + C2x2 + … + Cnxn =>Max. (8.2)

Убедимся в этом. Uo-нерпых, случай, когда L надо обратить не в максимум, а и минимум, легко сводится к предыдущему, если попросту изменить знак L на обратный (максимизировать не L, а L’ = — L). Кроме того, от любых условий-неравенств можно перейти к условиям-равенствам ценой введения некоторых новых «дополнительных» переменных. Покажем, как это делается, на конкретном примере.

Пусть требуется найти неотрицательные значения переменных Х1, х2, х3, удовлетворяющие ограничениям-неравенствам

(8.3)

И обращающие в максимум линейную функцию от этих переменных:

L = 4х1 – х2 + 2х3 => max. (8.4)

Начнем с того, что приведем условия (8.3) к стандартной форме, так, чтобы знак неравенства был , а справа стоял нуль. Получим:

(8.5)

А теперь обозначим левые части неравенств (8.5) соответственно через У1 и У2:

(8.6)

Из условий (8.5) и (8.6) видно, что новые переменные У1, у2 также должны быть неотрицательными.

Какая же теперь перед нами стоит задача? Найти неотрицательные значения переменных Х1, х2, х3, Y1, у2 Такие, чтобы они удовлетворяли условиям-равенствам (8.6) и обращали в максимум линейную функцию этих переменных (то, что в L не входят дополнительные переменные У1, у2, неважно: можно считать, что они входят, но с нулевыми коэффициентами). Перед нами — основная задача линейного программирования (ОЗЛП). Переход к ней от первоначальной задачи с ограничениями-неравенствами (8.3) «куплен» ценой увеличения числа переменных на два (число неравенств).

Возможен и обратный переход: от ОЗЛП к задаче с ограничениями-неравенствами. Пусть перед нами основная задача линейного программирования с ограничениями-равенствами (8.1). Предположим, что среди этих Т равенств линейно независимыми являются R Т 1). В линейной алгебре доказывается (см., например, [4]), что максимальное число линейно независимых равенств, связывающих П переменных X1, X2, …, Xn, равно П, так что вообще RП. В линейной алгебре также доказывается, что систему из R независимых равенств с П переменными X1, Х2, …, Xn всегда можно разрешить относительно каких-то R переменных (называемых «базисными») и выразить их через остальные K = П — R переменных (называемых «свободными»). Свободным переменным можно придавать какие угодно значения, не нарушая условий (8.1). Так вот, для того чтобы перейти от условий-равенств (8.1) к условиям-неравенствам, достаточно разрешить уравнения (8.1) относительно каких-то R базисных переменных, выразить их через свободные, а затем вспомнить, что все переменные должны быть неотрицательными, и записать условия их не отрицательности в виде ограничений-неравенств. А потом «забыть» о базисных переменных и манипулировать только свободными, число которых будет K = П — R. При этом надо будет освободить от базисных переменных также и функцию L, Подставив в нее их выражения через свободные. Таким образом, при переходе от ОЗЛП к задаче с ограничениями-неравенствами число переменных не увеличивается, а уменьшается на число г независимых условий-равенств в ОЗЛП. Примеров такого перехода мы приводить не будем, предоставляя пытливому читателю самому убедиться в его возможности.

Итак, всякая задача линейного программирования может быть сведена к стандартной форме ОЗЛП. Мы не будем подробно останавливаться на способах решения этой задачи. Им посвящены специальные руководства (например, [4, 5]), они описаны во многих книгах по исследованию операций (например, [6, 7]). В следующем параграфе мы изложим только некоторые соображения общего характера относительно существования решения ОЗЛП и способов его нахождения. Никакими расчетными алгоритмами мы заниматься не будем, а отошлем интересующегося читателя к вышеупомянутым руководствам.

1) Равенства называются линейно независимыми, если никакое из них нельзя получить из других путем умножения на какие-то коэффициенты и суммирования, т. е. никакое из них не является следствием остальных.)

Оставить комментарий