Aktuální vydání

celé číslo

08

2024

Automatizace v potravinářství a farmacii

Měření a regulace průtoku, čerpadla

celé číslo

Multiagentní řízení, simulace a plánování výroby

číslo 5/2004

Multiagentní řízení, simulace a plánování výroby

Metody používané v současnosti pro plánování a simulaci výroby ukazují nový směr projektově orientovaného plánování, které je založeno na multiagentním řízení a distribuovaném zpracování dat. Multiagentní systémy nabízejí mnoho nových možností, jak přizpůsobit průmyslovou výrobu rostoucím nárokům zákazníků při současné optimalizaci všech zdrojů a vhodném řešení dodavatelsko-odběratelských řetězců. Představené multiagentní řešení plánovacího systému je výsledkem úzké spolupráce mezi oddělením aplikovaného výzkumu firmy CertiCon, a. s., a výzkumnými pracovníky Gerstnerovy laboratoře pro inteligentní rozhodování a řízení ČVUT Praha.

1. Co je to agent

Pojem agent patří mezi ty často používané technické termíny, u kterých je na jedné straně význam intuitivně „naprosto jasný„, ale na druhé straně neexistuje jednotná, všeobecně uznávaná definice.

Obecně lze říci, že agent je autonomní programový systém, který je schopen samostatně rozhodovat o akcích, jež uskutečňuje pro dosažení daného cíle. Pojem agent se nejčastěji používá ve dvou spojeních, která zároveň definují dvě hlavní oblasti výzkumu: komunita inteligentních agentů a mobilní agent. Inteligentní agenty jsou schopny „uvažovat„ o řešení konkrétní úlohy a plánovat spolupráci, protože zpravidla žádný z nich nemá dostatek zdrojů k samostatnému řešení. Mobilní agenty mohou být po síti přeneseny na jiný počítač, který je výhodnější pro řešení jejich úlohy, a tam pokračovat v práci [1]. Další text bude věnován jen komunitám inteligentních agentů; budou zde nazývány multiagentní systémy.

2. Spolupráce agentů a řízení multiagentní komunity

Základní vlastností multiagentních systémů je úplná separace dat a programového kódu, jejich specializace v jednom oboru a schopnost komunikace s ostatními agenty. Účinná spolupráce agentů umožňuje shromáždit dostatek schopností k vyřešení úlohy, omezit množství přenášených dat, maximálně data předzpracovat v místě vzniku, paralelně je zpracovávat, optimálně rozložit výpočetní zátěž a zálohovat kapacitu pro případ výpadku.

Tyto požadavky nutí agenty neustále sledovat okolí a reagovat na aktuální situaci. Multiagentní systémy využívají několik technik koordinace. Ty se liší tím, jak velká skupina agentů vzájemně komunikuje a jakým postupem vzniká řešení – zda zdola nahoru, nebo shora dolů. Dále jsou popsány nejčastěji používané techniky koordinace:

Vyjednávání. Základním rysem vyjednávání je komunikace dvojice agentů s částečně protichůdnými zájmy. Výsledkem komunikace je konflikt nebo dohoda. V ní se jeden agent zavazuje druhému vykonat nějakou činnost. Vyjednává se buď mezi rovnoprávnými agenty, nebo častěji v hierarchické struktuře na bázi modelu manažer-kontraktor.

Funkčně přesná kooperace. Agenty pracující na principu funkčně přesné kooperace mají přidělenu svoji zájmovou oblast. Zadaný problém se snaží řešit samostatně na základě dostupných dat a sdílených dílčích závěrů, přičemž řešení budují nezávisle zdola nahoru.

Organizační strukturování. Tato metoda předpokládá existenci apriorní struktury spolupráce agentů. Strukturu lze vyjádřit jako graf, jehož uzly definují typy agentů a hrany definují typy vyměňovaných zpráv. Organizační strukturování se snaží nalézt kompromis mezi přístupem shora dolů, používaným při vyjednávání, a přístupem zdola nahoru, který používá metoda funkčně přesné kooperace.

Plánování pro mnoho agentů. Plánování pro mnoho agentů představuje výrazně lepší způsob řízení než předešlé tři přístupy. Jeho hlavním cílem totiž je detekovat nekonzistence, duplicitní úsilí a konflikty při využívání zdrojů dříve, než skutečně nastanou, a odstranit je změnou plánu. Toto zlepšení je „vykoupeno„ zvýšením složitosti agentu a často i zvýšenou potřebou komunikace.

