Применение алгоритма муравьиной колонии для построения оптимальной гиперсети

ПРИМЕНЕНИЕ АЛГОРИТМА МУРАВЬИНОЙ КОЛОНИИ ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОЙ ГИПЕРСЕТИ

О. Г. Монахов, Г. Ы. Токтошов

Институт вычислительной математики и математической геофизики СО РАН,

630090, Новосибирск, Россия1

УДК 519.179.1:519.179.2:624.1

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

Ключевые слова: инженерная коммуникация, трасса, первичная сеть, вторичная сеть, гиперсеть, муравьиный алгоритм.

For the problem of lining of engineering communications in a given area the rules of construction hyper net are proposed. There are including rules of constructing the set of vertices and branches of the primary network and a set of edges of the secondary network. The modified ant colony algorithm for constructing an optimal hyper net is developed, where the behavior of ants is determined by the relevant rules.

Key words: engineering communication, track, primary network, secondary network, hyper network, ant algorithm.

Постановка задачи. Одним из наиболее эффективных методов выбора трассы для прокладки инженерных коммуникаций является гиперсетевой подход, в котором описывается топологическая иерархия проектируемых коммуникаций. Суть гиперсетевого подхода заключается в одновременном использовании двух типов взаимосвязанных структур [1]: первичной и вторичной сетей. В качестве первичной сети понимается математическая или цифровая модель местности (ЦММ), учитывающая особенности заданной территории, а в качестве вторичной — конфигурация проектируемой коммуникации.

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

Для определения оптимального варианта прокладки инженерной коммуникации с учетом характера проектируемой коммуникации заданной территории сопоставляется граф

1 Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 14-01-00031, № 14-01-92694

возможных трасс для их прокладки. Трасса — это пространственное положение продольной оси проектируемой инженерной сети, связанной с местностью. Другими словами, будучи отображенной на местность, трасса определяет размещение инженерной сети как физического объекта на местности.

Для формирования графа возможных трасс используется ЦММ [3] с множеством точек, где размещены узловые элементы инженерной коммуникации и возможные маршруты между ними с указанием длин этих участков. На основе ЦММ строится граф возможных трасс прокладки инженерной коммуникации. Точки размещения узловых элементов сети здесь обозначаются как вершины графа. Точки разветвления сетей также являются вершинами графа, В роли ветвей выступают участки маршрута между заданными парами точек.

Пусть граф возможных трасс описывается графом первичной сети PS = (X, V), а структура проектируемой коммуникации — графом вторичной сети WS = (У С X, R) некоторой гиперсети S [1].

Определение 1. Гиперсеть S = (X, V, R] Р, F, W) — это математическая модель системы сетевых структур (см, рис, 1), включающей в себя следующие объекты:

X = (xi,x2,...,хп) — множество узлов первичной сети;

V = (vi,V2,...,vg) — множество ветвей первичной сети;

R = (п,г2,..., гт) — множество ребер вторичной сети;

Р : V —> 2х отображение, сопоставляющее каждому элементу v G V множество Р{у) С X. тем самым отображение Р определяет граф первичной сети PS = (X, V; Р);

F : R —> 2ps — отображение, сопоставляющее каждому элементу г £ R множество трасс F(r), образующих простой маршрут в графе PS = (X,V\P), причем семейство 2pS содержит такие подмножества, маршруты которых составляют связную часть графа PS. Отображение F определяет гиперграф FS — (V,R]F), Множество всех маршрутов F(r), сопоставляющее каждому ребру г Е R графа WS единственный маршрут в графе PS. назовем вложением графа WS в PS.

Vr G R W : г —> — отображение, сопоставляющее каждому элементу г Е R

