Автор работы: Пользователь скрыл имя, 31 Марта 2011 в 19:14, курсовая работа
Целью данной курсовой работы является рассмотрение задачи коммивояжера, способов её решения.
Рассмотрена задача коммивояжёра, а также приведён алгоритм метода ветвей и границ для решения задачи коммивояжёра.
Введение
1. Теоретическая часть 6
1.1 Основные понятия теории графов 6
1.2 Формулировка и некоторые свойства решений задачи коммивояжера. 8
1.3 Постановка задачи коммивояжера как задачи на графе 10
1.4 Условия существования Гамильтонова контура 10
1.5 Метод ветвей и границ…………………………………………………. 11
1.6 Практическое применение задачи коммивояжера…………………… 17
2. Практическая часть 20
Заключение
Список используемой литературы
После проведения процедуры приведения с r1=10 получим новую нижнюю границу 57 + 10 = 67.
В
матрице, соответствующей
, вычеркиваем первую строку и четвертый
столбец и положим c41= ∞, чтобы
предотвратить появления цикла 1→ 4 →
1. Получим новую платежную матрицу {c1ij}:
1 | 2 | 3 | 5 | 6 | |
2 | 1 | ∞ | 15 | 29 | 24 |
3 | 15 | 13 | ∞ | 5 | 0 |
4 | ∞ | 0 | 9 | 2 | 2 |
5 | 2 | 41 | 22 | ∞ | 0 |
6 | 13 | 0 | 0 | 0 | ∞ |
Для
приведения надо вычесть минимум
по первому столбцу: h1=1. При этом
нижняя граница станет равной 47+1 = 48. Сравнивая
нижние границы
φ (
) = 67 и φ (
) = 48 < 67 выделяем подмножество маршрутов
, которое с большей вероятностью содержит
маршрут минимальной длины.
Рис. 1.4 Ветвление на первом шаге
Приведенная платежная матрица для
1 | 2 | 3 | 5 | 6 | |
2 | 0 | ∞ | 15 | 29 | 24 |
3 | 14 | 13 | ∞ | 5 | 0 |
4 | ∞ | 0 | 9 | 2 | 2 |
5 | 1 | 41 | 22 | ∞ | 0 |
6 | 12 | 0 | 0 | 0 | ∞ |
Далее продолжаем процесс ветвления. Найдем степени Θij нулевых элементов этой матрицы Θ21 =16, Θ36 = 5, Θ42 = 2, Θ56 = 2, Θ62 = 0, Θ63 =9, Θ65 = 2. Наибольшая степень Θ21. Затем множество разбивается дуге (2, 1) на два новых и .
В
матрице для
вычеркиваем строку 2 и столбец 1. дуги
(1, 4) и (2, 1) образуют связный путь (2, 1, 4),
положим c42= ∞, чтобы предотвратить
появления цикла 2→1→ 4 → 2.
2 | 3 | 5 | 6 | |
3 | 13 | ∞ | 5 | 0 |
4 | ∞ | 9 | 2 | 2 |
5 | 41 | 22 | ∞ | 0 |
6 | 0 | 0 | 0 | ∞ |
Для приведения надо вычесть минимум по строке 4: r4=2. При этом нижняя граница станет равной 48+2 = 50.
Нижняя граница для , полученная как на предыдущем шаге ветвления, равна 48 + 16 = 64. Сравнивая нижние границы φ ( ) = 64 и φ ( ) = 50 < 64 выбираем для дальнейшего разбиения подмножество маршрутов .
Рис. 1.5
Ветвление на втором шаге
Приведенная
платежная матрица для
2 | 3 | 5 | 6 | |
3 | 13 | ∞ | 5 | 0 |
4 | ∞ | 7 | 0 | 0 |
5 | 41 | 22 | ∞ | 0 |
6 | 0 | 0 | 0 | ∞ |
Степени Θij нулевых элементов этой матрицы Θ36 = 5, Θ45 = 0, Θ56 = 22, Θ62 = 13, Θ63 =7, Θ65 = 0. Наибольшая степень Θ56. Затем множество разбивается дуге (2, 1) на два новых и .
Нижняя
граница для
равна 50 + 22 = 72. В матрице для
вычеркиваем строку 5 и столбец 6 и
полагаем c65= ∞. Получим матрицу:
2 | 3 | 5 | |
3 | 13 | ∞ | 5 |
4 | ∞ | 7 | 0 |
6 | 0 | 0 | ∞ |
Для
приведения надо вычесть минимум
по строке 3: r3=5. При этом нижняя граница
станет равной 50+5 = 55. Выбираем для дальнейшего
разбиения подмножество маршрутов
.
Рис. 1.6
Ветвление на третьем шаге
Приведенная
платежная матрица для
2 | 3 | 5 | |
3 | 8 | ∞ | 0 |
4 | ∞ | 7 | 0 |
6 | 0 | 0 | ∞ |
Степени Θij нулевых элементов этой матрицы Θ35 = 8, Θ45 = 7, Θ62 = 8, Θ63 =7. Выбираем Θ35 = 8. Разбиваем на и .
Нижняя
граница для
равна 55 + 8 = 64. В матрице для
вычеркиваем строку 3 и столбец 5 и
полагаем c63= ∞. Получим
2 | 3 | |
4 | ∞ | 7 |
6 | 0 | ∞ |
Для
приведения надо вычесть минимум
по строке 4: r4=7. При этом нижняя граница
станет равной 55+7 = 62. После приведения
получим
2 | 3 | |
4 | ∞ | 0 |
6 | 0 | ∞ |
Из матрицы 2´2 получаем два перехода с нулевой длинной: (4, 3) и (6, 2).
Рис. 1.7
Ветвление на четвертом шаге
Рис. 1.8
Дерево ветвления с оценками
Полученный
маршрутом коммивояжера
z0 = (1, 4, 3, 5, 6, 2, 1) или (A-D-C-E-F-B-A).
1.6
Практическое применение
задачи коммивояжера
Кроме
очевидного применения задачи коммивояжера
на практике, существует ещё ряд задач,
сводимых к решению задачи коммивояжера.
Задача
о производстве красок.
Имеется производственная линия для производства n красок разного цвета; обозначим эти краски номерами 1,2… n. Всю производственную линию будем считать одним процессором.. Будем считать также, что единовременно процессор производит только одну краску, поэтому краски нужно производить в некотором порядке Поскольку производство циклическое, то краски надо производить в циклическом порядке p=(j1,j2,..,jn,j1). После окончания производства краски i и перед началом производства краски j надо отмыть оборудование от краски i. Для этого требуется время C[i,j]. Очевидно, что C[i,j] зависит как от i, так и от j, и что, вообще говоря,C[i,j]≠C[j,i]. При некотором выбранном порядке придется на цикл производства красок потратить время:
Где tk - чистое время производства k-ой краски (не считая переналадок). Однако вторая сумма в правой части постоянна, поэтому полное время на цикл производства минимизируется вместе с общим временем на переналадку.
Таким
образом, задача коммивояжера и задача
о минимизации времени
Задача
о дыропробивном
прессе.
Дыропробивной пресс производит большое число одинаковых панелей – металлических листов, в которых последовательно по одному пробиваются отверстия разной формы и величины. Схематически пресс можно представить в виде стола, двигающегося независимо по координатам x, y, и вращающегося над столом диска, по периметру которого расположены дыропробивные инструменты разной формы и величины. Каждый инструмент присутствует в одном экземпляре. Диск может вращаться одинаково в двух направлениях (координата вращения z). Имеется собственно пресс, который надавливает на подвешенный под него инструмент тогда, когда под инструмент подведена нужная точка листа.
Операция пробивки j-того отверстия характеризуется четверкой чисел (xj,yj,zj,tj),, где xj,yj- координаты нужного положения стола, zj - координата нужного положения диска и tj - время пробивки j-того отверстия.
Производство
панелей носит циклический
Чтобы пробить j-е отверстие непосредственно после i-того необходимо произвести следующие действия:
Конкретный вид функций t(x), t(y), t(z) зависит от механических свойств пресса и достаточно громоздок. Явно выписывать эти функции нет необходимости
Информация о работе Решение задач коммивояжёра, способов её решения