УДК 004.942
МНОГОАГЕНТНАЯ СИСТЕМА УПРАВЛЕНИЯ СКЛАДСКИМИ
ПЕРЕМЕЩЕНИЯМИ
Ю. В. Сажина, Л. В. Липинский, А. С. Свиридова
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
В последнее десятилетние задачи управления и распределенного взаимодействия привлекают внимание все большего числа исследователей. Это объясняется широким применением мультиагентных систем в разных областях, включая разработку автоматизированных систем управления складскими перемещениями.
Ключевые слова: агент, многоагентные системы, распределенные системы, графоподоб-ная структура представления данных.
MULTI-AGENT WAREHOUSE MANAGEMENT SYSTEM
U. V. Sazhina, L. V. Lipinskiy, A. S. Sviridova
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
In the last decade of management and distributed interaction attract the attention of an increasing number of researchers. This is due to the extensive use of multi-agent systems in various areas, including the development of automated warehouse management systems.
Keywords: agent, multi-agent systems, distributed systems, graph-like structure of data representation.
Управление предприятием подразумевает не только технологический процесс и управление персоналом, но и правильный подход к хранению и перемещению складских объектов. Ведь грамотное планирование размещения материала, готовой продукции и остатков это минимизация времени на поиск необходимого объекта. Далеко не на всех предприятиях существует автоматизация в кладовых и на складах. Да и поиск необходимой информации, пусть даже и в электронной картотеке, вызывает трудности. Применение распределенных систем, выполняющих определенные действия параллельно, для которых задача разделена на пакет заданий между несколькими вычислительными потоками (устройствами), является актуальным не только в вычислительных сетях, но также и в производственных сетях, сетях обслуживания, транспортных и логистических сетях [1]. Такими системами являются мультиагентные системы (МАС).
Суть мультиагентных технологий заключается в принципиально новом методе решения задач: в отличие от классического способа, когда проводится поиск некоторого четко определенного (детерминированного) алгоритма, позволяющего найти наилучшее решение проблемы, в мультиагентных технологиях решение получается автоматически в результате взаимодействия множества самостоятельных целенаправленных программных модулей - агентов [1]. При этом разработка МАС позволяет создавать мобильные, расширяемые, а зачастую и универсальные системы, которые можно адаптировать под любой вид деятельности, что является немаловажным моментом для динамически развивающегося предприятия.
В данной статье предлагается рассмотреть разработку системы управления складскими перемещениями на основе мультиагентного подхода.
Актуальные проблемы авиации и космонавтики - 2017. Том 2
Система представляет собой взаимосвязь следующих компонентов:
- карта склада, представленная в виде графа;
- позиции склада, представленные в таблице;
- агенты, взаимодействие между которыми осуществляется за счет совокупности четких и нечетких правил.
Основной задачей агента в данной системе является поиск и доставка объекта за короткое время. Входной информацией для агента является так называемая заявка, которая содержит следующую информацию:
- код объекта;
- наименование объекта;
- размеры объекта (габариты): крупный, средний и малый (понятие габарита объекта задается относительно объема корзины агента);
- позиция объекта в хранилище (то есть местонахождение объекта на складе);
- индекс лотка, куда необходимо доставить найденный объект;
- статус позиции: свободна, зарезервирована, найдено, доставлено.
Выходной информацией в данной системе является позиция (запрашиваемый объект) и статус позиции. Помимо этой информации агент должен знать следующие данные: объем корзины, размер хранилища (т. е. количество ячеек в хранилище), текущее местонахождение самого агента в хранилище.
Концепция агентов, разработанная в рамках мультиагентных технологий, предполагает наличие активного поведения агентов, т. е. способности компьютерной программы самостоятельно реагировать на внешние события и выбирать соответствующие действия [2].
Агенты, находясь во внешней среде, взаимодействуют друг с другом и со средой, а также действуют автономно и рационально [2]. При разработке МАС наибольшую сложность представляет поиск оптимального состояния агента, при котором он будет способен планировать и корректировать целенаправленные действия и при этом эффективно реагировать на изменения во внешней среде. Также очень важным моментом в разработке МАС является построение эффективной кооперации между агентами и внешней средой, заключающейся в разделении целей между отдельными сущностями, в совместном планировании и координации действий, направленных на достижение общих целей.
Как было описано выше, взаимодействие агентов в системе было принято осуществлять за счет совокупности четких и нечетких правил. Четкие правила в данном случае это ограничения среды. Они непосредственно прописываются разработчиком при программировании. Например, таким правилом является: «если корзина полная, то иди к лотку» и другие. Нечеткие правила в данной задаче необходимы для разрешения конфликтов между агентами и внутри каждого агента при резервировании позиции в заявке. База нечетких правил ставит в соответствие набору входных параметров значения выходных параметров [3]. В данном случае система описывается двумя входными параметрами и одним выходным. База правил для рассматриваемой системы одержит следующие основные правила.
1. IF (корзина пустая) AND (габариты объекта малые) THEN изменить статус позиции на «зарезервирована».
2. ELSE IF (корзина пустая) AND (габариты объекта средние) THEN изменить статус позиции на «зарезервирована».
3. ELSE IF (корзина пустая) AND (габариты объекта большие) THEN изменить статус позиции на «зарезервирована».
4. ELSE IF (корзина пустая на половину) AND (габариты объекта малые) THEN изменить статус позиции на «зарезервирована».
5. ELSE IF (корзина пустая на половину) AND (габариты объекта средние) THEN изменить статус позиции на «зарезервирована».
6. ELSE IF (корзина пустая на половину) AND (габариты объекта большие) THEN положить объект в лоток (закрыть предыдущую позицию).
7. ELSE IF (корзина пустая на половину) AND (лоток близко) THEN положить объект в лоток (закрыть предыдущую позицию).
8. ELSE IF (корзина пустая) AND (объект близко) THEN изменить статус позиции на «зарезервирована».
9. ELSE IF (корзина пустая на половину) AND (объект близко) THEN изменить статус позиции на «зарезервирована».
Для данной базы правил введено понятия «объем корзины», относительно от которого введено понятие «габариты объекта». Итак, с помощью нечетких правил будет осуществляться выбор позиции в заявке. То есть, агент должен «расставить» числовые приоритеты по таким параметрам, как размер искомого объекта, наполненность корзины, близость к объекту в хранилище, близость к лотку. Сумма числовых приоритетов по данным параметрам по одной позиции сравнивается с такими же числовыми приоритетами других агентов этой же позиции. Чье число больше, тот агент и меняет статус позиции на «зарезервирована», то есть резервирует позицию и осуществляет поиск объекта. Таким же образом будет осуществляться выбор между позициями внутри одного агента.
Склад (или хранилище) в программе представлен в виде графа. Граф (G) - это совокупность вершин (V) и дуг (E), в зависимости от того, как они задаются, выделяют два основных способа представления [4]: матрица смежности и матрица инцидентности. В данном случае было принято представлять граф в виде матрицы смежности, которая для графа из N вершин хранится в виде двумерного массива размером N*N. Вершины графа задаются номерами (индексами строк и столбцов матрицы), а ячейка графа matrix [i, j ] отражает наличие дуги между соответствующими вершинами.
Разработка многоагентной системы является трудоемким процессом, требующего от разработчика внимательности и определенных знаний. Но при этом на выходе получается самостоятельный программный продукт, который возможно применять в любой сфере деятельности с минимальными уникальными доработками под конкретный объект управления.
Библиографические ссылки
1. Информационные технологии в управлении предприятием [Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/4115/1230/lecture/24081 (дата обращения: 11.10.2016).
2. Городецкий В. И. Многоагентные системы: обзор современного состояния теории и практики [Электронный ресурс]. URL: https://www.slideshare.net/rudnichenko/mas-10320580 (дата обращения: 12.10.2015).
3. Генетическое программирование [Электронный ресурс]. URL: http://intellect.ml/ geneticheskoe-programmirovanie-107 (дата обращения: 07.12.2015).
4. Проць Сергей. Графы в информатике: определение, виды, применение и примеры. Теория графов в информатике [Электронный ресурс]. URL: http://fb.ru/article/256727/grafyi-v-informatike-opredelenie-vidyi-primenenie-primeryi-teoriya-grafov-v-informatike (дата обращения: 15.12.2016).
© Сажина Ю. В., Липинский Л. В., Свиридова А. С., 2017