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

УПРАВЛЕНИЕ В СОЦИАЛЬНЫХ И ЭКОНОМИЧЕСКИХ СИСТЕМАХ

УДК 504:007

Д. А. Ризванов

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

В статье рассматривается задача управления ресурсами в условиях чрезвычайных ситуаций. На основе проведенного анализа используемых в проекте технологий предложено использовать многоагентные технологии совместно с семантическими сервисами. Разработан прототип программного обеспечения. Проведена оценка эффективности разработанного алгоритма распределения ресурсов. Многоагентные технологии; задача распределения ресурсов

ВВЕДЕНИЕ

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

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

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

Данная задача решалась в рамках проекта 8рее^р, целью которого является разработка средств, обеспечивающих ИТ-поддержку для

Контактная информация: 8(347)273-77-17 Результаты, приведенные в статье, относятся к завершенной части исследований в рамках гранта БААБ А/09/72646, гранта РФФИ 09-07-00408-а, а также научно-исследовательской работы по теме «Исследование интеллектуальных технологий поддержки принятия решений и управления для сложных социально-экономических объектов». Работа поддержана грантом РФФИ 12-07-00631-а.

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

Описанной проблеме посвящены различные исследования. В работе [1] рассматриваются вопросы составления календарного плана выполнения работ при ликвидации последствий ЧС. В работах [2-4] описаны разработанные системы, основанные на применении как сервисов, так и многоагентных технологий. Однако алгоритмы получения решения в этих исследованиях строятся на базе проведения аукционов, что подразумевает конкуренцию за ресурсы.

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

ОПИСАНИЕ ЗАДАЧИ

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

• общая информация о пострадавшем (ФИО, пол, возраст);

• характер и степень повреждений;

• местоположение пострадавшего;

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

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

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

ПОДХОДЫ К РЕШЕНИЮ ЗАДАЧИ

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

На основе проведенного анализа возможных представлений ресурсов в виде сервисов [5] была предложена схема, при которой каждый вид ресурса (транспорт, больницы) описывается с помощью одного сервиса с соответствующей функциональностью.

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

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

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

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

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

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

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

РАЦИОНАЛЬНОГО РАСПРЕДЕЛЕНИЯ РЕСУРСОВ В УСЛОВИЯХ ЧС

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

Введем следующие обозначения:

Р = (А,..., Рм] - множество пациентов;

А = (Аь..., Ам] - множество транспортных средств;

Н = (Нь..., Нк] - множество больниц;

1 - индекс пациента;

7 - индекс транспортного средства;

к - индекс больницы;

Хук - факт доставки пациента 1 на транспортном средстве 7 в больницу к (Хук = 1, если пациент 1 перевозится на транспортном средстве 7 в больницу к, или Х1]к = 0, иначе);

2(РЬ А;) - затраты на перевозку пациента Рг-в транспортном средстве А}-;

В(РЬ Нк) - расстояние от местоположения пациента Р1 до больницы Нк;

Бгее(Нк) - количество свободных мест

в больнице Нк;

- коэффициент, отражающий предпочтительность транспортного средства 7 для транспортировки пациента 1;

Б1к - коэффициент, отражающий предпочтительность транспортировки пациента 1 в больницу к.

0< Б1} <1, 0< Бк <1.

Чем ближе Бу (или Б1к) к 1, тем более предпочтительны выделенные ресурсы, и наоборот.

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

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

^ ^ м ^ х ,[г(Р, А,)в(Р,нк )] .

^ = > > > —------------------------------- шт.

1=1 ,=1 к=1 Б уБ1к

При этом должны быть учтены следующие ограничения:

• одно транспортное средство может использоваться для транспортировки только одного пациента

N Я

ZZ X,k =1, V;

=1 к =1

• для транспортировки одного пострадавшего используется только одно транспортное средство

м Я

>> X» = I " 1

7=1 к =1

• количество пострадавших, транспортируемых в конкретную больницу не должно превышать количества свободных мест в ней

N Я

>> X, £ Ргее(Н к ), " к;

1=1 к=1

• для транспортировки пострадавших используется только такой вид транспорта, который соответствует характеру и тяжести повреждений (семантическое ограничение задачи);

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

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

ОБЩАЯ СХЕМА РЕШЕНИЯ ЗАДАЧИ

РАЦИОНАЛЬНОГО РАСПРЕДЕЛЕНИЯ РЕСУРСОВ В УСЛОВИЯХ ЧС

Для решения задачи рационального распределения ресурсов в условиях ЧС была разработана общая схема, представленная на рис. 1.

