Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Chernov_-_Vvedenie_v_LP

.pdf
Скачиваний:
72
Добавлен:
15.02.2016
Размер:
1.18 Mб
Скачать

программирования требует, чтобы среди всех допустимых планов был найден тот план, на котором целевая функция достигает искомого экстремального значения (максимального и минимального, в зависимости от конкретной задачи). Такой план называется оптимальным планом. Значение целевой функции на оптимальном плане называется оптимумом.

Решить задачу линейного программирования - значит найти ее оптимальный план и оптимум.

1.2.2.Формы задачи линейного программирования.

Приведенную выше задачу линейного программирования называют также задачей в общей или смешанной форме. Эту задачу можно упростить, привести с помощью эквивалентных преобразований к более простому и удобному виду.

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

Действительно, если

z f (x1 , x 2 , , x n ) d1x1 d2 x 2 dn x n ,

то maxz min( z) min( d1 x1 d2 x 2 dn x n )

иmin z max( z) max( d1x1 d2 x 2 dn x n )

Таким образом, если в задаче разыскивается максимум или минимум целевой функции, то ее всегда можно перестроить в задачу, в которой требуется разыскать экстремум противоположного смысла.

Во-вторых, систему ограничений также можно упростить. Заметим сначала, что в задаче линейного программирования общего вида не выделены отдельно условия неотрицательности переменных x j 0 .

Однако, они там могут присутствовать среди условий:

21

a i1x1 a i 2 x 2 ... a in x n bi .

Действительно, если в этом неравенстве правая часть bi и все коэффициенты aik, кроме одного, равны 0, а один коэффициент aij = 1, то такое неравенство совпадает с xj 0. Если же такого неравенства среди ограничений нет, то можно воспользоваться очевидным утверждением, что любую величину можно представить в виде разности двух неотрицательных величин, и поэтому соответствующую переменную x можно заменить в задаче на разность двух новых переменных

x j x1j x11j ,

каждая из которых неотрицательна,

x1j 0,x11j 0.

Таким образом, любая задача линейного программирования может быть преобразована к равносильному виду с условием неотрицательности переменных.

Далее, всякое ограничение в форме равенства

a i1 x1 a i 2 x 2 ... a in x n

bi

равносильно паре неравенств противоположного знака

ai1x1 ai 2 x2 ... ain xn bi ,

ai1x1 ai 2 x2 ... ain xn bi .

Таким образом, все ограничения - равенства могут быть заменены неравенствами. Неравенства со знаком могут быть перестроены в неравенства со знаком (и наоборот) путем умножения их обеих частей на -1.

Следовательно, все неравенства задачи можно сделать неравенствами одного и того же заранее заданного знака. Проведенные рассуждения приводят к важному результату.

22

Любую задачу линейного программирования общего вида можно по своему желанию привести к любому из двух следующих видов.

К виду:

n

max c j x j

j 1

n

a ij x j bi (i 1, m)

j 1

x 0 ( j 1, n)j

или же к виду:

n

min c j x j

j 1

n

a ij x j bi (i 1, m)

j 1

x 0 ( j 1, n)j

Оба эти вида называются стандартными видами задачи линейного программирования.

Любую задачу общего вида можно преобразовать к любому из двух стандартных видов.

Задача стандартного вида не содержит равенств, все они заменены в ней неравенствами. Однако можно сделать и наоборот, все неравенства (кроме условий неотрицательности переменных) преобразовать в равенства. Делается это следующим образом.

Неравенство

n

a ij x j bi

j 1

заменяется равносильной парой условий:

23

n

 

yi

bi

a ij x j

j 1

 

 

 

 

 

 

 

 

0

 

 

y j

 

 

 

 

 

 

где yi - новая переменная, не входившая ранее в задачу.

Такая переменная для задачи оптимального использования ресурсов имеет ясный экономический смысл. Величина yi - это та часть доступного ресурса bi, которая остается неиспользованной.

Неравенство противоположного знака

n

a ij x j bi

j 1

можно умножить на -1 и все свести к предыдущему случаю.

Но можно и непосредственно заменить его парой условий:

n

 

yi

bi

a ij x j

j 1

 

 

 

 

 

 

 

 

0

 

 

y j

 

 

 

 

 

 

