Мультиагентная система для решения задач логистики


Работа посвящена применению мультиагентного подхода для решения задач логистики. В качестве основных задач рассматриваются задачи конструирования и моделирования сетей производства и сбыта продукции. В отличие от известных подходов, в настоящей работе для решения поставленных задач предлагается использовать интеллектуальных агентов производимой продукции и ее частей. Показывается, что за счет переговоров таких агентов обеспечивается особо высокая гибкость и эффективность, а также надежность поставок "just in time". Предлагается архитектура инструментальной мультиагентной системы для создания прикладных систем моделирования логистики производства и сбыта продукции. В качестве примеров применения разработанной системы демонстрируются действующие макеты-прототипы мультиагентных систем для моделирования производства и продажи автомобилей, а также производства и продажи бумаги.

1. Введение

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

Современные системы логистики, обеспечивающие тре

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

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

2. Основные задачи логистики производства и сбыта продукции

Типичная структура сети производства и сбыта продукции (рис.1) включает в себя:

  1. Производителей и поставщиков комплектующих частей, деталей и материалов (Производитель).
  2. Транспортные средства (Транспорт), осуществляющие перевозку частей или готовой продукции.
  3. Промежуточные склады и склады готовой продукции (Склад).
  4. Сборочные производства, включая конвейерные линии (Сборщик).
  5. Заказчиков и продавцов (Потребитель).

Основой для развертывания сети производства и сбыта продукции является структура городов и дорог (шоссейных, воздушных, водных и других).


Типичная структура логистической сети
Рис. 1. Типичная структура логистической сети

Типичными задачами логистики систем производства и сбыта продукции являются:

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

В целом, мы определяем "логистику" как "процесс принятия решений в сфере нормирования и распределения ресурсов" [Rzevski, 1999] - другими словами, "логистика" представляет собой комплекс мер по удовлетворению спроса на ресурсы в заданном месте и в заданное время.

3. Мультиагентный подход для построения системы моделирования логистики

Интеллектуальный агент - это программный объект, способный действовать в заданной программной среде, рассуждать и коммуницировать с себе подобными. Подробный обзор современного состояния мультиагентных систем был представлен в [Хорошевский, 1999].

В настоящем подходе каждому заказу (далее - кружочек) и каждому готовому элементу ("квадратик") продукции соответствует свой интеллектуальный агент, а главной особенностью разрабатываемой системы становится способность обеспечивать нахождение соответствия между заказами и готовыми частями ("matching demand to supply").

В этом плане развиваемый подход реализует основные принципы холизма, при которых централизованная структура заменяется взаимодействием автономных модулей, способных к динамическому взаимодействию [Brussel et al., 1998, Skobelev, 2000]. Прекрасным примером такой структуры может являться рой пчел, в котором каждая из пчел является вполне автономной системой, но в целом, рою пчел присущи и все черты целостного объекта.

Важным свойством разрабатываемых агентов является их способность к переговорам друг с другом, разработанная на основе технологии виртуальных "круглых столов" [Vittikh et al., 1998].


Рой агентов заказов и готовых частей в ходе переговоров (длина стрелки выражает меру интереса, а касание - начало бронирования)
Рис. 2. "Рой" агентов заказов и готовых частей в ходе переговоров (длина стрелки выражает меру интереса, а касание - начало бронирования)

Типичный пример переговоров приводится на рисунке 3. Поступает заказ на деталь, и тут же создается Агент Заказа для проведения переговоров о принятии его в производство. Агент заказа находит уже существующую готовую деталь на одном из складов (шаг 1). Он предлагает определенную цену за данную деталь, а Агент Детали, в свою очередь, может принять это предложение или отказаться от него, в зависимости от предложенной цены. Предположим, что Агент Детали принимает предложение (шаг 2), деталь резервируется, и ее цвет на экране меняется. Предположим, что далее в систему поступает другой заказ (шаг 3), и второй Агент Заказа пытается зарезервировать для себя ту же деталь, поскольку другой подходящей не находит. Понимая, что деталь уже занята, Агент Заказа предлагает отменить бронирование за определенную компенсацию. В результате Агент Детали снова обращается к первому Агенту Заказа с предложением принять компенсацию. Первый Агент Заказа может согласиться и принять компенсацию, если только это не повлияет на сроки его исполнения, или дата поставки может быть перенесена на более поздний срок. Если первый Агент Заказа согласен, то деталь перебронируется заново, теперь уже для второго заказа (шаг 4), и ее цвет снова меняется.


Процесс переговоров в мультиагентной сети
Рис. 3. Процесс переговоров в мультиагентной сети (шаг 1-6 - важные этапы переговоров: запросы, ответы, подтверждения, ...)

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

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

От различных стратегий, реализуемых агентами "роя" и дополнительными агентами, зависят важные макроэкономические параметры всей логистической системы.

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

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

4. Архитектура мультиагентной системы для моделирования логистики

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

  1. Служба прямого доступа обеспечивает прямой доступ визуальной части к атрибутам агентов. При этом, визуальная часть может общаться с агентами с помощью сообщений, но использование данной подсистема во-первых, быстрее, а во-вторых, обладает более широкими возможностями для оперирования агентами.
  2. Служба сообщений отвечает за передачу сообщений между самим агентами, а так же между агентами и дополнительными системами ядра.
  3. Библиотека классов агентов это часть базы знаний, которая содержит информацию, о том, каких типов бывают агенты. Для повышения гибкости системы, информация в этом справочнике может быть дополнена из внешних расширений через интерфейс EM API (расширения ядра).
  4. Сообщество агентов - место, где размещаются агенты. Этот блок, кроме жизнедеятельности агентов, еще обеспечивает функции по загрузки/записи агентов и их свойств и за оптимизацию работы с ресурсами.
  5. Онтология - предметная база знаний, содержащая конкретные знания о предмете (логистике), представляемые в виде семантической сети.


Архитектура ядра мультиагентной системы
Рис. 4. Архитектура ядра мультиагентной системы

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

Кроме перечисленных выше блоков система имеет 4 типа интерфейсов, для взаимодействия с внешними компонентами, это:

  1. DBI API. Интерфейс взаимодействия с модулем доступа к БД и БЗ. Так же, этот модуль отвечает за взаимодействие с накопителями, для сохранения описания сцен и т.п.
  2. UI API. Интерфейс для присоединения системы наблюдения/редактирования. При этом каждый проект может использовать как унифицированную оболочку для работы с системой, так и свой собственный блок, например для веб-представления.
  3. EM API. Интерфейс расширений ядра, позволяет динамически вносить в систему собственные типы агентов без модификации самого ядра. Изначально в систему встраивается основной набор агентов для конкретного направления, а потом вносятся расширения.
  4. CI API. Интерфейс взаимодействия между несколькими различными ядрами. На основе данного ядра разработана оболочка пользователя (рис. 5), реализующая наиболее общие классы логистических агентов и библиотека их классов для программиста.


Оболочка пользователя
Рис. 5. Оболочка пользователя

К.В. Ивкушкин, И.А. Минаков, Г.А. Ржевский, П.О. Скобелев
Статья предоставлена Координационным советом по логистике