Anylogic

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.

Historia 
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:

 Systemdynamik,
 Diskret händelsestyrd simulering,
 Agentbaserad modellering.
+ Vilken kombination som helst av dessa angreppssätt i en enskild modell. 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:
 Marknad och Konkurrens,
 Hälso- och sjukvård,
 Tillverkning,
 Leveranskedjan (”Supply chain”),
 Logistik,
 Detaljhandel,
 Affärsprocesser,
 Social och Ekosystemskopplad dynamik,
 Försvar,
 Projekt- och Tillgångs- (”Asset”) ledning,
 IT Infrastruktur,
 Fotgängardynamik (”Pedestrian Dynamics”) och Trafiksimulering,
 Flyg.
 Alternativa energikällor

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.

AnyLogic och Java
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.

Multimetod simuleringsmodellering 

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.

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 

AnyLogic:s simuleringsspråk (miljö) består av följande delar:
 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 
Anylogic innehåller följande standardbibliotek:
 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

Vidare läsning

Externa länkar 
 
 AnyLogic On-line Help
 Samling videoklipp tagna från AnyLogic modeller

Matematikprogram
Programspråk
Simulering