- •Содержание
- •Глава 1. Постановка транспортных задач 6
- •Глава 2. Определение оптимального плана транспортных задач 28
- •Введение
- •Глава 1.Постановка транспортных задач
- •1.1.Однопродуктовая транспортная модель
- •1.2.Многопродуктовая транспортная модель
- •1.3.Модель производства с запасами
- •1.4. Методы построения опорного плана
- •1.4.1. Метод северо-западного угла
- •1.4.2.Метод минимальной стоимости
- •1.4.3.Метод двойного предпочтения
- •1.4.4.Приближенный метод Фогеля
- •Глава 2.Определение оптимального плана транспортных задач
- •2.1.Решение транспортной задачи методом моди
- •2.2.Дельта-метод решения транспортной задачи
- •2.3.Решение задач закрепления потребителей за поставщиками и клиентуры за автотранспортными предприятиями с учетом дополнительных требований
- •2.3.1.Ограничения в поставках
- •2.3.2.Несбалансированное наличие и потребности
- •2.3.3.Задача закрепления при учете взаимозаменяемости автомобилей
- •2.3.4.Задача на минимизацию времени доставки груза
- •Глава 3.Задача о назначениях
- •3.1.Постановка задачи о назначениях
- •3.2.Венгерский метод решения задачи о назначениях
- •3.3.Применение задачи о назначениях к решению экономических проблем
- •Глава 4.Оптимальное планирование грузооборота
- •4.1.Транспортная сеть и характеристика перевозимых грузов
- •Объёмы потребления грузов
- •Объёмы производства песка
- •4.2.Оптимальное планирование грузоперевозок
- •4.3.Маршрутизация перевозок грузов при помашинных отправках
- •4.4.Составление кольцевых и маятниковых маршрутов
- •Глава 5.Оптимальное планирование работы автобусного парка
- •5.1.Постановка задачи
- •5.2.Двойственная задача линейного программирования
- •5.3. Примеры формулировок двойственных задач
- •5.4. Симметричная и несимметричная двойственные пары. Основы теории двойственности
- •Основная теорема теории двойственности
- •5.5. Условия равновесия в симметричной паре. Экономическая интерпретация
- •5.6.Решение задачи оптимального планирования работы автопарка
- •Глава 6.Область применения сетевых транспортных задач
- •6.1.Примеры применения модели о кратчайшем пути
- •6.2.Алгоритмы нахождения кратчайшего пути
- •6.2.1.Алгоритм для сетей без циклов
- •6.2.2.Алгоритм для сетей с циклами
- •6.2.3.Алгоритм Флойда
- •6.3.Алгоритм нахождения максимального потока в сети
- •6.4.Представление сетевых задач как задач линейного программирования
- •Глава 7.Применение сетевых моделей в транспортировке грузов
- •7.1. Определение кратчайших расстояний между пунктами транспортной сети
- •7.2. Решение задачи коммивояжера методом "ветвей и границ"
- •7.3. Определение развозочных маршрутов для перевозки мелких партий грузов
- •7.3.1. Нахождение кратчайшей связывающей все пункты сети и набор пунктов в маршруты
- •7.3.2. Определение очередности объезда пунктов маршрута
- •Матрица кратчайших расстояний 2-го маршрута
- •7.4. Определение развозочных маршрутов для мелких партий грузов методом Кларка Райта
- •Список литературы
7.2. Решение задачи коммивояжера методом "ветвей и границ"
Задача "странствующего коммивояжера" заключается в том, что на транспортной сети имеется n пунктов, в которых он должен побывать, причем только по 1 разу и вернуться в исходный. Расстояния (или стоимости проезда) между пунктами неодинаковы, поэтому способов объезда будет много. Необходимо из всех этих способов найти такой, который обеспечивает минимальную длину маршрута (или суммарную стоимость объезда).
Определим маршрут коммивояжера, используя метод "ветвей и границ". Решение задачи этим методом разбивается на несколько этапов, приведенных в алгоритме.
Алгоритм метода:
Множество "все решения" на рис. 7.1 делится на два подмножества:
|
В качестве исходных данных будем использовать транспортную сеть (рис. 7.1) и матрицу кратчайших расстояний, записанную полностью (табл. 104).
Таблица 104
Матрица кратчайших расстояний
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
min |
А |
|
6 |
2 |
9 |
3 |
7 |
11 |
4 |
9 |
11 |
10 |
18 |
18 |
2 |
Б |
6 |
|
4 |
6 |
9 |
10 |
13 |
6 |
11 |
17 |
13 |
20 |
20 |
4 |
В |
2 |
4 |
|
7 |
5 |
6 |
9 |
2 |
7 |
13 |
9 |
16 |
16 |
2 |
Г |
9 |
6 |
7 |
|
12 |
13 |
16 |
9 |
14 |
20 |
16 |
23 |
23 |
6 |
Д |
3 |
9 |
5 |
12 |
|
4 |
12 |
7 |
12 |
8 |
7 |
17 |
21 |
3 |
Е |
7 |
10 |
6 |
13 |
4 |
|
8 |
8 |
13 |
7 |
3 |
13 |
21 |
3 |
Ж |
11 |
13 |
9 |
16 |
12 |
8 |
|
7 |
12 |
15 |
11 |
12 |
20 |
7 |
З |
4 |
6 |
2 |
9 |
7 |
8 |
7 |
|
5 |
15 |
11 |
14 |
14 |
2 |
И |
9 |
11 |
7 |
14 |
12 |
13 |
12 |
5 |
|
20 |
16 |
17 |
9 |
5 |
К |
11 |
17 |
13 |
20 |
8 |
7 |
15 |
15 |
20 |
|
4 |
14 |
22 |
4 |
Л |
10 |
13 |
9 |
16 |
7 |
3 |
11 |
11 |
16 |
4 |
|
10 |
18 |
3 |
М |
18 |
20 |
16 |
23 |
17 |
13 |
12 |
14 |
17 |
14 |
10 |
|
8 |
8 |
Н |
18 |
20 |
16 |
23 |
21 |
21 |
20 |
14 |
9 |
22 |
18 |
8 |
|
8 |
Найдём способ объезда всех пунктов, имеющий минимальную суммарную протяжённость методом ветвей и границ. Вначале составим визуальный способ объезда А–В–Б–Г–З–Ж–И–Н–М–Л–К–Е–Д–А (рис.7.3). Его протяжённость равна: 2 + 4 + 6 + 10 + 7 + 7 + 5 + 9 + 8 + 10 + 4 + 9 + 4 + 3 = 88 км.
Рис. 7.19. Схема визуального маршрута
Приступим к решению. Вычитаем min из каждой строки матрицы 104. получим матрицу, приведенную по строкам (табл. 105). Далее вычитая из полученной матрицы min элемент из каждого столбца, получим матрицу 106, приведенную по строкам и столбцам.
Таблица 105
Матрица расстояний, приведённая по строкам
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
min |
А |
∞ |
4 |
0 |
7 |
1 |
5 |
9 |
2 |
7 |
9 |
8 |
16 |
16 |
2 |
Б |
2 |
∞ |
0 |
2 |
5 |
6 |
9 |
2 |
7 |
13 |
9 |
16 |
16 |
4 |
В |
0 |
2 |
∞ |
5 |
3 |
4 |
7 |
0 |
5 |
11 |
7 |
14 |
14 |
2 |
Г |
3 |
0 |
1 |
∞ |
6 |
7 |
10 |
3 |
8 |
14 |
10 |
17 |
17 |
6 |
Д |
0 |
6 |
2 |
9 |
∞ |
1 |
9 |
4 |
9 |
5 |
4 |
14 |
18 |
3 |
Е |
4 |
7 |
3 |
10 |
1 |
∞ |
5 |
5 |
10 |
4 |
0 |
10 |
18 |
3 |
Ж |
4 |
6 |
2 |
9 |
5 |
1 |
∞ |
0 |
5 |
8 |
4 |
5 |
13 |
7 |
З |
2 |
4 |
0 |
7 |
5 |
6 |
5 |
∞ |
3 |
13 |
9 |
12 |
12 |
2 |
И |
4 |
6 |
2 |
9 |
7 |
8 |
7 |
0 |
∞ |
15 |
11 |
12 |
4 |
5 |
К |
7 |
13 |
9 |
16 |
4 |
3 |
11 |
11 |
16 |
∞ |
0 |
10 |
18 |
4 |
Л |
7 |
10 |
6 |
13 |
4 |
0 |
8 |
8 |
13 |
1 |
∞ |
7 |
15 |
3 |
М |
10 |
12 |
8 |
15 |
9 |
5 |
4 |
6 |
9 |
6 |
2 |
∞ |
0 |
8 |
Н |
10 |
12 |
8 |
15 |
13 |
13 |
12 |
6 |
1 |
14 |
10 |
0 |
∞ |
8 |
min |
0 |
0 |
0 |
2 |
1 |
0 |
4 |
0 |
1 |
1 |
0 |
0 |
0 |
|
Таблица 106
Матрица расстояний, приведённая по строкам и столбцам
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
М |
Н |
min |
А |
∞ |
4 |
0 |
5 |
0 |
5 |
5 |
2 |
6 |
8 |
8 |
16 |
16 |
2 |
Б |
2 |
∞ |
0 |
0 |
4 |
6 |
5 |
2 |
6 |
12 |
9 |
16 |
16 |
4 |
В |
0 |
2 |
∞ |
3 |
2 |
4 |
3 |
0 |
4 |
10 |
7 |
14 |
14 |
2 |
Г |
3 |
0 |
1 |
∞ |
5 |
7 |
6 |
3 |
7 |
13 |
10 |
17 |
17 |
6 |
Д |
0 |
6 |
2 |
7 |
∞ |
1 |
5 |
4 |
8 |
4 |
4 |
14 |
18 |
3 |
Е |
4 |
7 |
3 |
8 |
0 |
∞ |
1 |
5 |
9 |
3 |
0 |
10 |
18 |
3 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
∞ |
0 |
4 |
9 |
4 |
5 |
13 |
7 |
З |
2 |
4 |
0 |
5 |
4 |
6 |
1 |
∞ |
2 |
12 |
9 |
12 |
12 |
2 |
И |
4 |
6 |
2 |
7 |
6 |
8 |
3 |
0 |
∞ |
14 |
11 |
12 |
4 |
5 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
7 |
11 |
15 |
∞ |
0 |
10 |
18 |
4 |
Л |
7 |
10 |
6 |
11 |
3 |
0 |
4 |
8 |
12 |
0 |
∞ |
7 |
15 |
3 |
М |
10 |
12 |
8 |
13 |
8 |
5 |
0 |
6 |
8 |
5 |
2 |
∞ |
0 |
8 |
Н |
10 |
12 |
8 |
13 |
12 |
13 |
8 |
6 |
0 |
13 |
10 |
0 |
∞ |
8 |
min |
0 |
0 |
0 |
2 |
1 |
0 |
4 |
0 |
1 |
1 |
0 |
0 |
0 |
66 |
Сумма минимальных элементов по строкам равна 2 + 4 + 2 + 6 + 3 + 3 + 7 + 2 + 5 + 4 + 3 + 8 + 8 = 57 км. (табл. 105). Сумма минимальных элементов по столбцам 2 + 1 + 4 + 1 + 1 = 9 км. (табл. 106). Нижняя граница протяженности маршрута равна 57+9=66 км.
Оценка нулей производится следующим образом. Рассмотрим, например, нулевой элемент Н-М. Если его не включать в маршрут, то в строке Н обязательно придется выбрать какой-то другой элемент, в лучшем случае Н-И протяженностью 0 км. В столбце М также придется выбрать какой-нибудь другой элемент, в лучшем случае элемент Ж-М протяженностью 5 км. Таким образом, отказ от нулевого элемента Н-М приведет к увеличению длины маршрута на (0+5) км. Эта величина и есть оценка нулевого элемента Н-М. То есть оценка нулевого элемента – это сумма минимального элемента по строке (кроме оцениваемого нуля) и минимального элемента по столбцу (кроме оцениваемого нуля). Определим оценки всех нулевых элементов в табл. 106.
Оценка нулей:
ОАВ = (0 + 0) = 0; ОАД = (0 + 0) = 0; ОБВ = (0 + 0) = 0; ОБГ = (0 + 3) = 3;
ОВА = (0 + 0) = 0; ОВЗ = (0 + 0) = 0; ОГБ = (1 + 2) = 3; ОДА = (1 + 0) = 1;
ОЕД = (0 + 0) = 0; ОЕА = (0 + 0) = 0; ОЖЗ = (1 + 0) = 1; ОЗВ = (1 + 0) = 1;
ОИЗ = (2 + 0) = 2; ОКЛ = (3 + 0) = 3; ОЛЕ = (0 + 1) = 1; ОЛК = (0 + 3) = 3;
ОМЖ = (0 + 1) = 1; ОМН = (0 + 4) = 4; ОНИ = (0 + 2) = 2; ОНМ = (0 + 5) = 5 (max).
Наибольшая оценка соответствует нулевому элементу Н-М. Если включить Н-М в маршрут, то выбор пары пунктов М-Н нарушит условие задачи: один раз побывать в пункте. Поэтому в клетку М-Н записываем ∞, т.е. блокируем. Далее из табл. 106 исключаем строку Н и столбец М, получаем табл.107.
Сумма констант приведения: 57+9=66(км) – нижняя граница протяжённости маршрута. Нижняя граница подмножества Н-М равна: 66 + 5 = 71 км, (где 5 - оценка нуля ОНМ).
Таблица 107
Матрица после удаления строки Н и столбца М
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
Н |
min |
А |
∞ |
4 |
0 |
5 |
0 |
5 |
5 |
2 |
6 |
8 |
8 |
16 |
0 |
Б |
2 |
∞ |
0 |
0 |
4 |
6 |
5 |
2 |
6 |
12 |
9 |
16 |
0 |
В |
0 |
2 |
∞ |
3 |
2 |
4 |
3 |
0 |
4 |
10 |
7 |
14 |
0 |
Г |
3 |
0 |
1 |
∞ |
5 |
7 |
6 |
3 |
7 |
13 |
10 |
17 |
0 |
Д |
0 |
6 |
2 |
7 |
∞ |
1 |
5 |
4 |
8 |
4 |
4 |
18 |
0 |
Е |
4 |
7 |
3 |
8 |
0 |
∞ |
1 |
5 |
9 |
3 |
0 |
18 |
0 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
∞ |
0 |
4 |
9 |
4 |
13 |
0 |
З |
2 |
4 |
0 |
5 |
4 |
6 |
1 |
∞ |
2 |
12 |
9 |
12 |
0 |
И |
4 |
6 |
2 |
7 |
6 |
8 |
3 |
0 |
∞ |
14 |
11 |
4 |
0 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
7 |
11 |
15 |
∞ |
0 |
18 |
0 |
Л |
7 |
10 |
6 |
11 |
3 |
0 |
4 |
8 |
12 |
0 |
∞ |
15 |
0 |
М |
10 |
12 |
8 |
13 |
8 |
5 |
0 |
6 |
8 |
5 |
2 |
∞ |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
4 |
6 |
Сумма констант приведения табл. 107, полученная суммированием минимальных элементов строк и столбцов равна 2+4=6 км. После включения пунктов Н-М нижняя граница подмножества Н-М равна: 66+6 = 72 км, (сумма констант приведения табл. 107).
Приводим таблицу 107 по столбцам, делаем оценку нулевых элементов (цифры в скобках), получим табл. 108.
Таблица 108
Матрица расстояний, приведённая по столбцам
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
Н |
А |
∞ |
4 |
0(0) |
5 |
0(0) |
5 |
5 |
2 |
4 |
8 |
8 |
12 |
Б |
2 |
∞ |
0(0) |
0(0) |
4 |
6 |
5 |
2 |
4 |
12 |
9 |
12 |
В |
0(0) |
2 |
∞ |
3 |
2 |
4 |
3 |
0(0) |
2 |
10 |
7 |
10 |
Г |
3 |
0(3) |
1 |
∞ |
5 |
7 |
6 |
3 |
5 |
13 |
10 |
13 |
Д |
0(1) |
6 |
2 |
7 |
∞ |
1 |
5 |
4 |
6 |
4 |
4 |
14 |
Е |
4 |
7 |
3 |
8 |
0(0) |
∞ |
1 |
5 |
7 |
3 |
0(0) |
14 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
∞ |
0(1) |
2 |
7 |
4 |
9 |
З |
2 |
4 |
0(0) |
5 |
4 |
6 |
1 |
∞ |
0(2) |
12 |
9 |
8 |
И |
4 |
6 |
2 |
7 |
6 |
8 |
3 |
0(0) |
∞ |
14 |
11 |
0(8) |
К |
7 |
13 |
9 |
14 |
3 |
3 |
7 |
11 |
13 |
∞ |
0(3) |
14 |
Л |
7 |
10 |
6 |
11 |
3 |
0(1) |
4 |
8 |
10 |
0(3) |
∞ |
11 |
М |
10 |
12 |
8 |
13 |
8 |
5 |
0(3) |
6 |
6 |
5 |
2 |
∞ |
Исключаем из табл. 108 строку И, столбец Н при включении И-Н в маршрут, получаем табл. 109.
Обратите внимание на операцию блокирования одного из элементов матрицы. Блокировать здесь нужно не обратный элемент Н-И, поскольку его нет в матрице после исключения строки И и столбца Н. На предыдущем этапе была включена в маршрут пара пунктов Н-М, а на этом этапе включили И-Н, таким образом, образовалась цепочка из пунктов И-Н-М. В этом случае коммивояжеру нельзя из пункта М возвращаться в пункт И. Поэтому в этом случае блокируется клетка М-И.
Нижняя граница подмножества И-Н равна 72+8=80 км, (где 8 - оценка нуля И-Н). Сумма констант приведения табл. 109 равна 0. После включения пунктов И-Н нижняя граница подмножества И-Н равна: 72+0=72 км, (где 0 - сумма констант приведения табл. 109). Производим оценку нулевых элементов, получаем табл. 110
Таблица 109
Матрица после удаления строки И и столбца Н
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
min |
А |
∞ |
4 |
0 |
5 |
0 |
5 |
7 |
2 |
4 |
8 |
8 |
0 |
Б |
2 |
∞ |
0 |
0 |
4 |
6 |
7 |
2 |
4 |
12 |
9 |
0 |
В |
0 |
2 |
∞ |
3 |
2 |
4 |
5 |
0 |
2 |
10 |
7 |
0 |
Г |
3 |
0 |
1 |
∞ |
5 |
7 |
8 |
3 |
5 |
13 |
10 |
0 |
Д |
0 |
6 |
2 |
7 |
∞ |
1 |
7 |
4 |
6 |
4 |
4 |
0 |
Е |
4 |
7 |
3 |
8 |
0 |
∞ |
3 |
5 |
7 |
3 |
0 |
0 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
∞ |
0 |
2 |
7 |
4 |
0 |
З |
2 |
4 |
0 |
5 |
4 |
6 |
3 |
∞ |
0 |
12 |
9 |
0 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
9 |
11 |
13 |
∞ |
0 |
0 |
Л |
7 |
10 |
6 |
11 |
3 |
0 |
6 |
8 |
10 |
0 |
∞ |
0 |
М |
8 |
10 |
6 |
11 |
6 |
3 |
0 |
4 |
∞ |
3 |
0 |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Таблица 110
Матрица расстояний, приведённая по строкам и столбцам
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
Л |
А |
∞ |
4 |
0(0) |
5 |
0(0) |
5 |
5 |
2 |
4 |
8 |
8 |
Б |
2 |
∞ |
0(0) |
0(0) |
4 |
6 |
5 |
2 |
4 |
12 |
9 |
В |
0(0) |
2 |
∞ |
3 |
2 |
4 |
3 |
0(0) |
2 |
10 |
7 |
Г |
3 |
0(3) |
1 |
∞ |
5 |
7 |
6 |
3 |
5 |
13 |
10 |
Д |
0(1) |
6 |
2 |
7 |
∞ |
1 |
5 |
4 |
6 |
4 |
4 |
Е |
4 |
7 |
3 |
8 |
0(0) |
∞ |
1 |
5 |
7 |
3 |
0(0) |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
∞ |
0(1) |
2 |
7 |
4 |
З |
2 |
4 |
0(0) |
5 |
4 |
6 |
1 |
∞ |
0(2) |
12 |
9 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
7 |
11 |
13 |
|
0(3) |
Л |
7 |
10 |
6 |
11 |
3 |
0(1) |
4 |
8 |
10 |
0(3) |
|
М |
10 |
12 |
8 |
13 |
8 |
5 |
0(3) |
6 |
∞ |
5 |
2 |
Наибольшую оценку 3 имеют несколько звеньев, можно выбрать любое из них, например звено М-Ж. При вводе его в маршрут следует удалить из табл. 110 строку М и столбец Ж. Клетку Ж-М нельзя заблокировать, так как пункт М уже включен в маршрут И-Н-М. Добавляя к нему звено М-Ж получаем: И-Н-М-Ж. Блокируем в этом случае клетку Ж-И.
Таблица 111
Матрица после удаления строки М и столбца Ж
|
А |
Б |
В |
Г |
Д |
Е |
З |
И |
К |
Л |
min |
А |
∞ |
4 |
0 |
5 |
0 |
5 |
2 |
4 |
8 |
8 |
0 |
Б |
2 |
∞ |
0 |
0 |
4 |
6 |
2 |
4 |
12 |
9 |
0 |
В |
0 |
2 |
∞ |
3 |
2 |
4 |
0 |
2 |
10 |
7 |
0 |
Г |
3 |
0 |
1 |
∞ |
5 |
7 |
3 |
5 |
13 |
10 |
0 |
Д |
0 |
6 |
2 |
7 |
∞ |
1 |
4 |
6 |
4 |
4 |
0 |
Е |
4 |
7 |
3 |
8 |
0 |
∞ |
5 |
7 |
3 |
0 |
0 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
0 |
∞ |
7 |
4 |
0 |
З |
2 |
4 |
0 |
5 |
4 |
6 |
∞ |
0 |
12 |
9 |
0 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
11 |
13 |
∞ |
0 |
0 |
Л |
7 |
10 |
6 |
11 |
3 |
0 |
8 |
10 |
0 |
∞ |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Нижняя граница подмножества М-Ж равна 72+3=75 км (где 3 - оценка нуля М-Ж). Сумма констант приведения табл. 111 равна 0. После включения пунктов М-Ж нижняя граница подмножества М-Ж равна: 72+0=72 км, (где 0 - сумма констант приведения табл. 111). Производим оценку нулевых элементов.
Наибольшую оценку 3 имеют несколько звеньев, можно выбрать любое из них, например звено Г-Б. При включении Г-Б в маршрут следует удалить строку Г и столбец Б, а клетку Б-Г заблокировать, вписав туда ∞.
Таблица 112
Матрица расстояний, приведённая по строкам и столбцам
|
А |
Б |
В |
Г |
Д |
Е |
З |
И |
К |
Л |
min |
А |
∞ |
4 |
0(0) |
5 |
0(0) |
5 |
2 |
4 |
8 |
8 |
0 |
Б |
2 |
∞ |
0(0) |
0(3) |
4 |
6 |
2 |
4 |
12 |
9 |
0 |
В |
0(0) |
2 |
∞ |
3 |
2 |
4 |
0(0) |
2 |
10 |
7 |
0 |
Г |
3 |
0(3) |
1 |
∞ |
5 |
7 |
3 |
5 |
13 |
10 |
0 |
Д |
0(1) |
6 |
2 |
7 |
∞ |
1 |
4 |
6 |
4 |
4 |
0 |
Е |
4 |
7 |
3 |
8 |
0(0) |
∞ |
5 |
7 |
3 |
0(0) |
0 |
Ж |
4 |
6 |
2 |
7 |
4 |
1 |
0(1) |
∞ |
7 |
4 |
0 |
З |
2 |
4 |
0(0) |
5 |
4 |
6 |
∞ |
0(2) |
12 |
9 |
0 |
К |
7 |
13 |
9 |
14 |
3 |
3 |
11 |
13 |
∞ |
0(3) |
0 |
Л |
7 |
10 |
6 |
11 |
3 |
0(1) |
8 |
10 |
0(3) |
∞ |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Таблица 113
Матрица после удаления строки Г и столбца Б
|
А |
В |
Г |
Д |
Е |
З |
И |
К |
Л |
min |
А |
∞ |
0 |
5 |
0 |
5 |
2 |
4 |
8 |
8 |
0 |
Б |
2 |
0 |
∞ |
4 |
6 |
2 |
4 |
12 |
9 |
0 |
В |
0 |
∞ |
3 |
2 |
4 |
0 |
2 |
10 |
7 |
0 |
Д |
0 |
2 |
7 |
∞ |
1 |
4 |
6 |
4 |
4 |
0 |
Е |
4 |
3 |
8 |
0 |
∞ |
5 |
7 |
3 |
0 |
0 |
Ж |
4 |
2 |
7 |
4 |
1 |
0 |
∞ |
7 |
4 |
0 |
З |
2 |
0 |
5 |
4 |
6 |
∞ |
0 |
12 |
9 |
0 |
К |
7 |
9 |
14 |
3 |
3 |
11 |
13 |
∞ |
0 |
0 |
Л |
7 |
6 |
11 |
3 |
0 |
8 |
10 |
0 |
∞ |
0 |
min |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
Нижняя граница подмножества Г-Б равна 72+3=75 км, (где 3 - оценка нуля Г-Б). Сумма констант приведения табл. 113 равна 3. После включения пунктов Г-Б нижняя граница подмножества Г-Б равна: 72+3=75 км, (где 3- сумма констант приведения табл. 113). Производим оценку нулевых элементов.
Таблица 114
Матрица расстояний, приведённая по столбцам
|
А |
В |
Г |
Д |
Е |
З |
И |
К |
Л |
А |
∞ |
0(0) |
2 |
0(0) |
5 |
2 |
4 |
8 |
8 |
Б |
2 |
0(2) |
∞ |
4 |
6 |
2 |
4 |
12 |
9 |
В |
0(0) |
∞ |
0(2) |
2 |
4 |
0(0) |
2 |
10 |
7 |
Д |
0(1) |
2 |
4 |
∞ |
1 |
4 |
6 |
4 |
4 |
Е |
4 |
3 |
5 |
0(0) |
∞ |
5 |
7 |
3 |
0(0) |
Ж |
4 |
2 |
4 |
4 |
1 |
0(1) |
∞ |
7 |
4 |
З |
2 |
0(0) |
2 |
4 |
6 |
∞ |
0(2) |
12 |
9 |
К |
7 |
9 |
11 |
3 |
3 |
11 |
13 |
∞ |
0(3) |
Л |
7 |
6 |
8 |
3 |
0(1) |
8 |
10 |
0(3) |
∞ |
Наибольшую оценку 3 имеют несколько звеньев, можно выбрать любое из них, например звено Л-К исключить строку Л и столбец К, а в клетку К-Л записать ∞ (блокировать).
Таблица 115
Матрица после удаления строки Л и столбца К
|
А |
В |
Г |
Д |
Е |
З |
И |
Л |
min |
А |
∞ |
0 |
2 |
0 |
5 |
2 |
4 |
8 |
0 |
Б |
2 |
0 |
∞ |
4 |
6 |
2 |
4 |
9 |
0 |
В |
0 |
∞ |
0 |
2 |
4 |
0 |
2 |
7 |
0 |
Д |
0 |
2 |
4 |
∞ |
1 |
4 |
6 |
4 |
0 |
Е |
4 |
3 |
5 |
0 |
∞ |
5 |
7 |
0 |
0 |
Ж |
4 |
2 |
4 |
4 |
1 |
0 |
∞ |
4 |
0 |
З |
2 |
0 |
2 |
4 |
6 |
∞ |
0 |
9 |
0 |
К |
7 |
9 |
11 |
3 |
3 |
11 |
13 |
∞ |
3 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
Нижняя граница подмножества Л-К равна: 75+3=78 км, ((где 3 - оценка нуля Л-К). Сумма констант приведения табл. 116 равна 3+0=3. После включения пунктов Л-К нижняя граница подмножества Л-К равна: 75 + 3 = 78(км).
Таблица 116
Матрица, приведенная по строкам
|
А |
В |
Г |
Д |
Е |
З |
И |
Л |
min |
А |
|
0(0) |
2 |
0(0) |
5 |
2 |
4 |
8 |
0 |
Б |
2 |
0(2) |
∞ |
4 |
6 |
2 |
4 |
9 |
0 |
В |
0(0) |
|
0(2) |
2 |
4 |
0(0) |
2 |
7 |
0 |
Д |
0(1) |
2 |
4 |
|
1 |
4 |
6 |
4 |
0 |
Е |
4 |
3 |
5 |
0(0) |
|
5 |
7 |
0(4) |
0 |
Ж |
4 |
2 |
4 |
4 |
1 |
0(1) |
∞ |
4 |
0 |
З |
2 |
0(0) |
2 |
4 |
6 |
|
0(2) |
9 |
0 |
К |
4 |
6 |
8 |
0(0) |
0(1) |
8 |
10 |
∞ |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Вставляем пункт Е-Л в маршрут, исключаем строку Е и столбец Л, клетку Л-Е следовало блокировать, но её уже нет, так как узел Л уже в маршруте. Блокируем клетку К-Е объединенного маршрута Е-Л-К.
Таблица 117
Матрица, без строки Е и столбца Л
|
А |
В |
Г |
Д |
Е |
З |
И |
min |
А |
∞ |
0 |
2 |
0 |
5 |
2 |
4 |
0 |
Б |
2 |
0 |
∞ |
4 |
6 |
2 |
4 |
0 |
В |
0 |
∞ |
0 |
2 |
4 |
0 |
2 |
0 |
Д |
0 |
2 |
4 |
∞ |
1 |
4 |
6 |
0 |
Ж |
4 |
2 |
4 |
4 |
1 |
0 |
∞ |
0 |
З |
2 |
0 |
2 |
4 |
6 |
∞ |
0 |
0 |
К |
4 |
6 |
8 |
0 |
∞ |
8 |
10 |
0 |
min |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
Нижняя граница подмножества Е-Л равна: 78+4=82 км, (где 4 - оценка нуля Е-Л). Сумма констант приведения табл. 117 равна 1. После включения пунктов Е-Л нижняя граница подмножества Е-Л равна: 78+1 = 79 (км). Производим оценку нулевых элементов.
Таблица 118
Матрица, приведенная по столбцам
|
А |
В |
Г |
Д |
Е |
З |
И |
А |
∞ |
0(0) |
2 |
0(0) |
4 |
2 |
4 |
Б |
2 |
0(2) |
∞ |
4 |
5 |
2 |
4 |
В |
0(0) |
∞ |
0(2) |
2 |
3 |
0(0) |
2 |
Д |
0(0) |
2 |
4 |
∞ |
0(0) |
4 |
6 |
Ж |
4 |
2 |
4 |
4 |
0(0) |
0(0) |
∞ |
З |
2 |
0(0) |
2 |
4 |
5 |
∞ |
0(2) |
К |
4 |
6 |
8 |
0(4) |
∞ |
8 |
10 |
Вставляем пункт К-Д в маршрут, тогда исключаем строку К и столбец Д из табл. 118. Так как клетка К-Д исключена, потому что узел К уже в маршруте Е-Л-К, поэтому клетку Д-Е объединенного маршрута Е-Л-К-Д блокируем, записав в нее ∞.
Нижняя граница подмножества К-Д равна: 79+4=83 км, (оценка нуля К-Д ). Сумма констант приведения табл. 119 равна 0+0=0. После включения пунктов К-Д нижняя граница подмножества К-Д равна: 79+0 =79 км, (где 0 -сумма констант приведения табл. 119).
Таблица 119
Матрица, без строки К и столбца Д
|
А |
В |
Г |
Е |
З |
И |
min |
А |
∞ |
0(2) |
2 |
4 |
2 |
4 |
0 |
Б |
2 |
0(2) |
∞ |
5 |
2 |
4 |
0 |
В |
0(0) |
∞ |
0(2) |
3 |
0(0) |
2 |
0 |
Д |
0(2) |
2 |
4 |
∞ |
4 |
6 |
0 |
Ж |
4 |
2 |
4 |
0(3) |
0(0) |
∞ |
0 |
З |
2 |
0(0) |
2 |
5 |
∞ |
0(2) |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Вводим в маршрут Ж-Е с максимальной оценкой, тогда исключаем строку Ж и столбец Е из табл. 119, клетку Е-Ж нельзя заблокировать, поэтому блокируем клетку Д-И объединенного маршрута И-Н-М-Ж-Е-Л-К-Д.
Таблица 120
Матрица, без строки Ж и столбца Е
|
А |
В |
Г |
З |
И |
min |
А |
∞ |
0(2) |
2 |
2 |
4 |
0 |
Б |
2 |
0(2) |
∞ |
2 |
4 |
0 |
В |
0(0) |
∞ |
0(2) |
0(2) |
2 |
0 |
Д |
0(2) |
2 |
4 |
4 |
∞ |
0 |
З |
2 |
0(0) |
2 |
∞ |
0(2) |
0 |
min |
0 |
0 |
0 |
0 |
0 |
0 |
Нижняя граница подмножества Ж-Е равна: 79+3=82 км, (где 3 - оценка нуля Ж-Е ). Сумма констант приведения табл. 120 равна 0+0=0. После включения пунктов Ж-Е нижняя граница подмножества Ж-Е равна: 79+0=79 км.
Наибольшую оценку имеют несколько звеньев, можно выбрать любое из них, например звено З-И исключить строку З и столбец И, а в клетку Д-З записать ∞ (блокировать), как конечные элементы объединенного маршрута З-И-Н-М-Ж-Е-Л-К-Д
Таблица 121
Матрица, без строки З и столбца И
|
А |
В |
Г |
З |
min |
А |
∞ |
0(2) |
2 |
2 |
0 |
Б |
2 |
0(2) |
∞ |
2 |
0 |
В |
0(0) |
∞ |
0(2) |
0(2) |
0 |
Д |
0(2) |
2 |
4 |
∞ |
0 |
min |
0 |
0 |
0 |
0 |
0 |
Нижняя граница подмножества З-И равна: 79+2=81 км. Сумма констант приведения табл. 121 равна 0+0=0. После включения пунктов З-И нижняя граница подмножества Ж-Е равна: 79+0=79 км, (где 0 - сумма констант приведения табл. 121).
Вводим Д-А, тогда исключаем строку Д и столбец А из табл.121. Блокируем клетку А-З объединенного маршрута З-И-Н-М-Ж-Е-Л-К-Д-А.
Таблица 122
Матрица, без строки Д и столбца А
|
В |
Г |
З |
min |
А |
0(2) |
2 |
∞ |
0 |
Б |
0(2) |
∞ |
2 |
0 |
В |
∞ |
0(2) |
0(2) |
0 |
min |
0 |
0 |
0 |
0 |
Нижняя граница подмножества Д-А равна: 79+2=81 км, (где 2 - оценка нуля Д-А). Сумма констант приведения табл. 122 равна 0+0=0. После включения пунктов Д-А нижняя граница подмножества Д-А равна: 79+0 = 79 км, (где 0 - сумма констант приведения табл. 122).
Вводим пункт А-В, вычёркиваем строку А и столбец В из табл. 122. Блокируем клетку В-З объединенного маршрута З-И-Н-М-Ж-Е-Л-К-Д-А-В.
Таблица 123
Матрица, без строки А и столбца В
|
Г |
З |
min |
Б |
∞ |
2 |
2 |
В |
0 |
∞ |
0 |
min |
0 |
0 |
2 |
Таблица 124
Матрица, приведенная по строке
|
Г |
З |
Б |
∞ |
0 |
В |
0 |
∞ |
Нижняя граница подмножества А-В равна: 79+2= 81 км, (где 2 - оценка нуля А-В). Сумма констант приведения табл. 123 равна 2+0=2. После включения пунктов А-В нижняя граница подмножества Д-А равна: 79+2 =81 км, (где 2 - сумма констант приведения табл. 123).
Выбираем оставшиеся звенья. Получили маршрута Г-Б-З-И-Н-М-Ж-Е-Л-К-Д-А-В. Перепишем маршрут с начального пункта А: А-В-Г-Б-З-И-Н-М-Ж-Е-Л-К-Д-А.
По табл. 104 подсчитаем длину его маршрута, она равна:
LМ = 2 + 7 + 6 + 6 + 5 + 9 + 8 + 12 +8 + 3 + 4 + 8 + 3 = 81 км.
Как видно, длина маршрута равна нижней границе протяженности маршрута, что свидетельствует о правильности произведенных вычислений.
Далее необходимо сравнить получившийся маршрут с маршрутом, полученным визуально. Сравнение показывает, что использование метода "ветвей и границ" позволило получить маршрут коммивояжера на 7 км (на ) более короткий.
Рис. 7.20. Маршрут движения коммивояжера, полученный методом ветвей и границ
На рис. 7.5 представлено дерево решений. Как видно из примера, метод ветвей и границ очень трудоемок.
Рис. 7.21. Дерево решений