Она основа на результатах процесса работы программного средства для осуществления вывода на основе запросов с параметрами (Matchmaker). Принцип работы Matchmaker подробно описан в [6] и состоит в сравнении запросов на обслуживание с пакетом предложений и нахождении наиболее подходящих из них для данного запроса. Для каждого пациента будет сформирован соответствующий запрос. Matchmaker обрабатывает запрос и возвращает в качестве результата упорядоченный список альтернатив, которые удовлетворяют параметрам запроса. В нашем случае для каждого пациента будет найден список ресурсов (транспортных средств и больниц), соответствующих тяжести и характеру его повреждений, упорядоченный по степени соответствия этих ресурсов. Числовая оценка, отражающая степень соответствия или предпочтительность данного ресурса для данного пациента, представляет собой действительное число на интервале [0,1]. Таким образом, каждому элементу списка соответствует числовая характеристика, отражающая степень соответствия выделяемых ресурсов «потребностям» пациента (которые были указаны в параметрах запроса).

Имея на входе упорядоченный список соответствующих ресурсов с оценками, начинаем решать задачу первоначального распределения ресурсов с учетом их ограниченности. Например, может оказаться, что для транспортировки некоторых пациентов лучше будет использовать одно и то же транспортное средство. Однако в силу условий, налагаемых спецификой предметной области, одно транспортное средство единовременно может использоваться только для перевозки одного пациента. Аналогичные конфликты могут возникать и с больницами, которые имеют ограниченное число свободных мест. Эти проблемы не учитываются при получении списка возможных ресурсов в процессе работы Matchmaker.

Для решения такого рода проблем предлагается использовать механизм ведения переговоров на основе взаимных уступок [7, 8]. Переговоры ведутся на основе критерия минимальных потерь пациента в соответствующих характеристиках степени соответствия выбранных ресурсов. Проиллюстрируем работу алгоритма на примере (рис. 2).

Рис. 1. Общая схема рационального распределения ресурсов

Рис. 2. Пример первоначального перераспределения ресурсов

Предположим, что для двух пациентов patientA и patientB в качестве наилучшего транспортного средства был выбран автомобиль Autol. По условиям задачи автомобиль может перевозить только одного пациента. Тогда, если автомобиль Auto1 будет назначен для транспортировки пациента patientA (а пациент patientB будет транспортироваться на Auto3), то потери составят (0,9 - 0,7) = 0,2. Но если автомобиль Auto1 будет выделен для транспортировки пациента patientB, то потери будут (0,8 - 0,7) = = 0,1. Это означает, что автомобиль Auto 1 должен быть использован для транспортировки па-

циента patientB. А для транспортировки пациента patientA должен быть выбран следующий лучший ресурс в упорядоченном списке. Описанное перераспределение ресурсов происходит для всех пациентов.

После первоначального перераспределения ресурсов рассчитываются затраты на транспортировку каждого пациента. Затем начинается второй этап. Цель этого этапа заключается в перераспределении ресурсов между агентами «Пациент», чтобы минимизировать общие затраты. Более детально особенности этого этапа будут рассмотрены далее.

РЕАЛИЗАЦИЯ ПРОТОТИПА СИСТЕМЫ РАЦИОНАЛЬНОГО РАСПРЕДЕЛЕНИЯ РЕСУРСОВ

На базе агентной платформы JADE разработан прототип многоагентной системы, в которой три типа агентов (пациенты, больницы и транспорт) реализованы. В качестве базовой принята модель рефлексивных агентов, предложенная Вулдриджом и Дженнингсом [9]. Поведение агентов, основанное на разработанной математической модели, можно считать кооперативным, поскольку только учет взаимных интересов позволяет решить задачу.

Каждый агент «Пациент» имеет цель, которая представлена в виде функции полезности. Особенность решаемой задачи определяет характер взаимодействия и поведения агентов «Пациент» при достижении поставленных це-

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

Рассмотрим более подробно, как происходит процесс ведения переговоров.

Пусть каждый агент-пациент умеет вычислять (и хранит вычисленное значение) функцию затрат на собственную транспортировку

г г

Рг =------------------.

Далее предположим, что у нас есть два пациента А и В, которые имеют соответствующие стоимости затрат на их транспортировку ЕА и ЕВ соответственно. Допустим, в процессе коммуникации два агента-пациента решили обменяться какими-либо ресурсами (транспортными средствами или больницами), при этом подразумевается, что в результате обмена семантические ограничения задачи будут соблюдены. После обмена эти два агента-пациента будут иметь новые стоимости затрат на их транспортировку - Е'а и ¥'В соответственно. При этом, если новые суммарные затраты на транспортировку окажутся меньше предыдущих затрат, то есть < Еа + ^в, то целесообразно провести такой обмен ресурсами, поскольку общие затраты на транспортировку пострадавших снизятся.

Фрагмент исходной информации о пострадавших и выделенных им ресурсах приведен ниже

<?хт1 version="1.0" encoding="UTF-8"?>

<agents>

<agent name="Auto1" type="Auto" />

<agent name="Auto2" type="Auto" />

<agent name="Hospital1" type="Hospital" /> <agent name="Hospital2" type="Hospital" /> <agent name="Patient1" type="Patient"> <resource type="Auto" name="Auto1" value="0.8"/>

