Научная статья на тему 'Гибридный алгоритм размещения ориентированного графа на линии'

Гибридный алгоритм размещения ориентированного графа на линии Текст научной статьи по специальности «Математика»

CC BY
74
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Г. Г. Забудский, В. А. Мотовилов

In this paper we present an algorithm for solving location problem of oriented graph on line. He combines the ideas of dynamic programming and brunch and bound algorithm. Comparative computational results are also reported.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Гибридный алгоритм размещения ориентированного графа на линии»

МАТЕМАТИКА

Вестник Омского университета, 2000. N.2. С. 19- 21. (с) Омский государственный университет, 2000

УДК 519.8

ГИБРИДНЫМ АЛГОРИТМ РАЗМЕЩЕНИЯ ОРИЕНТИРОВАННОГО ГРАФА НА ЛИНИИ

Г.Г. Забудский, В.А. Мотовилов

Омский филиал Института математики имени С.В.Соболева 644099, Омск, ул. Певцова, 13* Омский государственный университет 644077, Омск, пр. Мира, 55-А 1

Получена 8 февраля 2000 г.

In this paper we present an algorithm for solving location problem of oriented graph on line. He combines the ideas of dynamic programming and brunch and bound algorithm. Comparative computational results are also reported.

1. Постановка задачи

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

Имеется множество взаимосвязанных точечных объектов. Заданы частичный порядок их расположения, удельные стоимости связи между ними и позиции, расположенные на линии. Соседние позиции находятся на единичном расстоянии друг от друга. Необходимо разместить объекты в позиции (по одному в каждую) таким образом, чтобы суммарная стоимость связей была минимальной.

Пусть п - количество объектов. Рассмотрим ориентированный бесконтурный граф G(V, Е), где V = {1,. . ., п) - множество номеров объектов, а дуга (г, j) £ Е, когда объекты г и j связаны. Удельную стоимость связи между ними обозначим через aj ■ Размещение задаётся перестановкой номеров объектов ж. Через 7г(г) обозначаем номер позиции, в которую размещён объект с номером г. Перестановка 7Г - допустима, если 7г(г) < Tt(j), V(i,j) G Е . Необходимо найти такую допустимую перестановку 7Г*, чтобы функционал