Hlavními výhodami multiagentních systémů jsou jejich flexibilita, snadná rekonfigurovatelnost, škálovatelnost a otevřenost k integraci nových částí. Agenty je možné snadno přidávat do systému nebo je z něj odebírat. Není problém nahradit jeden agent zcela jinou implementací se stejným vnějším chováním. Existující software nebo hardware může být tzv. agentifikován – vybaven rozhraním, které na jedné straně ovládá původní systém a na druhé straně se chová jako agent.

Jako každé propracované řešení mají i multiagentní systémy své nevýhody. Nejčastěji uváděnou nevýhodou je značná komplikovanost návrhu, která však může být částečně kompenzována standardizací a opětovným používáním vyvinutých řešení. Nejpoužívanějším současným standardem je norma FIPA pro implementaci nezávislých softwarových agentů. Pro tuto normu existuje několik implementačních balíků, které obsahují kostru agentu, algoritmy pro komunikaci, definované komunikační protokoly a ladicí nástroje. Správné použití implementačního balíku zaručuje kompatibilitu výsledného systému s normou FIPA. Zřejmě nejkvalitnějším implementačním balíkem pro normu FIPA je JADE, vyvinutý firmou Telecom Italia.

Druhou nevýhodou agentních řešení je výpočetní náročnost jednotlivého agentu i celého systému. Vyjednávání a plánování jsou náročné operace, které mohou zabrat nezanedbatelnou část doby potřebné k řešení.

3. Multiagentní systémy ve výrobě

Při řízení a plánování výroby v současnosti převládají centralizované informační systémy, postavené okolo databázového serveru a doplněné pevně strukturovanými systémy řízení výroby. Toto uspořádání má své nevýhody – vedle rizika komplexního výpadku způsobeného centralizovanou architekturou je to i malá pružnost reakce na změny výrobního postupu, změny v konfiguraci výrobních linek a dlouhodobé výpadky strojů. Takovéto změny často vyžadují rozsáhlé rekonfigurace databázového systému a přeprogramování systému řízení výroby. Čím rychleji se výroba přizpůsobuje vnějšímu prostředí, tím častěji k takovýmto změnám dochází a tím jsou tyto změny ekonomicky náročnější. Rostoucí obliba univerzálních, vzájemně zastupitelných, ale i drahých a k poruchám náchylnějších výrobních strojů dále zvýrazňuje nízkou efektivitu standardní architektury řídicích systémů.

Na rozdíl od centralizovaných systémů představuje agentové a holonické (viz dále) řízení dynamickou, snadno rozšiřitelnou alternativu. Systém je schopen velmi účelně reagovat na změny, jež jsou způsobeny příchodem prioritní zakázky nebo výpadkem výrobní jednotky, přičemž jeho odezva je úměrná závažnosti příčiny. Vzniklý problém se pokusí vyřešit jeden konkrétní agent, a když neuspěje, požádá o spolupráci okolní agenty. Struktura výrobních linek a výrobní postup nejsou pevně zadány ve struktuře řídicího systému, ale vznikají dynamicky při vzniku nové zakázky. Jsou automaticky upravovány při každé změně. Vzhledem k tomu, že řídicí a plánovací proces je distribuován na větší množství výpočetních jednotek, minimalizuje se riziko nestability způsobené výpadkem jednoho agentu.

Obr. 1.

Obr. 1. Příklad struktury multiagentního systému pro řízení, simulaci a plánování výroby. Bílé čtverce představují jednotlivé agenty a holonické agenty; barevné oblasti představují skupiny agentů stejného určení. Zobrazená organizace nesouvisí s reálnou organizací softwaru a hardwaru.

Příkladem uspořádání multiagentního systému pro řízení, simulaci a plánování výroby může být struktura uvedená na obr. 1. Jednotlivé barevně odlišené oblasti představují skupiny agentů stejného určení a stejného vnějšího chování. Zobrazená organizace nemusí mít nic společného s reálnou organizací softwaru a hardwaru – agenty mohou spolupracovat podle uvedeného schématu na různých počítačích a na různých hardwarových platformách (PC s MS Windows nebo UNIX, PLC atd.).

Uvedené schéma obsahuje celkem šest druhů agentů:

  • IS/ERP – tato oblast představuje tzv. agentifikované existující softwarové vybavení firmy, např. informační systém, systém ERP (Enterprise Resource Planning), klienty s uživatelským rozhraním (UI – User Interface) atd.

  • Výroba – představuje reálnou výrobu řízenou buď centralizovaným řídicím systémem, který může být jednoduše agentifikován jako celek, nebo decentralizovaným holonickým řídicím systémem.

  • Plánování – představuje agenty zodpovědné za plánování výroby a za přizpůsobení plánů reálnému stavu výroby nebo její simulace.

  • Řízení – je mezivrstva mezi plánováním a simulací a reálnou výrobou. Hlavním úkolem řídicích agentů je převod mezi obecně formulovanými plány a konkrétními příkazy.

  • Simulace – představuje agenty zodpovědné za simulaci výroby. Pro systémy bez přímého napojení na reálnou výrobu reprezentují simulační agenty nepostradatelnou zpětnou vazbu pro agenty na vyšších úrovních.

  • OS (ovládání simulace) – jde o agenty odpovědné za řízení simulace. Jeden z nich např. poskytuje časovou synchronizaci simulačních (TS – Time synchronization) agentů, jiný obsahuje uživatelské rozhraní pro vizualizaci výsledků.

Na tomto místě je vhodné připomenout, že jeden agent může reprezentovat libovolně velkou část reálného světa. Zatímco pro některé úlohy je vhodné agentifikovat jednotlivé výrobní stroje nebo jejich části, pro jinou úlohu stačí pracovat s celými výrobními linkami, halami nebo závody. Míra tzv. granularity navíc nemusí být v celém systému stejná. Jestliže např. v podniku existuje osvědčený simulační model celé výroby, je možné jej agentifikovat jako celek, zatímco plánovací a řídicí část se mohou skládat z komunity mnoha agentů. Platí, že čím více je v systému agentů, tím je systém flexibilnější, ale i náročnější na hardware a komunikaci.

Obr. 2.

4. Multiagentní a holonické řízení výroby

Multiagentní řízení výroby je specifickou oblastí, která umožňuje plně využít silné stránky multiagentních systémů. Při řízení výroby se rovněž hovoří o tzv. holonech a holonických agentech [2]. To jsou části výrobního zařízení vybavené reaktivním řídicím prvkem a softwarovým agentem. Holonický agent je tak schopen činnosti plánovat, koordinovat a aktivně provádět. Takto vzniklé řídicí systémy se nazývají holonické a vyznačují se velikou flexibilitou a odolností proti poruchám.

Z hlediska softwaru existuje několik architektur organizace a spolupráce agentů při řízení výroby. Za všechny uveďme architekturu PROSA [3], která používá tři až čtyři druhy agentů (nebo holonů) podle složitosti úlohy. Agenty se nazývají agent výrobku, agent výrobního zdroje, agent objednávky a nepovinný agent obsluhy. Základním úkolem architektury PROSA je dekomponovat systém a definovat role jednotlivých agentů. PROSA nedefinuje konkrétní algoritmy řízení ani formát pro výměnu informací. Základem pro pochopení architektury je popis jednotlivých druhů agentů a jejich vzájemné komunikace, zobrazené na obr. 2:

  • Agent výrobku (Product Agent) – reprezentuje konkrétní produkt a spravuje znalosti o výrobním postupu (obvyklá posloupnost úkonů, postup nápravy chyb, možná zastupitelnost zdrojů atd.).

  • Agent výrobního zdroje (Resource Agent) – reprezentuje konkrétní zdroj ve výrobě (stroj, linku, oddělení, sklad apod). Úkolem agentu je předávat povely a informace mezi multiagentním systémem a výrobou. Předávané informace obsahují statickou část (specifikaci a parametry řízené části) a dynamickou část (aktuální stav).

  • Agent objednávky (Order Agent) – představuje konkrétní zakázku, k realizaci. Agent řídí výrobu z logistického hlediska, přičemž spolupracuje s agentem výrobku, který má znalosti o výrobním postupu.

  • Agent obsluhy (Stuff Agent) – představuje nepovinnou část systému reprezentující vlastníka jakékoliv další informace, použitelné při řízení výroby.

