|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Задача коммивояжера. Цель работы: построить маршрут через 6 городов с минимальными транспортными затратами при том, что каждый город можно посетить только один раз и в конце
Цель работы: построить маршрут через 6 городов с минимальными транспортными затратами при том, что каждый город можно посетить только один раз и в конце необходимо вернуться к начальному пункту (нахождение гауссова цикла минимального веса на взвешенном ориентированном графе). Условие: Стоимость проезда из города i в город j задана матрицей:
По заданию, к ограничениям, заданным условием задачи (Cii=∞, т.е. движение из города i в этот же город невозможно), добавляется еще один невозможный переезд. Он обозначены ∞. Ограничения: где xij = 0, если нет движения из i в j и xij = 1, если такое движение есть. Первая строка означает, что число выездов из i в j = 1, а вторая – что в j можно въехать только один раз. Еще одно ограничение – маршрут должен быть циклическим. Целевая функция: , где cij – стоимость переезда из города i в j. Порядок выполнения работы: Задача решается методом ветвей и границ. Множество возможных циклов (маршрутов) обхода городов последовательно разбивается (ветвится) на уменьшающиеся подмножества, образуя дерево подмножеств. Любое подмножество можно ветвить до тех пор, пока оно не будет состоять из одного цикла. Чтобы не порождать все возможные маршруты коммивояжера, для каждого из подмножеств вычисляется "граница" – оценка, которая не больше стоимости любого маршрута из подмножества. Как только появляется некоторый маршрут, все подмножества, оценки которых не меньше стоимости маршрута, могут быть исключены из рассмотрения. Если стоимость какого-либо маршрута не больше оценок всех неразветвленных подмножеств (листьев), то этот маршрут является оптимальным и задача решена.
Данный метод является итерационным. Каждая итерация включает следующие действия:
Далее начинается новая итерация, т.е. возврат к п.1 с усеченной матрицей. Итерации производятся до тех пор, пока в матрице не останется две строки и два столбца. К графу добавляются оставшиеся две дуги. В результате итераций граф и дерево принимают следующий вид:
Так как стоимость найденного маршрута (15) не больше оценок всех неразветвленных подмножеств (листьев), то этот маршрут является оптимальным и задача решена.
Оптимальный маршрут коммивояжера: 1→6→4→5→2→3→1.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |