AnyLogic è uno strumento per creare modelli di Simulazione sviluppato da The AnyLogic Company.

AnyLogic
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereAnalisi dei dati
SviluppatoreThe AnyLogic Company
Data prima versione2000
Ultima versione
  • 7.1.2
  • 7.3.2
Sistema operativoMultipiattaforma
LinguaggioJava
LicenzaSoftware proprietario
Sito webwww.anylogic.com/

Storia di AnyLogic modifica

Nei primi anni novanta ci fu un grande interesse su come modellare e simulare matematicamente processi paralleli. Lo stesso approccio può tuttora essere applicato alla verifica della correttezza di programmi paralleli e distribuiti. Il gruppo di ricerca in Network di Computer Distribuiti(DCN) della Technical University di San Pietroburgo sviluppò un tipo di software per l'analisi della correttezza dei programmi; questo strumento prese il nome di COVERS (COncurrent VERification and Simulation). Questo strumento permetteva la modellazione delle strutture e dei comportamenti dei sistemi attraverso una notazione grafica. Questo strumento venne applicato anche per progetti di ricerca finanziati da Hewlett Packard.

Nel 1998 il successo di questo esperimento ispirò il DCN laboratory a fondare una nuova impresa con lo scopo di sviluppare un software di simulazione di nuova generazione. La maggior enfasi nello sviluppo venne data all'applicazione dei metodi quantitativi di: simulazione, analisi delle performance, comportamento dei sistemi stocastici e ottimizzazione. Il nuovo software, distribuito nel 2000, incapsulava lo stato dell'arte dell'informatica: un approccio di programmazione ad oggetti, elementi di standard UML, l'uso di Java, una moderna interfaccia grafica, ecc.

 
Three business simulation approaches

Allo strumento venne dato il nome di AnyLogic (letteralmente: ogni logica), dal momento in cui era in grado di supportare i tre principali paradigmi di simulazione:

La prima versione fu AnyLogic 4, in quanto la numerazione continuò partendo da quella di COVERS 3.0. Un grande passo in avanti fu fatto nel 2003, quando venne distribuito AnyLogic 5 che era orientato alla simulazione dei processi di business nei seguenti campi:

L'ultima versione, AnyLogic 7, è stata lanciata nel 2014. La piattaforma su cui si basa l'ambiente di sviluppo integrato di AnyLogic 7 è Eclipse. AnyLogic 7 è un software di simulazione multipiattaforma ed è compatibile con ambienti Windows, Mac OS and Linux.[16]

AnyLogic e Java modifica

AnyLogic include un linguaggio di modellazione grafico ed inoltre permette all'utente di estendere il modello di simulazione con del codice scritto in Java. La natura Java di AnyLogic si presta anche nella creazione di Java applets possono essere aperte con un comune browser; questo rende molto facile la condivisione di modelli creati con AnyLogic attraverso semplici siti web. In aggiunta, la versione Professional, permette anche la creazione di applicazioni Java runtime che possono essere distribuite agli utenti. Queste applicazioni Java possono diventare la base per degli strumenti software di supporto alle decisioni[17][18].

Approccio multi-metodo per la modellazione modifica

 
How simulation approaches correspond to the level of abstraction

I modelli di AnyLogic possono essere realizzati basandosi su uno dei principali paradigmi di simulazione: discrete event o processo-centrico (DE), Dinamica dei sistemi (SD), ed agent-based (AB).

La System dynamics e il Discrete Event sono i due approcci tradizionali alla simulazione, agent based è l'ultimo nato. Tecnicamente, l'approccio attraverso la system dynamics è molto affine ai processi continui mentre il "discrete event" (termine con cui indichiamo tutti i linguaggi di programmazione discendenti da GPSS anche conosciuto come approccio di simulazione processo-centrico) e agent based lavorano prevalentemente con passo temporale discreto, i.e. saltano da un evento all'altro.

System dynamics e il discrete event simulation storicamente sono stati insegnati a due categorie di studenti universitari molto differenti tra loro, rispettivamente studenti di Economia e ingegneri che si occupano di ricerca operativa. Come risultato oggi ci sono due differenti filosofie di pensiero differenti che non collaborano tra di loro.

L'approccio Agent based è passato da pura ricerca accademica a approccio di simulazione applicata soltanto recentemente, da quando la crescente domanda di un'ottimizzazione dei differenti business globali ha portato i modellatori a ricercare approcci combinati che li aiutassero ad affrontare processi complessi, interdipendenti e di natura completamente differente.

Differenti approccio di modellazione corrispondono a diversi livelli di astrazione dei problemi da affrontare. System dynamics, lavorando con flussi aggregati e tempi continui, è ovviamente usata al più alto livello di astrazione. Discrete event è utilizzata ad un livello di astrazione basso e medio basso (processi fisici). La tecnica ad agenti, per sua natura tecnologia, abbraccia tutti i livelli di astrazione, e un agente può rappresentare oggetti di diversa natura e scala: al livello "fisico" un agente può, ad esempio, essere un pedone o un'automobile o un macchinario, al livello intermedio – clienti, al livello più alto – aziende concorrenti[19].

AnyLogic permette all'utente di combinare insieme, nello stesso modello, questi tre approcci secondo l'esigenza, senza nessuna gerarchia da rispettare. Così, ad esempio, è possibile creare un modello di una società di spedizioni dove i corrieri sono modellati come agenti che agiscono/reagiscono indipendentemente mentre il funzionamento interno del processo del trasporto e il networks delle infrastrutture può essere modellizzato attraverso la discrete event simulation. Analogamente, in un altro modello, è possibile modellizzare i consumatori come degli agenti il cui comportamento aggregato alimenta un modello, costruito con tecniche di systems dynamics, che intercetta i flussi quali possono essere ricavi o costi e che non necessitano di essere dettagliati a livello di singolo agente. Questo approccio di misto è direttamente applicabile ad una ampia varietà di problemi complessi e che difficilmente possono essere rappresentati attraverso l'utilizzo di un solo approccio se non con grandi compromessi.

Linguaggio di simulazione modifica

 
Simulation language constructions provided by AnyLogic

Il linguaggio di simulazione di AnyLogic consiste nei seguenti elementi[20]:

  • Diagrammi Stock e flussi sono usati per modellizzare attraverso la system dynamics.
  • Statecharts sono usati in Agent Based per definire il comportamento di un agente. Sono spesso utilizzati in simulazioni discrete (DE), e.g. per simulare lo stato di attività/fermo di una macchina.
  • Action charts sono usate per definire algoritmi. Possono essere utilizzate in Discrete Event, e.g. per le logiche di come instradare una chiamata in un call-center, o ad agenti (ABM), e.g. per le logiche di decisione di un agente.
  • Process flowcharts rappresentano i "mattoncini" di base usati per definire un processo nel Discrete Event modeling. Guardando questi flowchart è facilmente intuibile perché Discrete Event è spesso chiamato Processo Centrico.

Il linguaggio include inoltre: elementi base di modellizzazione (variabili, equazioni, parametri, eventi etc.), elementi grafici (linee, linee spezzate, ovali etc.), elementi per l'analisi dei risultati (dataset, istogrammi, grafici), tools per connettività a fonti esterne di dati, immagini standard, e altro ancora.

Librerie di AnyLogic modifica

AnyLogic include le seguenti librerie standard[20]:

  • Process Modeling Library è stata creata per supportare modelli DES per la Produzione, Catena di distribuzione, Logistica e Sanità. Utilizzando gli oggetti della Process Modeling Library è possibile modellizzare sistemi reali in termini di entità (transazioni, consumatori, prodotti, oggetti, veicoli, etc.), processi (le sequenze di operazioni tipicamente coinvolgono code, attese, utilizzo di risorse), e risorse. I processi sono specificati nella forma di flowchart.
  • Pedestrian Library è dedicata a simulare i flussi di persone in un ambiente "fisico". Questo permette di creare modelli di luoghi ad alta frequentazione (come stazioni della metropolitana, varchi per la sicurezza etc.) o strade (grande numero di pedoni). I modelli possono collezionare statistiche sulla densità di persone in differenti aree. È quindi possibile stimare un livello di servizio accettabile in base al carico di persone presenti in un'area, stimare in tempi di percorrenza o di permanenza, ed evidenziare potenziali problemi con le geometrie delle aree interne - quali l'effetto di aggiungere troppi ostacoli lungo un percorso - ed altri ancora. Nei modelli creati con la Pedestrian Library, la folla si muove in uno spazio continuo, reagendo differentemente ai differenti tipi di ostacoli: pareti, differenti tipi di aree e altri pedoni. I pedoni vengono simulati come agenti interattivi con un comportamento complesso, tuttavia la Pedestrian Library di AnyLogic fornisce un'interfaccia di alto livello in stile flowchart che risulta molto semplice e veloce nella creazione dei modelli di folle.
  • Rail Library supporta la simulazione e la visualizzazione di tutte le operazioni logistico-ferroviarie di ogni complessità e scala. I modelli ferroviari possono essere combinati con modelli discreti o ad agenti in relazione a: carico/scarico, allocazione di risorse, manutenzione, processi di business, e altre attività connesse al trasporto ferroviario.