5. Multiagentní simulace výroby

Úloha multiagentní simulace výroby je na softwarové úrovni doplněním úlohy řízení. Simulace se nemusí potýkat s problémy práce v reálném čase, ale musí řešit problémy synchronizace simulačního času, který navíc neplyne vždy rovnoměrně.

Obr. 3.

Na úrovni tohoto textu nemá význam rozebírat algoritmy používané v rámci jednoho agentu k simulaci chování jedné výrobní jednotky. Jde o běžné simulační nástroje, které jsou agentifikovány tak, aby mohly spolupracovat s obdobnými nástroji simulujícími související jednotky v rámci jiných agentů. Stručně zde pouze popíšeme prostředky používané k synchronizaci agentů.

Na agentní úrovni může být struktura simulačního systému rozšířením architektury PROSA. Agenty výrobních zdrojů mají místo prostředků pro řízení výrobních jednotek prostředky pro jejich simulaci. Systém musí dále řešit tyto hlavní úkoly:

Synchronizace. Každý agent musí vždy znát aktuální simulační čas. Protože synchronizace je relativně náročná na komunikaci mezi agenty, není celý systém synchronizován při každé události, ale jednotlivé agenty se mezi občasnými synchronizacemi spoléhají na svůj systémový čas. Systém obsahuje synchronizační agent (TSA – Time Synchronization Agent), který má uživatelské rozhraní (viz např. obr. 3), a podle pokynů uživatele rozesílá příkazy ke spuštění, pozastavení nebo změně rychlosti simulace.

Zajištění kauzality. Zatímco při řízení výroby je logická posloupnost operací přirozeně zajištěna interakcí s reálným světem, při simulaci musí být tato podmínka upravena programově. Jsou-li dvě operace na dvou různých agentech na sobě kauzálně závislé, musí simulace tuto závislost respektovat. Veškeré důležité události generované simulačními prostředky uvnitř agentu proto musí být formou zpráv předány okolním agentům. Neméně důležitým úkolem je správné nastavení počátečního stavu jednotlivých agentů před začátkem nebo po restartu simulace.

Obr. 4.

6. Multiagentní plánování výroby

Multiagentní plánování výroby se na první pohled jeví jako jednodušší úloha, protože se na rozdíl od řízení a simulace nemusí zabývat problémy reálného času ani přímé interakce s výrobními jednotkami. Naproti tomu je úloha plánování výpočetně náročnější a vyžaduje zpracování většího množství dat. Mají-li jednou vytvořené plány zůstat aktuální, je nutné je aktualizovat podle dat sebraných z výroby. V neposlední řadě je každé plánování zatíženo chybou, způsobenou nepřesností vstupních dat. Zatímco vstupem řízení je již podrobně zpracovaný výrobní a technologický postup, vstupem plánování jsou zpravidla jen hrubé odhady náročnosti jednotlivých operací. Dalším vstupem plánování je ekonomické prostředí vně podniku, které je a vždy bude velmi dynamické a těžko předvídatelné.

Pro plánování výroby se osvědčily architektury multiagentních systémů, vhodné pro integraci s ostatními informačními systémy v podniku. Příkladem může být architektura ProPlanT [4], vyvinutá na ČVUT Praha. Zatímco holonická architektura PROSA počítá s existencí dynamicky vytvářených a mobilních agentů-holonů, které reprezentují zakázku, architektura pro multiagentní plánování ProPlanT vychází z pevně dané architektury systému, která odráží řídicí a rozhodovací strukturu výrobního podniku. Architektura ProPlanT vychází ze tří tříd agentů (obr. 4). Plánovací agenty (PPA – Project Planning Agent) odpovídají za konfiguraci zakázky a za její zařazení do výrobního plánu podniku. Řídicí agenty (PMA – Project Managing Agent) dekomponují zakázku na podúlohy, jež posléze koordinují. Výrobní agenty (PA – Production Agent) integrují nebo modelují zdroje podílející se na výrobě (např. dílny, stroje, sklady, ale také existující systémy řízení výroby). Architektura zahrnuje speciální agent typu meta-agent. To není běžný člen komunity; nezávisle pozoruje činnost agentů pro zvýšení efektivity operací.

Obr. 5.

7. Platforma ExtraPlanT

