Сучасні проблеми практичного використання мультиагентних систем

Публікаційна активність

Наступний номер на сайті

Сучасні проблеми практичного використання мультиагентних систем

Відсутність універсальних методів розв'язання складних завдань є важливою специфічною проблемою, що стоїть перед сучасним практикуючим програмістом. З одного боку, існують різноманітні інтелектуальні технології, що дозволяють використовувати нечітку логіку, аналогії з природними механізмами самоорганізації, нейронні та семантичні мережі тощо. домагатися передбачуваного поведінки ПЗ.

Науково-виробнича компанія «Маджента Девелопмент» (м. Самара) (міжнародна назва Magenta Technology) – системний інтегратор інтелектуальних систем та розробник індивідуальних рішень щодо планування розподілених ресурсів у транспортній логістиці, на виробництві, медицині та мережі Інтернет – має досить серйозний досвід розроблення інтелектуальних програмних систем у транспортній логістиці. Почавши з невеликих проектів, в яких брали участь в основному вчені, які займалися теоретичними дослідженнями в галузі штучного інтелекту, і студенти, компанія, маючи у своєму колективі понад 100 досвідчених розробників, виросла у серйозний виробничий центр, який підтримує всі стадії ведення програмних проектів та розробки продуктів.

На думку фахівців, слід позначити низку проблем, які гостро стоять перед багатьма розробниками інтелектуальних програмних продуктів нового покоління. У цій статті розглядаються прикладні аспекти практичного застосування наукових методів та алгоритмівзавдання розподілу ресурсів.

Проектування та реалізація програмної архітектури

Архітектура складного програмного комплексу [1] багато в чому визначає його основні характеристики і зрештою впливає на реалізацію основних вимог, пов'язаних із продуктивністю, якістю та функціональними можливостями. Під архітектурою програми розуміють структуру, що включає програмні компоненти з різними властивостями та відносинами між ними.

У мультиагентних/багатоагентних системах [2, 3] мультиагентна архітектура може розглядатися як окремий об'єкт дослідження, що дозволяє реалізовувати сучасні парадигми розробки додатків, побудованих як відкриті спільноти активних програмних компонентів, що взаємодіють. Насправді такий поділ означає можливість відділення логіки взаємодії програмних агентів від логіки розв'язання оптимізаційних завдань, обумовленої специфікою предметної області.

Архітектура мультиагентної системи явно визначає поняття платформи, яка є програмно-методичною основою для різноманітних клієнтських додатків. У цьому контексті слід розглядати різні погляди на мультиагентну платформу.

1. Платформа як засіб побудови агента та управління його життєвим циклом. З цієї точки зору програмний комплекс описується як ряд бібліотек, що дозволяють створювати агентів, керувати їх поведінкою, описувати їх стан і надавати їм послуги обміну повідомленнями згідно з заздалегідь визначеними протоколами.

2. Платформа як основа створення різних додатків на вирішення певного спектра задач. У цьому контексті програмний комплекс містить низку функціональних можливостей щодо реалізації основних вимог, а також побудови на своїйоснову нового функціоналу під специфічні вимоги нового клієнта.

3. Платформа як реалізації стандартизованої функціональності, що дозволяє користувачам забезпечувати необхідну ефективність роботи. Основна відмінність від попередньої точки зору в тому, що при виникненні специфічної вимоги в першому випадку вона задовольняється шляхом реалізації спеціалізованої програмної надбудови, а в другому – модифікується в одну з передбачених вимог, при цьому замовник фактично зобов'язується змінити свої бізнес-процеси, підлаштовуючись під можливості системи.

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

У компанії «Маджента Девелопмент» як основна платформа для транспортної логістики розроблено рішення MAXOPTRA, яке забезпечує комплексне управління замовленнями та флотом сучасної транспортно-експедиційної компанії, що працює у сфері вантажопасажирських перевезень. Ця платформа побудована за принципом 2, однак для різних предметних областей розроблено також типові рішення за принципом 3, що дозволяє простіше позиціонувати розробку на ринку програм для транспортної логістики.

В основі рішення лежить програмна платформа для забезпечення узгодженої взаємодії всіх учасників процесу перевезень: логістів, диспетчерів, експедиторів та замовників, що дозволяє суттєво (на 15–20 %) підвищити продуктивність та ефективність роботи транспортної мережі, скоротити транспортні витрати за рахунок автоматичногопланування кругорейсів та знизити навантаження на співробітників компанії до 75 %.

Комбінація інтелектуальних та класичних алгоритмів

На жаль, досвід показує, що застосування чистих мультиагентних технологій, заснованих на вільній взаємодії агентів, для вирішення практичних завдань не завжди можливе. Зокрема, багато експериментів, як імітаційні, і натурні, дозволили виявити такі проблеми: низька швидкість роботи механізму планування; складність налаштування/підбору коефіцієнтів, що впливають на якість плану; найчастіше несподівана реакція на зміну коефіцієнтів та відсутність збіжності завдання щодо настроювання оптимального набору коефіцієнтів для якісного планування; низька повторюваність результатів планування, що призводить до суттєвого перекроювання розкладу при незначних (з погляду замовника) змін у вихідних даних або за внесенні поправок протягом робочого дня.

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

Таким чином, виходячи з практики розробки та впровадження промислових мультиагентних додатків, можна дійти невтішного висновку про доцільність використання гібридного підходу, заснованого на органічному поєднанні як еволюційних інтелектуальних алгоритмів пошуку рішень, і класичних мережевих алгоритмів оптимізації. Таке рішення поєднує переваги різних методів та технологій, мінімізувавши при цьому відомі негативні ефекти.

У транспортній логістиці найбільшу практичну користь принесли алгоритми мережіоптимізації, що реалізують варіанти методу гілок та кордонів. Дані алгоритми прості реалізації за допомогою мультиагентної архітектури, швидко адаптуються для конкретної оптимізаційної задачі і дозволяють забезпечити необхідну ефективність завантаження транспортних ресурсів.

Як приклад наведемо проект компанії з комплексної автоматизації процесів планування перевезень у регіональних підрозділах РОСІНКАС. Застосування системи управління маршрутами інкасації та перевезення готівки у пілотному регіоні дозволило відшкодувати витрати на розробку та впровадження проекту за 7 місяців.

Моделювання як вирішення складних завдань

Зазначені вище принципи не скасовують можливості ефективного застосування мультиагентних технологій на практиці. Дійсно, у завданнях підтримки прийняття рішень можливість опису нової предметної галузі як мережі взаємодіючих агентів дозволяє досить просто формалізувати базові стратегії взаємодії, а імітаційне моделювання основних процесів такої взаємодії – вивчити основні закономірності та визначити ситуації, які часто не може передбачити. У цьому сенсі мультиагентні світи показують високу корисність як засіб моделювання реальних процесів у економічних системах та організаціях.

Наприклад, сьогодні у менеджерів, які застосовують нові підходи в управлінні підприємством, колективом, процесом виробництва, однією з найпопулярніших методологій є теорія обмежень Голдратта [4, 5]. При цьому, керуючи по-новому, вони практично не використовують інформаційні системи для моделювання управлінських рішень, що приймаються, а покладаються тільки на свій досвід і чуття.

Теорія обмежень виходить із передумов, що сучасні системи, якимидоводиться керувати менеджеру, надто складні, а зовнішні зміни непередбачувані, через що неможливо покращити керовану систему за рахунок побудови ідеальної математичної моделі. Натомість поліпшення досягається ітераційно шляхом виявлення та усунення вузьких місць. В основі теорії обмежень лежить наступний принцип: продуктивність усієї системи лімітується кількома обмеженнями, усунення яких дозволяє збільшити продуктивність усієї системи.

Відкидаючи можливість побудови математичної моделі керованої системи, теорія обмежень використовує спосіб логічних міркувань як інструмент виявлення вузьких місць у системі: може дати відповідь, де керованої системи, імовірно, необхідно сфокусувати зміни, створені задля поліпшення, але може дати кількісну оцінку. Наприклад, у [5] для завдання керування готелем вказується, що на стадії планування невідомо, який запас міцності слід закласти, щоб служби готелю працювали на високому рівні. Якби кожному за підприємства існувала математична чи статистична формула розрахунку необхідної кількості резервних ресурсів, стати менеджером було набагато простіше.

Для прикладу: «Маджента Девелопмент» реалізовано пілотний проект, метою якого є використання мультиагентного модуля планування для реалізації імітаційної моделі та кількісна оцінка рішень, отриманих на основі моделі міркувань Голдратта. Суть завдання полягала в наступному: власник готелю втрачає гроші; клієнти готелю незадоволені рівнем обслуговування; власнику необхідно зробити управлінські кроки, щоб вивести підприємство із кризи. Як вхідні дані для вирішення завдання розглядаються скарги відвідувачів, які зводяться до наступного списку: 204 стосуються ресторану,166 – роботи ліфта, 127 – розміру кімнат, 125 – черги при реєстрації, 94 – обслуговування та прибирання номерів, 10 – непрацюючого обладнання.

З метою моделювання цієї проблеми побудовано світ агентів системи управління готелем на основі мультиагентної платформи, розробленої для транспортної логістики. Світ агентів включає: клієнтів, замовлення на обслуговування у ресторані та замовлення на реєстрацію у готелі; агентів ліфта, ресторану, рецепції з описом відповідних відносин «Рецепція – Ліфт», «Рецепція – Ресторан» та «Рецепція – Розклад».

По суті, ця картина багато в чому повторює світ агентів, створений для транспортної логістики. Типи агентів та його аналоги у сфері логістики перелічені у таблиці.