Note di Simulazione. Vincenzo Ambriola, Giorgio Gallo. Dipartimento di Informatica Università di Pisa

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Note di Simulazione. Vincenzo Ambriola, Giorgio Gallo. Dipartimento di Informatica Università di Pisa"

Transcript

1 Note di Simulazione Vincenzo Ambriola, Giorgio Gallo Dipartimento di Informatica Università di Pisa Dicembre 2013

2 ii c Giorgio Gallo, Vincenzo Ambriola È possibile scaricare, stampare e fotocopiare questo documento. Nel caso in cui se ne stampino singole parti, si deve comunque includere la pagina iniziale con il titolo e gli autori.

3 Indice Introduzione v 1 Problemi e modelli Sistemi Modelli Simulazione Simulazione discreta UML Visione statica Visione dinamica Un esempio di modellazione Approcci alla simulazione Simulazione a eventi Simulazione ad attività Simulazione a processi Simulazione ad agenti Esempi di modelli di simulazione Servizio piccoli prestiti Centro prelievi Deposito per la distribuzione di merci Analisi e scelta dei dati Analisi e scelta dei dati di ingresso Indipendenza delle osservazioni Individuazione della distribuzione Stima dei parametri della distribuzione Analisi dei dati di uscita iii

4 iv INDICE Analisi del transitorio Variabili antitetiche Condizionamento Generazione di numeri casuali Numeri pseudocasuali con distribuzione uniforme Numeri pseudocasuali con distribuzioni discrete Distribuzioni continue Dinamica dei sistemi Modello preda predatore Livelli e flussi Variabili ausiliarie e costanti Cicli causali Gestione del magazzino Ritardi La matematica dei ritardi Elementi di probabilità e statistica Elementi di probabilità Spazi di probabilità e variabili casuali Distribuzioni discrete Distribuzioni continue Distribuzioni empiriche Elementi di statistica Teoria della stima Test di ipotesi Processi stocastici Bibliografia

5 Introduzione Con il termine simulazione si intende l attività del replicare per mezzo di opportuni modelli una realtà già esistente o da progettare, per studiare, nel primo caso, gli effetti di interventi ed eventi in qualche modo prevedibili o, nel secondo, di valutare diverse scelte progettuali. L uso di modelli come strumento di aiuto nei processi decisionali è antico e diffuso. Un tipico esempio è quello dei modelli a scala, usati soprattutto in fase di progettazione. Si tratta di modelli che replicano fedelmente, anche se a scala ridotta, la realtà che si vuole studiare. Tipici modelli di questo tipo sono i plastici, utilizzati nella progettazione architettonica, e i modelli di strutture, utilizzati per studiare gli effetti di sollecitazioni, ad esempio di tipo sismico. Questi modelli sono caratterizzati da un notevole costo di realizzazione e da una grande rigidità di uso e, pertanto, sono sempre meno utilizzati in pratica. Altri modelli, molto usati soprattutto in seguito allo sviluppo e alla diffusione della Ricerca operativa, sono i modelli analitici. Si tratta di modelli in cui la realtà è rappresentata mediante variabili e relazioni logico/matematiche. A questa classe appartengono, fra gli altri, i modelli di programmazione lineare (più in generale di programmazione matematica) e i modelli di file d attesa. Sono modelli di notevole potenza, che spesso consentono di determinare, con un costo contenuto, una o più soluzioni ottime (o comunque molto buone) per il problema considerato. Tuttavia, al crescere della complessità della realtà tali modelli diventano sempre più difficili e costosi da usare e, in molti casi, addirittura inapplicabili a causa delle loro stesse caratteristiche. La complessità di un processo decisionale ha diverse dimensioni: il numero delle variabili necessarie per descrivere la realtà, le relazioni che legano fra loro queste variabili, il numero degli obiettivi da raggiungere, il numero dei decisori coinvolti, cioè delle persone che possono prendere decisioni o influire v

6 vi INTRODUZIONE su di esse, e infine il grado di incertezza che caratterizza le variabili in gioco e le loro relazioni reciproche. In generale, situazioni in cui il numero degli obiettivi e dei decisori è limitato (idealmente un obiettivo e un decisore) e in cui le variabili e le relazioni sono conosciute con sufficiente approssimazione si prestano bene all uso di modelli di tipo analitico. Tutto ciò è vero purché il numero delle variabili e delle relazioni non sia eccessivamente grande, in quanto la classe dei problemi trattabili dipende principalmente da questo aspetto. Queste note affrontano lo studio dei processi decisionali caratterizzati da elevati livelli di complessità, in cui l uso di modelli analitici non è proponibile. I modelli di simulazione proposti si differenziano da quelli di tipo analitico per l uso di strumenti computazionali, come ad esempio nei modelli di programmazione matematica, e di linguaggi formali di rappresentazione della realtà. La corrispondenza tra realtà e modello non si basa sulla riduzione proporzionale delle dimensioni, ma è di tipo funzionale: ad ogni elemento del sistema reale corrisponde un entità virtuale che svolge un identica funzione nel modello. Rispetto alla sperimentazione diretta, costosa e spesso praticamente impossibile, o a quella realizzata per mezzo di modelli a scala, i modelli di simulazione hanno il vantaggio della grande versatilità, della velocità di realizzazione e del (relativamente) basso costo. La simulazione consente di provare rapidamente politiche e scelte progettuali alternative e di modellare sistemi anche di grande complessità, studiandone il comportamento e l evoluzione nel tempo.

7 Capitolo 1 Problemi e modelli Il processo decisionale, cioè la sequenza logica di passi attraverso cui, a partire dall emergere di una situazione che richiede una scelta o un azione, si arriva alla decisione dell azione da intraprendere e poi alla sua realizzazione, è oggetto di studio in settori notevolmente diversi che vanno dall ingegneria all informatica, dalla sociologia alla teoria della politica, dall economia alle scienze gestionali. Lo studio dei processi decisionali, la capacità di analizzarne e scomporne i meccanismi e, soprattutto, la messa a punto di strumenti sia metodologici che tecnici di supporto è essenziale per pervenire a buone decisioni. Spesso è il processo decisionale in se stesso che produce risultati significativi al di là delle decisioni e delle azioni alle quali esso porta; questo per la sua intrinseca caratteristica di essere un processo di apprendimento che in qualche modo cambia gli attori coinvolti. In generale, in un processo decisionale il punto di partenza è l individuazione di una realtà problematica che richiede un cambiamento e quindi una decisione. La realtà individuata è analizzata per evidenziare al suo interno il sistema da studiare ai fini delle decisioni da prendere. Si scelgono cioè gli aspetti più rilevanti della realtà e si identificano gli obiettivi da raggiungere. A partire dal sistema si definisce un modello che permetta di riprodurlo (simularlo), per comprenderne il comportamento e individuare le decisioni da prendere. Il processo decisionale così delineato (vedi figura 1.1) parte dalla realtà e arriva alle decisioni finali attraverso tre passi: individuazione del sistema da studiare, definizione del modello, simulazione vera e propria. 1

