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

Учебное пособие 1967

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
3.23 Mб
Скачать

Согласно данному плану перевозок функция цели – общая стоимость перевозок всего груза - составляет

f(х) = 5 20 + 4 10 + 1 70 + 3 10 + 1 40 + + 2 30 + 1 70 = 410.

Вырожденный план. При построении опорного плана нужно следить, чтобы сумма перевозок по каждой строке была равна соответствующим запасам, а сумма перевозок по каждому столбцу – потребности. Количество заполненных клеток равно m + n – 1. Если план вырожденный, т.е. если на очередном шаге запас аi равен потребности bj, в этом случае необходимо считать одну из клеток (либо справа, либо под последней заполненной клеткой) базисной со значением, равным нулю. Этот нуль вписывают, и соответствующая клетка считается занятой.

Пусть условия задачи заданы следующей таблицей.

 

 

 

 

 

 

Таблица 15

Пункты

 

Пункты назначения

 

 

Предложе-

отправления

В1

В2

В3

В4

 

ние

 

5

4

2

 

5

 

А1

20

10

 

 

 

30

 

 

 

 

 

 

6

1

1

 

3

 

А2

 

70

 

 

 

70

 

 

 

 

 

 

 

2

3

1

 

8

 

А3

 

0

30

20

 

50

 

 

 

 

 

6

3

 

 

1

 

А4

 

 

2

100

 

100

 

 

 

 

 

 

Спрос

20

80

30

120

 

250

На первом шаге заполняем северо-западный угол, полагая Х11 = 20, клетки (2,1), (3,1) и (4,1) остаются свободными. На втором шаге полагаем Х12 = 10. Этим мы используем полностью запас пункта А1. Остальные клетки первой строки (1,3) и (1,4) остаются свободными. На третьем шаге рассматриваем перевозку Х22. Поскольку в этом случае запас пункта А2, равный 70, совпадает с оставшейся неудовлетворенной потребностью пункта В2, равной 70, то выбира-

120

ем Х22 = 70. Этим самым заполняется одновременно и вся вторая строка и весь второй столбец. В этом случае нужно считать одну из переменный Х23 или Х32 базисной со значением, равным нулю. Пусть Х32 = 0. Проставив в соответствующей клетке базисный нуль, мы получаем при продолжении процесса заполнения таблицы m + n

– 1 заполненную клетку. Если не проставить нулевую базисную переменную, окажется, что число занятых положительными перевозками клеток меньше, чем m + n – 1.

Метод минимального элемента. Выбор пунктов отправле-

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

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

 

 

 

 

 

 

Таблица 16

Пункты

 

Пункты назначения

 

 

Предложе-

 

отправления

В1

В2

В3

В4

 

ние

 

 

5

4

2

 

5

 

 

А1

10

 

20

 

 

30

 

 

 

 

 

 

 

 

6

1

1

 

3

 

 

А2

 

70

 

 

 

70

 

 

 

 

 

 

 

 

 

2

 

1

 

 

 

 

А3

 

3

50

 

8

50

 

 

 

 

 

 

 

 

 

6

 

 

 

1

 

 

А4

10

3

2

70

 

100

 

 

 

 

 

 

 

20

 

 

 

 

 

Спрос

20

90

70

70

 

-

 

Порядок заполнения таблицы транспортной задачи: находим клетки с наименьшим значением стоимости перевозки и рассмотрим величину потребности и запаса для соответ-

121

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

Значение функции цели для первоначального опорного

плана

f(х) = 10 5 + 20 2 + 70 1 + 50 1 + 10 6 + + 20 3 + 70 1 = 400.

Циклы пересчёта

Переход от одного опорного плана к другому в транспортной задаче сводится к тому, что, как и в симплекс-методе, надо ввести в базис новый вектор вместо выведенного базисного вектора. Это способствует тому, что одну из свободных клеток мы сделаем занятой, т.е. базисной, а одну из базисных

– свободной.

Пусть первоначальный опорный план задан в табл. 17.

122

 

 

 

 

 

 

Таблица 17

Пункты

 

Пункты назначения

 

 

Предложе-

 

отправления

В1

В2

В3

В4

 

