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

1608

.pdf
Скачиваний:
0
Добавлен:
07.01.2021
Размер:
1.39 Mб
Скачать

либо на линии (гиперплоскости), ограничивающей ОДР, и тогда решений много.

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

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

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

2.Задача о рекламе или, иначе, задача оптимального распределения ресурсов.

3.Задача о назначениях.

4.Задача оптимального раскроя материала.

5.Задача о диете, которую иногда называют задачей о смесях либо задачей о ресторане.

6.Задача о коммивояжере.

7.Задача о рюкзаке или, иначе, задача об упаковках. Наименование каждой типовой задачи линейного

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

Или возьмем в качестве примера другую задачу – задачу о ресторане, которая решает проблему оптимальных продуктовых закупок для крупного пункта общественного питания (столовая, кафе, ресторан). Вместе с тем, она позволяет выбрать рацион питания

10

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

Вопросы и задания для самоконтроля

1. Дать понятие задачи линейного программирования.

2.Привести экономико - математическую постановку задачи линейного программирования.

3.Дать понятие целочисленного линейного программирование.

4.Что

представляет

собой

параметрическое

линейное

программирование?

 

 

 

 

5.Как

графически

решается

задача

линейного

программирования?

6.Дать понятие области допустимых решений задачи линейного программирования.

7.Каковы методы решения задач линейного программирования?

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

11

ГЛАВА 2. ТРАНСПОРТНАЯ ЗАДАЧА

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

2.1.Экономико-математическая постановка задачи

Вобщем виде транспортная задача имеет следующую экономико-математическую постановку. Пусть существует транспортная сеть (см. рис. 2), согласно которой имеется n

поставщиков однородного продукта с запасами А1, А2,…, Аn и m потребителей или заказчиков этого продукта с величинами заказов,

соответственно, В1, В2,…, Вm и задана матрица (см. табл. 1) удельных транспортных расходов Cij (где Cij - расходы на транспортировку единицы однородного продукта от i -го поставщика к j-му заказчику). Необходимо составить план транспортировки этого продукта от поставщиков к заказчикам при условии вывоза всего продукта от поставщиков и удовлетворения всех заказов потребителей, обеспечив при этом минимум суммарных транспортных расходов.

Втакой постановке транспортная задача имеет два варианта. Если сумма всех запасов поставщиков равна сумме всех заказов потребителей, т.е.

n

m

 

Аi B j ,

(14)

i 1

j 1

 

то такая модель называется

закрытой транспортной

моделью,

которая приемлема для решения.

 

 

Однако возможен вариант, когда

 

 

12

 

n

m

 

 

Аi B j ,

(15)

i 1

j 1

 

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

n

Вm 1 Аi

i 1

m

 

B j .

(16)

j 1

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

 

 

 

 

 

 

 

Таблица 1

Матрица удельных транспортных расходов

 

 

 

 

 

 

 

 

 

 

 

 

 

Заказчики

 

 

№ п/п

1

2

 

 

 

m

 

1

C11

C12

 

 

 

C1 m

 

 

 

 

 

 

 

 

Поставщики

2

C21

C22

 

 

 

C2 m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

C n1

C n2

 

 

 

C nm

Для постановки транспортной задачи (закрытой транспортной модели) вводим дополнительную переменную Xij – искомая величина поставки однородного продукта от i – го поставщика к j – ому заказчику и обозначаем целевую функцию рассматриваемой задачи как R(Xij). Согласно условию задачи необходимо обеспечить минимум суммарных транспортных расходов на перемещение этого продукта от поставщиков к заказчикам. Для понимания этого вопроса составим формулу для определения транспортных расходов на перевозку Х11 единиц однородного продукта от первого поставщика к первому заказчику при условии, что стоимость транспортировки одной единицы этого продукта от первого поставщика к первому заказчику равна С11.

13

 

 

X11

 

B1

A1

 

 

 

X21

 

 

 

 

 

 

 

 

 

 

 

X12

B2

A2

 

 

 

 

 

X2m

 

 

 

 

 

 

 

 

 

 

 

 

Xn1

 

 

Xn2

 

 

 

 

X2(m+1)

Xnm

 

Bm

 

 

 

 

An

 

 

 

 

 

 

 

 

 

Xn(m+1)

X1(m+1)

 

 

 

 

 

 

 

Bm+1

Рис. 2. Геометрическая интерпретация транспортной сети

Тогда будем иметь - С11 Х11 . Распространяя эту формулу на всех поставщиков и всех заказчиков, получим функцию цели:

R( Xij ) C11 X11 C12 X12 ... Cnm X nm min .

(17)

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