8 2 CAPITOLO 1. PROBLEMI E MODELLI Realtà Sistema Modello Simulazione Decisioni Figura 1.1: Processo decisionale 1.1 Sistemi La realtà oggetto di indagine è rappresentata mediante un sistema, cioè un insieme di elementi che interagiscono tra loro. Quella di rappresentare la realtà come un sistema è una scelta e il risultato di tale rappresentazione è la conseguenza di una successione di scelte specifiche, tutte caratterizzate da un certo grado di arbitrarietà e, quindi, suscettibili di revisione nel corso del processo decisionale. La scelta principale, e più critica, riguarda la definizione dei confini del sistema, cioè la scelta di quali elementi della realtà debbano essere inseriti nel sistema che la rappresenta e quali invece lasciati fuori. L aspetto più rilevante di un sistema è che esso è qualcosa di più dell insieme delle sue parti e che, pertanto, il suo comportamento non può essere conosciuto analizzando separatamente quello delle parti. È la struttura e la natura delle relazioni fra le parti di un sistema che ne determina, secondo modalità a volte apparentemente imprevedibili, il comportamento complessivo. Infine, è bene notare che il sistema non è la realtà ma solo una possibile rappresentazione, una costruzione mentale che dipende fortemente dal livello di dettaglio scelto per raggiungere gli obiettivi dell indagine. Ad esempio, se si studia il traffico di veicoli privati per definire politiche per la riduzione della congestione e dei tempi di trasporto, non è rilevante tener conto né del colore né dell anno di produzione delle auto. Quest ultimo

9 1.2. MODELLI 3 dato potrebbe essere invece interessante se il problema comprendesse anche aspetti relativi all inquinamento prodotto dal traffico; in questo caso, infatti, l anno di produzione fornirebbe indicazioni utili sulle emissioni del motore. L individuazione della rete stradale relativa all area geografica interessata allo studio del traffico veicolare affronta alcuni aspetti della realtà che, apparentemente, sembrano essere di scarso interesse per la modellazione: alcune strade secondarie sono irrilevanti rispetto ai principali flussi di traffico ed è naturale considerare solo l area nella quale si vuole conoscere la distribuzione del traffico. In realtà, le scelte effettuate anche su questi aspetti non sono neutre e possono falsare i risultati ottenuti. La possibilità di usare alcune strade apparentemente secondarie, ad esempio, può avere effetti imprevisti sulla distribuzione del traffico. Inoltre, può accadere che una parte dei veicoli in ingresso nell area possa utilizzare più punti di accesso, la cui scelta dipende dalla distribuzione del traffico dentro l area stessa; questo porta a effetti sul traffico totale che non possono essere valutabili senza ampliare l area sotto esame. Altre scelte riguardano le variabili da considerare e la definizione delle relazioni che le legano. Questo lavoro deve essere guidato dagli obiettivi del processo decisionale in esame: obiettivi diversi portano a rappresentazioni diverse della stessa realtà. 1.2 Modelli Il modello costituisce lo strumento con cui si formalizza il sistema che rappresenta la realtà. I modelli possono essere di tipo diverso, sia quantitativi che qualitativi. Ad esempio, modelli classici e un tempo molto usati sono i cosiddetti modelli a scala. Si tratta di modelli fisici che rappresentano un sistema a scala ridotta. Tipici esempi sono il plastico di un quartiere o di un intera città, utilizzato per scelte architettoniche o urbanistiche, oppure il modello a scala della struttura di un edificio, utilizzato per valutare la risposta della struttura a sollecitazioni sismiche. Questi modelli sono di tipo analogico: la riduzione della scala è fatta in modo che le caratteristiche di interesse si mantengano, eventualmente riducendosi di intensità a seconda della scala scelta. Un altra classe di modelli è costituita dai modelli analitici. Si tratta di modelli in cui il sistema è descritto da un insieme di variabili e di relazioni che limitano e definiscono i valori di tali variabili. Ad esempio, una rete elettrica può essere descritta da un sistema di equazioni, la cui soluzione fornisce

10 4 CAPITOLO 1. PROBLEMI E MODELLI i valori delle variabili che rappresentano intensità di corrente e differenza di potenziale. Molto spesso questi modelli prevedonoo una funzione obiettivo da minimizzare o massimizzare. In questo caso si ricorre ad algoritmi di ottimizzazione. I modelli analitici sono studiati nell ambito della programmazione matematica (Bigi et al., 2003) o della teoria delle file d attesa. I modelli a scala e quelli analitici sono, sia pure in forma diversa, rigidi e caratterizzati da una limitata ricchezza espressiva. Possono essere pertanto usati per modellare sistemi relativamente semplici 1. Molto flessibili e capaci di rappresentare una grande varietà di situazioni sono invece i modelli qualitativi, quali ad esempio le mappe cognitive utilizzate per rappresentare la realtà nell ambito della cosiddetta Soft Operations Research (Checkland, 1989; Rosenhead, 1989). I modelli di simulazione trattati più ampiamente nel seguito si differenziano da quelli analitici per l uso di strumenti computazionali, come ad esempio nei modelli di programmazione matematica, e di linguaggi di rappresentazione degli elementi del sistema e delle relazioni fra di essi. La corrispondenza tra sistema e modello non si basa sulla riduzione proporzionale delle dimensioni, ma è di tipo funzionale: ad ogni elemento del sistema corrisponde un entità che svolge un analoga funzione nel modello. Questi modelli sono particolarmente flessibili e consentono di rappresentare e studiare sistemi molto complessi, dei quali sono note solo alcune caratteristiche ottenute mediante analisi statistiche. Un modello di simulazione può essere deterministico o stocastico, discreto o continuo. Si parla di simulazione deterministica quando l evoluzione nel tempo del modello è univocamente determinata dalle sue caratteristiche e dalle condizioni iniziali. Quando nel modello sono presenti grandezze aleatorie che, a seconda del valore che assumono, possono portare a diversi comportamenti si parla invece di simulazione stocastica. Con simulazione continua si intende una simulazione in cui il valore delle variabili coinvolte varia in modo continuo nel tempo (anche se poi esse saranno in pratica valutate in istanti discreti). Si ha invece una simulazione discreta quando lo stato del sistema studiato, e quindi il valore delle variabili relative, cambia in istanti di tempo ben definiti. In genere, i modelli di simulazione sono dinamici, cioè includono la di- 1 In realtà, i modelli di programmazione matematica consentono di affrontare problemi anche con milioni di variabili. Le difficoltà nascono soprattutto quando si è in presenza di forti nonlinearità e di situazioni caratterizzate da incertezza.

11 1.3. SIMULAZIONE 5 mensione temporale, e hanno lo scopo di studiare l andamento nel tempo di un sistema. Al contrario, i modelli analitici sono spesso (anche se non sempre) statici: forniscono una soluzione al problema studiato a partire da dati che descrivono il sistema in un dato istante o intervallo temporale 2. In generale, una buona norma da seguire nella costruzione di un modello di simulazione consiste nel tenere al minimo il livello di dettaglio, compatibilmente con le risposte che si vogliono ottenere. Usualmente si parte da un modello semplice, con pochi elementi, e poi lo si raffina, aumentando man mano il grado di dettaglio, fino ad arrivare a un modello che sia soddisfacente rispetto agli obiettivi prefissati. È necessario tenere sempre presente lo scarto che esiste tra il sistema e la realtà che esso rappresenta. Questo scarto può essere maggiore o minore, ma è comunque ineludibile. La realtà non è direttamente conoscibile se non attraverso una concettualizzazione da parte dell osservatore e l ottica sistemica è proprio lo strumento utilizzato per questo scopo. Un aspetto molto importante da tenere in considerazione nella fase di modellazione è l uso di una notazione formale per definire il modello. La notazione deve essere semplice e chiara, per essere compresa facilmente da tutti coloro che sono coinvolti nel processo di modellazione, cioè da quelli che spesso sono chiamati portatori di interessi. Si tratta non solo di chi dovrà prendere le decisioni finali e poi farle eseguire, ma anche di chi dovrà poi concretamente metterle in pratica, e di chi, operando nella realtà sotto esame, detiene sia le conoscenze essenziali per la definizione e la modellazione del sistema che i dati necessari per la sperimentazione. Un modello facilmente comprensibile permette una verifica della sua correttezza da parte di tutti e quindi anche una maggiore efficienza ed efficacia del processo di modellazione. 1.3 Simulazione La fase della simulazione vera e propria è quella conclusiva, che porterà alle decisioni finali. A partire dal modello si realizza un programma, la cui esecuzione simula il comportamento del sistema. Il programma, detto anche simulatore, può essere realizzato con tecniche diverse. È possibile usare 2 Ogni tentativo di classificazione è necessariamente problematico. La realtà sfugge sempre ai tentativi di racchiuderla in categorie predefinite, e questo vale anche per i modelli: esistono modelli analitici che tengono conto delle dinamiche temporali e, d altra parte, alcuni modelli di simulazione sono essenzialmente statici.

12 6 CAPITOLO 1. PROBLEMI E MODELLI linguaggi general purpose quali C, C++, Java, per i quali esistono apposite librerie orientate alla simulazione, oppure linguaggi specializzati, quali ad esempio SIMSCRIPT, MODSIM e GPSS. In alternativa si possono utilizzare specifiche applicazioni per la simulazione quali, fra le altre, Arena, Witness, Extend e Micro Saint. Tali applicazioni sono, in genere, di facile uso e adatte alla realizzazione di un simulatore a partire da un modello anche di grande complessità, ma sono meno versatili e potenti dei linguaggi specializzati o di quelli general purpose. Per problemi di piccole dimensioni è anche possibile usare strumenti di uso comune quali i fogli di calcolo. Tali strumenti sono particolarmente utili in tutte quelle situazioni in cui si vuole avere rapidamente un idea del funzionamento di una singola componente o di un sottosistema di un sistema complesso. Mediante il simulatore si può analizzare il comportamento del modello e confrontarlo con i dati disponibili sul sistema, per verificare se e quanto il modello lo rappresenti correttamente rispetto agli obiettivi stabiliti 3. La correttezza del modello rispetto al sistema in esame può essere verificata da due punti di vista diversi: Correttezza d insieme (black box validity): il comportamento globale del modello riflette accuratamente quello del sistema. Correttezza delle singole componenti (white box validity): il comportamento di ogni componente del modello è consistente con quello delle componenti del sistema. Dopo aver verificato la correttezza del modello inizia la parte conclusiva e fondamentale del lavoro di simulazione, la sperimentazione che porterà alle decisioni finali. Questa fase richiede l uso di strumenti statistici, sia per l analisi dei dati iniziali sia per la valutazione dei risultati della simulazione. La sperimentazione deve essere effettuata in modo che l influenza dei diversi fattori sui risultati ottenuti sia chiaramente evidenziata. Si deve sempre tenere presente che, in ultima analisi, la simulazione è uno strumento conoscitivo. 3 Va sempre ricordato che un modello non è la realtà, e che di conseguenza non ha senso parlare di correttezza in sé del modello; la correttezza è relativa agli scopi per cui il modello è stato definito.

13 Capitolo 2 Simulazione discreta Questo capitolo presenta i concetti di base per la definizione di modelli di simulazione discreta, introducendo un linguaggio di modellazione e le principali tecniche di realizzazione dei simulatori. 2.1 UML Pur essendo nato nel contesto della modellazione di sistemi software, per la sua versatilità UML (Unified Modeling Language) si presta bene anche alla definizione di modelli di simulazione, ambito in cui ha fatto la sua comparsa da alcuni anni. Per un introduzione a UML si rimanda al testo di Fowler (2000). In UML il sistema da modellare è descritto da due punti di vista: statico e dinamico. La visione statica descrive il sistema in termini delle entità che ne fanno parte e delle relazioni tra di esse. La visione dinamica descrive il comportamento di tali entità per come si evolve nel tempo, mostrando anche le loro interazioni reciproche Visione statica La modellazione del sistema si basa sull identificazione delle entità, ovvero degli elementi del sistema considerati individualmente e del cui stato si mantiene informazione costantemente aggiornata. In UML si fa una distinzione fra classi e oggetti. Una classe 1 definisce in termini astratti un entità con 1 Per convenzione, il nome di una classe inizia sempre con una lettera maiuscola. 7

14 8 CAPITOLO 2. SIMULAZIONE DISCRETA i suoi attributi e le sue operazioni. Ad ogni classe è associato un numero variabile di oggetti che la istanziano. Quando si modella un sistema è necessario prestare attenzione ad alcuni aspetti che non sono trattati esplicitamente in UML. Ad esempio, in un sistema alcune entità possono essere di tipo collettivo. Un parcheggio con 100 posti macchina può essere rappresentato mediante 100 istanze della classe Posto macchina. Tuttavia, a meno di situazioni molto particolari, non è necessario sapere se il singolo posto macchina è libero o occupato, è sufficiente sapere se ci sono posti liberi nel parcheggio e quanti ce ne sono. In questo caso il parcheggio è considerato come un unica entità collettiva, chiamata anche risorsa. Decidere se un entità deve essere considerata una risorsa è una scelta che dipende da chi modella il sistema: al limite anche un entità individuale può essere considerata come una risorsa di cardinalità 1. In generale, questa scelta deve essere guidata di considerazioni legate all economia globale del modello 2. Sempre nel contesto della simulazione discreta, le entità possono essere permanenti o temporanee, attive o passive. Anche questa distinzione è arbitraria, in quanto dipende dalla percezione che ha del sistema colui che costruisce il modello e dalle sue scelte. In UML una classe è rappresentata con un rettangolo diviso in tre sezioni che contengono il nome della classe, gli attributi e le operazioni. Per gli attributi è possibile, anche se non obbligatorio, indicare un tipo (ad esempio intero, booleano, stringa, carattere), mentre per le operazioni è possibile, ma anche in questo caso non obbligatorio, indicare il tipo degli eventuali argomenti e dell eventuale risultato dell operazione. Le sezioni relative agli attributi e alle operazioni possono essere omesse. Come già detto, si possono avere più oggetti di una classe in dipendenza del numero di istanze presenti nel sistema. Ogni oggetto è caratterizzato dal suo nome e dalla classe alla quale appartiene, con la notazione Nome:Classe 3. Il rettangolo che rappresenta un oggetto può contenere i suoi attributi e i relativi valori. 2 Nella definizione di un modello di simulazione è bene seguire il principio enunciato dal filosofo medievale Guglielmo da Ockham, meglio noto come il rasoio di Ockham: Entia non sunt multiplicanda praeter necessitatem (gli enti non vanno moltiplicati al di là di ciò che è strettamente necessario). 3 Per gli oggetti di una classe C si utilizzano i nomi C1, C2,..., e se ne indicano alcuni, l uno sovrapposto all altro, per indicare che il loro numero non è a priori limitato.

