Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Итоговый отчет СРС1-12 Чертоляс Саша.docx
Скачиваний:
5
Добавлен:
10.11.2019
Размер:
811.02 Кб
Скачать

Срс12.Задача о коммивояжере.

Томск

Юрга

Мариинск

Ачинск

Бийск

Абакан

1

2

3

4

5

6

Томск

1

А(∞)

Л

Е

К

С

А

Юрга

2

Н

Д(∞)

Р

А

Ч

Е

Мариинск

3

Р

Т

О(∞)

Л

Я

С

Ачинск

4

О

Л

Е

Г(∞)

О

В

Бийск

5

Н

А

А

Л

Е(∞)

К

Абакан

6

С

А

Н

Д

Р

А(∞)

Томск

Юрга

Мариинск

Ачинск

Бийск

Абакан

Минимум по строкам

1

2

3

4

5

6

Томск

1

13

6

12

19

1

1

Юрга

2

15

18

1

25

6

1

Мариинск

3

18

20

13

33

19

13

Ачинск

4

16

13

6

16

3

3

Бийск

5

15

1

1

13

12

1

Абакан

6

19

1

15

5

18

1



2.Вычитаем наименьший элемент каждой строки из всех остальных и получаем С и находим наименьший элемент в каждом столбце:

C’ij=Cij-Cij(i)

Cij(i)=minCij.

1

2

3

4

5

6

1

12

5

11

18

0

2

14

17

0

24

5

3

5

7

0

20

6

4

13

10

3

13

0

5

14

0

0

12

11

6

18

0

14

4

17

Мин по столбцам

5

0

0

0

13

0

Сумма констант приведения определяет нижнюю границу G:

G = ∑di + ∑dj

3.Вычитаем наименьший элемент каждого столбца из всех остальных элементов

12

5

11

5

0

9

17

0

11

5

0

7

0

7

6

8

10

3

0

0

9

0

0

12

11

13

0

14

4

4

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

i j

1

2

3

4

5

6

1

12

5

11

5

0(5)

2

9

17

0(5)

11

5

3

0(8)

7

0(0)

7

6

4

8

10

3

0(4)

0(0)

5

9

0(0)

0(3)

12

11

6

13

0(4)

14

4

4

dj

8

0

3

0

4

0

4. Наибольшая сумма констант приведения равна (0 + 8) = 8 для ребра (3,1).

Нижняя граница гамильтоновых циклов этого подмножества:

G(3,1) = 38 + 8 = 46

Исключение ребра (3,1) проводим путем замены элемента d31 = 0 на ∞

в результате получим редуцированную матрицу

i j

1

2

3

4

5

6

di

1

12

5

11

5

0(5)

0

2

9

17

0(5)

11

5

0

3

7

0(0)

7

6

6

4

8

10

3

0(4)

0(0)

0

5

9

0(0)

0(3)

12

11

0

6

13

0(4)

14

4

4

4

dj

8

0

3

0

0

0

10

Включение ребра (3,1) проводится путем исключения всех элементов 3-ой строки и 1-го столбца, в которой элемент d13 заменяем на ∞.

∑di + ∑dj =3

После операции приведения сокращенная матрица будет иметь вид:

i j

2

3

4

5

6

di

1

12

11

5

0

0

2

17

0

11

5

0

4

10

3

0

0

0

5

0

0

12

11

0

6

0

14

4

4

0

dj

0

0

0

0

0

0

Нижняя граница подмножества (3,1) равна:

G (3,1) = 38 + 0 = 38 < 46

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

i j

2

3

4

5

6

di

1

12

11

5

0(5)

5

2

17

0(9)

11

5

5

4

10

3

0(4)

0(0)

0

5

0(0)

0(3)

12

11

0

6

0(4)

14

4

4

4

dj

0

3

4

4

0

0

Наибольшая сумма констант приведения равна (5 + 4) = 9 для ребра (2,4)

Нижняя граница гамильтоновых циклов этого подмножества:

G (2,4) = 38 + 9 = 47