Příkladem multiagentního systému je platforma ExtraPlanT. Jde o prostředek pro rychlou tvorbu multiagentních systémů pro plánování a simulaci výroby a pro podporu rozhodování (obr. 5). Systém je určen pro malé a střední podniky především s kusovou a malosériovou výrobou. Platforma byla vyvinuta ve spolupráci Gerstnerovy laboratoře ČVUT a firem Modelárna LIAZ, s. r. o., a CertiCon, a. s. [5].

Z uživatelského hlediska je platforma zaměřena na podporu rozhodování při odhadu náročnosti zakázky na čas a zdroje, při tvorbě plánů výroby, optimalizaci skladového hospodářství a managementu dodavatelsko-odběratelského řetězce. ExtraPlanT řeší i mnoho dalších otázek – integraci existujících nástrojů, sběr, ukládání a zálohování dat, propojení s dodavateli a odběrateli a přehlednou a názornou vizualizaci dat. Velký důraz je kladen na dostupnost dat kdekoliv v podniku i mimo něj při zachování bezpečnosti a ochrany citlivých údajů. Systém přímo neřeší řízení výroby, protože v cílové skupině zákazníků – podniků s nemalým podílem ruční výroby – multiagentní řízení není očekávaným ekonomickým přínosem.

Z implementačního hlediska se platforma skládá z těchto základních komponent:

Integrační rámec. Systém ExtraPlanT je realizován jako komunita autonomních softwarových agentů. Je implementován s využitím nástroje JADE. Systém je tvořen základními agenty, které reprezentují zdroje a implementují plánovací algoritmus, a doplňkovými agenty, které implementují simulaci výroby, uživatelská rozhraní, propojení s dodavateli atd.

Plánovací jádro. Multiagentní řízení není zázračným prostředkem k řešení úplné úlohy plánování, která má exponenciální složitost. Poskytuje ale integrační rámec pro volbu vhodného plánovacího prostředku. Může jít o multiagentní plánování založené na dekompozici, jako je systém ProPlanT, které je vhodné pro úlohy s omezeným stavovým prostorem, nebo o centralizovaný plánovací nástroj založený na lineárním programování nebo genetických algoritmech, který je vhodný pro úlohy s prudce rostoucím množstvím variant.

Výrobní agenty reprezentující zdroje. Může jít o jednoduché agenty, které představují vnitřní zdroje podniku napojené na vnitřní informační systém, nebo o propracovanější agenty zastupující materiálové zásobování nebo spolupracující podnik.

Obr. 6.

Obr. 6. Levý panel obsahuje seznam zakázek, pravý panel zobrazuje jejich realizaci. Červená část realizace představuje práci po termínu dodání; žlutý pruh představuje již odvedenou práci.

Agenty s uživatelským rozhraním (Cockpit Agent) jsou prostředkem pro uživatelský přístup do systému. Kdekoliv v podnikové síti může pracovat neomezené množství agentů, které vizualizují výsledky a předávají povely do systému. Standardní uživatelské rozhraní je na obr. 6.

Extra-enterprise agent. Zatímco agenty s uživatelským rozhraním jsou určeny pro použití uvnitř podniku, extra-enterprise agent umožňuje přístup zvenčí jako tenký klient. Uživateli stačí webový nebo wapový prohlížeč a přístup na aplikační server systému ExtraPlanT.

Enterprise-to-enterprise agent. Tak jako extra-enterprise agent zpřístupňuje systém pro lidské uživatele mimo podnik, enterprise-to-enterprise agent zpřístupňuje systém pro externí programové systémy. Těmito programy mohou být např. vzdálené agenty s uživatelským rozhraním (Remote Cockpit Agent), enterprise-to-enterprise agenty ve spolupracujících podnicích nebo agenty u dodavatelů materiálu. Enterprise-to-enterprise agent může aktivně kontaktovat tyto agenty a hledat optimální dodavatele materiálu, poptávat části výroby nebo nabízet volné kapacity podniku.

Simulační jádro implementuje simulační schopnosti systému. Ty umožňují testovat reálnost a rizika existujících plánů nebo odhadovat dopad změn výrobního procesu na produktivitu práce a kvalitu. Simulační jádro se skládá ze synchronizačního agentu a komunity simulačních agentů, z nichž každý odpovídá jedné výrobní jednotce.

