Шаг 1. Пусть
Рассмотрим следующую помеченную вершину, и будем повторять помечивания до тех пор, пока не пометим некоторую вершину
Шаг 2. Строим кратчайший допустимый путь от вершины
для которой
Шаг 3. Пусть
Этот алгоритм можно изменить. Если для некоторой пометки
3.3 Метод ветвей и границ (МВГ)
Представим, что необходимо обойти все города страны. Так как их много, то определить кратчайший путь затруднительно. Тогда можно выбрать некоторое разбиение множества городов, например, рассматривать республики, области или районы, и определить кратчайший путь, пересекающий каждое из выбранных подмножеств разбиения только один раз. Затем уже в пределах выбранных подмножеств достроить полученный путь до требуемого. Такой подход используется в методе ветвей и границ. Этот метод позволяет опознать бесперспективные частичные решения, в результате чего от дерева поиска на одном шаге отсекается целая ветвь. Тем не менее, удовлетворительных оценок быстродействию алгоритма Литтла, основанного на этом методе, и родственных алгоритмов нет, хотя практика показывает, что на современных ЭВМ они иногда позволяют решить задачу коммивояжера для графов с количеством вершин, меньшим 100.
Впервые метод ветвей и границ был предложен Лендом и Дойгом в 1960 для решения общей задачи целочисленного линейного программирования. Интерес к этому методу и фактически его «второе рождение» связано с работой Литтла, Мурти, Суини и Кэрела, посвященной задаче коммивояжера. Начиная с этого момента, появилось большое число работ, посвященных методу ветвей и границ и различным его модификациям. Столь большой успех объясняется тем, что авторы первыми обратили внимание на широту возможностей метода, отметили важность использования специфики задачи и сами воспользовались спецификой задачи коммивояжера.
Описание метода ветвей и границ
Пусть х1 – центр куба Х. Вычисляем
Рис. 2. Граф-дерево
Указанная терминология и название метода определяются тем, что визуально данная схема перебора представляется в виде графа-дерева, корневая вершина которого соответствует кубу Х, вершины первого яруса – подкубам Xli, вершины второго яруса – кубикам X2li, подсоединенным к своим порождающим вершинам Xli-го яруса, и т.д. (см. рис. 2). Если кубик исключается из К, его вершина закрывается – из нее не будут идти ветви на следующий ярус. Порядок закрытия вершины определяется правилом отсечения (своим для каждой массовой задачи), порядок раскрытия – правилом ветвления (своим для каждой индивидуальной задачи). Различают два вида правил ветвления по типу построения дерева решений (выбора вершин для раскрытия): «в ширину», когда сначала раскрываются все вершины одного яруса до перехода к следующему, и в «глубину» – всякий раз раскрывается лишь одна (обычно с лучшим значением рекорда) вершина на ярусе до конца ветви. На практике реализуют некоторую смесь, например, первое правило пока хватает машинной памяти (в К не слишком много элементов), затем переключаются на второе. Предпочтительность той или иной стратегии ветвления оценивается каждым вычислителем по-своему, исходя из главной задачи метода ветвей и границ – быстрее получить лучший рекорд, чтобы отсечь больше ветвей. Удачный выбор стратегии ветвления в МВГ (например, на основе имеющейся у вычислителя дополнительной информации или эвристических соображений об объекте) позволяет (хотя и не гарантированно) решать задачи большой размерности.
Отметим, что в худшем случае
4. Выбор объекта управления. анализ аспектов его работы
В качестве примера конкретного применения метода может быть предложена прикладная задача, связанная с проблемой размещения и обслуживания оборудования, в которой требуется определить оптимальную траекторию циклического маршрута движения робота-транспортера по траектории цеха с целью периодического обслуживания оборудования.
Для рассмотрения можно представить себе, что робот развозит по цеху некоторый материал, требуемый для работы агрегатов. Предположим, что уже имеется некоторый образец робота, т.е. нет необходимости покупать новый – капитальные затраты отсутствуют. Пусть робот имеет электрический привод и в качестве источника питания – переносные аккумуляторы.
5. Постановка и решение оптимизационной задачи
5.1 Выбор критерия оптимальности
Основным будем считать экономический критерий, т.е. будем стремиться снизить все статьи денежных расходов, связанных с работой данного робота. Отметим, что схема работы робота должна соответствовать технологической схеме работы цеха, т.е. поставка требуемого материала должна осуществляться в поставленные сроки, определяемые видом работ цеха. Условно будем считать это требование удовлетворенным.