О применении эвристик для метода ветвей и границ решения задачи оптимизации сети передачи данных

УДК 519.8

Е.А. Лазарев

О ПРИМЕНЕНИИ ЭВРИСТИК ДЛЯ МЕТОДА ВЕТВЕЙ И ГРАНИЦ РЕШЕНИЯ ЗАДАЧИ ОПТИМИЗАЦИИ СЕТИ ПЕРЕДАЧИ ДАННЫХ

Нижегородский государственный технический университет им. Р.Е. Алексеева

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

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

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

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

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

Введение

С развитием сети Интернет, сетей связи и коммуникации люди стали обмениваться все большими объемами информации. Немаловажную роль играет доступность телекоммуникационных услуг. Так, количество пользователей сети Интернет увеличилось с 26 млн в 1995 г., до 1,5 млрд к настоящему времени.

По прогнозам компании Cisco, объем передаваемых данных в сети Интернет к 2015 г. возрастет в четыре раза, достигнув отметки в тысячу экзабайт в год. Такое значительное увеличение количества передаваемой информации будет оказывать существенную нагрузку на имеющиеся сети передачи данных (СПД). Таким образом, оптимизация существующих и создание новых СПД, способных удовлетворить все растущие требования конечных пользователей, являются крайне важными и актуальными задачами.

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

Математическая модель сети передачи данных и постановка задач оптимизации

Процедура оптимизации базируется на модели сети передачи данных, основанной на классических потоковых моделях [2]. Известен ориентированный ациклический граф G = (V, E), задающий существующую СПД (V и E - множества вершин и ребер соответственно). Вершинам соответствуют узловые элементы сети (коммутаторы). Каждое ребро (и, v)e E имеет положительную пропускную способность c(u, v), обусловленную техническими характеристиками конкретного канала передачи данных.

В графе выделяются две особые вершины - источник информации s и сток t. Из истока ведут магистральные каналы, соединяющие сеть доступа с магистральной сетью. В сток ведут ребра от коммутаторов, к которым напрямую подключены конечные пользователи.

© Лазарев Е.А., 2012.

Для описания каналов передачи данных, которые могут быть достроены, задается множество ребер E' ( E о E' = 0 ). Для каждого (и, v)e E' известна пропускная способность с' (и, v) и стоимость строительства p' (и, v).

Возможным планом проведения новых каналов является множество ребер E * такое, что E* ^ E'. При этом рассматриваются стоимость строительства сети передачи данных

Qi

(n,v)eE

и величина максимальной пропускной способности сети

Q2

veV

задаваемые графом G* =(v , E ^ E *). Далее будем обозначать величину потока в произвольном графе G через функцию F(G). Причем функция потока / : V xV ^^ (величина /(и, v) задает величину потока, передаваемого по ребру (и, v) в единицу времени) должна удовлетворять трем условиям:

1) ограниченность пропускной способности: /(и, v) < с(и, v) для всех и, v eV;

2) антисимметричность: / (и, v) = —/ (v, и) для всех и, v eV;

3) сохранение потока: для всех и e V \ {s, t}: Z /(и, v) = 0.

veV

Задача оптимизации формулируется следующим образом Задача I-1. По заданным ациклическим ориентированным графам G = (V, E) и множеству ребер E'(E о E' = 0), матрицам пропускных способностей с(и, v), с'(и, v) и матрице стоимости ребер p'(и, v) найти все множество Парето-оптимальных решений задачи min (Q (x)),max (Q2 (x)), отсортированных по первому (второму) критерию.

xeD xeD

Для данной задачи было доказано, что множество оптимальных по Парето решений может состоять из всех элементов множества решений D , мощность которого экспоненциально зависит от размерности задачи. Так же была доказана NP-трудность задачи I-1 [3]. Принимая во внимание гипотезу P ^ NP, и то, что мощность множества Парето может быть очень большой (например, для задачи размерности 20 количество недоминируемых решений может составлять 1 048 576) формулируется задача поиска субоптимального решения I-2 [4]:

Задача I-2. По заданным ациклическим ориентированным графам G = (V, E) и множеству ребер E' (E о E' = 0), матрицам пропускных способностей с(и, v), с '(и, v) и матрице стоимости ребер p' (и, v) построить субоптимальное множество решений.

Для задачи I-2 были предложены генетические алгоритмы поиска субоптимального решения [4]. Для проверки точности предложенных алгоритмов необходимо вычислять все множество оптимальных по Парето решений. Метод полного перебора, используемый для этих целей, не способен находить ответ к задаче за приемлемое время, в случае, когда мощность множества E' превышает 30. В данной работе предлагается метод ветвей и границ и способы его ускорения работы для нахождения всего множества оптимальных по Парето решений задачи бикритериальной оптимизации сети передачи данных, который позволит искать решения для задач большей размерности.

Описание метода ветвей и границ

Под методом ветвей и границ понимается алгоритм решения задачи, имеющий древовидную структуру поиска оптимального решения и использующий результаты решения оценочных задач [5]. Древовидная структура, описывающая разбиение всего множества решений на непересекающиеся подмножества, называется деревом ветвления. Приведем описание реализации метода ветвей и границ для решения задачи I-1.

1. Пронумеруем все ребра из множества Е' произвольным образом различными числами от 1 до |Е. Обозначим через ег ребро с номером г из множества Е'.

2. Каждая вершина дерева ветвления соответствует некоторому подмножеству области допустимых решений и содержит нижнюю (Ь ) и верхнюю (Н ) оценки значения пары (0 (х), 02 (х)) на этом подмножестве. При этом корневая вершина (нулевой уровень дерева) соответствует всей области допустимых решений Б, а любой вершине уровня к > 0 соответствует подмножество решений, получающееся при фиксировании первых к ребер (из множества Е') сети. Под термином «фиксирование» понимается тот факт, что для выбранных ребер уже принято решение, будут они достроены или нет. Обозначим через £ множество, содержащее фиксированные ребра, которые будут достроены.

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

4. Нижняя оценка Ь решения х после фиксирования первых к ребер:

a. 0 (х) = £р'(е) + ^р'(ег), т.е. сумме стоимостей строительства фиксированных

ее£ г=к+1

ребер, которые будут достроены, и ребер, которые еще не рассматривались, т.е. ребер с номерами, большими к .

b. 02 (х) = Е (0(у, Е ^ £)), т.е. величина потока для графа, полученного путем добавления в исходный множества достроенных фиксированных ребер.

5. Верхняя оценка Н решения х после фиксирования первых к ребер:

a. 0(х) = ^Р'(е), т.е. сумме стоимостей строительства фиксированных ребер, кото-

ее£

рые будут достроены.

b. 02(х) = Е(G(у,Е^£ > k})), т.е. величине потока для графа, полученного путем добавления в исходный множества достроенных фиксированных ребер и всех ребер, которые еще не рассматривались, т.е. ребра с номерами, большими к .

6. Функцией ветвления является рекурсивная функция, на вход которой подается номер ребра к для рассмотрения (подразумевается, что при вызове функции с параметром к ребра с номерами от 1 до к — 1 являются фиксированными). Запуск алгоритма производится вызовом функции ветвления с аргументом 1.

7. Для каждой вершины дерева ветвления рассчитывается верхняя Н и нижняя Ь

оценки решения р . Они сравниваются с решениями из множества рекордов Я . Пусть Нг и Ьг - верхняя и нижняя оценки решения г е Я, тогда:

a. если Ь > Нг, то Я = Я \ {г};

b. если Ьг > Н , то ветвление из данной вершины прекращается;

c. если —Зг е Я : Ьг > Н , то, если текущая вершина дерева ветвления является концевой, то решение р добавляется во множество рекордов Я (Я = Яо>{р}). В противном случае продолжается ветвление из данной вершины (вызывается функция ветвления с аргументов к +1). Здесь символ ^ обозначает доминируемость по Парето одного решения над другим.

8. Останов алгоритма выполняется при невозможности осуществления дальнейшего ветвления.

В результате работы алгоритма множество Я содержит все решения задачи 1-1 оптимальные по Парето.

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

Анализ метода

В худшем случае метод по сложности будет сравним с алгоритмом полного перебора. В работе [3] приведен пример сети, в которой множество оптимальных по Парето решений

имеет мощность 2Е '. На такой сети метод ветвей и границ в ходе работы не сможет отсечь ни одного подмножества решений и, в итоге, построит дерево ветвлений, состоящее из |Е

уровней (корень дерева имеет уровень 0). Уровень глубины I будет иметь 2 вершин. Таким образом, вычислительная сложность алгоритма такая же, как и у полного перебора, и составляет о(2 Е' 1 • \У\3).

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

Требования по памяти данного алгоритма имеют экспоненциальную зависимость от размера входных данных, так как необходимо хранить все недоминируемые решения,

найденные в ходе работы. В худшем случае, в памяти будет храниться 2Е ' решений. Таким

образом, требования по памяти составляют 0(2'

Е

Описание эвристик

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

В работе предлагается применить генетический алгоритм для нахождения субоптимального множества решений, которым изначально инициализируется множество рекордов Я метода ветвей и границ. Это позволит на раннем этапе работы метода отсечь заведомо неоптимальные подмножества решений. При этом используется генетический алгоритм, описанный в статье [4], с некоторыми модификациями:

• количество поколений популяции ограничивается величиной 100 • |Е' |. Таким образом, время работы генетического алгоритма будет невелико, но при этом будет найдено некоторое приближение множества Парето;

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

Описанная выше эвристика может применяться при решении любой бикритериальной задачи оптимизации. Теперь рассмотрим две эвристики, специфичные для рассматриваемой задачи.

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

достигается уменьшение стоимости строительства при сохранении пропускной способности;

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

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

Приведем результаты тестирования программной реализации метода ветвей и границ без использования и с применением эвристик, а также алгоритма полного перебора, выполненных на языке C++. Вычислительные эксперименты заключались в нахождении всего множества оптимальных по Парето решений для 100 различных случайным образом сгенерированных сетей передач данных с числом ребер во множестве E', равным 15, 20, 25, 30, 35 и 40. Вычислительные эксперименты проводились на компьютере с двуядерным процессором Intel Core™ I5 M520 с частотой 2.4 ГГц.

В табл. 1 приведены следующие статистические значения показателя времени работы на тесте: минимальное и максимальное значение (указаны в скобках), а также среднее значение (приведено через запятую после квадратных скобок) в тестовом наборе задач. Столбец tfe/ содержит время работы алгоритма полного перебора, tB&B - метода ветвей и границ без

использования эвристик, tB&B+SPEA - метода ветвей и границ c применением описанных выше эвристик.

Для случаев |E ' | = 35 и |E ' | = 40 указано приближенное время работы алгоритма полного перебора, вычисленное аналитически, исходя из анализа вычислительной сложности алгоритма, поскольку реальный запуск на таких больших входных данных не представляется возможным.

Таблица 1

Время работы алгоритмов

E ' V IE tbf tB&B t B&B+SPEA

15 [7; 11], 9 [18; 45], 35 [0.085; 0.52], 0.224 [0.008; 0.205], 0.057 [1.408; 7.242], 3.164

20 [8; 11], 9 [24; 45], 35 [1.926; 13.253], 6.091 [0.032; 3.693], 0.493 [1.435; 6.62], 2.972

25 [9; 12], 10 [30; 53], 40 [82.612; 419.717], 186.77 [0.062; 54.595], 5.01 [2.494; 36.971], 6.750

30 [9; 14], 12 [30; 72], 52 [2947.527; 15062.571], 7346.636 [0.312;897.448], 62.843 [3.471;475.878], 40.844

35 [10; 14], 13 [37; 72], 63 250000 [0.27;3541.633], 297.496 [3.641;1712.806], 136.033

40 [11; 16], 13 [45; 93], 72 8250000 [11.886;65203.957], 2689.295 [11.546;28711.778], 1083.015

Выводы

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

генетическим алгоритмом и применение его в качестве начального множества рекордов возможно и при решении бикритериальных задач.

Библиографический список

1. Алексеев, О.Г. Комплексное применение методов дискретной оптимизации / О.Г. Алексеев. -М.: Наука. Гл. ред. физ-мат. лит., 1987. - 248 с.

2. Алгоритмы: построение и анализ / Т. Кормен [и др.]. - 2-е изд. - М.: Вильямс, 2006. - 1296 с.

3. Лазарев, Е.А. Бикритериальная модель сети передачи данных / Е.А. Лазарев, Д.Е. Шапошников, П.В. Мисевич // Системы управления и информационные технологии. 2011. №3.2(45).- С. 255-258.

4. Лазарев, Е.А. Генетические алгоритмы оптимизации сети передачи данных / Е.А. Лазарев, Д.Е. Шапошников, П.В. Мисевич // Системы управления и информационные технологии. 2011. №4(46). С. 59-63.

5. Сигал, И.Х. Введение в прикладное дискретное программирование. Модели и вычислительные алгоритмы / И.Х. Сигал, А.П. Иванова. - М.: Физматлит, 2007. - 304 с.

Дата поступления в редакцию 30.06.2012

E.A. Lazarev

ON THE APPLICATION OF HEURISTICS FOR BRANCH AND BOUND METHOD SOLVING DATA TRANSMISSION NETWORK OPTIMIZATION PROBLEM

Nizhny Novgorod state technical university n.a. R.E. Alexeev

Purpose: Modernization of existing data transmissions networks is very important and actual problem, because Internet service providers must satisfy continuously growing end-users demands. In order to solve this problem it is necessary to use mathematical models of data transmission networks and effective optimization algorithms. The article presents heuristics to decrease calculation time of branch and bound method finding of pareto-optimal solutions set of the bi-criteria network optimization problem.

Design/methodology/approach: A heuristic of searching suboptimal solution used in single-criteria optimization problem is considered. Also, a set of heuristics specific for considered bi-criteria problem are proposed. Calculation experiments are done in order to check effectiveness of heuristics.

Research results and area of application: Application of heuristic of searching suboptimal solution is effective not only for single-criteria problems but for bi-criteria problems finding pareto-optimal solutions set also, which is proven by computational experiments.

Findings: Proposed heuristic decrease the execution time of branch and bound algorithm in more than two times. Key words: branch and bound method, bi-criteria optimization, network design.