§ 4. Метод ветвей и границ: задача коммивояжера. Общая модель задачи поиска
Задача коммивояжера относится к комбинаторным задачам на составление расписания. В свою очередь, к задаче коммивояжера сводятся многие другие задачи, связанные с объездом ряда пунктов и возвращением в исходный пункт: развозка почты, продуктов питания и т.д. Аналогичный характер носят задачи соединения отдельных пунктов линиями электроснабжения, водопровода, газоснабжения и т.п.
Постановка задачи коммивояжера: коммивояжер (агент, рекламирующий товар своей фирмы) должен посетить п городов ( в это число входит и город , из которого начинается поездка ) и вернутся в исходный пункт, побывав в каждом городе только один раз. Известны расстояния между городами (или стоимость проезда). Требуется установить, в каком порядке коммивояжер должен посещать города, чтобы общая длина маршрута (общая стоимость маршрута) была минимальной.
Если города принять за вершины графа, то задача коммивояжера сводится к определению кратчайшего гамильтонового контура.
Метод ветвей и границ является одним из вариантов поиска с возвращением (backtrak).
Рассмотрим общую модель задачи поиска.
Полагаем, что решение задачи состоит из вектора конечной, но не определенной длины, удовлетворяющего некоторым ограничениям и называемого частичным решением.
Каждое решение является элементом линейного упорядоченного множества Таким образом, при исчерпывающем поиске должны рассматриваться элементы множества в качестве возможных решений. В качестве исходного частичного решения выбирается пустой вектор и на основе имеющихся ограничений выясняется, какие элементы из являются кандидатами в . Обозначим это подмножество через В качестве а1 выбираем наименьший элемент множества S1. В результате имеем частичное решение
В общем случае различные ограничения, описывающие решения, говорят о том : из какого подмножества множества выбираются кандидаты для расширения частичного решения
от до .
Если частичное решение не представляет возможностей для выбора элемента ak , то Ø . В этом случае следует вернуться и выбрать новый элемент . Если его выбрать нельзя, то возвращаемся еще дальше и выбираем новый элемент и т.д.
Этот процесс удобно описывать в терминах процедуры прохождения дерева в глубину. Исследуемое подмножество множества для I = 0,1,2,… представляется как дерево поиска следующим образом. Корень дерева (нулевой уровень) есть пустой вектор. Узлы первого уровня есть множество кандидатов для выбора а1 . В общем случае узлы k-го уровня являются кандидатами на выбор ak при условии, что а1, а2,…, выбраны.
- Богданов а.Е. Курс лекций
- Содержание
- § 1. Основные понятия теории множеств
- Основные понятия теории множеств
- Способы задания множеств
- Операции над множествами
- § 2. Соответствия. Функции. Отображения
- § 3. Понятие алгебры. Алгебра множеств кантора
- Диаграмма Эйлера-Венна
- § 4. Бинарные отношения
- Способы задания бинарных отношений
- Свойства бинарных отношений
- § 5. Бинарное отношение эквивалентности
- § 6. Бинарное отношение порядка. Упорядоченные
- § 7. Решетки (структуры). Изоморфизм
- Изоморфизм множеств
- Дедекиндовые решетки
- Дистрибутивные решетки
- § 8. Отношения (обобщение). Алгебраические
- Операции над отношениями
- Алгебраические системы
- Глава ιι. Комбинаторный анализ
- § 1. Основные определения
- Правила суммы и произведения
- § 2. Формулы расчета перестановок и сочетаний
- § 3. Бином и полином
- § 4. Подстановки
- § 5. Метод включений и исключений
- § 6. Метод производящих функций
- § 7. Комбинаторная мера информации. Вероятность искажения информации
- Глава ιіі. Теория графов
- § 1. Первоначальные понятия теории графов
- § 2. Операции над графами. Способы задания графов Операции над графами
- Способы задания графов
- § 3. Маршруты, цепи, циклы и другие характеристики графа
- § 4. Алгебраическая форма представления графа
- Глава іv. Некоторые приложения графов
- § 1. Эйлеровы графы. Алгоритм флери. Гамильтоновы
- Эйлеровы графы
- Алгоритм Флери.
- Метод построения эйлерового обхода двоичного куба
- Гамильтоновы графы. Метод Робертса – Флореса
- Метод перебора Робертса – Флореса
- § 2. Пространство циклов графа
- § 3. Независимое множество вершин графа
- Алгоритм выделения пустых подграфов
- § 4. Вершинное число внешней устойчивости графа
- § 5. Плотность графа
- Алгоритм выделения полных подграфов
- § 6. Раскраска графа
- Оценки хроматического числа
- Алгоритм минимальной раскраски вершин графа
- § 7. Планарность графа
- Глава V. Оптимизационные алгоритмы теории графов
- § 1. Определение кратчайших путей. Алгоритм дейкстры
- § 2. Максимальный поток через сеть. Алгоритм
- Алгоритм Форда – Фалкерсона
- § 3. Построение остова экстремального веса. Алгоритм краскала
- § 4. Метод ветвей и границ: задача коммивояжера. Общая модель задачи поиска
- Дерево поиска частичных решений
- § 5. Применение ориентированных деревьев в задачах теории кодирования и диагностирования
- § 6. Построение оптимального дерева бинарного поиска. Алгоритм гильберта – мура
- Алгоритм Гильберта – Мура построения оптимального дерева бинарного поиска Суть алгоритма
- Алгоритм
- § 7. Сложность задач теории графов. Задача синтеза управляющих систем
- Задача синтеза управляющих систем
- Задача о выполнимости
- Литература
- Электронное пособие курс лекций
- «Дискретная математика».