1. Ограничения по поставкам: куда бы ни поставлялся однородный продукт от рассматриваемого поставщика, суммарная величина поставок не должна превышать запасов этого продукта у данного поставщика. Рассмотрим для примера первого поставщика с запасом продукта А1, который поставляет продукт всем заказчикам (хотя некоторые поставки могут быть и нулевыми), а именно Х11 – первому, Х12 – второму и т.д. Х1m – последнему m - му заказчику.

Тогда имеем

X11 X12 Х13 ... X 1m А1;

 

 

 

 

(18)

далее по аналогии для остальных поставщиков:

X 21 X 22 Х 213 ... X 2m А2 ;

 

 

 

 

 

 

 

 

 

Хn1 Хn2 Хn3 ... Xnm Аn.

 

 

 

 

 

 

14

2. Ограничения по заказам: откуда бы ни поставлялся однородный продукт рассматриваемому заказчику, суммарная величина всех поставок не должна быть ниже уровня заказа данного заказчика. Рассмотрим этот постулат на примере первого заказчика, а затем по аналогии распространим это соотношение на остальных заказчиков. Итак, величина заказа первого заказчика – В1, который, в самом общем случае, может быть удовлетворен за счет поставок от всех поставщиков (хотя некоторые поставки могут быть и нулевыми). Тогда величина поставок однородного продукта от первого поставщика первому заказчику – Х11, от второго – Х21 и т.д., от n – го – Хn1, а это значит, что

X11 X 21 X 31 ... X n1

B1;

 

 

и далее по аналогии для остальных заказов

 

 

 

 

X12 X 22 X 32 ... X n2

B2 ;

 

(19)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

1m

X

2m

X

3m

...X

nm

B ;

 

 

 

 

 

 

m

 

 

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

Поэтому

Х11 0; Х21 0; Х31 0; … Хnm 0.

(20)

Совокупность целевой функции (17) и системы ограничений (18) (20) принято называть транспортной задачей. В литературе

часто можно встретить компактную форму записи этой задачи, которая имеет следующий вид:

n

m

 

R( X )

Cij Xij min ;

(21)

i1

j1

 

m

 

 

 

 

Xij Ai , i

1, n

;

(22)

j 1

15

n

 

 

 

 

 

 

 

 

 

Xij Bj , j

1, m

;

 

 

(23)

i 1

 

 

 

 

 

 

 

 

 

Xij 0,

 

j

 

 

 

i

1, n

,

1, m

.

(24)

Транспортная задача, как и любая другая, после того как она будет поставлена, требует своего решения. Рассмотрим решение этой задачи методами «северо-западного угла» и минимальной стоимости.

2.2. Решение транспортной задачи методами «северо-западного угла» и минимальной стоимости

Решать транспортную задачу при необходимости можно и вручную. Для этого удобно составить таблицу с (m+1) столбцами и (n+1) строками, которая называется матрицей перевозок (см. табл. 2).

В первом столбце указываются запасы однородного продукта у поставщиков, а в первой строке – потребности заказчиков. Во внутренних клетках матрицы m х n записываются ненулевые перевозки, а в правом верхнем углу каждой из этих клеток – удельные транспортные расходы (Cij) на перевозку единицы однородного продукта, в которой измеряются поставки Xij, от i-го поставщика к j-му заказчику. При этом клетка матрицы перевозок, в которой указана величина поставки, называется занятой, а клетка без перевозки, соответственно, свободной.

2.2.1. Метод «северо-западного угла»

Поскольку решение транспортной задачи необходимо начинать с какой-нибудь клетки матрицы перевозок (см. табл. 2), то в методе «северо-западного угла» стартовой клеткой принята та, которая расположена в верхнем левом углу (или иначе клетка, величина поставки которой обозначена Х11). Это направление на географической карте принято считать северо-западным. Отсюда произошло обозначение метода – метод «северо-западного угла». С таким же успехом можно было начинать решение транспортной задачи с любого иного угла матрицы перевозок (см. табл. 2).

Клетка с величиной поставки Х11 связана, с одной стороны, с первым поставщиком, величина запаса однородного продукта которого А1, а, с другой, – с первым заказчиком, которому требуется В1 единиц однородного продукта. Удовлетворяем полностью

16

величину заказа первого заказчика. Здесь возможны два ситуационных варианта.

1.Величина запаса однородного продукта у первого поставщика достаточна, чтобы удовлетворить величину заказа первого заказчика. В этом случае, остаток запаса однородного продукта (А1 В1) распределяется по остальным заказчикам (Х12, Х13, и т.д.). После того, как будет исчерпан запас первого поставщика (А1) мысленно удаляем из дальнейшего рассмотрения первую строку (величина запаса первого поставщика исчерпана, т.е. распределена по заказчикам) и те столбцы, величины заказов заказчиков которых удовлетворены за счет поставок от первого поставщика. При этом остальные величины поставок от первого поставщика принимают нулевыми.

