Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет-3.doc
Скачиваний:
25
Добавлен:
26.04.2019
Размер:
1.86 Mб
Скачать

3.2.2. Решение задачи коммивояжера с использованием рекуррентных соотношений динамического программирования

Рассмотрим задачу коммивояжера с матрицей расстояний R , элементы которой r(i,j) приведены в таблице:

1

2

3

4

5

1

-

4

3

2

4

2

3

-

2

3

2

3

2

3

-

3

2

4

3

1

2

-

3

5

3

4

2

3

-

Пусть G = {1,2,3,4,5} - множество городов.

Обозначим через W(G’, i) - расстояние, которое пройдет коммивояжер из города с номером i через все города множества G’ в начальный город с номером 1, G’ G, i G\G’ при оптимальном выборе маршрута (с точки зрения критерия задачи коммивояжера). Тогда

W(G’,i) = min [ r(i,j) + W(G’\{i}, j)], (1)

где минимум берется по всем городам с номерами j G’.

Рекуррентные соотношения (1), используя граничные условия:

W(G’,i) = r(i,1), если G’ - пустое множество, (2)

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

W({2,3,4,5},1)= min[4+ W({3,4,5},2), 3+ W({2,4,5},3), 2+ W({2,3,5},4), 4+ W({2,3,4},5)].

W({3,4,5},2)= min[2+ W({4,5},3), 3+ W({3,5},4), 2+ W({3,4},5)]=min[2+8, 3+7, 2+7)=9(2,5,4,3,1).

W({2,4,5},3)=min[3+ W({4,5},2), 3+ W({2,5},4), 2+ W({2,4},5)]=min[3+8, 3+6, 2+7]=9(3,4,2,5,1; 3,5,4,2,1).

W({2,3,5},4)=min [1+ W({3,5},2), 2+ W({2,5},3), 3+ W({2,3},5)]=min[1+6, 2+8, 3+ 8]=7(4,2,5,3,1).

W({2,3,4},5)=min[4+ W({3,4},5), 2+ W({2,4},3), 3+ W({2,3},4)]=min[4+7, 2+7, 3+5]=8(5,4,2,3,1).

Отсюда получаем:

W({2,3,4,5},1)=min[4+9, 3+9, 2+7, 4+8]=9(1,4,2,5,3,1).

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

x’(1,4)=1, x’(4,2)=1, x’(2,5)=1, x’(5,3)=1, x’(3,1)=1.

Остальные значения переменных в оптимальном решении равны нулю.

Значение оптимума задачи F(X’)=9.

3.2.3. Решить задачи коммивояжера:

а)Методом ветвей и границ.

б)Методом динамического программирования.

Задача 2.1.

1

2

3

4

5

1

-

6

4

9

7

2

3

-

7

5

8

3

9

7

-

5

4

4

7

5

9

-

9

5

3

7

5

7

-

Задача 2.2.

1

2

3

4

5

1

-

3

4

9

7

2

4

-

7

6

8

3

9

7

-

3

4

4

7

5

9

-

9

5

3

7

5

7

-

Задача 2.3.

1

2

3

4

5

1

-

6

5

2

7

2

3

-

7

6

8

3

9

7

-

5

4

4

7

5

9

-

4

5

3

7

5

7

-

Задача 2.4.

1

2

3

4

5

1

-

6

4

9

7

2

3

-

4

6

8

3

9

7

-

5

4

4

7

5

3

-

9

5

3

7

5

7

-

Задача 2.5.

1

2

3

4

5

1

-

3

4

9

7

2

3

-

7

6

8

3

2

7

-

4

4

4

7

5

9

-

5

5

3

7

5

7

-

Задача 2.6.

1

2

3

4

5

1

-

6

4

6

7

2

3

-

7

6

8

3

9

7

-

5

4

4

7

5

5

-

9

5

3

4

5

7

-

Задача 2.7.

1

2

3

4

5

1

-

3

4

9

7

2

3

-

7

6

8

3

9

7

-

5

4

4

7

5

3

-

9

5

3

7

5

4

-

Задача 2.8.

1

2

3

4

5

1

-

6

4

9

2

2

3

-

7

6

8

3

9

3

-

4

4

4

7

5

2

-

9

5

3

7

5

4

-

Задача 2.9.

1

2

3

4

5

1

-

6

3

9

7

2

3

-

7

6

4

3

9

7

-

5

4

4

7

2

7

-

9

5

3

7

5

7

-

Задача 2.10.

1

2

3

4

5

1

-

4

4

9

7

2

3

-

7

3

8

3

6

7

-

5

4

4

7

5

4

-

9

5

3

7

5

7

-