Задача коммивояжера, ДП по подмножествам

Материал из Викиконспекты
Перейти к: навигация, поиск

Задача о коммивояжере (англ. travelling-salesman problem) - это задача, в которой определяется кратчайший замкнутый путь, соединяющий заданное множество, которое состоит из n точек на плоскости.

Формулировка задачи:

Коммивояжер должен посетить N городов, побывав в каждом из них ровно по одному разу и завершив путешествие в том городе, с которого он начал. В какой последовательности ему нужно обходить города, чтобы общая длина его пути была наименьшей?

Представление:

Чтобы математические процессы смогли использоваться для решения, реальная ситуация должна отображаться сначала простой моделью. Задачу коммивояжера можно смоделировать с помощью графа. При этом вершины принято считать городами, в то время как каждая дуга (i, j) описывает связь между этими городами между 2 вершинами i и j. Каждая дуга имеет свой вес с(i, j). Поездка (также цикл Гамильтона) - это цикл в этом графе, который проходит через каждую вершину ровно один раз. Целью является найти более короткую поездку.