Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
29
Добавлен:
30.05.2015
Размер:
84.99 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра ОСУ

Самостоятельная работа студента №12*

Задача о коммивояжере (другой способ решения)

Выполнил: студент группы 8512

Ярусов Н.К.

Проверил: Ротарь В.Г.

ТОМСК

2004

ЗАДАНИЕ

Решить задачу о коммивояжере, используя венгерский метод и алгоритм Флада. Необходимо найти маршрут коммивояжера, который бы включал в себя все города, при этом представлял из себя один единственный обход, т.е. в каждый город коммивояжер будет въезжать и выезжать один раз. Минимизировать транспортные издержки С.

ХОД РАБОТЫ

  1. Задача в формальном виде выглядит следующим образом:

при условиях

Запишем матрицу транспортных издержек Сij, используя код ФИО:

Cij

1

2

3

4

5

6

1

18 (Р)

21 (У)

19 (С)

16 (О)

3 (В)

2

15 (Н)

12 (К)

16 (О)

13 (Л)

1 (А)

3

11 (Й)

12 (К)

15 (Н)

19 (С)

20(Т)

4

1 (А)

15 (Н)

20 (Т)

15 (Н)

16 (О)

5

3 (В)

10 (И)

25 (Ч)

33 (Я)

21(У)

6

19 (С)

16 (О)

3 (В)

15 (Н)

10 (И)

Этап 1: подготовительный этап, использующий венгерский метод (алгоритм Флада):

  1. Переход Сij => C´ij (ищем в каждой строке матрицы Сij минимальный элемент). Тогда коэффициент приведения матрицы , следовательно, .

  2. Переход С´ij => C´´ij (ищем в каждом столбце матрицы С´ij минимальный элемент). Тогда коэффициент приведения матрицы , следовательно, .

  3. Операции (1) и (2) этапа 1 обеспечили в каждой строке и в каждом столбце появление хотя бы одного ноля.

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

rСij = число независимых нолей

g

1

2

3

4

5

6

min

C'ij

1

2

3

4

5

6

C'’ij

1

2

3

4

5

6

1

18

21

19

3

16

3

1

15

18

16

0

16

1

15

18

12

0

16

2

15

12

16

13

1

1

2

14

11

15

12

0

2

14

11

11

12

0

3

12

11

15

19

20

11

3

1

0

4

8

9

3

1

0

0

8

9

4

1

15

20

15

16

1

4

0

14

19

14

15

4

0

14

19

14

15

5

6

5

25

33

21

5

5

1

0

20

28

16

5

1

0

20

24

18

6

19

16

3

15

10

3

6

16

13

0

12

7

6

16

13

0

8

7

Σ

=

22

min

0

0

0

0

0

0

Σ

=

0

Находим оптимальные ноли и определяем их позиции:

Нули

1

2

3

4

5

6

1

0

2

0

3

0

0

4

0

5

0

6

0

Позиции оптимальных нолей:

  1. i = 1, j =5

  2. i = 5, j =2

  3. i = 2, j =6

  4. i = 6, j =3

  5. i = 3, j =4

  6. i = 4, j =1

Эти позиции совпадают с позициями, полученными в СРС №12. Таким образом, маршрут обхода выглядит следующим образом: