Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






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


Любую задачу линейного программирования можно свести к стандартной форме, так называемой «основной задаче линейного программирования» (ОЗЛП), которая формулируется так: найти неотрицательные значения переменных х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) Равенства называются линейно независимыми, если никакое из них нельзя получить из других путем умножения на какие-то коэффициенты и суммирования, т. е. никакое из них не является следствием остальных.)

 



Последнее изменение этой страницы: 2016-06-09

headinsider.info. Все права принадлежат авторам данных материалов.