Исключение ребра (2,4) проводим путем замены элемента d24 = 0 на ∞

в результате получим редуцированную матрицу

i j

2

3

4

5

6

di

1

12

11

5

0(5)

5

2

17

11

5

5

4

10

3

0(4)

0(0)

0

5

0(0)

0(3)

12

11

0

6

0(4)

14

4

4

4

dj

0

3

4

4

0

0

В результате получим другую сокращенную матрицу (4 x 4), которая подлежит операции приведения.

Сумма констант приведения сокращенной матрицы:

∑di + ∑dj = 0

После операции приведения сокращенная матрица будет иметь вид:

i j

2

3

5

6

di

1

12

5

0

0

4

3

0

0

0

5

0

0

11

0

6

0

14

4

0

dj

0

0

0

0

0

Нижняя граница подмножества (2,4) равна:

G (2,4) = 38 + 0 = 38 < 47

П оскольку нижняя граница этого подмножества (2,4) меньше, чем подмножества (2,4), то ребро (2,4) включаем в маршрут.

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

i j

2

3

5

6

di

1

12

5

0(5)

5

4

3

0(4)

0(0)

0

5

0(0)

0(3)

11

0

6

0(4)

14

4

4

dj

0

3

4

0

0

Наибольшая сумма констант приведения равна (5 + 0) = 5 для ребра (1,6)

в результате получим матрицу.

i j

2

3

5

6

di

1

12

5

5

4

3

0

0

0

5

0

0

11

0

6

0

14

4

4

dj

0

3

4

0

0

Включение ребра (1,6) проводится путем исключения всех элементов 1-ой строки и 6-го столбца, в которой элемент d16 заменяем на ∞

В результате получим другую сокращенную матрицу (3 x 3), которая подлежит операции приведения.

Сумма констант приведения сокращенной матрицы:

∑di + ∑dj = 0

После операции приведения сокращенная матрица будет иметь вид:

i j

2

3

5

di

4

3

0

0

5

0

0

0

6

0

14

4

0

dj

0

0

0

0

Нижняя граница подмножества (1,6) равна:

G(1,6) = 38 + 0 = 38 < 43

П оскольку нижняя граница этого подмножества (1,6) меньше, чем подмножества (1,6), то ребро (1,6) включаем в маршрут.

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

i j

2

3

5

di

4

3

0(7)

3

5

0(0)

0(3)

0

6

0(4)

4

4

dj

0

3

4

0


Наибольшая сумма констант приведения равна (3 + 4) = 7 для ребра (4,5)

Н ижняя граница гамильтоновых циклов этого подмножества:

G (4,5) = 38 + 7 = 45

Исключение ребра (4,5) проводим путем замены элемента d45 = 0 на ∞

в результате получим матрицу.

i j

2

3

5

di

4

3

3

5

0(0)

0(3)

0

6

0(4)

4

4

dj

0

3

4

0


Включение ребра (4,5) проводится путем исключения всех элементов 4-ой строки и 5-го столбца, в которой элемент d45 заменяем на ∞

В результате получим другую сокращенную матрицу (2 x 2), которая подлежит операции приведения.

Сумма констант приведения сокращенной матрицы:

∑di + ∑dj = 0

После операции приведения сокращенная матрица будет иметь вид:

i j

2

3

di

5

0

0

0

6

0

0

dj

0

0

0

Нижняя граница подмножества (4,5) равна:

G(4,5) = 38 + 0 = 38 < 45

П оскольку нижняя граница этого подмножества (4,5) меньше, чем подмножества (4,5), то ребро (4,5) включаем в маршрут.

В соответствии с этой матрицей включаем в гамильтонов маршрут ребра (5,3) и (6,2).

В результате по дереву ветвлений цикл образуют ребра:

(3,1), (1,6), (6,2), (2,4), (4,5), (5,3),

Длина маршрута равна 38

Запрещенные маршруты : (1,3),(6,3),(2,6),(4,2),(5,4)(3,5)

66