Номер варианта выбирается по параметру зачетки d 10 соотв. 0 1. 2. 3. 4. 5.6. 7.8. 9 10. Задача Коммивояжёра Имеется n городов, занумерованных числами.

Презентация:



Advertisements
Похожие презентации
Тема 6. Транспортная логистика Презентация подготовлена преподавателем кафедры «Прикладной математики» Тесёлкиной Е.С.
Advertisements

1. Строятся вершины первого уровня. Для них подсчитывается оценка ψ( ) 2. Ветвится вершина, которой соответствует лучшая оценка. Подсчитываются оценки.
ИССЛЕДОВАНИЕ ДЕРЕВА РЕШЕНИЙ В РЕАЛИЗАЦИИ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА Ермошин А.С., Плиско В.А. (МГУПИ)
Задача коммивояжера. Задача коммивояжера: имеется n городов, задана матрица расстояний между городами. Коммивояжер должен побывать в каждом городе только.
Теория графов Основные определения. Дуга Пусть имеется множество вершин V={V 1,V 2,…,V n } и пусть на нем задано бинарное отношение Г V×V, – V i Г V j.
Теория графов Основные определения. Задание графов Графический способ – Привести пример графического задания графа, состоящего из вершин А, В и С, связанных.
Метод Гаусса Выполнил Межов В.С. Группа СБ
Теория графов Алгоритмы на графах. Медиана графа Медиана вершина графа, у которой сумма кратчайших расстояний от неё до вершин графа минимальная возможная.
1 Исследование алгоритмов решения задачи k коммивояжеров Научный руководитель, проф., д.т.н. Исполнитель, аспирант Ю.Л. Костюк М.С. Пожидаев Томский государственный.
АЛГОРИТМЫ НАХОЖДЕНИЯ КРАТЧАЙШИХ ПУТЕЙ НА ГРАФАХ..
ТЕОРИЯ ГРАФОВ ЗАДАЧА КОММИВОЯЖЕРА Гамильтоновы графы применяются для моделирования многих практических задач. Основой всех таких задач служит классиче.
Теория графов. Теория графов – обширный самостоятельный раздел дискретной математики. Используется при проектировании компьютерных сетей, трубопроводов,
Что нужно знать: динамическое программирование – это способ решения сложных задач путем сведения их к более простым задачам того же типа динамическое.
Построение остовного (покрывающего) дерева графа Преподаватель «И и ИКТ» ГБОУ лицея 1557 Куленчик Олеся Николаевна.
Задача о назначениях. Венгерский метод решения задачи о назначениях. Малофеевой Екатерины гр. ММ-61.
Лекция 9 Отношения, графы Определения. Определение. Пусть а и b объекты. Через (а, b) обозначим упорядоченную пару, состоящую из объектов а и b, взятых.
1 Комбинаторные алгоритмы Задача о k-центрах. 2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для.
Кафедра математики и моделирования Старший преподаватель Е.Г. Гусев Курс «Высшая математика» Лекция 19. Тема: Транспортная задача. Цель: Рассмотреть метод.
Задача о максимальном потоке в сети Алгоритм Фалкерсона-Форда.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Транксрипт:

Номер варианта выбирается по параметру зачетки d 10 соотв Задача Коммивояжёра Имеется n городов, занумерованных числами 1,2,...,n. Для любой пары городов (i,j) задано расстояние (время, путевые расходы) C(i,j) 0 между ними. Поэтому в общем случае C(i,j) C(j,i). Коммивояжер, выезжая из какого-либо города, должен посетить все города по одному разу и вернуться в исходный город. Необходимо определить такую последовательность объезда городов, при которой длина маршрута была бы минимальной. Можно взять задач 5х5, вычеркнув пару строку&столбец по номеру b mod6 По номеру c По особому разрешению преподавателя можно вычеркнуть после этого столбец и строку с mod 5 (Если исп ФИО, то по а)

Постановка целочисленная ЗЛП Ограничения требуют, чтобы маршрут образовывал контур Москва Питер Астрахань Минск Киев Ростов Екатеринбург Верный Путь

Процедура коррекции длин (ввод субсидий) таможня Можно избрать

