УДК 004.89 Многопоточная МАС для планирования в реальном

advertisement
УДК 004.89
Многопоточная МАС для планирования в реальном времени
Д.В. Павлова, Д.Н. Казанская
ООО «Научно-производственная компания «Разумные решения»
Планирование является широко используемым методом организации расположения
процессов во времени в различных сферах жизни человека. Существует ряд подходов к
реализации планирования: традиционные методы оптимизации [1], генетические и нейронные
алгоритмы [2] и т.д. В последнее время все большее распространение получают системы
планирования на основе мультиагентных технологий [3,4]. Главным преимуществом
подобных систем (мультиагентных систем, МАС) является большая гибкость и эффективность
по сравнению с традиционными системами [5]. В данной работе описываются особенности
работы МАС для планирования, реализованной с использованием принципов многопоточных
приложений.
Построение плана происходит путем взаимных переговоров агентов и достижения
состояния компромисса между ними. План не сохраняется до тех пор, пока все агенты не
закончат свои активности, например, обработка сообщения, ожидание ответа на свое
сообщение и т.д. Отслеживание окончания всех активностей ведется миром агентов. Как
только агент перестает заниматься полезной для себя деятельностью и переходит в состояние
покоя, он должен дать сигнал – отправить сообщение о том, что его активность закончена, в
мир агентов.
В реализованной многопоточной МАС используются два различных типа агентов:
агент операции и агент ресурса. Ресурсами выступают рабочие, оборудование и цеха, если для
них оказывают услуги по изготовлению. Соответственно, агенты ресурсов – это агенты,
порождаемые этими тремя сущностями с соответствующими задачами и целями. Агент
операции – агент технической операции, который ищет себе размещение в расписании с
учетом различных критериев (рабочий, оборудование). Чтобы удовлетворить требования
агента операции, агент рабочего должен уметь выполнять данный тип операции, обладать
требуемой специальностью и уметь работать на конкретном оборудовании; агент
оборудования должен иметь определенную модель, на которой выполняется данный тип
операции. Агент операции выступает в роли самого активного агента: он может становиться
активным по запросу на планирование от рабочего, может инициироваться агентом
последующей операции или просто участвовать в разрешении возникших конфликтов.
Для того, чтобы агент операции занял место в плане, необходимо удовлетворить
перечисленные выше критерии. Агент рабочего должен подойти по заданным параметрам,
чтобы договориться с агентом операции и удовлетворить его потребности, что может привести
к долгим переговорам между агентами. Необходимо сужать круг рассматриваемых агентов,
обрезая наименее подходящих по различным критериям: приоритету, доступности агента,
скорости отклика на сообщение, и т.п.
Средством предотвращения долгих уточняющих переговоров между агентом операции
и агентом ресурса выступает доска сообщений агентов. Агент операции оставляет в правилах
доски те потребности, которые ему необходимы, в то время как агент рабочего оставляет в
правилах те возможности, которыми он обладает. Затем доска сообщений анализирует
совпадение правил и отсылает агентам сообщения о найденных совпадениях. Путем
переговоров с другими агентами, либо самостоятельно агент находит для себя наилучшее
положение, после чего работа агента останавливается и запускается проверка корректности
планирования, которая состоит из проверки корректности планирования события и из
проверки расписания на наличие нарушений. Только после проверки корректности плана
расписание сохраняется и становится доступно пользователю для анализа и работы.
Обязательным условием существования агентов является наличие мира агентов. В
процессе своей работы мир запускает параллельную работу агентов при помощи запуска
имеющихся потоков процессора. Все потоки процессора могут запускаться одновременно и
работать параллельно. По завершению обработки сообщения агентом поток освобождается и
будет занят тем агентом, которого планировщик посчитает нужным активировать. Потоки
некоторое время могут быть свободными, однако в один момент времени на каждом потоке
не может быть более одного агента.
В результате своей работы в мире, агенты, обладая лишь определенным набором
инструкций, взаимодействуют между собой по заданным правилам, и порождают целостное
расписание, учитывающее различные интересы и ограничения.
Литература
1. N.V. Sahinidis Optimization under uncertainty: state-of-the-art and opportunities –
Computers & Chemical Engineering – 2004 – Т. 28 – №6 – С. 971-983.
2. H. C. Zhang, S. H. Huang Applications of neural networks in manufacturing: a state-of-theart survey – The International Journal of Production Research – 1995 – Т. 33 – №3 – С. 705728.
3. M. Pěchouček, V. Mařík Industrial deployment of multi-agent technologies: review and
selected case studies. Autonomous Agents and Multi-Agent Systems – 2008 – Т. 17 – №3 –
С. 397-431.
4. P. Leitão Agent-based distributed manufacturing control: A state-of-the-art survey –
Engineering Applications of Artificial Intelligence – 2009 – Т. 22 – №7 – С. 979-991.
5. G. Rzevski, P. Skobelev Managing complexity –Southampton: WIT Press, 2014. – 216с.
Download