Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_указания по МОР.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
652.29 Кб
Скачать

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

Постановка задачи.

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

Известно, какое количество груза (т) имеется у каждого поставщика («мощность» поставщика).

Известно, какое количество груза (т) требуется каждому потребителю («спрос» потребителя).

Известны расстояния (км) от каждого поставщика до каждого потребителя.

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

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

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

Ниже в таблице № 6.0 представлены числовые данные конкретной задачи.

В этой задаче груз от 4 поставщиков должен быть доставлен 5 потребителям. А1, А2, А3, А4 – это обозначения самих поставщиков. Собственно, не важно кто такие эти потребители, важно, что они расположены в пунктах, находящихся на известных расстояниях от потребителей В1, В2, В3, В4, В5.

Спросы и мощности записаны в таблице около названий соответствующих поставщиков и потребителей, а расстояния – в левых верхних углах соответствующих клеток.

Как видим, суммарный спрос составляет 110+180+80+60+40=470 т груза.

Суммарная мощность также составляет 470 т: 160+150+90+70=470.

Задача, в которой суммарный спрос равен суммарной мощности, называется закрытой. В противном случае – открытой.

Таблица № 6.0

Начальные данные транспортной задачи

Спросы

М ощности

Потребители

B1

B2

B3

B4

B5

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

16

12

8

8

A2

150

12

18

28

20

12

A3

90

20

16

12

16

20

A4

70

8

12

16

20

24

В чем же состоит задача ? В том, чтобы «прикрепить» потребителей к поставщикам, определить, от какого поставщика какое количество груза («поставку») будет получать каждый потребитель.

1.2 Начальный план поставок: метод минимума по столбцу

Начнем решение «без всякой науки».

Рассмотрим первого потребителя – В1. Откуда ему лучше всего получать груз (ориентируясь на меньшие расстояния) ? Видимо, от поставщика А4, находящегося на расстоянии 8 км, ближе которого других поставщиков нет. Пусть так. Будем считать, что потребитель В1 заберет у поставщика А4 все 70 т груза, всю его мощность. Запишем в клетку А4В1 поставку в 70 т (крупным шрифтом посередине клетки).

Таблица № 6.1

Начальное прикрепление потребителей к поставщикам

Спросы

М ощности

Потребители

B1

B2

B3

B4

B5

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

16

160

12

8

8

A2

150

12

40

18

28

10

20

60

12

40

A3

90

20

16

20

12

70

16

20

A4

70

8

70

12

16

20

24

Но спрос потребителя В1 составляет 110 т, больше, чем 70. Недостающие 40 т возьмем у следующего по «близости» поставщика – А2 (расстояние 12 км). Теперь спрос потребителя В1 удовлетворен, и можно заняться следующим потребителем – В2.

Ближе всего к нему находится поставщик А4, у которого свободной мощности не осталось – он все свои 70 т отдал В1. Следующие поставщики – А1 и А3, оба находятся в 16 км от В2. Безразлично, у кого брать груз.. Возьмем 160 т у поставщика А1. Оставшиеся 20 т возьмем у поставщика А3. Таким образом, удовлетворены спросы первых двух потребителей.

Потребителю В3 назначим поставку 70 т от А3 (ближайшего), а оставшиеся 10 т – от А2 (все остальные поставщики свои мощности исчерпали).

Для потребителей В4 и В5 выбора не остается, они получают свои поставки от А2.

В результате все спросы удовлетворены, все мощности исчерпаны. Говорят, что получен «допустимый план поставок». Этот план представляют собой поставки, назначенные в соответствующих клетках.

В качестве критерия в задаче предусматривается минимум грузооборота. Этот показатель часто используется в оценке деятельности транспортных организаций и представляет собой «произведение тонн на километры».

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

40*12+70*8+160*16+20*16+10*28+70*12+60*20+40*12=

480+560+2560+320+280+840+1200+480=6720 тонно-километров.