где yi - новая переменная.

Таким образом, мы получили новый результат. Любую задачу линейного программирования общего вида можно привести к виду:

n

max c j x j

j 1

n

a ij x j bi (i 1, m)

j 1

x 0 ( j 1, n)j

или же виду:

24

n

min c j x j

j 1

n

a ij x j bi (i 1, m)

j 1

x 0 ( j 1, n)j

Эти два вида отличаются друг от друга только видом экстремума целевой функции. Их основные ограничения имеют форму равенств, переменные неотрицательны.

Каждый из этих видов задачи называется канонической формой линейного программирования.

Таким образом, любая задача линейного программирования может быть приведена к канонической форме.

Заметим, что рассмотренные выше примеры задач: задача производственного планирования, задача о диете, транспортная задача, - являются задачами линейного программирования. При этом построенные нами исходные формы моделей для первых двух задач являются задачами в двух различных стандартных формах. Открытая модель транспортной задачи оказывается задачей общего вида, а закрытая модель - задачей в канонической форме. Приведенные рассуждения показывают, что для любой из этих задач можно от любой формы перейти к любой другой форме.

Среди различных способов записи задачи линейного программирования особенно простым и удобным является матричный способ. Он позволяет представить задачу в простой и компактной форме, и применить аппарат матричной алгебры к ее анализу и решению.

Пусть А - матрица коэффициентов системы ограничений. Она имеет размерность m n. Ее элементами являются коэффициенты aij при переменных в системе ограничений:

25

a

 

, a

 

,...a

 

 

11

 

12

 

1n

 

 

 

 

 

 

a

21, a

22 ,...a 2n

A

 

 

 

 

 

.......... ......

a m1 , a m 2 ,...a mn

Пусть С - вектор-строка размерности являются коэффициенты сj - при переменных в

C (c1 ,c2 , , cn )

n, элементами которого целевой функции

Пусть В - вектор-столбец размерности m, элементами которого являются свободные члены bi ограничений. Пусть 0 - нулевой векторстолбец размерности n, его элементами являются нули. Пусть Х - векторстолбец размерности n, элементами которого xj являются переменные задачи.

b

 

 

 

 

1

 

 

 

 

 

 

b

2

 

 

B

 

 

,

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

b m

 

 

0

 

 

 

 

 

 

 

 

 

 

 

0

 

 

O

 

 

,

 

 

 

 

 

...

 

 

 

 

 

 

0

 

 

 

 

 

x

 

 

 

1

 

 

 

 

x

2

 

X

 

.

 

 

 

...

 

 

 

 

 

 

 

x n

 

Как мы уже знаем, любую задачу линейного программирования можно привести к каждой из стандартных и канонических форм. В матричной записи стандартные формы задачи (на максимум и на минимум) имеют следующий вид:

max CX

min CX

AX B

AX B

 

 

 

 

 

 

X 0

X 0

26

Канонические формы задачи в матричной записи имеют следующее представление:

max CX

min CX

AX B

AX B

 

 

 

 

 

 

X 0

X 0

Задачи линейного программирования позволяют моделировать не только производственные ситуации. Проблемы различных областей экономики и управления моделируются, исследуются и решаются методами линейного программирования.

Рассмотрим несколько примеров задачи линейного программирования с различными источниками возникновения.

Начнем с важный класс задач линейного программирования - класс так называемых транспортных задач.

1.3.Транспортная задача

1.3.1.Пример транспортной задачи

Имеется два пункта производства продукции: "Северный" и "Южный". Эти пункты способны производить ежемесячно 1,5 тыс. тонн и 2 тыс. тонн продукции соответственно.

Имеется три пункта потребления этой продукции: "Горный", "Озерный" и "Лесной". Ежемесячные потребности этих пунктов в продукции составляют соответственно 0,8 тыс. тонн, 1,6 тыс. тонн и 1 тыс. тонн. Стоимость транспортирования 1 тонны груза от пункта производства к пункту потребления представлена в таблице 3.

27

 

 

 

Таблица 2.

 

 

 

 

Пункт

1.

2.

3.

назначения

"Горный"

"Озерный"

"Лесной"

Пункт

 

 

 

отправления

 

 

 

1.

90

80

50

Северный

 

 

 

2. Южный

100

120

110

 

 

 

 

Требуется построить математическую модель для определения такого плана перевозки грузов, с которым были бы связаны наименьшие затраты на перевозку.

Для удобства записи обозначим пункты производства числами 1 и 2 и пункты потребления числами 1, 2 и 3. Построение модели начнем с введения переменных. Обозначим посредством хij объем перевозки (в тоннах) от i-го пункта производства к j-му пункту потребления.

Индекс i принимает одно из двух значений 1 или 2, а индекс j - одно из трех значений 1, 2 или 3. Таким образом, мы ввели 6 переменных. Из них, например, переменная х11 соответствует объему перевозок от 1-го пункта производства ("Северный") к 1-му пункту потребления ("Горный"), а переменная х23 - объему перевозок от 2-го пункта производства ("Южный") к 3-му пункту потребления ("Лесной").

Набор значений переменных хij - это и есть план перевозок. Поскольку переменные имеют по два индекса, то план удобнее записывать не в виде вектора, а в виде матрицы:

x

11

x

12

x

13

 

 

 

 

 

X

 

 

 

 

 

 

 

 

x 22

 

 

 

x 21

x 23

Математическая модель задачи записывается в следующем виде.

28

min(90x11 80x12 50x13 100 x 21 120 x 22 110 x 23 )x11 x12 x13 1500

x 21 x 22 x 23 2000

x11 x 22 800

x12 x 22 1600

x13 x 23 1000

x11 0,x12 0,x13 0

x 21 0,x 22 0,x 23 0

Целевая функция задачи представляет собой сумму произведений стоимостей перевозки 1 т груза на объем перевозки для каждой пары поставщика-потребителя, то есть общую суммарную стоимость всех перевозок, соответствующих плану Х. Эту суммарную стоимость следует минимизировать при условии, что будут выполнены все ограничения.

Ограничения на перевозки можно разбить на три группы. Первая группа - это верхние два неравенства. В каждое из них входят переменные с одним и тем же первым индексом, но различными вторыми индексами, то есть переменные, соответствующие одному и тому же пункту производства, но различным пунктам потребления. Каждое из этих неравенств говорит о том, что суммарный объем всех грузов, вывозимых из одного и того же пункта производства в разные пункты потребления, не превосходит того количества продукции, которое может быть произведено в данном пункте производства.

Вторая группа - это следующие три неравенства. В каждое из них входят переменные с одним и тем же вторым индексом, но разными первыми индексами. Эти переменные соответствуют одному пункту потребления, но разным пунктам производства. Такое неравенство утверждает, что объем всего груза, который свозится из разных пунктов

29

производства в один и тот же пункт потребления, должен быть не меньше, чем объем потребности в данном пункте потребления.

Наконец, третья группа ограничений утверждает, что все объемы перевозок неотрицательны.

Вданной задаче сумма грузов, имеющихся во всех пунктах производства (3500 т) больше, чем сумма потребностей в грузах, имеющихся во всех пунктах потребления (3400 т). Такая транспортная задача имеет план перевозок минимальной суммарной стоимости. Как найти такой оптимальный план - этим вопросом мы займемся позже, но такой план существует. А вот если бы оказалось наоборот, если бы суммарный груз в пунктах производства оказался меньше суммарной потребности в пунктах потребления, то задача оказалась бы неразрешимой. Она не имела бы даже допустимых планов, и тем более не имела бы оптимального плана.

Если же суммарный груз в пунктах производства в точности равен суммарной потребности в пунктах потребления, то задача имеет решение, и ее математическая модель в этом случае может быть изменена.

Вэтом случае из пунктов производства должно быть вывезено все. Это значит, что ограничения первой группы, связанные с пунктами производства, должны выполняться в форме равенства. Точно так же и пункты потребления не могут быть в этом случае удовлетворены с избытком. Следовательно, и ограничения второй группы должны выполнятся в форме равенства.

Предположим, например, что потребность третьего пункта потребления равна не 1000 т, а 1100 т. Тогда суммарный груз в пунктах производства (3500 т) равен суммарной потребности в пунктах потребления (тоже 3500 т). В этом случае в математической модели неравенства первых двух групп ограничений могут быть заменены равенствами. Модель при этом будет иметь следующий вид.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]