Пример 3х3 Самая зловредная θ Дерево решения Тогда верхняя граница длин всех маршрутов F(x 0 ) = = 21 - текущее значение Z 0 Нижняя оценка Z нижн =16 ( ) Меньшая оценка соответствует нашей (левой) вершине Ищем путь Ответ: его длина проверка

Алгоритм ветвей и границ Допустимый маршрут х представим как множество упорядоченных пар городов: X = (i 1,i 2 ), (i 2,i 3 ),…,(i n-1,i n ), (i n,i 1 ). Каждый допустимый маршрут представляет собой цикл, проходя по которому коммивояжер посещает каждый город ровно один раз и возвращается в исходный город. Каждая упорядоченная пара (i,j) является дугой маршрута. Длина F(X) маршрута X равна сумме соответствующих элементов C(i,j). Возможно (n-1)! маршрутов !!

Флаг Русский Польский Советский для 20 : 20*19*18… для 4 : 4 * 3 * 2 * 1 = … маршрут х X = (i 1,i 2 ), (i 2,i 3 ),…,(i n-1,i n ), (i n,i 1 ). С учётом безразличности выбора начала

- Редуцированная матрица. пусть Пусть - сумма констант редуцирования Тогда для любого маршрута Оценка длины с низу! после редукции длины всех маршрутов уменьшаются на одну и ту же величину d(X) и, следовательно, оптимальный маршрут, найденный с использованием редуцированной матрицы, оптимален и для исходной задачи.

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

В качестве начального возьмём Тогда верхняя граница длин всех маршрутов F(x 0 ) = = 65 - текущее значение Z 0 Получим редуцированную матрицу Нижняя граница d(x) = =58. в идеальном случае поиск решения заключался бы в выборе ровно одного нулевого элемента в каждой строке и каждом столбце. Другими словами, если бы такой маршрут нулевой длины мог бы быть найден, то длина оптимального маршрута равнялась бы 58 (1,2)=0, (2,1)=0, (3,1)=0, (4,2)=4, (1,5)=1, (2,3)=5, (3,4)=2, (5,2)=2. Следовательно, Arg max (r,s) C(r,s)=0 ) = (2,3). вычитаем

Верхняя граница Тогда верхняя граница длин всех маршрутов F(x 0 ) = = 65 - текущее значение Z 0 Придумаем простой путь

(1,2)=0, (2,1)=0, (3,1)=0, (4,2)=4, (1,5)=1, (2,3)=5, (3,4)=2, (5,2)=2. Следовательно, Arg max (r,s) C(r,s)=0 ) = (2,3). (5,2)=2. (1,2)=0, (2,3)=5, (3,4)=2, (1,5)=1, (2,1)=0, (3,1)=0, (4,2)=4,

(5,2)=2. (1,2)=0, (2,3)=5, (3,4)=2, (1,5)=1, (2,1)=0, (3,1)=0, (4,2)=4, Следовательно, Arg max (r,s) C(r,s)=0 ) = (2,3). «Отъехать» «Приехать» Zmin=58 Zmin=? (2,3), Zmin>= 58+5=63 не(2,3),

допустимо Левое подмножество X 1 будет содержать маршруты, которые всегда включают дугу (2,3), и поэтому вторая строка и третий столбец в матрицу C 1 не включаются. В результате будем иметь матрицу на единицу меньшего размера. Далее необходимо положить дугу с 1 (3,2)=, чтобы запретить подцикл {(2,3),(3,2)}. Оценка снизу для левого подмножества Ветвим множество имеющее меньшую оценку

(4,2)=4 С(3,4)= (4,2) запретить подцикл {(4,2)(2,3),(3,4)}. (2,3)(2,3) редуцируем Уже выбранные рёбра

Самая зловредная θ

Ответ: (3,4) (2,3)(2,3) Уже выбранные рёбра (4,1) ЗАПРЕТИТЬ (1,2) Остались (5,2) и (1,5) (1,5) (5,2) длина (2,3)(2,3)(3,4)(4,1)

Проверка / ответ Кратчайшим путём является цикл Тогда верхняя граница длин всех маршрутов F(x 0 ) = = 65 - текущее значение Z 0 (1,5) (5,2)(2,3)(2,3)(3,4)(4,1)