Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кириллов Исследование операций / Расчетно-графическое задание №4 по ИО

.docx
Скачиваний:
13
Добавлен:
02.01.2020
Размер:
315.07 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра экономической информатики

Расчетно-графическое задание №4

По курсу «Исследование операций»

«Задача коммивояжера»

Выполнил:

Факультет Бизнеса

Группа: ФБИ-22

Преподаватель: Кириллов Ю.В.

Новосибирск 2014

Цели задания:

1.Понимать смысл, различать, осознанно использовать следующие понятия: математическая модель задачи о коммивояжере (бродячем торговце); приведенная матрица расстояний, константы приведения, штрафы; множество допустимых решений задачи о коммивояжере, разбиение множества решений на подмножества, оценка подмножества решений, рекорд, дерево решений – в методе ветвей и границ для задачи о коммивояжере.

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

Условие задачи:

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

Задание:

1. Записать математическую модель задачи.

2. Решить задачу методом ветвей и границ.

3. Построить дерево решения.

Вариант№4:

  1. Математическая модель задачи

Определим булевы переменные задачи: xij = 1, если коммивояжер переезжает из города i в город j, и xij = 0, если коммивояжер не переезжает из города i в город j. Переменные задачи:

(1.1)

Ограничения на однократный въезд-выезд в каждом городе (1.2):

(1.2)

Дополнительные ограничения, запрещающие образование возможных подциклов (1.3):

(1.3)

Для задачи о коммивояжере используется метод Литтла. Пусть для ЗК матрица стоимостей задается квадратной матрицей 6х6.

i О j

1

2

3

4

5

6

1

X

9

20

11

8

17

2

15

X

10

10

18

14

3

12

8

X

9

10

12

4

11

20

12

X

15

18

5

10

9

11

10

X

12

6

8

11

9

12

16

X

Таблица 1.

Символы Х - означают запрещение соответствующего маршрута, а для исходной матрицы это означает отсутствие петель.

Кроме того, на таблице 1 представлена несимметричная матрица, стоимость при прямом переезде из i в j не равна стоимости обратного маршрута из j в i .

Сделаем нулевой шаг метода Литтла, выполнив приведение исходной матрицы сначала по строкам, а затем по столбцам.

i жжj

1

2

3

4

5

6

ui

1

X

9

20

11

8

17

8

2

15

X

10

10

18

14

10

3

12

8

X

9

10

12

8

4

11

20

12

X

15

18

11

5

10

9

11

10

X

12

9

6

8

11

9

12

16

X

8

54



Таблица 2. Приведение по строкам

i wwj

1

2

3

4

5

6

1

X

1

12

3

0

9

2

5

X

0

0

8

4

3

4

0

X

1

2

4

4

0

9

1

X

4

7

5

1

0

2

1

X

3

6

0

3

1

4

8

X

vj

0

0

0

0

0

3

3



Таблица 3. Приведение по столбцам

i fffffj

1

2

3

4

5

6

1

X

1

12

3

0

6

2

5

X

0

0

8

1

3

4

0

X

1

2

1

4

0

9

1

X

4

4

5

1

0

2

1

X

0

6

0

3

1

4

8

X

Таблица 4. Полученная после приведения таблица

Для каждого нулевого элемента в матрице , находящегося в -й строке и -м столбце, определим штраф как сумму ближайших к нему по значению элемента -й строки и элемента -го столбца: .

Х15 - элемент с максимальным тарифом. Он показывает величину экономии, которую мы будем иметь, если выберем маршрут, представленный этим нулевым элементом.

Выбор первого маршрута ГК позволит нам на следующем шаге разбить исходное множество маршрутов на два подмножества по принципу: в одно их них маршрут (1,5) будет включен (С1(1)), в другое подмножество – не будет включен (С1(2)).

Рассмотрим множество С1(1):

i ммj

1

2

3

4

5

6

1

X

Х

Х

Х

Х

Х

2

5

X

0

0

Х

1

3

4

0

X

1

Х

1

4

0

9

1

X

Х

4

5

Х

0

2

1

Х

0

6

0

3

1

4

Х

X



Таблица 5. Множество С1(1)

Найдем оценку значения ЦФ с помощью приведения:

i вввj

1

2

3

4

5

6

U1i(1)

1

X

Х

Х

Х

Х

Х

-

2

5

X

0

0

Х

1

0

3

4

0

X

1

Х

1

0

4

0

9

1

X

Х

4

0

5

Х

0

2

1

Х

0

0

6

0

3

1

4

Х

X

0

V1j(1)

0

0

0

0

-

0



Таблица 6. Множество С1(1)

Рассмотрим множество С1(2):

В матрице С1(2), по сравнению с исходной матрицей С(0) , должен быть запрещен только маршрут (1,5) , поскольку здесь мы точно знаем, что по маршруту (1,5) мы не поедем. Все остальные маршруты в этом подмножестве возможны.

i bbbj

1

2

3

4

5

6

1

X

1

12

3

Х

6

2

5

X

0

0

8

1

3

4

0

X

1

2

1

4

0

9

1

X

4

4

5

1

0

2

1

X

0

6

0

3

1

4

8

X



Таблица 7. Множество С1(2)

Найдем оценку значения ЦФ с помощью приведения:

i ммj

1

2

3

4

5

6

U1i(2)

1

X

1

12

3

Х

6

1

2

5

X

0

0

8

1

0

3

4

0

X

1

2

1

0

4

0

9

1

X

4

4

0

5

1

0

2

1

X

0

0

6

0

3

1

4

8

X

0

V1j(2)

0

0

0

0

2

0



Таблица 8. Приведение множества С1(2)

i сссj

1

2

3

4

5

6

U1i(2)

1

X

0

11

2

Х

5

1

2

5

X

0

0

6

1

0

3

4

0

X

1

0

1

0

4

0

9

1

X

2

4

0

5

1

0

2

1

X

0

0

6

0

3

1

4

6

X

0

V1j(2)

0

0

0

0

2

0