Z(G.O= Е С0-(7Г*(Я-**(0) (1.1)

(г,з)еЕ

1 e-mail: z,abudsky@iita.rn.omsk.net.ru

был минимальным.

Задача (1) ИР-трудна для произвольного графа О [3] и полиномиально разрешима для корневого дерева [7] и последовательно-параллельного графа (ППГ) [4].

2. Гибридный алгоритм решения

В этом пункте излагается гибридный алгоритм, основанный на схеме динамического программирования (ДП). Для сокращения количества рассматриваемых вариантов вычисляются нижние оценки для частичных размещений.

На предварительном этапе производится анализ графа (}, с целью расширения множества линейно упорядоченных вершин. Для этого разработаны алгоритмы поиска корневых поддеревьев и ППГ. Указанные подграфы заменяются цепями, используя полиномиальные алгоритмы размещения корневых деревьев [7] и ППГ [4]. При этом выделяются жёсткие дуги, т.е. такие дуги, концевые вершины которых находятся в соседних позициях для всех оптимальных размещений. Наличие таких дуг позволяет уменьшить размерность задачи. Далее определяется верхняя оценка Л° значения целевой функции

с помощью эвристических процедур и их вероятностных комбинаций. Затем применяется гибридный алгоритм, использующий схему ДП для неориентированного графа [8]. Рассматриваются только перспективные частичные размещения, для которых нижние оценки функции Г1 меньше Я0.

2.1. Предварительный анализ

20

Г.Г. Забудский, В.А.Мотовилов

Опишем алгоритмы поиска ППГ и корневых поддеревьев в графе С.

2.1.1. Поиск ППГ

Под ППГ будем понимать граф рассматриваемый в работе [1], т.е. это последовательное или параллельное соединение двухполюсных графов.

Алгоритм.

Для каждой вершины V £ У формируем Ьх(у) - список вершин, непосредственно следующих за ней, с иол у степенями исхода и захода равными единице. Запоминаем в списке ЬЦу) вершину, находящуюся на простом пути, исходящем из вершины ъи € Ьх(у), полустеиень захода или исхода которой больше 1. Выполняем это для каждой ш £ Ь\(ь).

Просматриваем множество Ьъ(у). Пусть Т(ь) = {¿1,...,£;} - номера вершин, встречающиеся в ¿2(") более одного раза. Для каждой £ Т(ь) формируем граф Сг с источником V и стоком ti, соединенными простыми непересекающимися цепями. Находим оптимальное размещение графа С, алгоритмом из [4] и строим цепь , для всех г — 1,..-,/ Заменяем в графе С подграфы Стг цепями Я,; .

Алгоритм заканчивает работу если на очередной итерации для всех ч £ У, Т(у) = 0.

2.1.2. Поиск корневых поддеревьев

Алгоритм.

Пусть все вершины графа С не помечены, а М множество его висячих вершин графа.

Шаг 1. Если М - пусто, то алгоритм заканчивает работу. Иначе возьмём из М произвольную вершину и, удаляем ее из М и переходим на шаг 2.

Шаг 2. Если 3!?; £ У : (у,и) £ Е и полустепень исхода, вершины и не более 1, то полагаем и' = и. и = г>. Переходим на шаг 2. Иначе переходим на шаг 3.

Шаг 3. Если Зги £ У: (и, и)) £ Е и и; - помечена, то формируем двухцепочное дерево с корневой вершиной и и сыновьями и' и ъи. Размещая его на линии, получаем цепь (и, и",. . ., й). Метим и" . Добавляем й в М . В противном случае помечаем и'. Переходим на шаг 1.

2.2. Вычисление верхней оценки

Верхние оценки вычислялись с помощью метода последовательно-одиночного размещения. Отличие состояло в критерии выбора вершины для установки в текущую свободную позицию. Для этого различными способами строились нижние оценки суммарной стоимости связей вершины с размещенными и неразмещенными. Рассмотрено семь эвристик, например, среди вершин, связь которой с размещенными максимальна, выбирается вершина с минимальной суммарной связью с неразмещенными.

Рассматривалось также вероятностное определение эвристик для выбора очередной размещаемой вершины. Проводилось несколько итераций. После каждой из них вероятности пересчитывал ись. Если рекорд уменьшался, то вероятности выбора использованных эвристик увеличивались, а неиспользованных - уменьшались. В противном случае вероятности выбора использованных эвристик уменьшались, а неиспользованных - увеличивались.

2.3. Схема динамического программирования

Схема ДП построена на основе предложенной

в работе [8] для размещения неориентированного графа. Уравнение Беллмана для задачи (1) имеет вид:

/(5) = ттДОЧ»}) + с,;,}-

■г^це 5 С V: причём /({г}) = 0, /(V) := г{С,тт").

При формировании множества 6" в задаче (1) необходимо учитывать заданный частичный порядок на множестве вершин графа С■

2.4. Построение нижней оценки

Пусть Р (| Р |= р) - это множество размещённых вершин на данный момент, а Е0 - минимальное значение целевой функции (1) при условии, что множество вершин Р размещено в первых р позициях. Обозначим через Е(У\Р) суммарную стоимость связи между вершинами из У\Р при условии, что они расположены начиная с позиции р+1 в оптимальном размещении графа С. Через Е(Р,У\Р) обозначим нижнюю оценку суммарной стоимости связи между вер шинами из Р и вершинами из У\Р. Тогда справедливо неравенство > 1{Р) + ^{Р,У\Р) +

Р(У\Р).

Рассмотрим подграф 0'{У,Е') исходного графа С{У, Е), вершинами которого являются неразмещённые вершины, т.е. У — У\Р, Е' — (У' ® У) Г) Е. Пусть он имеет тп компонент связности Кх(У1, Е±),..., Кт(Угп, Ет), а я-* - перестановка, задающая оптимальное, размещение А';, а = тг*) , г — 1 ,...,т. Тогда Е(У\Р) > Е\ + . . . + Ет . Справедливо

т

^о > ДР) + £ - •

Опишем способы вычисления нижней оценки значения целевой функции Т<\ , г = 1, . . ., т.

2.4.1. Остовное дерево максимального веса