Meta-agent je nástroj pro statistické vyhodnocení a analýzu výsledného plánu nebo simulace. Meta-agent měří plnění závazků, rovnoměrnost vytížení jednotlivých zdrojů a další faktory nutné pro podporu rozhodování.

8. Závěr

Na rozdíl od „klasických„ systémů pro řízení a plánování výroby poskytují systémy založené na multiagentním řízení vlastnosti jako flexibilita, rekonfigurovatelnost, otevřenost a robustnost, které jsou nyní stále žádanější. Jejich výhodou je, že se nesnaží existující metody nebo prostředky nahradit, ale integrují je a doplňují. Další důležitou vlastností je použitelnost multiagentních systémů na všech možných úrovních. Jeden agent může reprezentovat libovolně velkou část reálného světa od samostatného pohonu v ryze holonickém řídicím systému po celý výrobní podnik v systému spolupráce virtuálních organizací.

Naproti tomu není možné považovat multiagentní řízení za všelék, který automaticky zajistí úspěch libovolného systému. Jakákoliv metoda nebo architektura může fungovat pouze tehdy, jsou-li její jednotlivé komponenty (zde agenty) správně navrženy a implementovány. Stejně tak o každé vlastnosti agentních řešení uvedené v tomto textu lze říct, že platí jen tehdy, je-li podporována implementací jednotlivých agentů. Z celkového pohledu ale není pochyb o tom, že multiagentní systémy a multiagentní řízení patří k perspektivním metodám, na jejichž rozvoji a uplatnění se usilovně pracuje.

Literatura:

[1] JENNINGS, R. – WOOLDRIDGE, J.: Agent Technology – Foundations, Applications and Markets. Springer Verlag, 1997.

[2] CHIRN, J. L. – McFARLENE, D. C.: Building Holonic Systems in Today’s Factories: A migration Strategy. Journal of Applied Studies, vol. 2, no. 1, Cambridge International Science Publishing, 2001.

[3] VAN BRUSSEL, H. a kol: PROSA: A Reference Architecture for Holonic Manufacturing Systems. Computers in Industry, 1998, vol. 37.

[4] MAŘÍK, V. – ŠTĚPÁNKOVÁ, O. – LAŽANSKÝ, J.: Umělá inteligence (4). Academia, Praha, 2003.

[5] BEČVÁŘ, P. a kol.: Explantech/Extraplant: Production planning and supply-chain management multi-agent solution. EXP in search of innovation, Special Issue on JADE, 2003, vol. 3, no. 3.

Ing. Petr Bečvář, Ph.D.,
Ing. Jan Kout, Ph.D.,
CertiCon, a. s;
Dr. Ing. Michal Pěchouček, MSc.,
Gerstnerova laboratoř, FEL ČVUT

Ing. Petr Bečvář, Ph.D. (1975), absolvent inženýrského a doktorandského studia na Západočeské univerzitě v Plzni v oboru umělá inteligence se zaměřením na technickou diagnostiku. Praxe v oboru multiagentních systémů. Profesní zájmy: umělá inteligence, technická diagnostika, inteligentní uživatelská rozhraní, multiagentní systémy, plánování výroby. V současné době pracuje ve firmě CertiCon, a. s., a v Centru aplikované kybernetiky na ZČU Plzeň.

Ing. Jan Kout, Ph.D. (1972), absolvent doktorandského studia se zaměřením na umělou inteligenci a biokybernetiku na katedře kybernetiky FEL ČVUT. V současné době vedoucí oddělení aplikovaného výzkumu firmy CertiCon, a. s., a vedoucí projektů pro společnosti Vitatron Medical B.V., Grundfos A/S a další s hlavním zaměřením na aplikaci metod umělé inteligence v praxi.

Dr. Ing. Michal Pěchouček, MSc. (1972), vedoucí skupiny agentních metod a odpovědný řešitel mnoha výzkumných projektů pro společnosti jako Gedas/Volkswagen, US Air Force, Office of Naval Research, NASA. V roce 1996 absolvoval MSc. na univerzitě v Edinburghu, v roce 2000 působil na univerzitě v Calgary a v roce 2003 na State University v New Yorku. V současné době pracuje v Gerstnerově laboratoři katedry kybernetiky FEL ČVUT.

Inzerce zpět