подмножество W{r) С P(F(r)), где P(F(r)) = Y множество вершин в PS, инцидентных маршрутам F(r) С V. Отображение ^определяет граф вторичной сети WS = (У, R',W).

Пусть известны l{v) — длина ветви v G V графа PS; р(г) — длина ребра г £ R графа WS. равная p(r) = Z(u); a(v) — удельная стоимость земли, отведенной под строи-

veF

тельство на ветвях v G V] br(v) — удельная стоимость земляных работ на ветви v G V для ребра г G Д; с(г) — стоимость приобретения и монтажа коммуникаций г G R между заданными парами точек; dv(r) — стоимость эксплуатационных работ.

Задача заключается в реализации ребра графа WS (прокладке коммуникаций) по соответствующим маршрутам в графе PS таким образом, чтобы функционал

QW = СЕ* • + Е w)  l

\vev vev J \reR reR J

принимал минимальное значение, где 7i и 72 — коэффициенты дисконтирования для стоимостей строительных работ и оборудования соответственно. Коэффициент дисконтирования — это коэффициент для приведения экономических показателей разных лет к сопоставимым по времени величинам. Первое слагаемое в выражении Q(S) представляет собой

стоимость земли, отведенной под строительство, и земляных работ на ветви v EV графа PS, по которым проходят ребра г Е R графа WS, а второе — стоимость приобретения и монтажа коммуникаций и его эксплуатации. Таким образом, модель гиперсети, в отличие от графов, позволяет учесть взаимосвязанную совокупность первичных и вторичных сетей с учетом всех структурных параметров и экономических характеристик проектируемой коммуникации и области размещения.

Опишем правила построения гиперсети для задачи прокладки инженерной коммуникации на заданной территории, включающие правила построения первичной PS и вторичной WS сетей. При построении первичной сети целесообразно из рассмотрения сразу же исключить объекты и участки местности, прокладка инженерной коммуникации через которые либо заведомо нецелесообразна, либо вовсе невозможна, а также устанавливать фиксированные точки и направления местности, прокладка инженерной коммуникации через которые обязательна.

Пусть область Q представляет собой проекцию заданной территории на некоторой плоскости. Введем области запрета f2s,s = 1,2, ...,S, такие, что Гls С Г2; ils U ilq = ф,

s^q

V.s, q = 1,2,.... S заданы своими границами, В качестве областей запрета могут выступать участки, не проходимые для прокладки коммуникаций: овраги, водоемы, заболоченные или лесистые участки и т.д. Кроме того, это могут быть участки социального и сельскохозяйственного назначения: существующие коммуникации, территории промышленных предприятий, населенные пункты, территории оборонных объектов, заповедные зоны и т. д.

Пусть ¡л — некоторый маршрут в графе первичной сети PS. Этот маршрут должен удовлетворять следующим условиям: /л С Q нахождение маршрута внутри исследуемой области; ¡л <f_ s — 1,2,..., S, Vs — непрохождение маршрута через области запрета. Узлы графа первичной сети PS, попавшие в какую-либо из областей i2s,s = 1,2, ...,S, изолируются, т. е. весу ветвей, соединяющих данный узел со всеми смежными с ним узлами, присваивается значение бесконечности.

Пусть qr{v) — ресурсное ограничение на ветви v Е V графа первичной сети PS для

ребра г Е R графа вторичной сети WS. Тогда условие ( ^ 7i • a(v) + br{v) I • l(v) >

" \vev vev J

qv(r) означает нецелесообразность прокладки маршрута на участке v Е V для ребра г Е R.

Ветвям графа первичной сети соответствуют участки маршрута, через которые можно проложить инженерные коммуникации.

Теперь определим правила построения множества ребер R вторичной сети WS. Возможность прокладки коммуникаций между заданными парами узлов обычно ограничивается характером рельефа местности — его крутизной. Для этого введем следующее обозначение: а — угол между отрезком в пространстве, соединяющим некоторые пары узлов, и горизонтальной плоскостью О,. Для каждого типа инженерной коммуникации можно ввести следующие дополнительные обозначения: аир — предельно допустимый угол прокладывания коммуникаций вверх по склону; adowm (Oidowm < 0) — предельно допустимый угол прокладывания коммуникаций вниз по склону; aside — предельно допустимый угол прокладывания коммуникаций горизонтально по поверхности склона.

Возможны следующие случаи для выбранного типа коммуникаций: если а ^ аир. то прокладка инженерной коммуникации вверх по склону разрешена, в противном случае — нет; если а ^ (У-dmom- ю прокладка инженерной коммуникации вниз по склону разрешена,

в противном случае — нет; если а ^ ^«¿¿е!; т0 прокладка инженерной коммуникации горизонтально по поверхности склона разрешена, в противном случае — нет.

Пусть ^(г) — ресурсное ограничение на ребра г £ Д графа вторичной сети \¥Б для

ветви V 6 V графа первичной сети. Тогда условие

\г€Я гел )

означает нецелесообразность реализации ребер г е Я в участках V е V.

Невыполнение одного из условий правила построения ребер вторичной сети влечет за собой нецелесообразность выбора маршрута прокладки на участке V 6 Удля данного типа инженерной коммуникации.

Тогда задача заключается в построении на множестве узлов У некоторого графа V/Б (У С Х,Я), имеющего конфигурацию, соответствующую проектируемой коммуникации, и такого отображения Р*(г) С Р(г) ребер г £ В, графа IVЯ по соответствующим маршрутам V Е V в графе РБ, при которых функционал (1) принимает минимальное значение при выполнении условий правила построения элементов первичной и вторичной сети. Муравьиный алгоритм. Для поиска оптимального маршрута между заданными парами вершин в графе первичной сети РБ для реализации ребер графа вторичной сети \¥Б можно использовать муравьиные алгоритмы [4], адаптированные к прикладной задаче трассировки инженерных коммуникаций. Моделирование поведения муравьев связано с распределением феромона на тропе — ветви графа первичной сети. При этом вероятность включения ветви в маршрут отдельного муравья пропорциональна количеству феромона на этой ветви, а количество откладываемого феромона пропорционально длине маршрута. Чем короче маршрут, тем больше феромона будет отложено на его ветвях, следовательно, большее количество муравьев будет включать его в синтез собственных маршрутов. Моделирование такого подхода, использующего только положительную обратную связь, приводит к преждевременной сходимости — большинство муравьев двигается по локально оптимальному маршруту. Избежать этого можно, моделируя отрицательную обратную связь в виде испарения феромона. При этом если феромон испаряется быстро, то это приводит к потере памяти колонии и забыванию хороших решений, с другой стороны, большое время испарения может привести к получению устойчивого локального оптимального решения.

Теперь с учетом особенностей задачи выбора маршрута для прокладки инженерных коммуникаций в гиперсетевой постановке мы можем описать локальные правила поведения муравьев при выборе пути. Для каждого муравья переход из вершины г^ в вершину Vj в графе первичной сети зависит от трех составляющих: память муравья (список запретов), видимость и уровень феромона.

Муравьи имеют собственную „память". Поскольку каждая вершина может быть посещена только один раз, то у каждого муравья есть список уже посещенных вершин — список запретов Используя этот список, муравей гарантированно не попадет в одну и ту же вершину графа первичной сети РБ дважды. Ясно, что список запрета возрастает при совершении маршрута и обнуляется в начале каждой итерации алгоритма. Обозначим через У^к список вершин первичной сети РБ, в которые необходимо попасть муравью к, находящемуся в вершине г. Понятно, что У^к является дополнением к списку табу.

Муравьи обладают „зрением". Видимость — это локальная статическая информация, выражающая желание попасть к вершине Vj из вершины^. Видимость — величина, об-

1 ^

ратная расстоянию между вершинами г^ и Т]ц = ——, где О^ — расстояние между

¿Л?

вершинами и г^-.