15 2.1. UML 9 Tipiche entità sono il paziente che si presenta all accettazione di un ospedale, il pezzo lavorato in una catena di montaggio, oppure l aereo in attesa di atterrare a un aeroporto. In un sistema costituito da uno sportello a cui si rivolgono clienti per richiedere alcuni servizi, si può definire la classe Cliente, caratterizzata da attributi quali tipo e quantità di servizio richiesto, ora di arrivo allo sportello, e così via. Un oggetto della classe Cliente è un particolare cliente che, ad esempio, si presenta allo sportello alle 11:32, con due pratiche da evadere. I clienti che entrano ed escono dal sistema una volta serviti, possono essere considerati entità temporanee e passive, mentre lo sportello svolge il ruolo di entità permanente e attiva Visione dinamica La descrizione del comportamento dinamico di un sistema richiede i concetti di stato, evento, attività e processo. Lo stato di un sistema è definito come l insieme degli stati delle entità che lo costituiscono. Con il termine evento si intende l istante di tempo in cui avviene un fatto che produce un cambiamento di stato del sistema. Un attività è qualcosa che si svolge fra due eventi. In ogni istante ogni entità svolge un attività, avendo considerato anche l attesa come una particolare attività. Un processo è una sequenza o un ciclo predefinito di attività. In UML il comportamento dinamico delle istanze di una classe è descritto mediante automi a stati finiti, un formalismo ampiamente usato per la modellazione di sistemi dinamici, oltre che in molti altri contesti (ad esempio, teoria dei linguaggi, interfacce utente). Un automa a stati finiti è definito in termini di stati e transizioni. L automa inizia a operare in uno stato iniziale e termina in uno stato finale. Ad ogni stato possono essere associate più transizioni 4 ognuna delle quali è definita da un evento, una condizione e un azione. L evento è il fatto che produce la transizione, la condizione, se verificata, è quella che fa sì che al verificarsi dell evento effettivamente si abbia la transizione, mentre l azione è un operazione associata alla transizione. La presenza dell evento, della condizione e dell azione non è obbligatoria, al limite una transizione può non averne ed essere trattata come una transizione incondizionata senza azione. In UML la notazione usata per rappresentare gli automi a stati finiti è quella classica. Uno stato è rappresentato da un rettangolo arrotondato 4 A uno stato finale, di norma, non sono associate transizioni.

16 10 CAPITOLO 2. SIMULAZIONE DISCRETA al cui interno è contenuto il nome dello stato e altre informazioni che lo caratterizzano. Una transizione è rappresentata da un arco che collega due stati, sopra la quale sono eventualmente riportati l evento, la condizione e l azione. Lo stato iniziale e gli stati finali sono opportunamente marcati. 2.2 Un esempio di modellazione Per rendere concreta la presentazione dei concetti di modellazione si utilizza l esempio del Botteghino del teatro definito da Pidd (1998). In questo esempio il sistema è costituito dal botteghino di un teatro in cui un impiegato provvede alla vendita dei biglietti ai clienti che si presentano di persona. Oltre a vendere i biglietti, l impiegato risponde alle telefonate fornendo le informazioni richieste. Il botteghino ha un orario di apertura al pubblico, determinato da un ora di inizio e da un ora di fine del servizio. L impiegato risponde alle telefonate solo se non ci sono clienti in attesa di essere serviti. Una volta iniziata una vendita o una telefonata l impiegato non può interromperla per passare a fare altro. Nel sistema si possono identificare le seguenti classi: Cliente 5 (con un numero illimitato di istanze temporanee e passive), Impiegato (una sola istanza permanente e attiva). I clienti che entrano ed escono dal sistema una volta serviti, sono considerati come entità temporanee e passive, mentre l impiegato svolge il ruolo di entità permanente e attiva. Oltre a queste classi è necessario aggiungere la classe Coda che raggruppa tutti i clienti in attesa di essere serviti. La classe Impiegato ha un attributo booleano (Libero) che vale vero se l impiegato è libero (in attesa), falso altrimenti, e un operazione Servi che modella il servizio svolto per il cliente. Questa operazione ha un parametro che corrisponde alla durata del servizio. La classe Cliente ha due attributi: (Tipo) che vale vero se il cliente si presenta di persona allo sportello e falso se chiama al telefono, (t) un intero che indica il tempo di servizio. La classe Coda ha un attributo di tipo intero (Lunghezza) e due operazioni, Estrai e Inserisci. L operazione Estrai fornisce il suo primo elemento, che in questo caso è un istanza della classe Cliente, e lo cancella dalla coda; analogamente 5 La scelta di avere una sola classe di clienti, distinguendo per mezzo di un attributo i due tipi di clienti, è una delle tante possibili. In alternativa si possono rappresentare i clienti per mezzo di due classi differenti.

17 2.2. UN ESEMPIO DI MODELLAZIONE 11 l operazione Inserisci inserisce in coda un oggetto della classe Cliente. La figura 2.1 mostra le classi usate nell esempio. Figura 2.1: Diagramma delle classi Come già detto si possono avere più oggetti di una classe in dipendenza del numero di istanze presenti nel sistema. Ad esempio, se nel sistema ci fossero due sportelli, nel modello ci sarebbero due istanze della classe Impiegato. La modellazione proposta prevede due code, una per ciascun tipo di cliente: Qp è la coda dei clienti che arrivano di persona al botteghino, mentre Qt è la coda dei clienti che telefonano. La figura 2.2 mostra gli oggetti presenti nel sistema costituito da un solo sportello. Figura 2.2: Diagramma degli oggetti La figura 2.3 riporta l automa a stati finiti della classe Impiegato. L automa ha due stati: Attesa, Servizio. Quando l impiegato inizia il suo turno di lavoro nel botteghino l automa transita nello stato di attesa dal quale esce per servire un cliente che si presenta di persona al botteghino (di seguito

18 12 CAPITOLO 2. SIMULAZIONE DISCRETA chiamato cliente fisico) oppure un cliente che chiama al telefono (di seguito chiamato cliente telefonico). Gli eventi che fanno cambiare di stato l automa sono l arrivo di un cliente fisico o di un cliente telefonico, le corrispondenti azioni sono, in entrambi i casi, l inizio del servizio. Se arriva un cliente fisico, esso deve essere servito subito (i clienti successivi andranno in coda), mentre se arriva un cliente telefonico, esso sarà servito solo se nello stesso istante non è arrivato un cliente fisico. Se l impiegato sta servendo un cliente, non appena termina il servizio (evento F ineservizio) l automa controlla la lunghezza della coda Qp e, se non vuota (condizione), l impiegato inizia a servire il primo cliente in coda. L operazione associata all evento InizioServizio esegue anche la cancellazione del cliente da Qp. Se poi Qp risulta vuota, l automa controlla la coda Qt e, se non è vuota, l impiegato risponde al primo cliente telefonico in coda. Anche in questo caso il cliente di cui si inizia il servizio è cancellato dalla relativa coda. FineServizio [Qp.Lunghezza>0] /InizioServizio(Qp.Pop()) FineServizio [Qp.Lunghezza=0&Qt.Lunghezza>0] /InizioServizio(Qt.Pop()) Servizio InizioServizio() FineServizio ArrivaCp /InizioServizio(Cp) FineServizio [Qp.Lunghezza=0& Qt.Lunghezza=0] Attesa ArrivaCt /InizioServizio(Ct) Figura 2.3: Automa a stati finiti dell Impiegato L automa dell Impiegato non descrive completamente la dinamica del botteghino. È infatti necessario definire l automa a stati finiti della classe Cliente (vedi figura 2.4).

