Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ_Часть2_печать.doc
Скачиваний:
43
Добавлен:
03.09.2019
Размер:
5.35 Mб
Скачать

7.2. Решение задачи коммивояжера методом "ветвей и границ"

Задача "странствующего коммивояжера" заключается в том, что на транспортной сети имеется n пунктов, в которых он должен побывать, причем только по 1 разу и вернуться в исходный. Расстояния (или стоимости проезда) между пунктами неодинаковы, поэтому способов объезда будет много. Необходимо из всех этих способов найти такой, который обеспечивает минимальную длину маршрута (или суммарную стоимость объезда).

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

Алгоритм метода:

  1. Из каждой строки матрицы кратчайших расстояний вычитается минимальный элемент min (константа приведения по строкам).

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

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

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

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

Множество "все решения" на рис. 7.1 делится на два подмножества:

  • включают пару пунктов Н-М;

  • не включают пару пунктов Н-М.

  1. Рассчитаем нижнюю границу протяженности маршрутов, второго подмножества Н-М. Она определяется как сумма нижней границы множества "все решения" и величиной оценки пары Н-М.

  2. Строку Н и столбец М, соответствующих паре пунктов, включенных в маршрут, исключаем (вычеркиваем) из матрицы кратчайших расстояний, приведенной по строкам и столбцам. Выбор пары пунктов М-Н привел бы к нарушению условий задачи (побывать в каждом пункте только по 1 разу), поэтому этот элемент в матрице блокируем, проставляя в соответствующую клетку матрицы вместо цифры знак ∞. Нижняя граница протяженности маршрутов первого подмножества определяется сложением нижней границы множества "все решения" и новой суммы констант приведения после указанных преобразований матрицы кратчайших расстояний.

  3. Переход на пункт 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. Дерево решений