· Поддержка GSM 850/900/1800/1900 МГц, GPRS UDP и TCP, SMS
· Встроенная энергонезависимая память на 100,000+ точек маршрута (эквивалентно примерно 10 000 км). Используется, например, для накопления данных при нахождении вне зоны GSM-покрытия
· Имеет 4 дискретных входа и 4 программируемых выхода для подключения датчиков и внешних устройств.
Датчики
Для получения дополнительной информации на транспортное средство устанавливаются дополнительные датчики, подключаемые к GPS или ГЛОНАСС контроллеру, например:
· датчик расхода топлива (Датчики серии DFM, в зависимости от типа бака);
· датчик нагрузки на оси ТС (AS-2 либо AS-3);
· датчик уровня топлива в баке (DUT-E A5 или DUT-E A10);
· датчик температуры в рефрижераторе
(датчики серии ReeferMate);
.4.3 Диспетчерский центр (ДЦ)
Диспетчерский центр может быть построен как на
облачной инфраструктуре (AWS, DigitalOcean, Hetzner), так и используя свой
датацентр. Выгода от использования облачных технологий очевидна - поддержка
серверов на стороне облачного провайдера, нацеленность на горизонтальное
масштабирование, малая цена. Но существуют и риски, связанные с недоступностью
того или иного датацентра из-за внутренних причин облачного провайдера. В
случае своего датацентра поддержка работы серверов падает на наши плечи.
1.5 Программное обеспечение
В качестве ОС на серверах можно использовать любую среду для запуска виртуальной машины Java. Такую среду предоставляют как бесплатные операционные системы семейства Linux (Ubuntu, Fedora, Debian), так и платные аналоги RedHat Linux или операционные системы семейства Microsoft Windows. Для наших целей подходит open-source решения, распространяемые со свободной лицензией, такие как Debian.Virtual Machine (JVM) - среда для запуска java-приложений, распространяется также свободна, и может быть использована в данном проекте.
Внутри JVM
должен работать универсальный фреймворк для мультиагентных решений JADE, на
основе которого и будет вестись дальнейшая разработка софта. JADE,
как
и программы выше, распространяется бесплатно.
1.6
Описание мультиагентной системы диспетчеризации грузоперевозок
Для проведения рассматриваемого исследования была создана специальная упрощенная версия мультиагентной системы, позволяющая осуществлять моделирование и проводить эксперименты.
Разработанная моделирующая МАС функционирует следующим образом. С каждым грузовиком связан агент грузовика, с каждым заказом - агент заказа. Агенты могут отправлять и получать сообщения в среде МАС и принимать решения согласно своей логике и текущей ситуации, которая определяется внутренним состоянием каждого агента.
Заказ, поступая в МАС, шлёт запрос агенту жёлтых страниц, опрашивая который все агенты-грузовики узнают о заказе. Грузовики анализируют свое текущее состояние, оценивают свою возможную прибыль и отправляют ответ агенту заказа. Кандидаты на перепланирование (в случае возрастания прибыли) выстраиваются в сцене по максимально возможной прибыли. Заказ выбирает грузовик, который дает максимальную прибыль. Прибыль учитывается как разница между стоимостью заказа и стоимостью транспортировки. Если для выполнения заказа требовался переезд, то его стоимость вычитается из стоимости заказа.
Такой процесс продолжается с течением времени по событиям прихода, начала и окончания заказа, что имитирует поступление заказов в реальном времени.
В результате взаимодействия агентов происходит
самоорганизация системы заказы-грузовики, организуется расписание каждого
грузовика, и автоматически создается общий план, реализующийся с течением
времени.
2.
Мультиагентные технологии
.1 Мультиагентные системы
Система, в которой несколько агентов могут общаться, передавать друг другу некоторую информацию, взаимодействовать между собой и решать поставленную задачу называется мультиагентной (MAC). В MAC задачи (или подзадачи) распределены между агентами, каждый из которых рассматривается как член группы или организации. Распределение задач предполагает назначение ролей каждому из членов группы, определение меры его "ответственности" и требований к "опыту".
Мультиагентные системы зародились на пересечении теории систем и распределенного искусственного интеллекта. С одной стороны, речь идет об открытых, активных, развивающихся системах, в которых главное внимание уделяется процессам взаимодействия агентов как причинам возникновения системы с новыми качествами. С другой стороны, достаточно часто MAC строятся как объединение отдельных интеллектуальных систем, основанных на знаниях. MAC обычно состоит из следующих основных компонент:
· множество организационных единиц, в котором выделяются: подмножество агентов, манипулирующих подмножеством объектов;
· множество задач;
· среда, т. е. некоторое пространство, в котором существуют агенты и объекты;
· множество отношений между агентами;
· множество действий агентов (например, операций над объектами).
Основой формой организации взаимодействия между агентами, характеризующаяся объединением их усилий для достижения совместной цели при одновременном разделении между ними функций, ролей и обязанностей является кооперация. В общем случае это понятие можно определить формулой: кооперация = сотрудничество + координация действий + разрешение конфликтов. Под координацией обычно понимается управление зависимостями между действиями. Коммуникация между искусственными агентами зависит от выбранного протокола, который представляет собой множество правил, определяющих, как синтезировать значимые и правильные сообщения. Фундаментальными особенностями группы, составленной из агентов, сотрудничающих для достижения общей цели, являются социальная структура и распределение ролей между агентами.
Основой архитектуры агента является контекст, или серверная среда, в котором он исполняется. Каждый агент имеет постоянный идентификатор - имя. В серверной среде может исполняться не только исходный агент, но и его копия. Агенты способны самостоятельно создавать свои копии, рассылая их по различным серверам для исполнения работы. По прибытии агента на следующий сервер его код и данные переносятся в новый контекст и стираются на предыдущем местонахождении. В новом контексте агент может делать все, что там не запрещено. По окончании работы в контексте агент может переслать себя в другой контекст или по исходящему адресу отправителя. Агенты способны также выключаться ("умирать") сами или по команде сервера, который переносит их после этого из контекста в место, предназначенное для хранения.
На рис. 2.1 показана укрупненная структура типичного агента. Входами являются внутренние параметры агента и данные о состоянии среды. Выходы - параметры, воздействующие на среду и информирующие пользователя (или программу, выполняющую роль менеджера в системе) о состоянии среды и принятых решениях. Решатель - процедура принятия решений. Решатель может быть достаточно простым алгоритмом или элементом системы искусственного интеллекта.
Общепринятое определение интеллектуального
агента в настоящее время отсутствует. Согласно наиболее распространенному
определению под интеллектуальным агентом понимается программно или аппаратно
реализованная система, обладающая следующими свойствами:
рисунок 2.1 Структура типичного агента
· автономностью - способностью функционировать без вмешательства человека, контролируя свои действия и внутреннее состояние;
· социальностью - способностью функционировать в сообществе агентов и обмениваться с ними сообщениями с помощью некоторого языка коммуникаций;
· реактивностью - способностью воспринимать состояние среды и своевременно реагировать на происходящие в ней изменения;
· внутренней активностью -
способностью проявлять инициативу, т.е. не только реагировать на внешние
события, но и генерировать цели и действовать рационально для их достижения.
.2 Основные понятия архитектуры
мультиагентных систем
Основными понятиями, относящимися к архитектуре мультиагентных систем, являются:
Архитектура агента - анализирует агента как активную сущность, способную действовать и отвечать на действия среды. Архитектура агента представляет его как чувственно-воспринимающую информацию, действующую и рассуждающую совокупность компонент. Компоненты, отвечающие за чувственное восприятие, передают информацию «рассуждающим» компонентам и те в свою очередь определяют поведение агента (включая и способ дальнейшего восприятия информации);
Архитектура агентной системы - анализирует агентов как интерактивные «поставщик-потребитель» сущности. Архитектура систем помогает агентам функционировать и взаимодействовать внутри условий среды и позволяет агентам добиваться желаемого результата любыми средствами;
Фреймворк агентов - набор программных средств направленных на создание (конструирование) агентов. Примерами таких средств являются Jade, Voyager, Aglets и Odyssey;
Инфраструктура агентов - представляет собой правила, по которым агенты должны взаимодействовать между собой и понимать друг друга, таким образом, определяя разделение знаний. Агентная инфраструктура имеет отношение к таким понятиям как:
ü Онтология - позволяет «понимать» сущность основных концепций системы;
ü Протоколы коммуникации - описывает язык коммуникаций агентов;
ü Инфраструктура коммуникаций - определяет каналы для коммуникаций агентов;
ü Протоколы взаимодействия - описывает соглашения для взаимодействия агентов.
Существуют различные механизмы для информирования, привлечения внимания и поиска агентов; объединения, использования, управления и обновления информации об агентах и их активности. Все вышеперечисленные действия, связанные с обслуживанием агентов, выполняют агенты среднего уровня. Агенты среднего уровня это сущности, которые обеспечивают необходимой информацией других агентов для выполнения их функций. Преимущество их использования заключается в том, что они позволяют более устойчиво функционировать мультиагентной системе во время появления, исчезновения и перемещения агентов.
Существуют несколько типов агентов, попадающих под определение агента среднего уровня:
Агент-куратор - агент, координирующий активность других агентов и выполняющий запросы своих подчиненных агентов;
Агент-посредник - агенты, которые используют знания для создания служб приложения более высокого уровня;
Агент-брокер - агент, получающий запрос и выполняющий действия, используя службы других агентов и их ресурсы;
Агент-исследователь - агент, позволяющий службам отправки сообщения найти службы-провайдеры. Работа таких агентов основана на объявлении возможностей агента;
Агент-доска объявлений - репозиторий агентов, который получает и хранит запросы для других агентов.
Взаимодействие - это одна из характерных черт агентов. Другими словами, агенты рекуррентно взаимодействуют для предоставления общей информации и выполнения каких-либо задач для достижения конечной цели. Для коммуникации важную роль играют:
· Язык и протокол коммуникации агентов;
· Общая онтология.
.3 Характеристики мультиагентных систем
Мультиагентным системам характерно следующее:
• каждый агент имеет незавершенную информацию, или возможности для решения проблемы, таким образом, каждый агент имеет ограниченную точку зрения;
• отсутствует глобальный контроль системы;
• данные децентрализованы;
• асинхронное вычисление.
Наблюдается увеличивающийся интерес, относящийся
к исследованию МАС. Причины, по которым это происходит, следующие: МАС способны
обеспечить устойчивость против ошибок и эффективность; МАС позволяют
взаимодействовать с существующим наследием систем; МАС способны решать задачи,
в которых управление, данные, экспертные знания являются распределенными.
.4 Переговоры в мультиагентых системах
В МАС, состоящих из множества автономных агентов, переговоры являются ключевой формой взаимодействия, которое позволяет группам агентов достигнуть взаимного соглашения, например, в отношении некоторого представления, цели или плана. Процесс переговоров агентов может иметь различные формы такие как аукционы, протоколы в стиле контрактной сети и дискуссии, но неясно насколько сложными должны быть агенты или протоколы для взаимодействия, чтобы вести успешные переговоры в различных контекстах.
Выделяют три главные темы исследования переговоров:
) протоколы переговоров - набор правил, управляющих взаимодействием. Они определяют, допустимые типы участников (например, лиц, ведущих переговоры и имеющих отношение к ним третьих лиц), состояния переговоров (например, принятие заявок на торгах), события, вызывающие переходы в другие состояния (например, закончились выступающие на торгах покупатели, заявка принята) и допустимые действия участников в определенных состояниях;
) предметы переговоров - диапазон проблем, по которым должно быть достигнуто соглашение. Это могут быть как простые проблемы (например, цены), так и сложные проблемы (например, цены, качества, планирования времени, и т.д.). Также уместными являются допустимые операции на этих предметах. В простейшем случае структура и содержание соглашения установлена и переговорами добиваются принять или отклонить предложение. Более сложный случай предполагает гибкость, чтобы изменить значение проблемы в предмете переговоров, через встречные предложения, изменяя структуру предмета переговоров (например, добавляя гарантии) и т.д.;