bedrijfsprocessen
Agentgebaseerde simulatie combineert voordelen proces- en agentbenadering
Natuurgetrouwe netwerkmodellering Voor simulatie van samenwerkende organisaties is modellering nodig van bedrijfsprocessen maar ook van autonoom gedrag. De auteurs beschrijven een case
informatie / november 2003
waarin vervoerders, groothandels, een assembleur,
12
Als organisaties de dynamiek van bedrijfsprocessen willen weergeven, doen ze dit vaak met discrete simulatie. Hiermee kan bijvoorbeeld worden getoond wat er gebeurt na ontvangst van een bericht, betaling van een order of invoering van gegevens. Wil men een complex informatiesysteem bouwen, dan kan dat met een multiagentsysteem (mas). Dit kan door relatief eenvoudige agenten te bouwen, waarvan het systeemgedrag wordt bepaald door de interacties tussen de autonome agenten. Agentgebaseerde simulatie is een relatief nieuw fenomeen, dat is ontstaan uit de behoefte om het gedrag van complexe systemen te modelleren door een systeem in kleine, autonome delen op te delen. De processen in de autonome delen worden gesimuleerd en het gedrag van het systeem wordt bepaald door de interacties tussen deze autonome delen. De autonome delen worden wel aangeduid met ‘gesimuleerde agenten’, ‘softwareagenten’, ‘intelligente agenten’ of gewoon door ‘agenten’. Agentgebaseerde simulatie kan de voordelen combineren van discrete, procesgeoriënteerde simulatie en multi-agentsystemen.
dealers en afnemers een dynamisch netwerk vormen. Marijn Janssen en Jaap Beerens Agenten Agentgebaseerde benaderingen beschrijven autonome delen – agenten, die met elkaar interacteren op basis van een model van de wereld om hen heen, en strategieën om daarmee om te gaan. Agenten hebben sensoren en actoren om met hun omgeving te interacteren, en een model van de wereld dat vaak bestaat uit kennisregels om waarnemingen in acties om te zetten. Agenten analyseren het gedrag in de tijd van een systeem dat de resultante is van de interacties tussen de autonome delen van het systeem. Met het systeem kan geëxperimenteerd worden door de regels van de autonome agenten te veranderen en het effect hiervan op het totale systeem te bestuderen. Het voordeel hiervan is dat een complex systeem gemodelleerd kan worden door relatief eenvoudige delen te bouwen en deze te integreren. Als de regels van de autonome delen geobserveerd en afgeleid kunnen worden, is het relatief makkelijk om het systeem te modelleren. Moeten de regels van het
gedrag van agenten echter worden achterhaald, omdat het gedrag van het systeem bekend is maar de regels waarop dit berust niet, dan is modelleren problematisch zo niet onmogelijk.
Multi-agentsystemen Agentgebaseerde simulatie en multiagentsystemen (mas) worden vaak over één kam geschoren. Dit is logisch: een agentgebaseerd simulatiemodel kan in een mas worden omgezet. Kijken we echter naar de doelstelling van agentgebaseerde simulatie en een mas, dan worden de verschillen duidelijk. Het doel van agentgebaseerde simulatie is de werkelijkheid vereenvoudigd weergeven, bedrijfsprocessen verbeteren en beslissingen daarover ondersteunen; een mas is een informatiesysteem om de uitvoering van bedrijfsprocessen te ondersteunen. Het één sluit het ander niet noodzakelijkerwijs uit, een agentgebaseerde simulatie kan in een mas worden omgezet en vice versa.
Samenvatting De auteurs onderzoeken de mogelijkheden van agentgebaseerde simulatie voor modellering van bedrijfsprocessen waarbij verschillende partijen in een netwerk samenwerken. Nadelen hiervan zijn afwezigheid van gestandaardiseerde software en grotere informatiebehoefte. Omdat de werkelijkheid natuurgetrouwer wordt weergegeven brengt deze werkwijze grote voordelen met zich mee.
Met discrete, procesgeoriënteerde simulatie worden tijdafhankelijke taken gemodelleerd waarbij input in output wordt omgezet. De toestand van een systeem verandert door een gebeurtenis op een discreet punt van een tijdas. Het doel van discrete simulatie is de essentie van een systeem te begrijpen, mogelijkheden voor verandering te identificeren en het effect van de veranderingen te evalueren aan de hand van prestatie-indicatoren zoals bezettingsgraad, doorlooptijd, kosten, foutpercentage (Law & Kelton, 1991). Essentieel in deze aanpak is de modellering van een complex systeem door complexe terugkoppelingen tussen bedrijfsprocessen (Richardson, 1991). Taken die een proces vormen worden beschreven als relaties. Oorzaak en gevolg zijn vaak niet in tijd of ruimte te onderscheiden en de oorzaak van een probleem kan ergens anders liggen dan waar de symptomen optreden. Discrete simulatie kan aantonen dat oorzaken van niet-optimaal functioneren van bedrijfsprocessen bij de inrichting of uitvoering van de processen bij andere organisaties liggen.
Bij discrete, procesgeoriënteerde simulatie loopt een entiteit (een klant of dossier) door een systeem, waarbij actieve servers zoals baliemedewerkers, machines, de entiteit tijdens een activiteit bewerken. De volgorde waarin een entiteit het systeem doorloopt kan variëren, echter de mogelijke variatie hiervan is vooraf vastgelegd en vergt veel modelleerinspanning. De server besluit wat er met de entiteit in bewerking gebeurt, de entiteit ondergaat de bewerking dus passief. De entiteit kan niet besluiten halverwege het proces te stoppen, in de simulatie kan een persoon bijvoorbeeld niet op een bepaald moment uit een wachtrij weglopen. Wel kan de wachtrij besluiten de persoon te verwijderen. Dit is de omgekeerde wereld, sluit niet aan bij de belevingswereld van mensen en kan alleen via trucjes worden gemodelleerd. Autonome entiteiten zijn in traditionele discrete simulatie niet van belang, het gaat om de bedrijfsprocessen en de prestatie van deze processen. Het model krijgt vorm door naar historische data te kijken en naar een entiteit die een structuur doorloopt die
de afhankelijkheden tussen activiteiten beschrijft. Het verschil tussen procesgeoriënteerde simulatie en mas is in figuur 1 vereenvoudigd weergegeven aan de hand van het doel van de technologie, wat gedaan wordt en hoe het studieobject geanalyseerd wordt. Ze worden hierin als extremen gepositioneerd, terwijl varianten mogelijk zijn die beide combineren zoals agentgebaseerd modelleren.
Netwerken Agentgebaseerde benaderingen kijken naar regels van autonome entiteiten, terwijl discrete simulatie kijkt naar processen die de structuur van een systeem vormgeven. Beide benaderingen gaan uit van universele principes voor het gedrag van een systeem en richten zich op het verklaren hiervan. De uitgangspunten hierbij verschillen echter. Onderzoek en literatuur leveren voor beide benaderingen een rijk beeld op aan theorie en toepassingen. John D. Sterman (2002) en anderen stellen dat in principe alle modellen fout zijn. Zij
Vergelijking discrete simulatie en multi-agentfilosofieën
1
informatie / november 2003
Procesgeoriënteerd
13
bedrijfsprocessen vinden dat modellen vereenvoudigde afspiegelingen van de werkelijkheid zijn en dat een model een bepaalde visie op de werkelijkheid impliceert, die is gebaseerd op aannamen. Het hanteren van een visie leidt tot vervorming of zelfs vervaging van de werkelijkheid. De kunst is dus bij de analyse van een probleem de juiste visie te hanteren. Vaak is het nodig om verschillende visies te hanteren om een probleem vanuit verschillende perspectieven te beschouwen: politiek, economisch, sociaal of technisch. Aangezien beslissingen altijd op expliciete of impliciete modellen van de werkelijkheid zijn gebaseerd, moeten de visies zorgvuldig worden gekozen en moet je rekening houden met de beperkingen van een visie.
Stel dat we een voetbalwedstrijd willen analyseren. Bij een procesbenadering kijken we hoe input transformeert tot output, of een individuele speler de bal met zijn voet aanneemt of meteen doorkopt, hoe hij met de bal dribbelt en deze weer afgeeft aan een medespeler of een schot op goal lost. Bij een agentbenadering worden de relaties tussen de spelers bekeken, de bewegingen van de spelers op het veld en het samenspel tussen de spelers. De benaderingen zijn complementair en beide nodig om het probleem te analyseren. Discrete simulatiesoftware is gericht op modellering van de dynamiek van processen in de tijd en niet van gedrag van actoren. Agentgebaseerde software is gericht op modellering van interacties tussen autonome entiteiten. Een combinatie van deze benaderingen leidt tot agentgebaseerde simulatie zoals schematisch in figuur 2 weergegeven (Janssen, 2001). Organisaties in een netwerk worden gemodelleerd met gesimuleerde, autonome agenten die met elkaar interacteren. Als een organisatie een bericht ontvangt, wordt een proces binnen een gesimuleerde agent gestart dat met discrete simulatie wordt
gemodelleerd. De gesimuleerde agent verwerkt het bericht. Een gesimuleerde agent kan verschillende discrete processen bevatten, bijvoorbeeld proactief offertes aanvragen, monitoren of een reactie op een offerte aanvraag al is ontvangen en anders een herhalingsverzoek versturen, en een offerte evalueren en een tegenbod doen. Voor elk product kunnen deze drie processen van toepassing zijn. Een additioneel proces is nodig om te bepalen welk proces prioriteit voor afhandeling krijgt. Niet alleen netwerken van organisaties kunnen op deze wijze gemodelleerd worden, ook afdelingen, individuen of zelfs producten kunnen als autonome agent worden gemodelleerd. Op deze manier kan een product als autonome agent worden gemodelleerd die door een netwerk loopt. Al naar gelang de tijd verstrijkt, wordt het product minder vers en zal de volgende partij minder geneigd zijn om het product te kopen. Op deze manier wordt het belang van een snelle doorstroming van het product door het organisatienetwerk duidelijk gemaakt.
informatie / november 2003
Relatie tussen discrete simulatie en agentbenadering
14
2
3
Schematische weergave van het organisatienetwerk
Simulatiemodellen worden vaak gebouwd met simulatiepakketten die een bibliotheek van voorgedefinieerde bouwstenen bevatten. Op dit moment is er geen standaard pakket beschikbaar. Dit betekent dat naar programmeerniveau moet worden afgedaald om een agentgebaseerde simulatie te bouwen. Objectgeoriënteerde talen zoals Java bieden hiervoor goede mogelijkheden (Jennings, 2000). Binnen Java zijn er simulatietalen beschikbaar die een objectenbibliotheek aanbieden om het programmeren van simulatie- en animatiemodellen te vereenvoudigen. Met behulp van Java bouwen we een autonome, gesimuleerde agent. Deze agent bestaat uit een aantal objectklassen die onderverdeeld kunnen worden in controle-, gedrag- en animatieobjecten. Het controleobject zorgt dat een agent autonoom is, regelt de interactie met de andere agenten en initieert zo nodig gesimuleerde bedrijfsprocessen. Het gedragobject bevat de programmeercode voor de discrete simulatie van bedrijfsprocessen binnen een autonome organisatie of afdeling, en het animatieobject bevat de code voor visualisering van bedrijfsprocessen op een statische achtergrond en de prestatie-indicatoren die hierbij horen.
Organisatienetwerk Om de toepasbaarheid van de agentgebaseerde simulatieaanpak te evalueren en te simuleren analyseren we een organisatienetwerk. Het netwerk bestaat uit een aantal vervoerders,
groothandels, een assembleur, dealers en afnemers van de producten. Een gesimuleerde agent geeft de processen van een organisatie weer en de agenten interacteren met elkaar door offertes te versturen, te onderhandelen, orders te plaatsen, producten te leveren en te betalen. Het organisatienetwerk is schematisch in figuur 3 weergegeven, waarbij de dikke pijlen de productstromen en de dunne pijlen de informatiestromen weergeven (Janssen et al, 2000). De evaluatie van de agentgebaseerde en discrete procesbenadering laat zien dat de gecombineerde aanpak grote voordelen heeft. Vanuit een procesoptiek ligt de nadruk op handelingen die meerdere keren of sequentieel in het netwerk door verschillende organisaties worden uitgevoerd, zoals het invoeren, controleren en doorsturen van orderinformatie. Gelijksoortige handelingen zoals het telkens weer invoeren van gegevens moeten vermeden worden. Enkele handelingen die eerst na elkaar gebeuren, kunnen nu parallel worden uitgevoerd, waardoor de doorlooptijd korter wordt. Als oplossing kan de assembleur de dealers een systeem aanbieden. In dit systeem kunnen dealers de orderinformatie invoeren, waarna het systeem de informatie verspreidt naar de assembleur en groothandel. Informatie wordt nog maar één keer ingevoerd, wat tot grote efficiëntievoordelen kan leiden omdat het om honderden handelingen per week gaat. De doorlooptijd wordt verkort omdat de groothandel niet hoeft te wachten tot de dealer de
informatie heeft verwerkt en doorgestuurd naar de assembleur, die de informatie eerst verwerkt en dan pas doorstuurt naar de onderdelenproducenten. Door de interacties tussen onafhankelijke partijen te modelleren, begrijpen de betrokkenen dat een bedrijfsproces beter op de rest van het organisatienetwerk kan worden afgestemd door de informatie-uitwisseling te verbeteren. Door de afnemers informatie over de gewenste levertijd te vragen kunnen assembleur en vervoerders beter plannen en hogere bezettingsgraden realiseren. Afnemers hebben de bestelde producten vaak niet onmiddellijk nodig of weten van tevoren wanneer ze het nodig hebben. Door slim met andere orders te combineren kunnen de assembleur en vervoerders deze extra informatie gebruiken voor een betere planning. In het geanalyseerde organisatienetwerk wordt deze winst ook doorvertaald naar een voordeel voor afnemers, omdat zij korting krijgen voor het plaatsen van bestellingen met relatief langere levertijden.
Natuurlijk De voordelen van agentgebaseerde simulatie vloeien voort uit de meer natuurlijke wijze van modelleren. Het modelleren van autonome entiteiten voor autonome actoren staat dicht bij de belevingswereld van de besluitvormers. Hierdoor hebben ze minder tijd nodig om een model te begrijpen en kijken zij zowel naar bedrijfsprocessen als naar de interacties binnen het dynamische organisatienetwerk. Een
informatie / november 2003
Programmeerniveau
15
De nadelen van de aanpak lijken vooral in de tijdbesteding te zitten. Ten eerste is er geen gestandaardiseerde software beschikbaar met een bibliotheek om deze modellen snel te bouwen. Dit betekent dat voor een nieuwe situatie een model van de grond af aan moet worden opgebouwd. Is er eenmaal een model gebouwd, dan kunnen delen worden hergebruikt. Ten tweede dient meer informatie te worden verzameld, omdat er meer informatie nodig is om twee complementaire percepties op de werkelijkheid te modelleren. Of deze nadelen opwegen tegen de voordelen hangt af van de bestudeerde situatie. Reviewer Frits van Merode
Marijn Janssen is universitair docent bij de sectie Informatie- en Communicatietechnologie van de Faculteit Techniek, Bestuur en Management van de Technische Universiteit Delft. E-mail:
[email protected]
Literatuur
Janssen, M. (2001). Designing Electronic Intermediaries. Dissertatie Technische Universiteit Delft. Janssen, M., A. Verbraeck & H.G. Sol (2000). Agent-based Simulation for Evaluating Intermediation Roles in Electronic Commerce. First workshop on agent-based simulation, Passau, Germany, May 2-3. Jennings, N.R. (2000). An agent-based approach for building complex software systems. Communications of the ACM, Vol. 44, No. 4, pp. 35-41. Law, A.M., & D.W. Kelton (1991). Simulation Modeling and Analysis. McGrawHill: New York. Richardson, G.P. (1992). Feedback thought in social science and system theory. University of Pensylvania Press: Philadelphia. Sterman, J.D. (2002). All models are wrong: reflections on becoming a systems scientist. System Dynamic Review, Vol. 18, pp. 501-531.
Jaap Beerens is partner bij D3K Simulations and Consultancy. Site: www.d3k.nl. E-mail:
[email protected]
informatie / november 2003
situatie waarbij besluitvorming over vele autonome actoren gedistribueerd is, benadert de realiteit beter. Op deze manier kunnen bedrijfsprocessen binnen een organisatie beter worden afgestemd op de processen van andere organisaties. Een agentgebaseerde benadering maakt het mogelijk om variërende structuren te verkrijgen. Een nieuwe dealer kan tijdens de simulatie makkelijk aan het organisatienetwerk worden toegevoegd, omdat de interacties met de andere partijen al zijn gemodelleerd. Dit maakt het mogelijk de levenscyclus van een organisatienetwerk te beschrijven: organisaties worden deel van en verdwijnen uit het netwerk. Een bijkomend voordeel is dat een model gemakkelijker veranderd kan worden als het eenmaal is gemaakt. Een proces binnen een autonome agent kan worden gewijzigd zonder dat een proces van een andere agent veranderd hoeft te worden, mits de interacties tussen de agenten niet veranderen.
17