Хотя мы старались прикреплять потребителей к ближайшим поставщикам, полностью реализовать эту идею не удалось: одни прикрепления «мешали» другим. Поэтому никакой уверенности в оптимальности построенного «плана поставок» - нет. Ниоткуда не следует, что 6720 т-км – это минимальный грузооборот.

Метод потенциалов

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

Во-первых, оказывается, что изменить поставки в уже занятых клетках невозможно. Если мы зададимся целью изменить поставки в тех и только тех клетках, в которых они уже стоят, то из этого ничего не выйдет. Почему так происходит, увидим позже. А пока смиримся с тем, что для изменения плана поставок необходимо «испортить» (то-есть занять поставкой) хотя бы одну из ранее свободных клеток. Попробуем занять, например, клетку А3В4. Но только ее. Других свободных клеток трогать не будем.

Для пробы поставим в эту клетку поставку в 1 т. Но эта «лишняя» тонна никому не нужна, все спросы уже удовлетворены. Чтобы потребитель В4 не получил больше того, что ему надо, снизим поставку в клетке А2В4 на 1т.

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

Посмотрим на картину изменений в целом.

Таблица 6.2

Клетки, затронутые изменениями

при изменении поставки в клетке А3В4

В3

В4

А2

28

+ 1 т

20

- 1 т

А3

12

- 1 т

16

+ 1 т

Как же при этом изменится грузооборот ?

В клетке А3В4 дополнительная тонна груза перевозится на 16 км и дает вклад в изменение грузооборота 1*16 т-км. В клетке А2В4 грузооборот уменьшится на 1*20, А2В2 – увеличится на 1*28, А3В2 – уменьшится на 1*12.

Итого, общее изменение грузооборота составит 16-20+28-12=+12 т-км.

«Характеристика» свободной клетки

Величина изменения грузооборота при назначении в свободную клетку поставки в 1 т называется характеристикой этой клетки.

Мы получили характеристику клетки А3В4 равную +12. Так что если в клетку А3В4 «добавить поставку» в 1т и перераспеределить остальные поставки в занятых клетках таким образом, чтобы балансы по строкам и столбцам сохранились, то общий грузооборот увеличится на 12 тонно-километров. Поскольку нам нужен минимальный грузооборот, то назначать поставку в клетку А3В4 не следует, это приведет не к уменьшению грузооборота, а к его увеличению. Ясно, что назначая поставку не в 1 тонну, а в 2 или 3 или 5тонн... мы получим пропорциональное увеличение грузооборота.

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

Реализация этого подхода составляет содержание метода потенциалов.

Мы увидели, что определение характеристики даже для одной клетки – дело непростое. А нам надо определить характеристики вообще-то для всех свободных клеток.

В методе потенциалов эта проблема решается изящно и просто. Собственно, из этого приема по нахождению характеристик и родилось название метода.

Итак, в методе потенциалов перед вычислением характеристик предварительно строятся вспомогательные показатели, называемые «потенциалами», которые «привязаны» к строкам и столбцам транспортной таблицы.

Основное правило вычисления потенциалов

«Сумма потенциалов строки и столбца должна быть равна значению расстояния в занятой клетке на пересечении этой строки и этого столбца».

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

Таблица № 6.3

Вычисление потенциалов

Спросы

6 720

М ощности

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

1 6

160

12

8

8

7

A2

150

1 2

40

18

2 8

10

2 0

6 0

1 2

4 0

23

A3

90

20

1 6

2 0

1 2

7 0

16

20

7

A4

70

8

7 0

12

16

20

24

19

Vj

-11

9

5

-3

-11

Итак, назначим начальный потенциал в «любой» строке – например, в строке А3 – произвольно, скажем, 7. На этом «произвол» кончается. Сумма этого потенциала с потенциалом столбца В2 должна равняться показателю расстояния «16» в клетке А3В2.

Для этого потенциал столбца В2 должен быть равен 9: 7+9=16.

Аналогичным образом потенциал столбца В3 должен быть равен 5: 7+5=12 (показателю расстояния в клетке А3В3).

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