Муравьи обладают „обонянием" — они могут улавливать уровень феромона, подтверждающий желание попасть к вершине V] из вершины г^ на основании опыта других муравьев, В отличие от видимости, уровень феромона является более глобальной и динамичной информацией — она изменяется после каждой итерации алгоритма, отражая приобретенный муравьями опыт. Количество виртуального феромона на ветви г>у = на итерации £ обозначим через ту(£).

Важную роль в муравьиных алгоритмах играет вероятностно пропорциональное правило, определяющее вероятность перехода к-го муравья из вершины г^ в вершину Vj на £-й итерации:

Р  Л) = ^^ ' если 7 € V ь

Е [тиШ -Ы , 2

1еУг,к

РгзЛ1) = °> еСЛИ 3 £ Уьк

где а, ¡3 — параметры, задающие веса уровней феромона. При а = О будет выбрана ближайшая вершина, что соответствует жадному алгоритму в классической теории оптимизации, Если /5 = 0, тогда работает лишь феромонное усиление, что влечет за собой быстрое вырождение маршрутов к одному субоптимальному решению. Заметим, что правило (2) определяет лишь вероятности выбора той или иной вершины. Правило (2) не изменяется в ходе алгоритма, но у двух разных муравьев значение вероятности перехода будет отличаться, т.к. — функция от У{гк — списка еще не посещенных вершин муравьем к. Другими словами, муравьи имеют разный список разрешенных вершин.

Пройдя ветви = (ьг, муравей к откладывает на них некоторое количество феромона, которое должно быть связано с оптимальностью сделанного выбора. Пусть Тк(£) есть маршрут, пройденный муравьем к на ¿-ой итерации, Ьк(£) — длина этого маршрута, а <3 регулируемый параметр, значение которого выбирают вместе с длиной оптимального маршрута. Тогда откладываемое количество феромона муравьем к на ¿-ой итерации может быть определено в виде

о, 4- Ш).

Для исследования всего пространства решений необходимо обеспечить испарение феромона — уменьшение во времени количества отложенного на предыдущих итерациях феромона. Обозначим коэффициент испарения феромона р е [0,1], Тогда правило обновления феромона примет вид:

ту

771

где Дту(£) = Дту^^), то — количество муравьев в колонии, к=1 ' " В начале алгоритма количества феромона на ребрах принимается равным небольшому

положительному числу то-

Дополнительная модификация алгоритма может состоять в ведении так называемых „элитных" муравьев, которые усиливают ребра наилучшего маршрута, найденного с начала работы алгоритма. Обозначим через Т* наилучший текущий маршрут, через Ь* —

его длину. Тогда если в колонии есть е элитных муравьев, то ребра маршрута получат дополнительное количество феромона

Дте = е • Q/L*.

В настоящей работе общее количество муравьев равно количеству вершин вторичной сети, из которых необходимо проложить маршрут до заданных вершин, и остается постоянным на протяжении выполнения алгоритма. Таким образом, на начальном этапе алгоритма муравьи размещаются в вершинах вторичной сети, из которых необходимо проложить оптимальный маршрут до заданных вершин. Муравьи прокладывают маршрут в порядке, определяемом последовательностью по метрикам 1 и 2, приведенным в работе [5]. Приведем основные правила и определения для вычисления метрик 1 и 2,

Определение 2. Если Vv G V br(v) = const, то заданная территория является однородной, в противном случае она называется неоднородной. Граф первичной сети, соответствующей однородному случаю, будем обозначать PSU,.. а неоднородному — PSm,u,..

Следует отметить, что если \/г> £ V br(v) = const, то маршрутом графа PSод. для реализации ребер г 6 R графа WS = (У, R) может быть любое направление (все направления равнозначны), поскольку в этом случае стоимости строительных (земляных) работ по всем ветвям графа PS0A. одинаковы.

Определение 3. Гиперсеть, построенную путем вложения графа WS в PSm. (PSHeод.), назовем однородной (неоднородной) и обозначим через Б0Д_ (^iSflQQ Д.)" -/tIcho^ что кратчаишии маршрут для ребра г £ R графа WS в графе РБ0Л_ равен евклидову расстоянию между вершинами х, у графа PS0fl,.

Для построения списка ребер потребуются следующие понятия. Метрика 1: для каждого ребра г k £ R вычислим

Pir^rj) = £ \{Vk\jY,)\

з

где: к ^ j, Vk = F{rk) и Vj = F(rj), т.е. множество ветвей графа PSHeод., по которым проходят ребра и г3 соответственно. Такая метрика позволяет определить, насколько ребра г G R расходятся друг от друга при реализации в графе PSnt,u ,.. Далее производится улучшение начальных решений путем перереализации в графе PSm.t,,.. начиная с самого удаленного ребра.

Метрика 2: для каждого ребра G R вычислим

р

где Vk = F(rk) — множество ветвей графа PSBeод., = F(r£д') — множество ветвей графа Р50Д, по которым проходят ребра г к и г£д' соответственно. Такая метрика позволяет выяснить, насколько расходятся маршруты Vk = F(rk) и = F(r£д') в графах PSaeод. и Р50Д. для ребер г к и г£д' соответственно. Для достижения быстрой сходимости первичного приближения к оптимальному процессу перереализаций необходимо начать с ребра, наиболее „удаленного" от всех по данной метрике.

Таким образом, для улучшения начального решения путем перереализаций ребер г £ R графа WS по новым трассам в обоих случаях надо упорядочить по убыванию метрики, в результате чего получим список ребер {г{}, г — 1, ...,т.

Правила построения гиперсети 5. Таким образом, каждую трассу в первичной сети РБ для прокладки ребер вторичной сети \¥Б протягивают муравьи, которые характеризуются списком запрета состоящим из узлов графа первичной сети РБ, которые муравьи то уже посещали. Множество муравьев образует колонию, подчиняющуюся некоторым поведенческим правилам, определяемым составленным нами набором правил трассировки (ПТ): ПТ1 — выбора направления прокладки локальной трассы из вершины г>г в вершину Vj графа первичной сети РБ: ПТ2 — объединения трасс одной связывающей сетью инженерных коммуникаций; ПТЗ — перехода с тупиковых трасс; IIII — отсечения глухих ответвлений, ПТ1:

ЕСЛИ

И (величина [ту(£)]а • максимальна для всего множества допустимых направлений) ТО (выбрать ветви (г,,;) и добавить; в Т^), Формализованная запись ПТ1 имеет вид

{(г,Жг,Л, з £ Т{т\ [пМа  Ы* ^ тах | •

Величина щ определяется по следующей формуле

= -г--^-

Е 71 • аМ + Е М%) • + Е 72  с

ьг]еУ у \гг]ея. гг]ен )

ПТ2:

ЕСЛИ (муравей к достиг трассы, проложенной муравьем к') ТО (трассы муравьев кик' объединяются) И (муравей к удаляется из колонии), ПТЗ:

ЕСЛИ (не существует ветви (г^), которая может быть добавлена на текущем шаге к Т^) ТО (муравей перемещается в выбранный случайным образом узел на проложенной им трассе),

ППЗ позволяет муравью выбраться из тупика в случае попадания в таковой, ПТ4:

ЕСЛИ

И

ТО (ребро (г,;)) удаляется из множества ребер трассы).

Тем самым по предложенной схеме можно построить гиперсеть Б, удовлетворяющую условию (1) в соответствии с правилами построения трассы ПТ1-ПТ4. Модифицированный алгоритм муравьиной колонии для построения Б. Первичное приближение:

Шаг 1.1. Ввод значений параметров элементов РБ и , т.е.: 1(у), р(г), а(у), Ьг(ь), с(г), Ъ (г);

Шаг 1.2. Построить гиперсети ^д. и й'ееод. с помощью: а) алгоритма Флойда; б) „жадного" алгоритма;

Муравьиный алгоритм (улучшение):

Шаг 2.1. Инициализация параметров алгоритма а, ß, е, Q:

Шаг 2.2. Для всех ветвей первичной сети вычислить щ по формуле (7), инициализация начальной концентрации феромона;

Шаг 2.3. Размещение муравьев в вершинах вторичной сети, из которых необходимо проложить оптимальный маршрут до заданных вершин;

Шаг 2.4. Присвоить j := 1; обозначить через SJ гиперсеть, построенную на j й итерации; положить SHeод. = íS'-? и 50д. = Si'1 для всех j ^ 2;

Шаг 2.5. Вычислить по формулам (5) и (6): а) метрику 1; б) метрику 2,

