Anylogic, formellt AnyLogic, är en modellerings- och utvecklingsmiljö för simulering, som är ett verktyg som tillåter användande av flera modelleringsmetoder (multimetod) och är utvecklat av The AnyLogic Company.

AnyLogic
UtvecklareThe AnyLogic Company
Senaste utgåvaAnyLogic 7 [1]
OperativsystemFlera plattformar
TypUtvecklingsmiljö/mjukvara för simulering
LicensPatentskyddad
Webbplatswww.anylogic.com

Historia redigera

I början av 90-talet fanns ett stort intresse kring det matematiska tillvägagångssättet vid modellering och simulering av parallella processer. Detta tillvägagångssätt kan tillämpas vid analysen av grad av korrekthet för parallella och distribuerade program. Forskningsgruppen ’Distributed Computer Network’ vid St. Petersburgs Tekniska Universitet utvecklade ett sådant mjukvarusystem för sådana analyser och det nya verktyget kallades COVERS (”Concurrent Verification and Simulation”). Detta system tillät grafisk modelleringsnotation vad gäller systemstruktur och beteende. Verktyget tillämpades vid den forskning som stöddes av Hewlett Packard.

Under 1998 inspirerade framgången för denna forskning DCN att starta ett bolag, med missionen att utveckla framtidens simuleringsmjukvara. Tyngdpunkten i utvecklingsarbetet lades vid de tillämpade metoderna: simulering, prestandaanalys, beteende hos stokastiska system, optimering och visualisering. Den nya mjukvara som släpptes under år 2000 baserades på de senaste framstegen inom IT: ett objektorienterat angreppssätt, element från standarden UML, bas på och tillgång till Java-programmering, ett modernt GUI osv. Tyngdpunkten under utvecklingen lades på de tillämpade metoderna: simulering, prestandaanalys, beteende hos stokastiska system, optimering och visualisering.

Verktyget kallades AnyLogic eftersom det stödjer alla de tre mest välkända angreppssätten vid modellering:

 
Three business simulation approaches

+ Vilken kombination som helst av dessa angreppssätt i en enskild modell[3]. Den första versionen av AnyLogic är AnyLogic 4, eftersom versionsnumreringen bygger på numreringen från COVERS 3.0. Ett stort steg togs 2003, då AnyLogic 5 släpptes. Denna version fokuserade på simulering riktad mot olika tillämpningar och verksamhetsområden, illustrerat med följande uppräkning:

Den senaste huvudversionen, AnyLogic 7, släpptes 2014. Plattformen för modelleringsmiljön i AnyLogic är Eclipse. AnyLogic 7 är en simuleringsmjukvara som är plattformsöverskridande, åtminstone vad gäller Windows, Mac OS Classic och Linux.[17]

AnyLogic och Java redigera

AnyLogic innehåller möjligheten att arbeta med ett grafiskt modelleringsspråk och tillåter dessutom användaren att komplettera simuleringsmodellen med Java-kod. Det faktum att AnyLogic bygger på Java möjliggör att Java-programmering kan användas till att skapa skräddarsydda tillägg och logik, till en modell som för övrigt är mer grafiskt modellerad, samtidigt som Java ”applets” kan skapas – vilka kan öppnas med valfri standard-”browser”. Dessa ”applets” gör det oerhört enkelt att leverera och dela en framtagen modell, liksom att placera den på hemsidor. Den version som kallas AnyLogic Professional, ger dessutom möjlighet att skapa exekverbara Java “runtime applications”, som kan distribueras till användare. Dessa rena Java-applikationer kan utgöra basen i olika beslutstödsverkyg/-system[18].

Multimetod simuleringsmodellering redigera

 
How simulation approaches correspond to the level of abstraction.

Anylogic-modeller kan vara baserade på vilken som helst av de huvudsakliga modelleringsparadigmerna vad gäller simulering: diskret händelsestyrd el. processcentrerad (DE), systemdynamisk (SD) och agentbaserad (AB).

Systemdynamik och diskret händelsestyrd modellering är traditionella angreppssätt inom simulering, medan agentbaserat tänkande är mer nytt. Tekniskt är den systemdynamiska metoden uppbyggd med hjälp av tidskontinuerlig modellering, medan ”diskret händelsestyrd” (med vilket vi menar alla ättlingar till GPSS, också kända som processcentrerade) och agentbaserade modeller arbetar mest i diskret tid, dvs. hoppar från tidpunkten för en händelse till nästa.

Systemdynamik och diskret händelsestyrd simulering har historiskt tagits upp med helt skilda målgrupper i akademiska sammanhang. I det förra fallet har det i första hand rört sig om Samhällsvetenskap och i viss mån Ekonomi eller Management, medan det i det senare primärt varit Ingenjörsutbildningar, Industri/Produktion/Logistik och Operationsanalys. Resultatet har också blivit att helt olika nätverk och grupperingar formats, utan någon egentlig kontakt med varandra.

Agentbaserad modellering har tills nyligen varit ett gränsande till helt akademiskt område. Dock har den ökande efterfrågan av global affärsoptimering fått ledande modellerare att leta efter kombinerade angreppssätt, för att ge möjlighet till en djupare insikt kring komplexa processer av olika natur, men med ömsesidiga beroendeförhållanden.

Systemdynamik, som enbart är uppbyggt kring aggregat, används uppenbarligen på den högsta abstraktionsnivån. Diskret händelsestyrd modellering används i första hand på låg och mellannivå, vad gäller abstraktion (men har ofta flexibilitet att även tillämpas på högre nivå). Vad gäller agentbaserad modellering, kan man tänka sig att använda denna teknik för alla abstraktionsnivåer. En agent kan också användas för att modellera objekt av kraftigt varierande natur och omfång: på den ”fysiska” nivån, kan agenter till exempel vara fotgängare, bilar el. robotar; på mellannivån kunder; och på den högsta nivån konkurrerande bolag[19].

Anylogic tillåter modelleraren att kombinera dessa metoder i samma modell. Där finns inte någon fixerad hierarki. Det gör att, som exempel, man kan skapa en modell av paketleveransindustrin där transportörerna modelleras som agenter som agerar/reagerar oberoende av varandra, medan det interna processerna kopplade till transportnätverk och infrastruktur, kan modelleras diskret händelsestyrt. Eller, för att ta ett annat exempel, kan man modellera konsumenter som agenter, där deras aggregerade beteende matar en systemdynamisk modell som fokuserar på flöden såsom intäkter och kostnader (och vilka inte behöver knytas till specifika agenter). Denna möjlighet att blanda olika ”språk” eller metoder/angreppssätt är direkt tillämpbar på ett brett spektra av komplexa modelleringsproblem – där användandet av enbart en metod riskerar kräva allvarliga (icke önskvärda) kompromisser och förenklingar.

Simuleringsspråk redigera

 
Simulation language constructions provided by Anylogic.

AnyLogic:s simuleringsspråk (miljö) består av följande delar[20]:

  • Tillstånds- & Flödesdiagram används för Systemdynamisk modellering.
  • Tillståndsdiagram används primärt vid Agentbaserad modellering för att definiera agentens beteende. De används också ofta vid Diskret händelsestyrd modellering, till exempel för att modellera driftstörningar.
  • Aktivitetsdiagram används för att definiera algoritmer. De kan användas vid Diskret händelsestyrd modellering, till exempel för att styra samtal/produkter/kunder/… eller vid Agentbaserad modellering, till exempel för agentens beslutslogik.
  • Processflödesdiagram är basen för att definiera processen vid Diskret händelsestyrd modellering. Det är uppenbart, när man tittar på hur ett diagram ser ut visuellt, varför modelleringsmetoden även kallas Processcentrerad.

Språket (utvecklingsmiljön) inkluderar också: lågnivåkonstruktioner för modellering (variabler, ekvationer, parametrar, händelser, etc.), presentationsformer (linjer, ”polylines”, ovaler, etc.), analytiska hjälpmedel (datamängder (”data sets”), histogram, grafer), kopplingsverktyg, standardbilder/-figurer och ramverk för experimenthantering.

Anylogics bibliotek redigera

Anylogic innehåller följande standardbibliotek[20]:

  • The Process Modeling Library, som är designat för att stödja DE-modellering inom Tillverkning, ”Supply Chain”, Logistik och Hälso- & sjukvård. Med hjälp av bibliotekets objekt (“byggstenar”), kan system från verkligheten modelleras i termer av entiteter (transaktioner, kunder, produkter, delar, fordon, etc.), processer (sekvenser av aktiviteter/”operationer” av typen köer, fördröjningar, resursutnyttjande) och resurser. Processerna specificeras oftast via flödesdiagram.
  • The Pedestrian Library är dedikerat till att simulera flöden av fotgängare i en ”fysisk” miljö/omgivning. Det tillåter modelleraren att skapa modeller för byggnader där många människor rör sig (som tunnelbanestationer, säkerhetskontroller, etc.) eller gator (med stort antal fotgängare). Modellerna stödjer samlandet av statistik kring exempelvis fotgängardensiteten för valfria ytor/områden. Detta säkerställer acceptabel prestanda för serviceleveranser med hypotetiska belastningar, uppskattar hur länge individer stannar inom ett specifikt område och möjliggör att eventuella problem vad gäller interiören och dess “geometri” upptäcks – som till exempel effekterna av att ha för många hinder (pelare, …) – liksom andra tillämpningar. I modeller skapade med Pedestrian Library, rör sig fotgängarna i det kontinuerliga rummet, reagerande på olika slags hinder (väggar, olika ytor) liksom andra fotgängare. Fotgängarna är modellerade som interagerande agenter med komplext beteende, men AnyLogic:s Pedestrian Library tillhandahåller ett högnivå-interface, via en flödesdiagramliknande stil, för att snabbt skapa den här typen av modeller.
  • The Rail Yard Library stödjer modellering, simulering och visualisering vad gäller verksamhet vid en bangård av flexibel komplexitet och storlek. Dessa modeller kan kombineras med diskreta händelsestyrda eller agentbaserade modeller relaterade till: på- och avlastning, resursallokering, underhåll, affärsprocesser och andra transportaktiviteter.