С помощью потенциала «9» теперь можно найти потенциал строки А1 (7), а с помощью потенциала столбца В3 – потенциал строки А2 (23).

Затем находим v1 (-11), v4 (-3) и v5 (-11). Наконец, с помощью v1 находим u4 (19). Как видим, потенциалы определяются последовательно, хотя и в некотором беспорядке. Но метод потенциалов гарантирует, что при соблюдении определенных правил все потенциалы всегда удастся вычислить, терпеливо просматривая таблицу и связи потенциалов строк и столбцов через «кружочки».

Проще всего вычислять потенциалы «устно» именно так, добавляя к известному потенциалу то, чего не хватает до значения «кружка». Можно рассуждать и иначе: неизвестный потенциал равен «кружку» за минусом известного потенциала. При этом надо помнить только одно: кружок, с помощью которого вычисляется очередной потенциал, стоит на пересечении строки и столбца, в которых другой потенциал уже известен.

Осталось записать формальное краткое математическое правило (которое, впрочем, не очень объясняет механизм вычисления потенциалов, но позволяет вспомнить его, если читатель однажды в этом вопросе уже разбирался):

ui + vj = cij

где ui – потенциал строки i,

vj – потенциал столбца j,

cij – показатель расстояния в клетке (i,j),

причем из трех параметров, фигурирующих в этом равенстве, известны cij (показатель расстояния) и одно из слагаемых.

Или иначе: ui = cij - vj

или vj = cij- ui ,

смотря по тому, какой из двух потенциалов уже известен.

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

Δij =cij – (ui +vj)

Пользуясь этим правилом, вычисляем характеристики:

Δ11 = 20 – (7+(-11)) = 24

Δ13 = 12 – (7+5) = 0 и т.д.

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

Таблица № 6.4

Вычисление характеристик и построение цепи

Спросы

6 720

М ощности

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

18

1 6

160

12

0

8

4

8

12

7

A2

150

1 2 +

4 0

18

-14

2 8 -

1 0

2 0

60

1 2

40

23

A3

90

20

18

1 6 -

2 0

1 2 +

70

16

12

20

24

7

A4

70

8 -

7 0

12 +

-16

16

-8

20

4

24

16

19

Vj

-11

9

5

-3

-11

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

Вспомним, что характеристики показывают, на сколько увеличится грузооборот при назначении в свободную клетку «единичной поставки» (одной тонны груза). Поскольку наша цель состоит в уменьшении грузооборота, то нас интересуют клетки с отрицательными характеристиками. Таких клеток несколько.

Самая «плохая» из них – характеристика (-16) в клетке А4В2:

Δ42 = 12 – (19+9) = -16

Она показывает, что общий грузооборот снижается на 16 тонно-километров в расчете на каждую тонну поставки, «назначенную» в эту клетку. Так что это скорее не «самая плохая», а «самая хорошая» характеристика.

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

При этом надо иметь в виду, что если мы поставку в клетке А4В2 увеличим, неважно на сколько (а сейчас ее нет, она равна нулю), то в клетке А4В1 поставку 70 т необходимо на столько же уменьшить, чтобы сохранить баланс по строке (мощность=70 т).

После этого придется на столько же увеличить поставку (40) в клетке А2В1, чтобы сохранить баланс по столбцу А1. После этого надо бы уменьшить поставку (10) в клетке А2В3, увеличить поставку (70) в клетке А3В3 и уменьшить в клетке А3В2, после чего все балансы приходят в равновесие. Таким образом, изменения поставок коснутся клеток:

А4В24В12В12В33В33В2,

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

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

В той клетке А4В2, с которой мы начинали (назовем ее «выбранной») – в которой была «самая отрицательная» характеристика, поставка будет увеличена, а затем по ходу цепи в ее узлах поставки будут поочередно то уменьшаться, то увеличиваться на величину перераспределяемой поставки – одну и ту же для всех этих изменяемых клеток. Отметим те узлы, где поставки увеличиваются, знаком «плюс», а те узлы, где поставки уменьшаются, знаком «минус».

Но уменьшить поставку на величину большую, чем она есть, - невозможно, получится отрицательное число. Хотя в математике отрицательные числа – не редкость, но как понимать термин «отрицательная поставка» - неясно. Во всяком случае в методе потенциалов, который мы изучаем, отрицательные поставки не допускаются. Отсюда рождается правило:

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

Таких вершин («отрицательных») у нас 3 : А4В1, А2В3 и А3В2. Поставки, соответственно, равны 70, 10 и 20 т . Наименьшая из них 10. Это и есть «величина перераспределяемой поставки». Осталось изменить поставки на +10 и -10 и занести результат изменений в новую таблицу.

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

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

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

В самой нижней строке – потенциалы столбцов, в самом правом столбце – потенциалы строк.

В каждой клетке основной части таблицы располагаются 3 параметра:

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

в центре «занятой» клетки – поставка, желательно крупным шрифтом,

в правом нижнем углу свободной клетки - характеристика.

Алгоритм метода потенциалов

1. Составляется начальный (базисный) план поставок.

2. Вычисляются потенциалы.

3. Вычисляются характеристики свободных клеток.

4. Выбирается клетка с отрицательной характеристикой, обычно (но не обязательно), максимальной по величине («выбранная клетка»), и каким либо образом отмечается (точкой, или звездочкой, галочкой).

5. К выбранной клетке строится цепь.

6. Вершины (углы) цепи размечаются знаками «плюс» и «минус» поочередно, начиная со знака «плюс» в выбранной клетке.

7. Определяется величина перераспределяемой поставки (d) как минимальная из поставок в «отрицательных» вершинах цепи.

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

9. Переход к п.2

10. Процесс решения заканчивается, когда в таблице не останется отрицательных характеристик.

Продолжим решение примера и попутно будем уточнять детали алгоритма.

Как мы установили, величина перераспределяемой поставки составляет 10 т. В соответствии с п. 8 алгоритма:

- назначаем в клетку А4В2 поставку 10 т, клетка становится занятой, обводим показатель расстояния кружком, одним кружком стало больше;

- поставку 70 т в клетке А4В1 уменьшаем на 10 (до 60);

- поставку 40 т в клетке А2В1 увеличиваем на 10 (до 50);

- поставку 10 т в клетке А2В3 уменьшаем на 10 и получаем 0; тем самым клетка А2В3 в новой таблице становится свободной, то-есть без поставки – 0 не пишем, кружок не рисуем, одним кружком стало меньше; тем самым общее число кружков осталось таким же, каким и было в предыдущей таблице (8 кружков);

- поставку 70 т в клетке А3В3 увеличиваем на 10 (до 80);

- поставку 20 т в клетке А3В2 уменьшаем на 10 (до 10).

Тем самым мы произвели корректировку поставок вдоль цепи, позволяющую сохранить балансы по строкам и столбцам при назначении поставки в бывшую свободной клетку А4В2.

Остальные поставки (в клетках А1В2 (160), А3В2(10), А2В4 (60), А2В5 (40)) оставляем теми же, какими они были в предыдущей таблице.

Таблица № 6.5

Второй цикл расчета

Спросы

6 560 т-км

М ощности

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

1 6 -

1 60

12

0

8 +

-12

8

-4

12

A2

150

1 2 +

5 0

18

28

2 0 -

60

1 2

40

12

A3

90

20

1 6

10

1 2

80

16

-4

20

12

A4

70

8 -

6 0

1 2 +

10

16

20

24

8

Vj

0

4

0

8

0

Тем самым в таблице 6.4 записан новый план поставок, который должен быть лучше предыдущего. А на сколько лучше ? Критерием «качества» является грузооборот. Для его расчета надо опять перемножить поставки на расстояния, а затем полученные произведения сложить. Но результат мы можем предугадать заранее: ведь характеристика клетки А4В3 была равна «-16», а это означает, что каждая тонна поставки, назначаемая в эту клетку, дает «экономию» грузооборота 16 т-км. Мы назначили поставку 10 т и «с’экономили» 160 т-км. В предыдущей таблице грузооборот составлял 6720 т-км. Значит, новый грузооборот составит