Oltre a queste librerie standard ogni utente può sviluppare e distribuire le proprie librerie.

Note modifica

  1. ^ 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
  2. ^ 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
  3. ^ Maxim Garifullin, Andrei Borshchev, Timofei Popkov. "Using AnyLogic and Agent Based Approach to Model Consumer Market", EUROSIM 2007, September 2007.
  4. ^ Kirk Solo, Mark Paich A Modern Simulation Approach for Pharmaceutical Portfolio Management Archiviato il 16 luglio 2011 in Internet Archive., SimNexus LLC
  5. ^ Yuri G. Karpov, Rostislav I. Ivanovski, Nikolai I. Voropai, Dmitri B. Popov. Hierarchical Modeling of Electric Power System Expansion by AnyLogic Simulation Software Archiviato il 22 febbraio 2012 in Internet Archive., 2005 IEEE St. Petersburg PowerTech, June 27–30, 2005, St. Petersburg, Russia
  6. ^ Michael Gyimesi, Johannes Kropf. "C14 Supply Chain Management - AnyLogic 4.0" Archiviato il 25 luglio 2011 in Internet Archive., Simulation News Europe, December 2002.
  7. ^ Ivanov D.A., Sokolov B., Kaeschel J. "A multi-structural framework for adaptive supply chain planning and operations control with structure dynamics considerations" Archiviato il 12 agosto 2011 in Internet Archive., European Journal of Operational Research, 2009.
  8. ^ Ivanov D.A. "Supply chain multi-structural (re)-design." Archiviato il 12 agosto 2011 in Internet Archive., International Journal of Integrated Supply Management, No. 5(1), 19-37., 2009.
  9. ^ Ilmarts Dukulis, Gints Birzietis, Daina Kanaska. Optimization models for biofuel logistic system, Engineering for Rural Developments, Jelvaga, 29–30 May 2008
  10. ^ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "understanding Retail Productivity by Simulating Management Practices" Archiviato il 18 luglio 2011 in Internet Archive., EUROSIM 2007, September 2007.
  11. ^ Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, Chris W. Clegg. "A Multi-Agent Simulation of Retail Management Practices" Archiviato il 28 dicembre 2009 in Internet Archive., Proceedings of the Summer Computer Simulation Conference (SCSC 2007), 2007.
  12. ^ 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
  13. ^ V.L. Makarov, V.A. Zitkov, A.R. Bakhtizin. "An agent-based model of Moskow traffic jams" Archiviato il 16 aprile 2011 in Internet Archive., Agent Based Spatial Simulation Workshop, 24–25 November 2008, Paris, France
  14. ^ 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.
  15. ^ Roland Sturm, Hartmut Gross, Jörg Talaga. Material Flow Simulation of TF Production Lines –Results & Benefits (Example based on CIGS Turnkey) Archiviato il 4 luglio 2009 in Internet Archive., Photon equipment conference, March 2009, Munich.
  16. ^ La lista dei requisiti del sistema su the official web-site Archiviato il 1º luglio 2014 in Internet Archive..
  17. ^ Christian Wartha, Momtchil Peev, Andrei Borshchev, Alexei Filippov. Decision Support Tool Supply Chain Archiviato il 28 settembre 2006 in Internet Archive., Proceedings of the 2002 Winter Simulation Conference, 2002
  18. ^ Explore different probability distributions and fit your own dataset online - interactive tool Archiviato il 14 luglio 2014 in Internet Archive.
  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

Bibliografia modifica

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica