Я • 7universum.com
£\ UNIVERSUM:
уТп технические науки
ПАРАЛЛЕЛЬНЫЕ МЕТАЭВРИСТИКИ В АСПЕКТЕ РЕШЕНИЯ ЗАДАЧ ДЕЦЕНТРАЛИЗОВАННОГО ДИСПЕТЧИРОВАНИЯ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ
Клименко Анна Борисовна
канд. техн. наук, м. н. с., Научно-исследовательский институт многопроцессорных вычислительных систем имени академика А.В. Каляева Федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет»,
РФ, г. Таганрог E-mail: Anna [email protected]
Клименко Владислав Валерьевич
канд. техн. наук, н. с., Научно-исследовательский институт многопроцессорных вычислительных систем имени академика А.В. Каляева Федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет»,
РФ, г. Таганрог
Пуха Иван Сергеевич
программист,
Научно-исследовательский институт многопроцессорных вычислительных систем имени академика А.В. Каляева Федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет»,
РФ, г. Таганрог
Клименко А.Б., Клименко В.В., Пуха И.С. Параллельные метаэвристики в аспекте решения задач децентрализованного диспетчирования информационно-управляющих систем // Universum: Технические науки : электрон. научн. журн. 2014. № 9 (10) .
URL: http://7universum.com/en/tech/archive/item/1611
PARALLEL METAHEURISTICS IN THE ASPECT OF PROBLEM SOLVING OF DECENTRALIZED MANUAL SUPERVISION OF INFORMATION-CONTROL SYSTEMS
Klimenko Anna
candidate of Technical Sciences, junior research scientist, Research Studies Institute of Multiprocessor systems named after the academician A.V. Kalyaev Federal State Autonomous Educational Institution of Higher Professional Education “Southern Federal University ”,
Russia, Taganrog
Klimenko Vladislav
candidate of Technical Sciences, research scientist, Research Studies Institute of Multiprocessor systems named after the academician A. V. Kalyaev Federal State Autonomous Educational Institution of Higher Professional Education “Southern Federal University”,
Russia, Taganrog
Puha Ivan
programmer, Research Studies Institute of Multiprocessor systems named after the academician A. V. Kalyaev Federal State Autonomous Educational Institution of Higher Professional Education “Southern Federal University”,
Russia, Taganrog
Работа выполнена при поддержке РФФИ, грантов 14-08-00776, 13-08-01172
АННОТАЦИЯ
Статья посвящена анализу методов распараллеливания метаэвристик с целью выбора наиболее подходящей комбинации «метаэвристика — метод распараллеливания» для решения задач децентрализованного диспетчирования, в частности — задачи формирования конфигурации информационно -управляющей системы. Рассмотрены: имитация отжига, поиск с запретами, генетические алгоритмы и алгоритмы муравьиных колоний. Обоснован выбор метода распараллеливания и семейства алгоритмов, рассмотрены перспективы их применения в системах реального времени.
ABSTRACT
The article is devoted to the analysis of methods of metaheuristics parallelization in order to choose the most relevant combination of metaheuristic and method of parallelizing for decentralized dispatching problem solving and problems of configuration formation of the information-control system in particular. Simulated annealing, tabu search, genetic algorithms and ant colony algorithm are considered. The selection of parallelization method and family of algorithms is proved; prospects of their use within real-time systems are determined.
Ключевые слова: параллельные алгоритмы; метаэвристика; имитация отжига; поиск с запретами; генетические алгоритмы; алгоритмы муравьиных колоний; реконфигурация.
Keywords: parallel algorithms; metaheuristics; simulated annealing; taboo search; genetic algorithms; ant colony algorithm; reconfiguration.
Введение
Информационно-управляющая система (ИУС), являясь цифровой системой контроля и управления некоторым реальным объектом в соответствии с определением [1], обладает рядом особенностей, которые отличают ее от универсальных вычислительных систем. ИУС, как правило, работают в режиме реального времени, при непрерывном режиме функционирования с зачастую отсутствующим оператором. В зависимости от класса, к которому принадлежит управляемый объект [2], к ИУС могут предъявляться специфические требования в плане надежности функционирования, в частности, одним из требований является способность ИУС корректно разрешать нештатные ситуации. Одним из перспективных направлений в области создания ИУС с повышенными надежностными характеристиками являются распределенные ИУС (РИУС) [2].
Диспетчирование РИУС является нетривиальной задачей, поскольку подразумевает построение методов и алгоритмов децентрализованного управления системой. При использовании выделенных элементов управления либо одного центрального диспетчера, возможны ситуации, когда РИУС утратит работоспособность, например, в случае сбоя вычислительного устройства (ВУ), на котором расположен центральный диспетчер. Концепция децентрализованного диспетчера предполагает, что все ВУ равноправны и в случае сбоя, возникшего на одном или нескольких узлах, работоспособные ВУ производят реконфигурацию РИУС, иными словами - перераспределение подзадач задачи управления [2]. Следует отметить, что для системы, работающей в режиме реального времени, перераспределение задач должно быть произведено в допустимые сроки, иначе реконфигурация может оказаться бессмысленной. В свою очередь, процесс распределения подзадач по ВУ относится к NP-трудным задачам, что подразумевает высокие временные затраты для получения точных решений. Подходом, успешно применяемым на практике, стали метаэвристические алгоритмы, позволяющие получать достаточно хорошие решения за удовлетворительное время. В случае РИУС целесообразно вести речь о параллельных реализациях метаэвристических алгоритмов: распараллеливание метаэвристик позволяет как сократить время поиска решения, так и улучшить его качество. Данная статья посвящена анализу некоторых метаэвристик, используемых на практике, и методам их распараллеливания с точки зрения возможности их использования для решения задачи реконфигурации РИУС. В этом аспекте наиболее важными, с точки зрения авторов, будут считаться:
• степень децентрализации алгоритмов;
• возможное влияние сбоев на ВУ на качество получаемых решений.
Далее будут рассмотрены:
• параллельная имитация отжига;
• параллельный поиск с запретами;
параллельные генетические алгоритмы;
параллельные алгоритмы муравьиных колоний.
Имитация отжига
Семейство алгоритмов имитации отжига (ИО) известно давно, многочисленно и реализовано в виде различных модификаций [5], поэтому в контексте данной статьи мы будем акцентировать внимание на используемых методах распараллеливания ИО, которое существенно осложнено тем, что метаэвристика ИО является последовательной. Наиболее широкое распространение получили следующие методы распараллеливания ИО [4, 5]:
• независимые параллельные запуски с синхронизацией и асинхронные;
• распараллеливание, базирующееся на декомпозиции целевой функции;
• распараллеливание, базирующееся на разбиении пространства решений на подобласти;
• распараллеливание внутри температурной итерации с параллельным выполнением марковских цепей.
Рассмотрим кратко каждый из методов распараллеливания в выделенных аспектах.
Метод независимых параллельных запусков (Multiple Independent Runs, MIR) заключается в следующем: на множестве ВУ производится запуск алгоритмов ИО, возможно, с различными точками инициализации вычислений, с выбором наилучшего решения по завершении. Независимые параллельные запуски с синхронизацией предполагают периодический обмен текущими решениями между ВУ с выбором наилучшей точки для продолжения вычислений. Вполне очевидно, что метод независимых параллельных запусков может быть реализован как с использованием центрального управляющего элемента, так и без; в случае отсутствия последнего каждый ВУ должен будет перебрать решения, полученные другими ВУ системы, и здесь важную роль может играть топология соединений между ВУ. Аналогично метод, основанный на разбиении пространства решений на области, довольно просто реализуем децентрализованно, однако в [3] авторы говорят о проблемах отслеживания
получаемых решений и их отношения к той или иной области пространства решений, особенно для задачи составления расписаний. Метод, в основу которого положена декомпозиция целевой функции, является проблемноориентированным и походит для целевых функций вида:
F(xi, Х2, ...Xn)=F(xi)+F(X2)+...+F(Xn). (1)
Примером задачи, для которой применялся такой метод распараллеливания, является задача размещения транзисторов на интегральной схеме, поскольку если в качестве ЦФ рассматривать количество перекрывающихся элементов, то оно может быть посчитано как сумма перекрывающихся элементов отдельных участков интегральной схемы. Однако при постановке задачи реконфигурации, как правило, в качестве ЦФ выбираются функции, которые затруднительно представить в виде (1): это либо стоимость системы ВУ, либо суммарное время выполнения ЗУ.
Последний метод с распараллеливанием марковских цепей предполагает наличие центрального управляющего элемента, который на первом этапе распределяет вычисления по ВУ, а затем занимается сбором результатов при изменении температуры.
Выбирая методы распараллеливания, наиболее ориентированные на децентрализованное выполнение, целесообразно остановиться на асинхронных или синхронных параллельных независимых запусках ИО. Также следует отметить, что в случае сбоев на ВУ решение так или иначе будет получено, поскольку на всех ВУ запускаются идентичные алгоритмы, каждый из которых находит решение задачи.
Поиск с запретами
В 1997 г. [12] была опубликована работа, посвященная исследованию и классификации методов распараллеливания поиска с запретами (Tabu Search).
Для классификации методов распараллеливания поиска с запретами используются следующие признаки:
• наличие управляющего элемента (различают структуры типа master-slave и одноранговые, аналогичные Multiple Independent Runs);
• по типу контроля и коммуникации (с жесткой синхронизацией, синхронизация по знаниям (Knowledge Synchronyzation), асинхроннная, коллегиальная синхронизация по знаниям (Knowledge Collegial));
• по типу инициирования вычислительного процесса и используемого механизма поиска (поиск начинается с одной стартовой точки или с различных, использует одну и ту же стратегию поиска или различные).
К настоящему времени наиболее многообещающим считается кооперативный поиск, в основу которого легла следующая идея:
• на каждом ВУ запускается процедура поиска;
• между процессами поиска осуществляется обмен информацией.
Иными словами, речь идет о методе независимых запусков
с синхронизацией, что аналогично независимым запускам с использованием ИО, и он наделен аналогичными достоинствами в свете возможности использования в децентрализованных системах.
Следует отметить, что ключевыми вопросами для поиска с запретами по-прежнему остаются [7]:
• какой именно информацией следует обмениваться независимым процессам?
• топология обмена;
• время обмена информацией.
Г енетические алгоритмы
Г енетические алгоритмы на нынешний день являются одной из интенсивно развивающихся областей исследований. Аналогично имитации отжига, качество решения, получаемого посредством применения генетических алгоритмов, находится в прямой зависимости от количества итераций, в связи с чем и были начаты попытки построения параллельных Г А.
На текущий момент наибольшую популярность приобрели следующие методы распараллеливания ГА [4]:
1. глобальные однопопуляционные ПГА, модель «хозяин-раб» (или «мастер-подчиненные» (Master-Slave GAs);
2. однопопуляционные ПГА (Fine-Grained GAs);
3. многопопуляционные ПГА (Coarse-Grained GAs).
Для первого метода распараллеливания (модель Master-Slave) характерно распараллеливание на уровне вычисления фитнес-функции. Популяция хранится на выделенном узле, но при вычислении фитнес-функции популяция разбивается на множества особей, для каждой из которых выделенный ВУ осуществляет просчет значения фитнес-функции.
Однопопуляционный ПГА отличается тем, что популяция распределена пространственно; вычисления фитнес-функции и процедура мутации также осуществляются независимо на каждом ВУ. При этом возникает вопрос реализации кроссинговера и селекции, так как в однопопуляционном ГА каждая особь должна иметь возможность выбора в партнеры для кроссинговера любую из той же популяции, а селекция также должна осуществляться над популяцией в целом. Таким образом, встает вопрос организации взаимодействия между разрозненными подмножествами особей в рамках единой популяции. Современные исследования акцентируют внимание на организации топологии связей между ВУ и организации перекрытия множеств особей с целью обеспечения возможности кроссинговера и селекции в соответствии с правилами последовательного ГА.
Многопопуляционный ГА состоит из подмножества субпопуляций, распределенных по ВУ, что позволяет производить кроссинговер и селекцию в рамках узлов.
Рассматривая методы распараллеливания с точки зрения децентрализации вычислительных процессов, отметим следующее:
• глобальный однопопуляционный генетический алгоритм имеет выделенный элемент управления, где хранится популяция;
• однопопуляционный параллельный ГА (fine-grained) реализует параллелизм на уровне отдельных особей, при этом отсутствует выделенный управляющий элемент. Однако в случае сбоя одного из узлов происходит утрата части популяции, например, содержащей перспективные особи;
• многопопуляционный параллельный ГА (coarse-grained) базируется на параллельно существующих независимых популяциях. Это, с одной стороны, гарантирует высокую степень децентрализации вычислительного процесса и хорошее масштабирование; легко провести аналогию с MIR рассмотренных выше ИО и поиска с запретами. Однако одна итерация ГА имеет более высокую трудоемкость, нежели итерация ИО, в связи с чем возникают вопросы ее использования в системах реального времени, требующие дополнительного исследования.
Кроме того, в настоящее время по-прежнему остаются открытыми следующие вопросы многопопуляционного ПГА:
1. количество перемещаемых мигрантов;
2. частота обмена мигрантами;
3. правила отбора мигрантов для обмена.
Влияние перечисленных вопросов на качество получаемого решения за ограниченный временной интервал на текущий момент находится в стадии исследования.
Алгоритмы муравьиных колоний
Распараллеливание алгоритмов муравьиных колоний [9, 10] (АМК) во многом сходно с распараллеливанием ГА и классифицируется по двум основным признакам:
• MIR стандартного АМК/ изначально спроектированный параллельный АМК;
• по признаку централизации/децентрализации.
Особенностью методов распараллеливания АМК является неделимость и последовательное конструирование одного решения. По этой причине предпочтением пользуется распараллеливание на уровне оценки качества получаемых решений, в случае если оценка значения ЦФ занимает длительное время. Большинство параллельных АМК размещают более одного муравья на ВУ, в результате чего муравьи, размещенные на одном ВУ, взаимодействуют чаще друг с другом, нежели с особями, размещенными на соседних ВУ, при этом матрицы феромонов одного ВУ не обязательно повторяют матрицы феромонов другого ВУ. Подобное размещение в некотором смысле является аналогом многопопуляционных ГА и в общем является децентрализованным подходом к распараллеливанию. Однако, как и для многопопуляционных ГА, алгоритмы муравьиных мультиколоний на текущий момент находятся в стадии исследования. Основные вопросы, которые решаются:
• топология коммуникаций между колониями (полносвязный граф, кольцо, гиперкуб, случайный выбор соседа);
• тип информации, которым обмениваются колонии (решения, феромонные матрицы);
• цель использования информации, полученной от других колоний;
• частота обмена информацией между колониями;
• использование гомогенных/гетерогенных колоний (в гетерогенных колониях могут различаться параметры алгоритма или использоваться другие эвристики).
Как уже было сказано выше, оценка влияния перечисленных вопросов на качество получаемого решения и время его получения находятся на стадии исследования.
Выводы
В статье проведен краткий анализ параллельных метаэвристических алгоритмов:
• имитация отжига;
• поиск с запретами;
• параллельные генетические алгоритмы;
• параллельные алгоритмы муравьиных колоний.
Приведенный список не является исчерпывающим, но тем не менее позволяет очертить основные черты методов локального поиска
и эволюционных алгоритмов с точки зрения перспективности их использования в решении задачи реконфигурации РИУС в реальном времени.
Проведенное исследование позволяет сделать следующие выводы:
• метод распараллеливания, реализующий независимые запуски алгоритмов (MIR), является перспективным как с точки зрения децентрализации процесса, так и с точки зрения отказоустойчивости такой процедуры поиска, поскольку при выходе из строя нескольких ВУ, функционирующие ВУ позволяют получить набор решений.
• распараллеливание эволюционных алгоритмов по принципу организации многих популяций или многих муравьиных колоний также перспективны в плане децентрализации процесса, однако по-прежнему нерешенными остаются многие вопросы организации вычислительного процесса;
• кроме того, в условиях, когда система функционирует в режиме реального времени, следует отдавать предпочтение тем метаэвристикам, которые обеспечивают скорейшее схождение вычислительного процесса к минимуму (допустимо — к локальному).
Последнее утверждение ставит вопрос о сравнении параллельных метаэвристик в аспекте скорости получения приемлемых решений. В качестве предварительного выбора может быть предложена ИО с независимыми запусками либо поиск с запретами в силу малой вычислительной сложности одной итерации.
Список литературы:
1. Информационно-управляющая система / [Электронный ресурс] — Режим
доступа. — URL:
www.ru.wikipedia. org/wiki/%D0%98%D0%BD%D 1 %84%D0%BE%D 1 %80%D 0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D 1 %83%D0%BF%D 1 %80%D0%B0%D0%B2%D0%BB%D 1 %8F%D 1 %8E% D1 %89%D0%B0%D 1 %8F_%D 1 %81 %D0%B8%D 1 %81 %D 1 %82%D0%B5%D 0%BC%D0%B0 (дата обращения: 10.03.2014).
2. Каляев И.А, Мельник Э.В. Децентрализованные системы компьютерного управления. Ростов н/Д: Издательство ЮНЦ РАН, 2011. — 196 с.
3. Костенко В.А. Проблемы разработки итерационных алгоритмов для построения расписаний с одновременным нахождением необходимого количества ресурсов и их характеристик // Искусственный интеллект. — 2002. — № 2. — С. 141—150.
4. Alba E., Luna F., Nebro A.J. and al. Parallel heterogeneous GAS for continuous optimization // Parallel Computing. — 2004. — № 30. — Р. 699—719.
5. Azencott R. Simulated Annealing: Parallelization Techniques. New York: John Wiley and Sons, 1992. — P. 47—79.
6. Busetti F. Simulated annealing overview.2003 / [Электронный ресурс] —
Режим доступа. — URL:
(http://citeseer.uark.edu:8080/citeseerx/viewdoc/summary;jsessionid=9F958F3A D8ACB341A84315A737883592?doi=10.1.1.66.5018) (дата обращения: 20.02.2013).
7. Crainic T.G., Toulouse M. Parallel Metaheuristics // Fleet Management and Logistics. 1998. — Р. 205—251.
8. Crainic T.G., Toulouse M., Gendreau M. Communication Issues in Designing Cooperative Multi Thread Parallel Searches // Meta-Heuristics: Theory &Applications. 1996. — Р. 501—522.
9. Dorigo M. Optimization, Learning and Natural Algorithms // PhD thesis, Dipartimento di Elettronica, Politecnico di Milano. 1992.
10. Dorigo M., Stiitzle T. Ant Colony Optimization // Computational Intelligence Magazine. — 2006. — № 11. — Р. 28—39.
11. Durand M.D., White S.R. Trading accuracy for speed in parallel simulated annealing with simultaneous moves // Parallel Computing. — 2000. — № 26. — Р. 135—150.
12. Ingber L. Simulated annealing: practice versus theory / [Электронный ресурс] —
Режим доступа. — URL:
http://citeseer.uark.edu:8080/citeseerx/viewdoc/summary?doi=10.1.1.15.1046 (дата обращения: 20.02.2013).