Для каждого из графов А',; находим остовное дерево максимального веса с помощью алгоритма Прима [6], рассматривая Къ как неориентированный граф. Через Т^1ЯХ обозначим ориенти-

Гибридный алгоритм.

рованный граф, полученный из остовного дерева восстановлением исходной ориентации. Пусть щ- оптимальное размещение Т'тах , а С,- - сумма весов дуг, не вошедших в Т'пах . Справедливо неравенство:

Откуда следует, что

т

'u6P,^,eV'\F 1 = 1

В общем случае после восстановления ориентации в остовном дереве можно получить некорневое дерево. Выделим в Т'пах корневые деревья. Пусть Т^пах состоит из корневых деревьев Т] , ] — 1,.. , и - их количество, а ж¿^ - перестановка, задающая оптимальное размещение Т*. Справедливо неравенство:

и

^ Я{Т], ж^) < Я(Ттах,щ).

3 = 1

Откуда

т I! тп

к > нр)+ £ £с>-

иер,уеу\р ¿=1 з~ 1 »'=1

2.4.2. Веер

"Веером" назовём корневое дерево высоты 1. Рассмотрим граф К{(Уг, Е{). Обозначим через Мг {_?' £ V; I ЗА, (о, к) £ £',} . Для каждой ] £ М,- найдём веер с корнем в вершине ; . Найдем его оптимальное размещение щ ■ Тогда справедливо:

т

ъ > }{р) + V + >

иеРлеУ\Р »=1 зем,

2.4.3. Сумма весов дуг

Сумма весов дуг графа, очевидно, является нижней оценкой значения целевой функции. Следовател ь но,

т

¡?о > ДР) + Е ^ Сиу.

3. Результаты вычислительного эксперимента

Целью эксперимента являлось сравнение эффективности различных способов построения нижних и верхних оценок, сравнение гибридной схемы со схемой ДП и определение зависимости времени вычисления от количества дуг в графе С.

Рассматривались задачи с количеством вершин от 16 до 30. Графы строились специальным образом и с помощью датчика случайных чисел. Веса дуг задавались рандомизированно в диапазонах от 1 до 10 и от 1 до 100.

В результате эксперимента можно сделать следующие выводы: гибридный алгоритм (ГА) работает, как правило, быстрее, чем ДП для графов с количеством вершин более 20. Например, для графа с 20 вершинами ДП требовалось 2:18, ГА с выделением остовного дерева максимального веса 1:51, с выделением вееров Г.48. Использование нижних оценок оказывает заметное влияние на время счёта, когда они начинают вычисляться после размещения примерно 40% вершин. Количество частичных размещений, рассмотренных ГА? уменьшалось по сравнению с ДП в среднем в 1.3 раза. Если разброс весов дух' большой, то эффективность ГА возрастает. Наиболее эффективной оказалась оценка с выделением вееров. Больше времени требовалось для решения задач с количеством дуг, составляющим около 20% от количества дуг в полном графе.

Использование вероятностного подхода при построении верхней оценки в. некоторых случаях позволяло значительно её улучшить.

[1] Агеев А. Сложность нахождения максимального взвешенного джойна в графе // Дискретный анализ и исследование операций, 1997. Серия 1. Том 4. №3. С. 3-8.

[2] Алексеев О,Г. Комплексное применение методов дискретной оптимизации. М.: Паука, 1987. 248 с.

[3] Гэри М., Джонсон Д. Вычислительные машины и трудиорешаемые задачи. М.: Мир, 1982. 416 с.

[4] Забудсхий Г. Г. Алгоритм решения одной задачи оптимального линейного упорядочения / / Известия вузов. Математика. 1997. №12. С. 73-78.

[5] Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978. 432 с.

[6] Майника Э. Алгоритмы оптимизации на сетях и графах. М.: Мир, 1981. 323 с.

[7] Adolphson D., Hu Т.О. Optimal linear ordering.// SIAM J. Appl. Math. Vol. 25, N.3, 1973. P. 403-423.

[8] Pickard J.C., Queyranne M. Or\ the one -dimensional space allocation problem. //Oper. Research 1981 V. 29, N 2. P.371-391.

i Надоели баннеры? Вы всегда можете отключить рекламу.