ние

 

 

5

4

2

 

5

 

 

А1

20

10

 

 

 

30

 

 

 

 

 

 

 

 

6

1

1

 

3

 

 

А2

 

70

 

 

 

70

 

 

 

 

 

 

 

 

 

2

3

1

 

8

 

 

А3

 

10

40

 

 

50

 

 

 

 

 

 

 

 

6

3

2

 

1

 

 

А4

 

 

30

70

 

100

 

 

 

 

 

 

 

Спрос

20

90

70

70

 

 

 

 

 

 

 

 

 

 

 

Выберем одну из свободных клеток, например (4,1), и поместим в нее некоторую положительную величину перевозки . Поскольку число занятых клеток должно быть равно m + n - 1, то какую-то из занятых клеток необходимо освободить. Чтобы получить новый опорный план, необходимо пересчитать значения базисных переменных.

Для того, чтобы сумма перевозок в первом столбце не изменилась, нужно перевозку Х11 = 20 уменьшить на величину. Для того, чтобы при этом не изменилась сумма перевозок в первой строке, надо перевозку Х12 = 10 увеличить на и т.д.

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

2.6).

Данная операция называется сдвигом по циклу пересчета на величину . Значение выбирается равным наименьшему из тех перевозок, из которых вычитается. В нашем примере выбирается = 10; если взять > 10, то перевозка Х32 станет меньше нуля, а если взять < 10, то получим больше, чем m+n-1 отличную от нуля перевозку, т.е. новый план тогда не будет опорным.

123

 

 

 

 

 

 

 

 

 

 

 

Таблица 18

Пункты

 

 

Пункты назначения

 

 

Предложе-

 

отправления

 

В1

В2

 

 

В3

В4

 

ние

 

 

5

4

 

 

 

 

 

 

5

 

 

А1

20 -

10 +

2

 

 

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

1

 

1

 

3

 

 

А2

 

 

70

 

 

 

 

 

 

 

70

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

 

1

 

 

 

 

А3

 

 

10 -

 

40

 

+

 

8

50

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

3

 

 

2

 

1

 

 

 

 

 

 

 

 

 

 

А4

 

30 -

70

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Спрос

20

90

70

70

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Каждый опорный план обладает следующими свойствами:

1)не существует циклов, все вершины которых лежат в базисных клетках;

2)для каждой свободной клетки существует единственный цикл пересчета.

124

 

 

1

2

 

1

 

 

2

 

 

 

 

 

Вершины

 

 

 

 

 

 

 

 

 

4

3

 

 

5

 

 

6

 

 

 

 

 

Звено

 

 

 

4

 

 

 

 

 

 

3

1

2

 

6

 

 

5

 

 

 

 

 

3

4

 

6

5

 

 

 

 

 

1

 

 

2

 

 

 

 

 

 

 

3

8

7

4

 

Рис. 64. Возможные формы циклов пересчёта

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

125

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 19

Пункты

 

 

 

Пункты назначения

 

Предложе-

отправления

 

 

В1

В2

 

 

В3

В4

ние

 

 

 

5

 

 

4

 

2

5

30

А1

 

 

 

 

 

 

 

 

 

 

 

 

20 -

10

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

1

 

1

3

70

А2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

3

 

 

1

8

 

А3

 

 

 

10

 

-

+

 

40

 

50

 

 

 

 

 

 

 

 

 

 

 

6

 

 

3

 

 

2

1

 

А4

 

 

 

 

 

 

 

 

 

 

 

100

 

 

+

 

 

 

-

30

70

 

 

 

 

 

 

Спрос

 

 

20

90

 

 

70

70

-

 

 

 

 

 

 

 

 

 

 

 

 

 

Определим, как изменится функция цели (стоимость перевозок) при переходе к новому опорному плану:

+ 6 - 5 + 4 - 3 + 1 - 2 = = (6 – 5 + 4 – 3 + 1 - 2) = + 1.

Следовательно, функция цели увеличится на величину , а значит, клетка (4,1) для новой перевозки выбрана неудачно:

f(x) = 410 + = 410 + 10 = 420 ден.ед.

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

Открытая транспортная задача

Если не соблюдается баланс предложения и спроса, то