19 2.3. APPROCCI ALLA SIMULAZIONE 13 ArrivaCp [Impiegato.Libero = Falso] /Qp.Inserisci(Cp) FineServizio Attesa in coda [Cp=Qp.Pop()] Servizio FineServizio /IniziaServizio(Cp) ArrivaCp [Impiegato.Libero = Vero] /IniziaServizio(Cp) Figura 2.4: Automa a stati finiti del Cliente 2.3 Approcci alla simulazione La simulazione si effettua mediante un simulatore, un sistema software che si comporta come la realtà che si vuole simulare. La trattazione è in parte basata sul testo di Pidd (1998), al quale si rimanda per approfondimenti. In letteratura i simulatori sono classificati in base a quattro approcci: a eventi, ad attività, a processi, ad agenti. Anche se la struttura e il funzionamento di un simulatore dipendono da molti fattori e decisioni realizzative, in generale un simulatore comprende un controllore che gestisce la sequenza degli eventi e l evoluzione dello stato del sistema, facendo avanzare il tempo di simulazione Simulazione a eventi L approccio basato sugli eventi ha una notevole importanza storica: i principali linguaggi orientati alla simulazione lo inglobano, anche se in genere come una delle opzioni. I simulatori costruiti secondo questo approccio sono molto compatti ed efficienti, ma anche proprio per questo più costosi dal punto di vista della manutenzione e degli aggiornamenti. Per realizzare un simulatore a eventi si introducono le classi indicate nella figura 2.5. La classe Evento modella gli eventi gestiti dal simulatore ed è caratterizzata da un attributo che indica il momento in cui avviene l evento (t) e un operazione (EseguiAzione) che descrive l azione da effettuare quando avviene l evento. La classe Agenda modella il calendario degli eventi che devono accadere nel futuro ed è caratterizzata da un attributo (Lunghezza) che indica il numero di eventi in essa contenuti e da tre operazioni: Inserisci inserisce un nuovo evento, Scandisci opera una scansione della lista per determinare il tempo del prossimo evento, Esegui per ognuno degli eventi che avvengono al tempo corrente, ne controlla le condizioni e, se verificate, ne esegue le azioni.

20 14 CAPITOLO 2. SIMULAZIONE DISCRETA Figura 2.5: Diagramma delle classi di un simulatore a eventi La figura 2.6 riporta il diagramma degli stati del controllore di un simulatore a eventi. Figura 2.6: Controllore di un simulatore a eventi Il controllore scandisce il calendario degli eventi per determinare il nuovo tempo corrente, pari all istante in cui è previsto il primo degli eventi. Se questo istante è maggiore o uguale al tempo massimo, allora al tempo corrente è assegnato il valore end e la simulazione termina. Se il tempo corrente è inferiore al tempo massimo della simulazione, allora si eseguono le azioni relative agli eventi del calendario le cui condizioni sono verificate. Il calcolo del tempo corrente fa avanzare il tempo di simulazione. Nel caso del botteghino del teatro ci sono tre tipi di eventi: ArrivaCp, ArrivaCt, F ineservizio. Tutti gli eventi agiscono, producendo azioni, sia sull entità Impiegato che sulle entità Cliente, anche se lo fanno seguendo un ordine prestabilito. In particolare ArrivaCp agisce prima di ArrivaCt, nel caso i due eventi si verifichino nello stesso istante. Questo garantisce che un cliente fisico che arriva allo stesso tempo di una telefonata sia servito prima.

21 2.3. APPROCCI ALLA SIMULAZIONE 15 Più in dettaglio gli effetti dei tre eventi sono i seguenti. ArrivaCp. Se l impiegato è occupato il cliente viene inserito in Q p, altrimenti inizia il servizio e sia l impiegato che il cliente passano allo stato di servizio. ArrivaCt. Se l impiegato è occupato, oppure è arrivato contemporaneamente a un cliente fisico, il cliente viene inserito in Q t. Altrimenti inizia il servizio e sia l impiegato che il cliente passano allo stato di servizio. F ineservizio. Se la coda Q p non è vuota, l impiegato rimane nello stato di servizio ed estrae il primo cliente da Q p, altrimenti estrae il primo cliente da Q t, se tale coda non è vuota. In entrambi i casi, il cliente estratto passa allo stato di servizio e viene programmato un nuovo evento F ineservizio. Se entrambe le code sono vuote, l impiegato si mette in attesa, cambiando così di stato. Il cliente appena servito esce dal sistema Simulazione ad attività In questo approccio, a partire dal diagramma degli stati si decompongono le attività svolte nel sistema in attività elementari. Queste attività corrispondono agli eventi, cioè a quei fatti o azioni che portano ai cambiamenti di stato del sistema e che quindi danno origine alle transizioni. Il controllore gestisce la lista delle attività individuate in modo che siano eseguite. Ogni attività è caratterizzata dalla condizione che la fa avvenire e dalle azioni che sono corrispondentemente fatte ed è rappresentata con una tabella in cui sono riportate le informazioni rilevanti. La figura 2.7 mostra le classi di un simulatore ad attività. La classe delle attività (Attività) è caratterizzata da due attributi: il tempo al quale l attività deve essere realizzata e la condizione che la fa realizzare; uno solo dei due attributi è presente in una data attività. La lista delle attività (ListaAttività) può essere vista come un calendario delle attività. Ad essa sono associate due operazioni: Scandisci, che scandisce la lista per determinare il tempo della prossima o delle prossime attività; Esegui, che esegue le attività previste al tempo t e restituisce un valore logico che indica che tutte le attività sono state eseguite.

22 16 CAPITOLO 2. SIMULAZIONE DISCRETA Figura 2.7: Diagramma delle classi di un simulatore ad attività La figura 2.8 riporta il diagramma degli stati del controllore di un simulatore ad attività. Figura 2.8: Controllore di un simulatore ad attività Il controllore scandisce la lista di attività per determinare il nuovo tempo corrente, pari all istante in cui è prevista la prima attività da eseguire. Se questo istante è maggiore o uguale al tempo massimo, allora al tempo corrente viene assegnato il valore end e la simulazione termina. Se invece l istante è inferiore al tempo massimo della simulazione, allora si eseguono tutte le attività della lista le cui condizioni sono verificate (ciclo interno). Per eseguire questa operazione è necessario scandire più volte la lista perché l esecuzione di un attività può soddisfare le condizioni relative a un altra fra quelle già esaminate. L operazione è completata quando un intera scansione della lista non causa l esecuzione di alcuna attività. Quando tutte le attività da eseguire sono state completate il controllore calcola il nuovo tempo corrente e inizia un nuovo ciclo. Il calcolo del tempo corrente fa avanzare il tempo di simulazione.

23 2.3. APPROCCI ALLA SIMULAZIONE 17 Le attività che si svolgono nell esempio del botteghino del teatro sono le seguenti: a[1] Inizio servizio allo sportello. a[2] Inizio servizio al telefono. a[3] Fine servizio allo sportello. a[4] Fine servizio al telefono. a[5] Arrivo cliente allo sportello. a[6] Arrivo cliente al telefono. Tutte queste attività sono elementari e non coincidono con le operazioni descritte nei diagrammi mostrati nelle figure 2.3 e 2.4. Esse fanno piuttosto riferimento all inizio e alla fine degli stati attivi. Una loro descrizione più dettagliata indica, per ogni attività, gli attributi (tempo e condizione) previsti dal modello generale. La prima attività ha la seguente struttura. Attività a[1]: Inizio servizio allo sportello Attributi - I.Libero = vero & Qp.lunghezza > 0 Azioni a[3].t := T C + Qp.Estrai().t; I.Libero := falso In questo caso l attributo tempo non è definito, mentre la condizione è che allo stesso tempo abbia valore vero l attributo Libero dell impiegato I (I.Libero = vero) e risulti non vuota la coda (Qp.lunghezza > 0). Se la condizione è verificata, si programma la fine del servizio al tempo corrente, T C, più il tempo di servizio del cliente, cioè il suo attributo t, e si pone a falso il valore dell attributo Libero dell impiegato. Il cliente è ottenuto effettuando l operazione Estrai sulla coda Qp. La seconda attività è simile. Attività a[2]: Inizio servizio al telefono Attributi - I.Libero = vero & Qp.lunghezza = 0 & Qt.lunghezza > 0 Azioni a[4].t := T C + Qt.Estrai().t; I.Libero := falso La terza e la quarta attività hanno le seguente struttura comune.