2.Величина запаса однородного продукта у первого поставщика не достаточна для удовлетворения заказа первого заказчика. В этом случае, удовлетворение недостающей величины заказа (В1 А1) первого заказчика осуществляется за счет поставок остальных поставщиков (Х21, Х31, и т.д.).

 

 

 

 

 

 

Таблица 2

 

 

Матрица перевозок

 

 

 

 

 

 

 

 

 

 

 

Заказчики

 

 

 

 

 

 

 

Поставщики

В1

В2

 

Вj

 

 

Вm

 

 

 

 

 

 

 

А1

C11

C12

 

C1j

 

 

C1m

X11=

X12=

 

X1j=

 

 

X1m=

 

 

А2

C21

C22

 

Cj2

 

 

C2m

X21=

X22=

 

X2j=

 

 

X2m=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аi

Ci1

Ci2

 

Cij

 

 

Cim

Xi1=

Xi2=

 

Xij=

 

 

Xim=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аn

Cn1

Cn2

 

Cnj

 

 

Cnm

Xn1=

Xn2=

 

Xnj=

 

 

Xnm=

 

 

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

17

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

заказчикам (Х22, Х23 и т.д.).

После того, как удовлетворен заказ первого заказчика, переходят к следующей левой верхней клетке оставшейся матрицы перевозок (см. табл. 2). Рассматривается следующий неудовлетворенный заказ и по вышеизложенной методике происходит распределение оставшихся запасов однородного продукта от оставшихся поставщиков оставшимся заказчикам до тех пор, пока не будут исчерпаны все запасы поставщиков, и не будут удовлетворены все заказы заказчиков.

Определим максимальное количество ненулевых перевозок в решении, полученном по методу «северо-западного угла». На каждом шаге, помещая ненулевую перевозку, мы вычеркиваем строку или столбец, а на последнем шаге и строку, и столбец, а это значит, что всего ненулевых перевозок может быть не более, чем n+m-1.

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

2.2.2. Метод минимальной стоимости

Любое решение транспортной задачи связано с использованием матрицы перевозок (см. табл. 2). Сущность метода минимальной стоимости состоит в следующем. Выбирают клетку перевозок (см.табл. 2), у которой минимальная величина удельных транспортных расходов. Если таких клеток окажется не одна, то берут любую из них. Назначают в выбранную клетку максимально возможную величину поставки. Допустим, клеткой с минимальной величиной удельных транспортных расходов оказалась клетка с поставкой Х21. Если величина заказа первого заказчика (В1) не превышает величины запаса однородного продукта у второго

18

поставщика (А2), то берут Х21 = В1. Остальной запас продукта у второго поставщика (А2 - Х21) распределяют остальным заказчикам, начиная с клетки, в которой указана минимальная величина удельных транспортных расходов в рассматриваемой второй строке матрицы перевозок (см. табл. 2). После того, как будет удовлетворен заказ первого заказчика (поставки ему от остальных поставщиков принимаются нулевыми (Х11 = Х31 = … = Хi1 = …Хn1 = 0), когда будет распределен запас однородного продукта второго поставщика (величины поставок от второго поставщика остальным заказчикам принимаются также нулевыми) мысленно удаляем из рассмотрения в дальнейшем первый столбец и вторую строку. Если же за счет запаса однородного продукта у второго поставщика удовлетворены заказы нескольких заказчиков, то мысленно удаляем из дальнейшего рассмотрения соответствующие им столбцы, приняв нулевыми величины поставок от остальных поставщиков.

Но возможна и другая ситуация, когда величина заказа заказчика, обладающего минимальной величиной удельных транспортных расходов, не может быть удовлетворена за счет запасов только одного поставщика. Допустим, в рассматриваемом примере В1 А2. Тогда недостающая часть заказа В1 (В1 - А2) удовлетворяется за счет поставок от других поставщиков. Причем, предпочтение отдается в этом случае тем поставщикам, у которых минимальная величина удельных транспортных расходов, указанных в столбце В1. Остальное распределение поставок по уже изложенной методике: столбцы, величины заказов потребителей которых удовлетворены и строки, величины запасов поставщиков которых исчерпаны, из дальнейшего рассмотрения исключаются, приняв остальные величины поставок в соответствующих столбцах и строках нулевыми.

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

Критерием оценки качества решения транспортной задачи является величина суммарных транспортных расходов, которая требуется для обслуживания рассматриваемой транспортной сети. Для вычисления этого критерия подставляют решение задачи (Хij) в целевую функцию (21). Причем, чем меньше величина R(Xi), при

19

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