есть

m

n

а i

b j ,

i 1

j 1

то такая задача называется открытой. Для решения такой задачи, если общее предложение превышает общий спрос, то есть

126

m

n

аi

> bj ,

i 1

j 1

необходимо ввести в модель фиктивный пункт потребления (Вn+1) в n + 1-м столбце матрицы транспортной задачи. При этом стоимости перевозки для фиктивного пункта потребления равны нулю:

Ci,n+1 = 0; i = 1, m .

Потребность в грузе фиктивного пункта назначения равна разности предложения и спроса.

 

 

 

 

 

 

 

Таблица 20

Пункты

 

Пункты назначения

 

Запасы (пред-

 

отправления

В1

Вj

Вn

n+1)

ложение)

 

А1

С11

 

C1j

 

C1n

0

а1

 

 

 

 

 

 

 

Аi

Сi1

 

Сij

 

Сin

0

аi

 

 

 

 

 

 

 

Аm

Сm1

 

Сmj

 

Сmn

0

аm

 

Потребности

b1

bj

bn

(bn+1 = аi - bj)

 

(спрос)

 

 

 

 

 

 

 

 

 

Если величина суммарного спроса превышает суммарное предложение, то есть

m

n

а i

< b j ,

i 1

j 1

необходимо ввести в модель фиктивный пункт отправления грузов (Аm+1) в m + 1-ю строку матрицы транспортной задачи. При этом стоимости перевозки от фиктивного пункта отправления равны нулю:

Cm+1,j = 0; j = 1, n .

Предложение фиктивного пункта отправления равно разности суммы потребностей и запасов грузов.

127

 

 

 

 

 

 

Таблица 21

Пункты

 

Пункты назначения

 

Запасы

 

отправления

В1

Вj

Вn

(предложение)

 

А1

С11

 

C1j

 

C1n

а1

 

 

 

 

 

 

Аi

Сi1

 

Сij

 

Сin

аi

 

 

 

 

 

 

Аm

Сm1

 

Сmj

 

Сmn

аm

 

m+1)

0

 

0

 

0

(am+1 = bj -

 

 

 

 

 

 

аi)

 

 

 

 

 

 

 

 

Потребности

b1

bj

bn

__

 

(спрос)

 

 

 

 

 

 

 

 

 

Определение оптимального плана транспортных задач, имеющих дополнительные условия

1.Если по каким-либо причинам перевозки грузов из

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

2.Если из пункта отправления Аi в пункт назначения Вj требуется перевезти определенное количество грузов dij, тогда в соответствующей клетке устанавливается блокировка М как стоимость перевозки, для исключения дальнейших перевозок по данному маршруту. Соответствующий запас коррек-

тируется на величину фиксированной перевозки аi - dij, аналогично и соответствующая потребность корректируется на ту

128

же величину bj - dij. После решения скорректированной задачи в оставшуюся свободной клетку i, j проставляется значение обязательной перевозки dij, а стоимость перевозки единицы этого груза берется из исходных данных равной Cij.

3. Если необходимо решить транспортную задачу на максимум функции цели, тогда поступают следующим образом:

2

3

7

 

 

 

 

 

 

 

 

исходная матрица стоимости перевозок C =

0

4

2

 

;

 

 

3

5

 

 

1

 

 

максимальное значение стоимости перевозки С13 = 7; вычтем из максимальной стоимости все элементы матрицы

7 2

7 3

7 7

5

4

0

 

 

 

0

7 4

7 2

 

 

 

 

 

 

 

перевозок C =

7

 

=

7

3

5

 

;

 

7

1

7 3

7 5

 

 

6

4

2

 

 

 

 

 

 

 

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

4. Если задача открытая и из пункта Аi весь груз должен быть выведен, то вместо нулевой стоимости перевозки из пункта Аi фиктивному потребителю используют блокировку (М). Тогда груз будет перевозиться только реальным потребителям.

Если же потребности пункта Вj надо полностью удовлетворить, тогда вместо нулевой стоимости перевозки от фиктивного поставщика к пункту Вj используют блокировку (М). Этим исключают из плана фиктивные перевозки к пункту Вj.

129