Шаг 2.6. Если выбрана метрика 1 или 2, то упорядочить ребра г 6 R по убыванию

величин p{rk,rj) или г£д') и присвоить муравьям номера г = 1,2, ...т; г := 1;

Шаг 2.7. Выбрать г-ого муравья и построить для него маршрут по правилу (2) с учетом

ПТ1-ПТ2. Присвоить i := i + 1; если i < т, то перейти на Шаг 2,7,;

Шаг 2.8. Вычислить Qfö). Если Qfö) = Q(S:>~1), то псевдооптимальная гиперсеть S построена, иначе j :— j + 1 ; обновить следы феромона на ветвях первичной сети (3) и (4), Переход на Шаг 2,5,

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

Выводы. Приведены основные правила построения гиперсети для задачи прокладки инженерной коммуникации на заданной территории, включающие правила построения множества вершин X и ветвей V первичной сети PS и множества ребер R вторичной сети WS.

Приведены правила построения трассы (ПТ1-ПТ4), учитывающие взаимосвязанную совокупность первичных и вторичных сетей с учетом всех структурных параметров и экономических характеристик проектируемой коммуникации и области размещения.

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

Список литературы

1. Попков В. К. Математические модели связности / Отв. ред. A.C. Алексеев. 2-е изд. Новосибирск: ИВМиМГ СО РАН, 2006.

2. Попков В. К., Токтошов Г. Ы. Гиперсетевая технология оптимизации инженерных сетей в горной или пересеченной местности // Вести. Бурят, гос. ун-та. Сер. Математика и информатика. Улан-Уде: Изд-во Бурят, гос. ун-та. Вып. 9. С. 276-282.

3. Токтошов Г. Ы. Построение цифровой модели местности для задачи размещения инженерных коммуникаций / Мат. Российской научно-технич. конф. „Обработка информационных сигналов и математическое моделирование". Новосибирск, 23-24 мая 2013 г. С. 155-156.

4. DORIGO М. Swarm Intelligence, Ant Algorithms and Ant Colony Optimization // Reader for CEU Summer University Course «Complex System». Budapest, Central European University, 2001. P. 1-38.

5. Попков В. К., Токтошов Г. Ы., Юргенсон А.Н. Об одном подходе к оптимизации инфраструктуры инженерных сетей // Вестник СибГУТИ. 2012. № 3. С. 11-28.

6. Токтошов Г. Ы., Юргенсон А.Н. Двухэтапный метод прокладки инженерных сетей / Материалы 7-й Азиат. Междунар. школы-семинара „Проблемы оптимизации сложных систем". Ташкент (Респ.Узбекистан), 17-27 окт. 2011 г. Труды ИВМиМГ СО РАН. Сер. Информатика. Вып. 10. С. 39-44.

Монахов Олег Геннадьевич — канд. техн. наук, вед. науч. сотр. Института вычислительной математики и математической геофизики СО РАН; e-mail: monakhov@rav.sscc.ru,

тел.: +7-952-913-96-25

Токтошов Гулжигит Ысакович — канд. техн. наук, мл. науч. сотр. Института вычислительной математики и математической геофизики СО РАН; e-mail:

tgi_tok@rambler.ru.ru, тел.: +7-952-913-96-25

Дата поступления — 18.08.2014