Решение задач коммивояжёра, способов её решения

Автор работы: Пользователь скрыл имя, 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

Заключение

Список используемой литературы

Файлы: 1 файл

курсовая.doc

— 370.00 Кб (Скачать файл)
 

     После проведения процедуры приведения с  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-того отверстия.

     Производство  панелей носит циклический характер: в начале и конце обработки каждого листа стол должен находиться в положениях (x0, y0) диск в положении z0 причем в этом положении отверстие не пробивается. Это начальное состояние системы можно считать пробивкой фиктивного нулевого отверстия. С параметрами (x0,y0,z0,0).

     Чтобы пробить j-е отверстие непосредственно после i-того необходимо произвести следующие действия:

  1. Переместить стол по оси x из положения xi в положение xj, затрачивая при этом время t(x)(|xi-xj|)=ti,j(x).
  2. Проделать то же самое по оси y, затратив время ti,j(y) .  
  3. Повернуть головку по кратчайшей из двух дуг из положения zi в положение zj, затратив время ti,j(z) .  
  4. Пробить j-тое отверстие, затратив время tj.

     Конкретный  вид функций t(x), t(y), t(z) зависит от механических свойств пресса  и достаточно громоздок. Явно выписывать эти функции нет необходимости

Информация о работе Решение задач коммивояжёра, способов её решения