<resource type="Auto" name="Auto7" value="0.7"/>

<resource type="Auto" name="Auto8" value="0.5"/>

<resource type="Auto" name="Auto6" value="0.1"/>

</agent>

<agent name="Patient5" type="Patient"> <resource type="Auto" name="Auto8" value="0.9" />

<resource type="Auto" name="Auto2" value="0.6" />

<resource type="Auto" name="Auto1" value="0.5" />

<resource type="Auto" name="Auto6" value="0.1" />

</agent>

</agents>.

Этот XML-код хранит информацию о пациентах, транспортных средствах и больницах, необходимую для функционирования многоагентной системы. Для каждого агента-пациента присутствует информация о степени соответствия выделяемых ему ресурсов.

В результате работы прототипа создается схожий по структуре xml-файл, содержащий информацию о пациентах и выделенных им ресурсах.

ОЦЕНКА ЭФФЕКТИВНОСТИ

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

Были проведены четыре типа экспериментов с различным количеством жертв и ресурсов [10]:

1. Небольшое число пациентов (10-12) и небольшое количество имеющихся ресурсов (15-20).

2. Большое количество пациентов (2G-4G) и большое количество доступных ресурсов (чуть больше, чем число пациентов).

3. Небольшое число пациентов (10-12) и большое количество ресурсов (20-30).

4. Большое число пациентов (20-40) и большое количество ресурсов (30-50).

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

Эксперименты для каждой группы исходных данных были проведены 100 раз.

Анализ результатов показал, что решение улучшается в среднем на 15-55 % по сравнению с первоначальным распределением. Таким образом, применение разработанного прототипа позволяет существенно снизить суммарные затраты на транспортировку пострадавших.

ЗАКЛЮЧЕНИЕ

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

СПИСОК ЛИТЕРАТУРЫ

1. Fiedrich F., Gehbauer F., Rickers U. Optimized resource allocation for emergency response after earthquake disasters // Safety Science. 2000. 35. P. 4157.

2. Conen W., Dridi F., Koppen E. A secure XML/Java-based Implementation of Auction Services for Complex Resource Allocation Problems // Proc. of WETICE2000, IEEE 9th Intl. Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, June 2000.

3. Bachrach Y., Rosenschein S. J. Distributed Multiagent Resource Allocation in Diminishing Marginal Return Domains // Proc. of 7th Int. Conf. on Auto-

nomous Agents and Multiagent Systems (AAMAS 2008), Padgham, Parkes, Muller and Parsons, May, 1216, 2008, Estoril, Portugal. P. 1103-1120.

4. Lai K., Huberman B. A., Fine L. Tycoon: A Distributed Market-based Resource Allocation System // HP Lab, Palo Alto, Technical Report cs.DC/0404013, Apr. 2004.

5. Gabdulkhakova A., Koenig-Ries B., Rizva-

nov D. A. Resource Allocation in Emergency Situations: Case Study // Proc. of the 12th International Workshop on Computer Science and Information Technologies.

2010. Vol. 3. P. 8-12.

6. DIANE - A Matchmaking-Centered Framework for Automated Service Discovery, Composition, Binding and Invocation on the Web / U. Kuester [et al.] // Special Issue of IJEC (International Journal of Electronic Commerce) on Semantic Matchmaking and Retrieval (2007).

7. Ризванов Д. А. Разработка многоагентной системы для решения задачи распределения ресурсов в условиях чрезвычайных ситуаций // Сб. материалов науч. семинара стипендиатов программ «Михаил Ломоносов» и «Иммануил Кант» (2010/2011 г.). М.: DAAD, 2011. С. 168-171.

8. Ризванов Д. А., Габдулхакова А. Р. Многоагентный подход к задаче распределения ресурсов в условиях чрезвычайных ситуаций // Информационные и математические технологии в науке и управлении: матер. XVI Байкальск. Всероссийск. с между-народн. участием конф. Иркутск: ИСЭМ СО РАН,

2011. Т. 3. С. 25-33.

9. Wooldridge M. J., Jennings N. R. Intelligent Agents: Theory and Practice // The Knowledge Engineering Review. 1995. 10 (2). P. 115-152.

10. Gabdulkhakova A., Konig-Ries B., Rizva-nov D. An Agent-Based Solution to the Resource Allocation Problem in Emergency Situations // Proc. of the 9th IEEE European Conference on Web Services (ECOWS 2011). 2011. Lugano, Switzerland. P. 151157.

ОБ АВТОРЕ

Ризванов Дмитрий Анварович, доцент каф. вы-числительн. математики и кибернетики. Дипл. инженер-программист (УГАТУ, 1995). Канд. экон. наук по математическ. и инструментальн. методам в экономике (Ин-т экономики УрО РАН, г. Екатеринбург, 2003). Иссл. в обл. систем поддержки принятия решений в соц. и эконом. системах, разработки многоагентных систем.