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

1237

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
12.77 Mб
Скачать

2.5.1.Решение транспортной задачи по критерию стоимости

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

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

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

В результате получаем первую итерацию кратчайшего пути

(1, 4, 5, 9) 5 1 = 5 ед. (рис. 2.23).

Рис. 2.23. Первая итерация 5 1 = 5 ед.

Уменьшаем вес ребра 25/0 на 5 единиц, оттранспортированных с минимальной стоимостью, и удаляем ребра (4, 5) и (5, 9) (рис. 2.24).

51

Рис. 2.24. Модификация графа после первой итерации Находим ещё один кратчайший путь (вторая итерация) (рис. 2.25).

Рис. 2.25. Вторая итерация 10 1 = 10 ед.

Снова уменьшаем вес ребра 15/0 на 10 единиц, оттранспортированных с минимальной стоимостью, и удаляем ребра (3, 6) и (6, 9) (рис. 2.26).

Рис. 2.26. Модификация графа после второй итерации

52

На рис. 2.27 представлена третья итерация 10 2 = 20 ед.

Рис. 2.27. Третья итерация 10 2 = 20 ед.

Ещё раз уменьшаем вес ребра 10/0 на 10 единиц, т.е. удаляем это ребро, удаляем ребра (2, 8) и уменьшаем вес ребер (8, 9) на 10 (рис. 2.28).

Рис. 2.28. Модификация графа после третьей итерации

Четвёртая итерация 5 3 = 15 ед. (рис. 2.29).

53

Рис. 2.29. Четвёртая итерация

И ещё разок уменьшаем вес ребра 20/0 на 5 единиц, удаляем ребра (4, 8), ребра (8, 9) (рис. 2.30).

Рис. 2.30. Модификация графа после четвёртой итерации

Пятая итерация 15 4 = 60 ед. (рис. 2.31).

54

Рис. 2.31. Пятая итерация 15 4 = 60 ед.

Уменьшаем вес ребра 15/0 на 15 единиц, то есть удаляем его, удаляем также ребра (4, 7), уменьшаем ребра (7, 9) на 15 (рис. 2.32).

Рис. 2.32. Модификация графа после пятой итерации

Шестая и последняя итерация 5 6 = 30 ед. (рис. 2.33).

55

Рис. 2.33. Шестая и последняя итерация 5 6 = 30 ед.

Все рёбра от истока и к стоку использованы, задача решена

(рис. 2.34).

Номер

Маршрут

Частичный

Стоимость

Стоимость

маршрута

 

поток

ребра

перевозки

1

1,4,5,9

5

1

5

2

1,3,6,9

10

1

10

3

1,2,8,9

10

2

20

4

1,4,8,9

5

3

15

5

1,4,7,9

15

4

60

6

1,3,7,9

5

6

30

 

 

50

 

140

 

 

 

 

 

Рис. 2.34. Решение транспортной задачи по критерию стоимости

2.5.2. Решение транспортной задачи по критерию времени

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

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

56

тором длительность самого продолжительного пути была бы минимальной по сравнению со всеми другими подобными графами.

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

Рассмотрим ту же задачу, но будем решать её по критерию времени. Ранее полученное решение по критерию стоимости возьмём в качестве первого приближения к наилучшему решению (рис. 2.35).

Рис. 2.35. Граф решения транспортной задачи по критерию стоимости

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

Граф исходный с весами рёбер, означающими время транспортирования, изображён на рис. 2.36.

Время прохождения потока по самому продолжительному маршруту 3, 7 равно 6 единицам, однако не использованы менее продолжительные маршруты. Попробуем исключить дуги с весом меньше 6 и перенаправить поток по более «быстрым» рёбрам. Поскольку такое ребро (3, 7 с потоком 5) всего одно, наша задача упрощается

(рис. 2.37).

57

Рис. 2.36. Граф исходный с весами рёбер, означающими время транспортирования

Рис. 2.37. Нахождение максимального потока

Здесь (см. рис. 2.37) красным обозначаются даже не используемые нулевые рёбра.

Поток составляет 45 единиц. Но можно увеличить поток по дуге 1, 3, если отправить 5 единиц в вершину 5.

Но там уже есть поток! 5 единиц идёт из вершины 4!

Тогда давайте поток (4, 7) – 5 единиц перенаправим в вершину 7, тем самым увеличив и наполнив дугу (7, 9), а вместо него 5 единиц из вершины 3 отправим в вершину 5, и проблема будет ре-

шена (рис. 2.38).

58

Рис. 2.38. Перенаправление потоков

Возвращаем обозначения времени на рёбрах, удаляем почти все неиспользованные рёбра (рис. 2.39).

Рис. 2.39. Модификация графа на рис. 2.38

Обнулённое ребро (4, 5) тоже удаляем: итак, смотри решение на рис. 2.40, 2.41.

59

Рис. 2.40. Решение транспортной задачи по критерию времени

Рис. 2.41. Отчёт о решении транспортной задачи по критерию времени

Таблица решения транспортной задачи по критерию времени представлена на рис. 2.42.

Рис. 2.42. Таблица решения транспортной задачи по критерию времени

60

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