Förutom dessa standardbibliotek, kan användaren skapa egna bibliotek och distribuera dem.

Referenser redigera

  1. ^ The release news on the official web-site.
  2. ^ Cynthia Nikolai, Gregory Madey. Tools of the Trade: A Survey of Various Agent Based Modeling Platforms, Journal of Artificial Societies and Social Simulation vol. 12, no. 2 2, 31 March 2009
  3. ^ Andrei Borshchev, Alexei Filippov. From System Dynamics and Discrete Event to Practical Agent Based Modeling: Reasons, Techniques, Tools,The 22nd International Conference of the System Dynamics Society, July 25 - 29, 2004, Oxford, England
  4. ^ Maxim Garifullin, Andrei Borshchev, Timofei Popkov. "Using AnyLogic and Agent Based Approach to Model Consumer Market", EUROSIM 2007, September, 2007.
  5. ^ Kirk Solo, Mark Paich A Modern Simulation Approach for Pharmaceutical Portfolio Management Arkiverad 16 juli 2011 hämtat från the Wayback Machine., SimNexus LLC
  6. ^ Yuri G. Karpov, Rostislav I. Ivanovski, Nikolai I. Voropai, Dmitri B. Popov. Hierarchical Modeling of Electric Power System Expansion by AnyLogic Simulation Software Arkiverad 22 februari 2012 hämtat från the Wayback Machine., 2005 IEEE St. Petersburg PowerTech, June 27-30, 2005, St. Petersburg, Russia
  7. ^ Michael Gyimesi, Johannes Kropf. "C14 Supply Chain Management - AnyLogic 4.0" Arkiverad 25 juli 2011 hämtat från the Wayback Machine., Simulation News Europe, December, 2002.
  8. ^ Ivanov D.A., Sokolov B., Kaeschel J. "A multi-structural framework for adaptive supply chain planning and operations control with structure dynamics considerations", European Journal of Operational Research, 2009.
  9. ^ Ivanov D.A. "Supply chain multi-structural (re)-design.", International Journal of Integrated Supply Management, No. 5(1), 19-37., 2009.
  10. ^ Ilmarts Dukulis, Gints Birzietis, Daina Kanaska. Optimization models for biofuel logistic system, Engineering for Rural Developments, Jelvaga, 29-30 May 2008
  11. ^ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "understanding Retail Productivity by Simulating Management Practices" Arkiverad 18 juli 2011 hämtat från the Wayback Machine., EUROSIM 2007, September, 2007.
  12. ^ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "A Multi-Agent Simulation of Retail Management Practices" Arkiverad 28 december 2009 hämtat från the Wayback Machine., Proceedings of the Summer Computer Simulation Conference (SCSC 2007), 2007.
  13. ^ Arnold Greenland, David Connors, John L. Guyton, Erica Layne Morrison, Michael Sebastiani. "IRS post-filing processes simulation modeling: a comparison of DES with econometric microsimulation in tax administration" , Proceedings of the 2007 Winter Simulation Conference, 2007, Washington D.C., USA
  14. ^ V.L. Makarov, V.A. Zitkov, A.R. Bakhtizin. "An agent-based model of Moskow traffic jams" Arkiverad 16 april 2011 hämtat från the Wayback Machine., Agent Based Spatial Simulation Workshop, 24-25 November 2008, Paris, France
  15. ^ David Buxton, Richard Farr, Bart Maccarthy. "The Aero-engine Value Chain Under Future Business Environments: Using Agent-based Simulation to Understand Dynamic Behaviour", MITIP2006, 11-12 September, Budapest.
  16. ^ Roland Sturm, Hartmut Gross, Jörg Talaga. Material Flow Simulation of TF Production Lines –Results & Benefits (Example based on CIGS Turnkey), Photon equipment conference, March 2009, Munich.
  17. ^ The full system requirements list on the official web-site.
  18. ^ Christian Wartha, Momtchil Peev, Andrei Borshchev, Alexei Filippov. Decision Support Tool Supply Chain Arkiverad 28 september 2006 hämtat från the Wayback Machine., Proceedings of the 2002 Winter Simulation Conference, 2002
  19. ^ Yuri G. Karpov. "AnyLogic – a New Generation Professional Simulation Tool", VI International Congress on Mathematical Modeling, September 20-26th, 2004, NizniNovgorog, Russia
  20. ^ [a b] AnyLogic on-line help on official vendor web-site

Vidare läsning redigera

  • Law, Averill M. (2006). Simulation Modeling and Analysis with Expertfit Software. McGraw-Hill Science. ISBN 978-0073294414 
  • Banks, Jerry; John Carson, Barry Nelson, David Nicol (2004). Discrete-event system simulation - 4th edition. Prentice Hall. ISBN 978-0131446793 
  • Sterman, John D. (2000). Business Dynamics: Systems thinking and modeling for a complex world. McGraw Hill. ISBN 0-07-231135-5 
  • Simulation with AnyLogic. WikiBooks. 2009 

Externa länkar redigera