6720 – 160 = 6560 т-км.

Является ли новый план поставок оптимальным ? Пока не известно. Чтобы это проверить, необходимо вычислить характеристики в новой таблице.

Вычисление потенциалов

В соответствии с п.9 алгоритма переходим к п.2, то-есть заново вычисляем потенциалы. Начальный потенциал (любой) назначается произвольно. Раз так, можно его для упрощения дальнейших вычислений назначить нулевым, например, в клетке А4В1. Через кружок А2В1 вычисляем потенциал строки А2 (12), через кружок А4В1 вычисляем потенциал строки А4 (8) (сумма каждого из них с «назначенным» нулем дает значение «кружка»). Далее аналогичным образом (см. правило вычисления потенциалов, «сумма потенциалов равна кружку») определяем значения остальных потенциалов строк и столбцов «цепляясь» каждый раз за один из известных потенциалов и соответствующий кружок.

Вычисление характеристик

Вычислив потенциалы всех строк и столбцов, переходим к п.3 алгоритма – вычислению характеристик: из каждого расстояния надо вычесть сумму соответствующих потенциалов. Например, для свободной клетки А3В4 получим

Δ34 = 16 – (12+8) = -4

Поскольку для «улучшения» плана поставок нам надо найти отрицательные характеристики, то положительные характеристики можно в таблицу и вообще не заносить. Получили три отрицательных характеристики, наименьшая из которых в клетке А1В4 равна -12. Отмечаем эту клетку «точкой» и считаем ее «выбранной» для построения цепи.

Построение цепи

Переходим к п. 5 алгоритма – построению цепи. Зачем нужна цепь ? Только для единственной цели: чтобы перераспределить поставки с сохранением балансов по строкам и столбцам. Построение цепи требует некоторого искусства, хотя существуют и формально-механические приемы ее нахождения.

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

Итак, что же такое цепь ? Это замкнутая ломаная линия, все звенья которой вертикальны или горизонтальны (наклонных линий нет), «начальная вершина» находится в «выбранной» клетке, а все остальные – в занятых (то-есть в клетках с кружочками).

Как же «нащупать» цепь к выбранной клетке А1В4 ? Все вершины цепи (углы), кроме начальной, должны находиться в занятых клетках (с кружками). От выбранной клетки А1В4, которая для цепи является угловой, одно звено должно идти горизонтально, другое – вертикально, и каждое из них должно заканчиваться в кружке. Но справа от А1В4 кружков нет, значит горизонтальное звено должно идти влево – до кружка А1В2, а вертикальному идти некуда, кроме как вниз до кружка А2В4. От клетки А2В4 должно начинаться горизонтальное звено. Если его «протянуть» вправо, то от кружка А2В5 некуда будет повернуть по вертикали, поскольку в столбце В5 больше кружков нет. Так что от клетки А2В4 горизонтальное звено должно идти влево до кружка А2В1.

Далее выбора нет, надо поворачивать вниз до кружка А4В1, затем вправо до А4В2, и ...немного наблюдательности – цепь вертикально вверх замыкается на кружок А1В2. Цепь имеет необычную форму вида «восьмерки», ничего плохого в этом нет, точка самопересечения цепи ни на что не влияет и угловой не считается. Всё, цепь построена.

Разметка цепи

Переходим к п.6 алгоритма – разметке цепи. Это действие механическое, раздумий не требует: в выбранной клетке А1В4 ставим знак «+», а далее ее в вершинах поочередно «минусы и плюсы». Эти знаки нужны для того, чтобы видеть, в каких клетках поставки будут увеличены, а в каких – уменьшены.

Определение величины перераспределяемой поставки

В соответствии с п.7 алгоритма величина перераспределяемой поставки определяется как минимальная из поставок в отрицательных вершинах цепи. Таковых 3 с поставками 160 т (А1В2), 60 т (А2В4) и 60 т (А4В1). Минимум = 60. Это и есть d=60 (см. алгоритм).

Перераспределение поставок

В соответствии с п.8 алгоритма поставки в «+» вершинах цепи увеличиваем на 60, в «-» вершинах – на 60 уменьшаем. Эти действия выполняем уже в новой таблице. В оставшихся трех занятых клетках, не входящих в цепь, поставки оставляем без изменений (110,40,80,10).

Характеристика выбранной клетки была равна «-12», новая поставка равна 60, уменьшение грузооборота составит 12*60=720 т-км.

Новый грузооборот равен 6560-720=5840 т-км.

Таблица № 6.6

Третий цикл расчета (начало)

5840 т-км

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

1 6

100

12

8

60

8

-4

A2

150

1 2

1 10

18

28

20

1 2

4 0

12

A3

90

20

1 6

10

1 2

80

16

20

12

A4

70

8

0

1 2

70

16

20

24

8

Vj

0

0

В результате перераспределения поставок в решении задачи появилась новая деталь: обнулились поставки в двух клетках – А4В1 и А2В4. А новая поставка появилась лишь в одной клетке – А1В4. Тем самым число занятых клеток на одну уменьшилось. Этого допускать нельзя. Почему – сейчас станет видно при продолжении решения.

Переходим к п. 2 алгоритма– вычисляем новые потенциалы. Назначаем потенциал столбца В1 нулевым и далее прежним образом вычисляем по соответствующему правилу остальные потенциалы: u2=12, v4=0...и все ! Дальше потенциалы вычисляться «не хотят», там, где стоят кружки, больше нет известных потенциалов ни у строк, ни у столбцов, правило вычисления потенциалов далее применить невозможно. Причина – недостаточное число кружков.

В этой ситуации назначать «произвольно» еще один потенциал - недопустимо.

Выход из ситуации довольно простой: будем считать одну из клеток с обнулившейся поставкой – «занятой клеткой». Обводим показатель расстояния кружком, а поставку пишем равную 0. К какой клетке применить этот прием – А4В1 или к А2В4 – безразлично, из общих соображений выберем А4В1 – в ней расстояние поменьше. После этого все потенциалы спокойно вычисляются по стандартному правилу.

Таблица № 6.7

Третий цикл расчета (продолжение)

5840 т-км

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

1 6 -

1 00

12

8

60

8 +

-4

12

A2

150

1 2 +

1 10

18

28

20

1 2

40

12

A3

90

20

1 6

10

1 2

80

16

20

12

A4

70

8 -

0

1 2 +

70

16

20

24

8

Vj

0

4

0

-4

0

Вычисляем характеристики и записываем на свое место те из них, которые оказались отрицательными. Таких ...всего одна «-4»– в клетке А1В4.

Строим цепь, руководствуясь аналогичными соображениями, – как в предыдущей таблице – и размечаем ее знаками «+» и «-».

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

Значит ли это, что преобразовывать таблицу не надо ? Нет, не значит. Наличие отрицательной характеристики свидетельствует о неоптимальности плана поставок. Если мы сейчас по-прежнему правилу «перераспределим поставки», то хотя сами поставки не изменятся, «выбранная» клетка А1В5 должна будет считаться «занятой» (в ней появится кружок при нулевой поставке). Тем самым набор кружков изменится, а значит изменятся потенциалы, а значит изменятся характеристики, и неизвестно, что будет дальше. Итак, рисуем новую таблицу и перераспределяем поставки.

Таблица № 6.8

Четвертый цикл расчета

5840 т-км

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

1 6 -

1 00

12

8

60

8 +

0

8

A2

150

1 2

110

18 +

-2

28

20

1 2 -

40

12

A3

90

20

1 6

10

1 2

80

16

20

8

A4

70

8

1 2

70

16

20

24

4

Vj

0

8

4

0

0

Нулевая поставка благополучно «переехала» в клетку А1В5.

Назначаем потенциал столбца А1 нулем и перевычисляем потенциалы, а затем характеристики. Снова «вылезла» отрицательная характеристика (-2 в клетке А2В2). Значит, план остается неоптимальным. Строим цепь. На этот раз форма цепи более простая (прямоугольник), размечаем вершины цепи и определяем величину перераспределяемой поставки. Это «40» в клетке А2В5. (Хотя в цепи есть и нулевая поставка, но она стоит в «плюсовой » клетке и на величину перераспределяемой поставки не влияет). Меняем в новой таблице поставки вдоль цепи на +/- 40.

Таблица № 6.9

5-й цикл расчета

5760 т-км

Потребители

B1

B2

B3

B4

B5

Ui

110

180

80

60

40

П

о

с

т

а

в

щ

и

к

и

A1

160

20

+10

1 6

60

12

0

8

60

8

40

10

A2

150

1 2

110

1 8

40

28

+14

20

+10

12

+2

12

A3

90

20

+10

1 6

10

1 2

80

16

+8

20

+12

10

A4

70

8

+2

1 2

70

16

+8

20

+16

24

+20

6

Vj

0

6

2

-2

-2

Пересчитываем грузооборот, который должен снизиться на 2*40=80 т-км:

5840-80=5760 т-км.

Начинаем очередной цикла расчетов.

Назначаем v1=0, вычисляем u2=12, v2=6, u1=10, u3=10, u4=6, v5=-2, v3=2, v4=-2

Вычисляем характеристики. Для полноты картины выпишем все характеристики. Оказывается, отрицательных характеристик нет. Это значит, что назначение новой поставки ни в какую свободную клетку не может уменьшить грузооборот, а только увеличить. Тем самым решение задачи окочено, в таблице 6.5 представлен оптимальный план поставок, обеспечивающий минимальный грузооборот, составляющий, как выяснилось, 5760 т-км.

Проверим непосредственно значение грузооборота:

60*16+60*8+40*8+110*12+40*18+16*10+80*12+70*12=

960+480+320+1320+720+160+960+840=5760 т-км.

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

Анализ результата

1. Как распределились поставки.

По поставщикам:

поставщик А1 отправляет груз в пункты В2, В4, В5

поставщик А2 отправляет груз в пункты В1 и В2

поставщик А3 отправляет груз в пункты В2 и В3

поставщик А4 отправляет все свои 70 т одному потребителю груз В2

По потребителям:

В1, В3, В4 и В5 получают каждый весь свой груз («спрос») от единственного поставщика, и только В2 – от нескольких разных, точнее, от всех четырех понемногу.

Вся эта схема поставок обусловлена одной целью – минимизировать общий грузооборот.

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

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

А главное, при неоптимальном плане перевозок увеличение издержек является совершенно напрасным, бесполезным, просто это означает, что транспортная работа за счет нерациональных перевозок осуществляется хуже, чем это возможно. Так что в интересах «общества в целом» следует стремиться именно к минимизации грузооборота и тем самым к оптимизации перевозок.

2. Характеристика клетки А1В3 оказалась равна 0. Что это значит ?

Если мы возьмем клетку А1В3 в качестве «выбранной» и обычным образом перераспределим поставки, то грузооборот изменится на 0, то-есть не изменится, останется тем же минимальным, что и раньше. Но поставки при этом будут другими. Это означает, что существует другой план поставок с тем же минимальным значением грузооборота.

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

3. От знания положительных характеристик тоже может быть польза. Например, если какие-либо обстоятельства вынудят отступить от оптимального плана, заняв клетку А1В1, (прикрепив тем самым потребителя В1 к поставщику А1), то грузооборот будет увеличиваться на 10 тонно-километров в расчете на каждую тонну поставки в этой клетке при самом лучшем распределении всех остальных поставок. Здесь мы видим очень глубокую роль характеристик: еще неизвестно, каким образом перераспределятся поставки, а «экономический эффект» от перераспределения уже известен. Все это очень похоже на свойства двойственных оценок в симплексном методе. В действительности так оно и есть: характеристики – это и есть двойственные оценки (с точностью до знака).