24 18 CAPITOLO 2. SIMULAZIONE DISCRETA Attività Attributi Azioni a[3]/a[4]: Fine servizio t vero I.Libero := vero Queste attività hanno un istante di tempo in cui devono essere realizzate, quello di fine servizio calcolato dalle attività a[1] o a[2], mentre la condizione è sempre verificata. L unica azione che viene fatta è quella di rendere libero l impiegato. L attività a[5] è riportata di seguito. Non è invece riportata la a[6], sostanzialmente identica. Attività Attributi Azioni a[5]: Arrivo cliente fisico t vero Qp.Inserisci(nuovoCliente(rndp1()) a[5].t := T C + rndp2() Le azioni da svolgere sono due. Innanzitutto si invoca un generatore di numeri casuali (rndp1) che genera il cliente che arriva, con le sue caratteristiche; il cliente così generato è inserito nella coda. Poi si programma il prossimo arrivo, modificando il tempo della attività. Anche qui si usa un generatore di numeri casuali (rndp2) per determinare l intervallo di tempo fra l arrivo attuale e il prossimo 6. In questo approccio si considerano attività elementari che comportano una singola operazione di cambiamento di stato. Ad esempio, nel caso dell attività Arrivo cliente, anche se la coda è vuota e l impiegato disponibile, si mette il cliente in coda; ci sarà poi un attività di tipo Inizio servizio che si verificherà subito dopo (però sempre nello stesso istante del tempo di simulazione) e che provvederà a fare iniziare il servizio estraendo il cliente dalla coda. Il tempo effettivo di permanenza in coda è nullo. Ciascuna di queste attività elementari è indipendente dalle altre. Questa tecnica ha il vantaggio di rendere semplice l aggiornamento o la manutenzione dei simulatori ad attività. Ha però un prezzo, la ripetuta scansione, da parte del controllore, di una lista che può essere potenzialmente molto lunga. 6 I generatori di numeri casuali, descritti più in dettaglio nel seguito, sono usati nella simulazione per generare tempi di arrivo e di servizio che abbiano le stesse proprietà statistiche di quelli reali.

25 2.3. APPROCCI ALLA SIMULAZIONE 19 Tc = listab.scandisci(end) [Tc = end] [Tc < end] listab.esegui(tc) done = listac.esegui(tc) [done = vero] [done = falso] Figura 2.9: Controllore di un simulatore ad attività basato sul metodo delle tre fasi Analizzando le attività elementari si nota come esse possano essere considerate di due tipi, attività condizionate e attività programmate. Le prime sono attività che si verificano, indipendentemente dal valore del tempo di simulazione, ogni volta che si verificano determinate condizioni logiche. Appartengono a questa classe nell esempio del botteghino del teatro le attività a[1] ed a[2]. Infatti nella descrizione di queste attività l attributo tempo non è definito: lo svolgersi di esse dipende dallo stato complessivo del sistema. Le seconde invece sono destinate a svolgersi in tempi prefissati, indipendentemente dallo stato del sistema. Sono di questo tipo le attività a[3], a[4], a[5], ed a[6]. Da questa osservazione segue che le scansioni ripetute di tutta la lista delle attività da parte del controllore portano a effettuare controlli non necessari. In effetti le attività programmate possono essere scandite una sola volta, mentre le scansioni ripetute possono essere limitate alla parte della lista che contiene le attività condizionate. Questo permette di rendere più efficienti le operazioni del controllore. Un approccio di questo tipo viene chiamato metodo delle tre fasi (Pidd, 1998). Il diagramma degli stati di un simulatore che utilizza il metodo delle tre fasi è indicato in figura 2.9, dove listab e listac sono, rispettivamente, la lista delle attività programmate e quella delle attività condizionate.

26 20 CAPITOLO 2. SIMULAZIONE DISCRETA Simulazione a processi In questo approccio gli eventi e le operazioni di un entità sono accorpati in una sequenza detta processo. A seconda della complessità del comportamento di un entità si possono avere processi semplici o molto articolati. Nel caso del botteghino del teatro, ogni processo è relativo a un cliente. Ad esempio, il processo P (C) è relativo a un cliente fisico C ed è costituito dalle seguenti operazioni, descritte con la notazione usata nella simulazione ad attività: 1. Arrivo del cliente C quando il tempo di simulazione è uguale al suo tempo di arrivo, cioè quando T C = P (C).t. 2. Il cliente C è inserito nella coda dei clienti fisici e si pone il processo P (C) in stato di attesa fino a quando il cliente C non si trovi in testa alla coda e risulti Impiegato.libero = vero; 3. Il cliente C è estratto dalla coda dei clienti fisici. Si pone Impiegato.libero a falso, si pone P (C).Tempo Prossima Attività =T C + C.t, e si pone il processo P (C) in stato di attesa fino a quando T C = P (C).Tempo Prossima Attività; 4. Si pone Impiegato.Libero a vero e si termina il processo P (C). Un processo può essere attivo oppure in attesa. In quest ultimo caso, l attesa può essere condizionata, quando la ripresa dell attività del processo dipende dal realizzarsi di condizioni esterne, oppure programmata, quando l istante di riattivazione del processo è predefinito. Nell esempio del botteghino del teatro c è un attesa condizionata (operazione n.2) e un attesa programmata (operazione n.3). Nella descrizione del processo sono state omesse le operazioni di calcolo del tempo di arrivo di un nuovo cliente, di creazione del processo relativo e di messa in stato di attesa. Nell esempio del botteghino del teatro l impiegato è trattato come una risorsa utilizzata dai processi relativi ai clienti. In casi più complessi si possono avere diverse classi di entità e di processi che competono per l uso delle risorse. I processi interagiscono tra loro e ognuno può essere, in generale, condizionato dallo stato di tutti gli altri. Il controllore mantiene una lista che contiene due informazioni per ciascun processo: il tempo di riattivazione (se conosciuto) e il punto in cui il processo deve essere riattivato. Questa lista può essere organizzata in due sottoliste:

27 2.3. APPROCCI ALLA SIMULAZIONE 21 quella degli eventi futuri, che contiene i processi in attesa programmata e il cui tempo di riattivazione è maggiore del tempo corrente; quella degli eventi correnti, che contiene sia i processi in attesa programmata che devono essere riattivati al tempo corrente, sia i processi in attesa condizionata. Questi ultimi stanno in questa lista, anche se non saranno necessariamente riattivati, perché il riattivarsi di uno degli altri può creare le condizioni per la loro riattivazione. Dopo la fase di inizializzazione in cui si assegna il valore vero all attributo Libero dell impiegato e si genera il primo cliente, il controllore effettua ciclicamente le seguenti operazioni: (i) scandisce la sottolista degli eventi futuri, per determinare e aggiornare il tempo di simulazione; (ii) sposta dalla sottolista degli eventi futuri a quella degli eventi correnti le entità il cui tempo di riattivazione coincide con il tempo di simulazione; (iii) scandisce ripetutamente la sottolista degli eventi correnti, cercando di spingere ciascuna entità il più avanti possibile nel suo processo (quando è posta in attesa programmata un entità è spostata nella sottolista degli eventi futuri). Seguendo l approccio a processi è possibile realizzare simulatori efficienti computazionalmente. Tuttavia, questo approccio richiede, soprattutto per modelli complessi, grande attenzione nella gestione delle interazioni tra processi per evitare che si creino situazioni di stallo. Questo aspetto è particolarmente critico quando si interviene su un modello già esistente, per aggiornarlo o modificarlo Simulazione ad agenti La simulazione per agenti è un approccio più recente degli altri, che ha suscitato un notevole e crescente interesse soprattutto nei settori delle scienze biologiche e sociali. In questo tipo di simulazione il sistema in esame è modellato per mezzo di un ambiente e di un insieme di agenti che interagiscono tra loro facendo così evolvere il sistema. La letteratura sulla simulazione per agenti riporta diverse definizioni del concetto di agente. Le principali caratteristiche degli agenti sono le seguenti (Charles and Michael, 2006). Un agente è un entità discreta dotata di proprietà e di obiettivi che ne caratterizzano e guidano il comportamento ed è dotata della capacità di prendere decisioni. La discretezza implica una chiara definizione dei

28 22 CAPITOLO 2. SIMULAZIONE DISCRETA confini tra agente e mondo esterno, cioè che sia facilmente determinabile ciò che fa parte dell agente e ciò che non ne fa parte. Un agente è situato in un ambiente che contiene altri agenti. L agente interagisce con l ambiente e con gli altri agenti. I protocolli che consentono tali interazioni devono essere chiaramente e precisamente definiti. Un agente può avere obiettivi ed è capace di valutare gli esiti delle sue azioni rispetto a tali obiettivi. Un agente è autonomo e, almeno relativamente a un insieme di possibili azioni, può agire indipendentemente nell ambiente e nei rapporti con gli altri agenti. Un agente è flessibile e ha la capacità di imparare e adattare le sua azioni sulla base dell esperienza. Ha una qualche forma di memoria ed, eventualmente, delle metaregole che gli permettono di modificare le sue azioni. L ambiente rappresenta le entità e le informazioni che hanno un effetto sul sistema da modellare e, quindi, sugli agenti. Ad esempio, fanno parte dell ambiente le risorse disponibili, la domanda (quando non sia anch essa rappresentata per mezzo di agenti), parametri quali tasso di sconto, costi, probabilità di guasto di una macchina e così via. In questo approccio, di norma il tempo avanza per intervalli regolari. Ad ogni passo della simulazione il controllore fa avanzare il tempo e fa eseguire le azioni previste per ciascun agente. Anche qui, come nella simulazione ad attività, ci possono essere azioni effettuate ad ogni avanzamento del tempo e azioni condizionate che sono effettuate solo quando si verificano opportune condizioni. 2.4 Esempi di modelli di simulazione Servizio piccoli prestiti In una banca il servizio dei piccoli prestiti funziona secondo le seguenti modalità. Il cliente si rivolge all ufficio apposito, dove un impiegato esamina la richiesta. Se questa rispetta un certo numero di criteri prefissati, è approvata;

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

2. Simulazione discreta: approcci alla simulazione

2. Simulazione discreta: approcci alla simulazione Anno accademico 2007/08 Elementi di un programma di simulazione Controllore Tempo di simulazione Generatore dei dati di input Entità Eventi Attività Stati Processi Simulazione per eventi: le classi L approccio

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Parte 4. Progettazione di una simulazione

Parte 4. Progettazione di una simulazione Parte 4 Progettazione di una simulazione Fasi di uno studio di simulazione l approccio a cascata Problema Analisi e validazione Progettazione e test Sistema Modello concettuale Programma di simulazione

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

2. Simulazione discreta: L uso di UML per la modellazione

2. Simulazione discreta: L uso di UML per la modellazione 2. Simulazione discreta: L uso di UML per la modellazione Anno accademico 2007/08 UML: un linguaggio di modellazione Per rappresentare graficamente i modelli di simulazione useremo la grafica e la sintassi

Dettagli

Cap.1 - L impresa come sistema

Cap.1 - L impresa come sistema Cap.1 - L impresa come sistema Indice: L impresa come sistema dinamico L impresa come sistema complesso e gerarchico La progettazione del sistema impresa Modelli organizzativi per la gestione Proprietà

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

come nasce una ricerca

come nasce una ricerca PSICOLOGIA SOCIALE lez. 2 RICERCA SCIENTIFICA O SENSO COMUNE? Paola Magnano paola.magnano@unikore.it ricevimento: martedì ore 10-11 c/o Studio 16, piano -1 PSICOLOGIA SOCIALE COME SCIENZA EMPIRICA le sue

Dettagli

3. Simulazione discreta: L uso di UML per la modellazione

3. Simulazione discreta: L uso di UML per la modellazione 3. Simulazione discreta: L uso di UML per la modellazione Anno accademico 2009/10 UML: un linguaggio di modellazione Per rappresentare graficamente i modelli di simulazione useremo la grafica e la sintassi

Dettagli

Introduzione alla Simulazione Numerica

Introduzione alla Simulazione Numerica Introduzione alla Simulazione Numerica Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - Novembre 2001 Simulazione numerica Tecnica che permette di eseguire esperimenti su un

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Capitolo 2. Simulazione discreta. 2.1 Il sistema da modellare

Capitolo 2. Simulazione discreta. 2.1 Il sistema da modellare Capitolo 2 Simulazione discreta In questo capitolo presentiamo i concetti base per la costruzione di modelli di simulazione e i principali approcci alla simulazione discreta. La trattazione è in parte

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

Manuale della qualità. Procedure. Istruzioni operative

Manuale della qualità. Procedure. Istruzioni operative Unione Industriale 19 di 94 4.2 SISTEMA QUALITÀ 4.2.1 Generalità Un Sistema qualità è costituito dalla struttura organizzata, dalle responsabilità definite, dalle procedure, dai procedimenti di lavoro

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 11. Esercizi riassuntivi Dipartimento di Informatica Università di Pisa A.A. 2014/15 Descrizione del problema. L esempio descrive un sistema per il commercio, chiamato TradingSystem,

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Capitolo 4 - Teoria della manutenzione: la gestione del personale

Capitolo 4 - Teoria della manutenzione: la gestione del personale Capitolo 4 - Teoria della manutenzione: la gestione del personale Con il presente capitolo si chiude la presentazione delle basi teoriche della manutenzione. Si vogliono qui evidenziare alcune problematiche

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Modulo: Scarsità e scelta

Modulo: Scarsità e scelta In queste pagine è presentato un primo modello di conversione di concetti, schemi e argomentazioni di natura teorica relativi all argomento le scelte di consumo (presentato preliminarmente in aula e inserito

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

IN COLLABORAZIONE CON OPTA SRL

IN COLLABORAZIONE CON OPTA SRL PROGRAMMARE LA PRODUZIONE IN MODO SEMPLICE ED EFFICACE IN COLLABORAZIONE CON OPTA SRL SOMMARIO 1. L AZIENDA E IL PRODOTTO 2. IL PROBLEMA 3. DATI DI INPUT 4. VERIFICA CARICO DI LAVORO SETTIMANALE 5. VERIFICA

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

L uso della Balanced Scorecard nel processo di Business Planning

L uso della Balanced Scorecard nel processo di Business Planning L uso della Balanced Scorecard nel processo di Business Planning di Marcello Sabatini www.msconsulting.it Introduzione Il business plan è uno strumento che permette ad un imprenditore di descrivere la

Dettagli

DEPLOY YOUR BUSINESS

DEPLOY YOUR BUSINESS DEPLOY YOUR BUSINESS COS É ARROCCO? E uno strumento online per lo sviluppo del Piano Economico-Finanziario del Business Plan. Arrocco è uno strumento online appositamente progettato per lo sviluppo di

Dettagli

Management Sanitario. Modulo di Ricerca Operativa

Management Sanitario. Modulo di Ricerca Operativa Management Sanitario per il corso di Laurea Magistrale SCIENZE RIABILITATIVE DELLE PROFESSIONI SANITARIE Modulo di Ricerca Operativa Prof. Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

La ricerca empirica in educazione

La ricerca empirica in educazione La ricerca empirica in educazione Alberto Fornasari Docente di Pedagogia Sperimentale Dipartimento di Scienze della Formazione, Psicologia, Comunicazione Il ricercatore ha il compito di trovare relazioni

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Per dimostrare i benefici della citylogistics in presenza di condizioni favorevoli per farla decollare, abbiamo deciso di costruire un modello di

Per dimostrare i benefici della citylogistics in presenza di condizioni favorevoli per farla decollare, abbiamo deciso di costruire un modello di Per dimostrare i benefici della citylogistics in presenza di condizioni favorevoli per farla decollare, abbiamo deciso di costruire un modello di simulazione con l aiuto della società Flexcon di Torino

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Gestione della politica monetaria: strumenti e obiettivi corso PAS. Mishkin, Eakins, Istituzioni e mercati finanziari, 3/ed.

Gestione della politica monetaria: strumenti e obiettivi corso PAS. Mishkin, Eakins, Istituzioni e mercati finanziari, 3/ed. Gestione della politica monetaria: strumenti e obiettivi corso PAS 1 Anteprima Con il termine politica monetaria si intende la gestione dell offerta di moneta. Sebbene il concetto possa apparire semplice,

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10 Angelo Bonomi CONSIDERAZIONI SUL MONITORAGGIO Un monitoraggio ottimale dipende dalle considerazioni seguenti:

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

Calcolo delle probabilità

Calcolo delle probabilità Calcolo delle probabilità Laboratorio di Bioinformatica Corso A aa 2005-2006 Statistica Dai risultati di un esperimento si determinano alcune caratteristiche della popolazione Calcolo delle probabilità

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

Norme per l organizzazione - ISO serie 9000

Norme per l organizzazione - ISO serie 9000 Norme per l organizzazione - ISO serie 9000 Le norme cosiddette organizzative definiscono le caratteristiche ed i requisiti che sono stati definiti come necessari e qualificanti per le organizzazioni al

Dettagli

Sistemi di Controllo per l Automazione Industriale

Sistemi di Controllo per l Automazione Industriale 10 marzo 2015 Ing. foglietta.chiara@gmail.com Università degli Studi di Cassino e del Lazio Meridionale Agenda Eventi Esempi di Eventi 2 Ing. Università degli Studi Roma TRE Email: foglietta.chiara@gmail.com

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

ISTITUTO COMPRENSIVO DI CANEVA DIPARTIMENTO AREA MATEMATICA-SCIENZE-TECNOLOGIA Scuola Primaria di SARONE. Il Supermercato a scuola

ISTITUTO COMPRENSIVO DI CANEVA DIPARTIMENTO AREA MATEMATICA-SCIENZE-TECNOLOGIA Scuola Primaria di SARONE. Il Supermercato a scuola ISTITUTO COMPRENSIVO DI CANEVA DIPARTIMENTO AREA MATEMATICA-SCIENZE-TECNOLOGIA Scuola Primaria di SARONE Il Supermercato a scuola C osa? C ome? Q uando? P erché? Abbiamo scelto di creare a scuola un angolo

Dettagli

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4) FAQ INVIO DOMANDE CIGO CON FLUSSO XML Cosa serve per inviare una domanda CIGO con il flusso XML? (pag. 2) Come si prepara una domanda in formato XML? (pag. 3) Che differenza c è tra una richiesta XML ed

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

Dettagli

Metodi e Modelli Matematici di Probabilità per la Gestione

Metodi e Modelli Matematici di Probabilità per la Gestione Metodi e Modelli Matematici di Probabilità per la Gestione Prova scritta del 30/1/06 Esercizio 1 Una banca ha N correntisti. Indichiamo con N n il numero di correntisti esistenti il giorno n-esimo. Descriviamo

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea

Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea Testo alla base del Pitgame redatto dal prof. Yvan Lengwiler, Università di Basilea Funzionamento di un mercato ben organizzato Nel Pitgame i giocatori che hanno poche informazioni private interagiscono

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

La gestione manageriale dei progetti

La gestione manageriale dei progetti PROGETTAZIONE Pianificazione, programmazione temporale, gestione delle risorse umane: l organizzazione generale del progetto Dimitri Grigoriadis La gestione manageriale dei progetti Per organizzare il

Dettagli

EasyMACHINERY ERPGestionaleCRM. partner

EasyMACHINERY ERPGestionaleCRM. partner ERPGestionaleCRM partner La soluzione software per le aziende di produzione di macchine Abbiamo trovato un software e un partner che conoscono e integrano le particolarità del nostro settore. Questo ci

Dettagli

La riforma del servizio di distribuzione del

La riforma del servizio di distribuzione del CReSV Via Röntgen, 1 Centro Ricerche su Sostenibilità e Valore 20136 Milano tel +39 025836.3626 La riforma del servizio di distribuzione del 2013 gas naturale In collaborazione con ASSOGAS Gli ambiti territoriali

Dettagli

Corso di Valutazione Economica dei Progetti e dei Piani. Marta Berni AA. 2006-2007

Corso di Valutazione Economica dei Progetti e dei Piani. Marta Berni AA. 2006-2007 Corso di Valutazione Economica dei Progetti e dei Piani AA. 2006-2007 PIANO e PIANIFICAZIONE 3 Pianificazione È il Processo con il quale un individuo, una impresa, una istituzione, una collettività territoriale

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica Progetto Portale Turistico Regionale Andrea Polini, Oliviero Riganelli, Massimo Troiani Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) Progetto 1 / 12 Il progetto - descrizione

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Stefania Pozio. Le prove INVALSI di matematica: il confronto con le indagini internazionali.

Stefania Pozio. Le prove INVALSI di matematica: il confronto con le indagini internazionali. Stefania Pozio Le prove INVALSI di matematica: il confronto con le indagini internazionali. Quali sono le principali indagini internazionali sulla matematica a cui l Italia partecipa? L Italia partecipa

Dettagli

Comune di San Martino Buon Albergo

Comune di San Martino Buon Albergo Comune di San Martino Buon Albergo Provincia di Verona - C.A.P. 37036 SISTEMA DI VALUTAZIONE DELLE POSIZIONI DIRIGENZIALI Approvato dalla Giunta Comunale il 31.07.2012 INDICE PREMESSA A) LA VALUTAZIONE

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile

Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile Che volontari cerchiamo? Daniela Caretto Lecce, 27-28 aprile Premessa All arrivo di un nuovo volontario l intero sistema dell associazione viene in qualche modo toccato. Le relazioni si strutturano diversamente

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA DISPENSA DEL CORSO DI SISTEMI INFORMATIVI Prof. Carlo Combi DFD Appunti a cura di E. Peri M. Devincenzi Indice 1

Dettagli

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli