Il problema del commesso viaggiatore

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il problema del commesso viaggiatore"

Transcript

1 ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico

2 Indice 1. Introduzione Presentazione del problema Obiettivo Il problema 2.1 Concetti chiave della teoria dei grafi Modello matematico ATSP NP-Completezza Branch and bound 3.1 Idea di base Il branching Il bounding Il fathoming L esplorazione dell albero Branch and bound per ATSP La web-app 4.1 Ottimizziamo il nostro percorso La realizzazione

3 1. Introduzione 1.1 Presentazione del problema Il problema del commesso viaggiatore, noto anche come Travelling Salesman Problem (TSP), è un problema della teoria dei grafi legato all ottimizzazione combinatoria. Oggetto di innumerevoli studi, il problema ha grande importanza dal punto di vista pratico per le sue applicazioni nella minimizzazione dei percorsi. Utile nella logistica e nei trasporti, la soluzione di questo problema porterebbe alle imprese vantaggi economici, organizzativi e qualitativi, in termini di tempi e spazi. Nella sua tradizionale formulazione, dato un insieme di città, si trovi il percorso minore che il commesso viaggiatore deve percorrere per visitarle tutte una ed una sola volta e tornare alla città di partenza. Tale problema però, apparentemente semplice, è stato classificato come NP-completo in quanto le sue soluzioni assumono complessità esponenziale. La soluzione esatta consisterebbe, infatti, nell enumerazione di tutti i possibili percorsi e nella sucessiva scelta di quello migliore ma la complessità n! del problema rende tale operazione impraticabile. Nasce dunque la necessità di trovare procediementi matematici efficienti capaci di risolvere il problema in tempi ragionevoli. 1.2 Obiettivo Dopo una breve introduzione relativa ad alcuni concetti chiave nella teoria dei grafi, l elaborato si ripropone di esaminare l Asymmetric Travelling Salesman Problem (ATSP) in cui la distanza tra due città I e J non corrisponde alla distanza tra J e I. Viene quindi proposto un approccio risolutivo di tipo branch and bound in cui il problema viene diviso in sotto-problemi (branch) a cui sono associati delle stime ottimistiche (bound). Infine vi sarà una piccola presentazione della web-app realizzata con l intento di risolvere reali problemi relativi all ottimizzazione dei percorsi. 2

4 2. Il problema 2.1 Concetti chiave della teoria dei grafi Per comprendere la teoria relativa al problema del commesso viaggiatore vi è la necessità di capire alcuni concetti chiave della teoria dei grafi, perno fondamentale nella formulazione matematica del problema. Pertanto: Grafo diretto: si definisce grafo diretto una coppia D(V,A) in cui V è l insieme dei vertici di D mentre A è l insieme degli archi orientati (aventi una direzione). Grafo completo: si definisce grafo completo un grafo in cui ogni vertice è collegato a tutti gli altri vertici rimanenti. Ciclo hamiltoniano: dato un grafo, si definisce ciclo hamiltoniano un cammino che tocca tutti vertici del grafo una e una sola volta, tornando al vertice di partenza. 2.2 Modello matematico ATSP Il problema del commesso viaggiatore è definito su un grafo orientato D(V, A) in cui V rappresenta l insieme dei nodi (città) mentre A corrisponde all insieme degli archi (strade). Dunque ad ogni arco (i, j) A è associato un costo c ij espresso nella matrice dei costi. Definendo x ij come variabile binaria decisionale: (i, j) A, xij = 1, se (i, j) appartiene al ciclo 0, altrimenti 3

5 Pertanto il modello matematico del problema: min! cij xij (i,j) A funzione obiettivo xiv = 1 (i,v) A v N (1) xvj = 1 v N (2) (v,j) A (i,j) C xij C 1 C: C sottociclo in G (3) La funzione obiettivo, quindi, consiste nel minimizzare la somma degli archi selezionati. Il primo vincolo garantisce che gli archi entrino una ed una sola volta in ogni nodo mentre il secondo assicura che gli archi escano una e una sola volta da ogni nodo. L ultimo vincolo, infine assicura l assenza di soluzioni che contengono sotto-cicli dato che, per ogni insieme proprio di nodi, non è possibile selezionare un numero di archi interni pari o maggiore al numero dei nodi stessi. 2.3 NP-Completezza Classificando i problemi in base alle risorse necessarie per la loro risoluzione (generalmente tempo o spazio) emergono tre categorie: 1. I problemi che ammettono algoritmi di risoluzione efficienti; 2. I problemi che non possono essere risolti con algoritmi efficienti 3. I problemi per cui non sono stati trovati algoritmi efficienti ma per cui nessuno ha mai dimostrato che questi algoritmi non esistono La suddivisione ci porta alla definizione della classi di complessità, ovvero gruppi di problemi risolubili utilizzando una certa quantità di risorse. Pertanto, tale classificazione ci permette di esprimere la difficoltà dei problemi, confrontandoli. In particolar modo, esprimendo la complessità in funzione del tempo di calcolo, ci imbattiamo nelle classi P e NP contenenti i principali problemi dell informatica teorica. I problemi della classe P sono problemi risolubili in tempo polinomiale, ovvero ammettono algoritmi risolutivi il cui tempo massimo corrisponde a un polinomio dalle dimensioni dell input. Perciò i problemi di questa classe sono considerati trattabili in quanto ammettono algoritmi efficienti. La classe NP, invece, contiene problemi che non possono essere risolti in tempi polinomiali e si può dimostrare che ogni algoritmo richiede un tempo esponenziale o comunque asintoticamente superiore a ogni polinomio. Questi problemi vengono, dunque, considerati intrattabili in quanto richiedono un tempo di calcolo talmente elevato da essere inutilizzabili anche per problemi di piccole dimensioni. 4

6 Queste classi complementari, però, non contengono tutte le categorie di problemi. Esistono, infatti, dei problemi, classificati come NP-Completi, per cui non sono stati trovati algoritmi risolutivi dal tempo polinomiale ma non è neppure stato dimostrato che tali algoritmi non esistano. I problemi NP-Completi sono, quindi, problemi di decisione definiti attraverso il concetto di macchina non deterministica ed essi sono computazionalmente equivalenti, perciò trovare un algoritmo polinomiale per uno di questi problemi comporterebbe l esistenza di un algoritmo efficiente per tutti gli altri. L impossibilità di questa procedura ha portato alla congettura che i problemi NP-Completi non siano risolvibili in tempo polinomiale, perciò non sono contenuti nella classe P (a meno che P=NP). Teorema: Il problema del commesso viaggiatore è NP-completo. Dimostrazione: Supponiamo di avere un grafo G=(V, E) relativo a un istanza del problema del commesso viaggiatore. Costruiamo un grafo completo G =(V, E ) e una proposizione p p(e)=1 se e E altrimenti p(e)=2. Se n= V esiste un ciclo hamiltoniano in G ed esiste un tour in G di costo n. Se non esiste un ciclo hamiltoniano in G allora ogni tour in G deve includere almeno un arco il cui peso sia pari a 2. 5

7 3. Branch and bound 3.1 Idea di base L impossibilità di enumerare completamente le soluzioni e sceglierne la migliore ci spinge a un approccio risolutivo di tipo branch and bound che ci permette di enumerare in modo implicito ed esplicito tutte le soluzioni. Data la vastità della regione delle soluzioni ammissibili, in generale, l algoritmo consiste nel suddividere le soluzioni in sotto-insiemi e risolvere il problema su ciascuno di essi. L operazione, ripetuta ricorsivamente, porta alla generazione dell albero delle soluzioni in cui il problema P 0 rappresenta il problema iniziale. p P 0 P 1 p P 2 La ricostruzione completa delle soluzioni equivarrebbe all enumerazione di tutte le soluzioni possibili, perciò non praticabile. Dunque alla scomposizione del problema in nodi figli affianchiamo un metodo che ci permetta di esplorare esclusivamente le aree più promettenti (buone) della regione delle soluzioni. A tale scopo associamo ad ogni nodo dell albero delle soluzioni un valore ottimistico, noto come lower bound, che rappresenta il valore minimo che la funzione obiettivo può assumere nelle soluzioni del nodo stesso. Perciò, questo meccanismo ci permette di eliminare, attraverso l operazione di fanthoming, sottoalberi che sicuramente non contengono la soluzione ottima. Dato un problema di ottimizzazione combinatoria z = min/max f(x) con x appartenente alla regione delle soluzioni ammissibili: P 0 : problema iniziale completo; L: lista dei nodi aperti con (P i, B i ) in cui P i rappresenta il problema mentre B i il relativo bound; z: valore della migliore soluzione ammissibile; x: migliore soluzione possibile L algoritmo può essere così schematizzato: 1. Si esegue una stima ottimistica sul problema completo e si pone L={(P 0, B 0 )}, x =, z = + ; 2. ARRESTO: se L=, allora x è ottima; 3. BRANCHING: partizioniamo P i in sotto-problemi P ij ; 4. BOUNDING: valuto la stima ottimistica B ij per ogni sotto-problema generato; 5. FANTHOMING: se P ij non ammissibile o B ij non migliore di z, torno a 2; se Pij è ammissibile e migliore di z pongo z P ij e x B ij, elimino tutti i nodi di L aventi bound maggiore di B ij e torno a 2; Altrimenti aggiungo a L (P ij, B ij ) e torno a 1. 6

8 3.2 Il branching Il branching ci permette di ottenere l albero delle soluzioni attraverso la partizione del problema in sotto-problemi. In particolar modo le regole di branching devono garantire la completezza delle soluzioni (ossia che non ne vengano perse) i Pi = P e che, per migliorare l efficienza computazionale, non si duplichino nei figli generati, perciò P i P j =. Emerge che: per la prima condizione la soluzione ottima si trova sempre in uno dei due figli; ciascun nodo figlio eredita i vincoli del nodo padre (scendendo di livello nell albero delle soluzioni i nodi presentano un numero sempre maggiore di vincoli) Generalmente il branching viene stabilito attraverso una o più variabili decisionali per ogni nodo. 3.3 Il bounding Ottenuto un nodo attraverso il branching, vi è la necessità di associarvi una valutazione ottimistica che rappresenta il valore minimo (lower bound) che la funzione obiettivo può assumere nello sviluppo del sotto-albero del nodo stesso. Nel caso peggiore, il numero di nodi generati è esponenziale rispetto alla dimensione dell input, perciò l algoritmo relativo al calcolo del bound, che deve essere eseguito per ogni nodo, dovrà essere piuttosto rapido, in termini di tempo d esecuzione, ed efficiente. Inoltre il lower bound dovrà essere il più stringente possibile in quanto dovrà permetterci di scremare dalla lista dei nodi aperti il numero più alto possibile di nodi aventi bound più elevato 7

9 3.4 Il fathoming Il bound di ogni nodo, confrontato con quello della soluzione ammissibile migliore corrente, ci permette di considerare implicitamente esplorati i sotto-alberi del nodo, in quanto siamo sicuri che la soluzione migliore non sia presente in quella parte dell albero. Questi nodi, allora, vengono considerati chiusi e potati (fathomed). Ad ogni nodo, quindi corrisponde una condizione: N.A Soluzione non ammissibile: S.A Soluzione ammissibile: N.M Soluzione non migliorante: il problema non ammette soluzioni (solitamente nella discendenza dei nodi figli si generano dei conflitti nelle variabili decisionali ); avendo trovato una soluzione ammissibile con il relativo lower bound, non ha senso sviluppare il suo sotto-albero (le soluzioni del sotto-albero non saranno miglioranti). Pertanto, è possibile confrontare la soluzione con la soluzione migliore e, nel caso di miglioramento, chiudere eventuali nodi non miglioranti precedentemente aperti; soluzione che non migliora la soluzione corrente (il suo bound è inferiore rispetto a quello della soluzione migliore); 3.5 L esplorazione dell albero Per ottimizzare l algoritmo in funzione dei tempi di elaborazione e della memoria occupata dobbiamo stabilire una politica per l esplorazione dell albero, dunque dobbiamo trovare il nodo padre su cui effettuare il branching. Vi sono tre principali strategie di esplorazione: Best bound first: Depth first: si sceglie il nodo avente bound migliore, ovvero il nodo più promettente. Questa strategia ci permette di rimanere nei livelli poco profondi dell albero delle soluzioni e di esplorare esplicitamente un minor numero di nodi, risultando più efficiente. D altra parte, però, vi è un maggior numero di nodi aperti a discapito della memoria utilizzata. Generalmente viene implementata inserendo il nodo aperto in una lista ordinata. si sceglie il nodo di livello più profondo. Pur rischiando di far esplodere completamente l albero, visitandolo tutto, questo algoritmo ci permette di ottenere rapidamente della soluzioni ammissibili limitando l uso della memoria necessaria per i nodi contemporaneamente aperti. 8

10 3.6 Branch and bound per ATSP Dopo aver descritto in generale il branch and bound dobbiamo parlare della sua applicazione nel problema del commesso viaggiatore asimmetrico che, solitamente, viene riassunto nella matrice dei costi in cui vi è la distanza tra ogni coppia di città. Alla radice dell albero delle soluzioni si considera, dunque, il problema completo e il suo relativo bound, si esegue il branching e, sui nodi figli generati, si risolve il problema di assegnamento relativo. Per eliminare i sottocicli, come previsto dal modello matematico, possiamo allora togliere un sottociclo alla volta ponendo x ij = 0 e c ij = + R. Pertanto l implementazione del branching segue questa regola: ottenuta una soluzione avente sotto-ciclo C, si sceglie un arco (i, j) C e si generano C nodi figli, un figlio con variabile decisionale x ij =0 e per ciascuno dei restanti C -1 figli x ij =1 e x uv =0 con (u,v) C (u,v) (i, j). Il bound, invece, può essere calcolato attraverso la risoluzione del problema d assegnamento relativo alla matrice dei costi del nodo stesso. Un esempio per la risoluzione del problema d assegnamento può sicuramente essere l algoritmo ungherese. 9

11 4. La web-app 4.1 Ottimizziamo il nostro percorso La web-app realizzata, disponibile nel sito nasce dall idea di voler applicare il problema del commesso viaggiatore a situazioni reali. Semplice ed intuitiva, l applicazione permette infatti, attraverso l integrazione di google maps, di ottimizzare i percorsi relativi ai luoghi a noi necessari. Essenziale ed accattivante, dunque, l obiettivo è quello di offrire all utente un potente mezzo per ottimizzare il proprio tempo e il proprio tragitto, organizzandolo ed ottendo le indicazioni necessarie. 4.2 La realizzazione Il cuore della web-app consiste nell integrazione di google maps, infatti, attraverso le sue API v3, è possibile utilizzare i servizi di geolocalizzazione e organizzazione dei percorsi (indicazioni) offerti dai server google. Essendo le api di google maps in javascript, l intero branch and bound è stato implementato in js, permettendo di rendere l applicazione estremamente veloce e lo svincola dalla necessità di dover ricaricare la pagina. Riportiamo qui un pezzo significativo del codice relativo al branching: 0 //Implementazione branching 1 function vincolifiglio(padre){ 2 var decisione=[]; 3 figlio=new Nodo(); //creazione oggetto nodo 4 figlio=clone(padre); //si copia l oggetto padre nel figlio 5 decisione[0]=padre.sottociclo[0]; 6 decisione[1]=padre.sottociclo[1]; 7 decisione[2]=0; 8 figlio.vardecisionali.push(decisione); //inserimento var decisionali 9 gestiscinodo(figlio); //gestione del nodo con calcolo del bound 10 for(var i=1;i<padre.sottociclo.length-1;i++){ 11 decisione=[]; 12 figlio=new Nodo(); 13 figlio=clone(padre); 14 decisione[0]=padre.sottociclo[0]; 15 decisione[1]=padre.sottociclo[1]; 16 decisione[2]=1; 17 figlio.vardecisionali.push(decisione); 18 decisione=[]; 19 decisione[0]=padre.sottociclo[i]; 20 decisione[1]=padre.sottociclo[i+1]; 21 decisione[2]=0; 22 figlio.vardecisionali.push(decisione); 23 gestiscinodo(figlio); 24 } 25 } 10

12 Invece si riporta una porzione relativa all integrazione di google maps che ci permette di ottenere le indicazioni relative al percorso da effettuare: 0 // Informazioni percorso 1 // Dichiarazione variabili google maps 2 var directionsdisplay; 3 var directionsservice=new google.maps.directionsservice(); 4 var directionsdisplay=new google.maps.directionsrenderer({'map':map}); 5 function calcroute() { 6 start = inizio; 7 end = fine; 8 var waypts = []; // Creo la lista per inserire i punti intermdi 9 for (var i = 2; i < arrayindirizzi.length ; i++) { 10 waypts.push({ 11 location:arrayindirizzi[i], 12 stopover:true}); 13 } var request = { // Creo la variabile che verrà passata come richiesta 16 origin: start, 17 destination: end, 18 waypoints: waypts, 19 travelmode: google.maps.travelmode.driving 20 }; directionsservice.route(request, function(response, status) { 23 if (status == google.maps.directionsstatus.ok) { 24 directionsdisplay.setdirections(response); //Verifico l esito 25 } 26 }); 27 } Dal punto di vista grafico, invece, è stato utilizzato un template in HTML5 responsive che si adatta ai dispositivi d utilizzo. 11

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Il Metodo Branch and Bound

Il Metodo Branch and Bound Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

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

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

Ricerca Operativa A.A. 2007/2008

Ricerca Operativa A.A. 2007/2008 Ricerca Operativa A.A. 2007/2008 9. Cenni su euristiche e metaeuristiche per ottimizzazione combinatoria Motivazioni L applicazione di metodi esatti non è sempre possibile a causa della complessità del

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

Problema del trasporto

Problema del trasporto p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. Nel deposito i è immagazzinata la quantità a i di prodotto. Nel

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

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

UD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2

UD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2 UD 3.4b: Trattabilità e Intrattabilità Dispense, cap. 4.2 Problemi Intrattabili Esistono problemi che, pur avendo un algoritmo di soluzione, non forniranno mai una soluzione in tempi ragionevoli nemmeno

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

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 1.7 Servizi informatici. Un negozio di servizi informatici stima la richiesta di ore di manutenzione/consulenza per i prossimi cinque mesi: mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 All inizio

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

montagna ai trasporti internazionali Luca Bertazzi

montagna ai trasporti internazionali Luca Bertazzi Il problema dello zaino: dalla gita in montagna ai trasporti internazionali Luca Bertazzi 0 Il problema dello zaino Zaino: - capacità B Oggetti (items): - numero n - indice i =1,2,...,n - valore p i -

Dettagli

Complessità computazionale degli algoritmi

Complessità computazionale degli algoritmi Complessità computazionale degli algoritmi Lezione n. 3.bis I precursori dei calcolatore Calcolatore di Rodi o di Andikithira 65 a.c. Blaise Pascale pascalina XVII secolo Gottfried Leibniz Joseph Jacquard

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Complessità Computazionale

Complessità Computazionale Complessità Computazionale Analisi Algoritmi e pseudocodice Cosa significa analizzare un algoritmo Modello di calcolo Analisi del caso peggiore e del caso medio Esempio di algoritmo in pseudocodice INSERTION

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

Metodi Computazionali

Metodi Computazionali Metodi Computazionali Elisabetta Fersini fersini@disco.unimib.it A.A. 2009/2010 Catene di Markov Applicazioni: Fisica dinamica dei sistemi Web simulazione del comportamento utente Biologia evoluzione delle

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Parte I. Prima Parte

Parte I. Prima Parte Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 19/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Barriere assorbenti nelle catene di Markov e una loro applicazione al web

Barriere assorbenti nelle catene di Markov e una loro applicazione al web Università Roma Tre Facoltà di Scienze M.F.N Corso di Laurea in Matematica a.a. 2001/2002 Barriere assorbenti nelle catene di Markov e una loro applicazione al web Giulio Simeone 1 Sommario Descrizione

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

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

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

B+Trees. Introduzione

B+Trees. Introduzione B+Trees Introduzione B+Trees Il B+Trees e la variante maggiormente utilizzata dei BTrees BTrees e B+trees fanno parte della famiglia degli alberi di ricerca. Nel B+Trees i dati sono memorizzati solo nelle

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

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 9/0/06 (Cognome) (Nome) (Matricola) Esercizio. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

Soluzione di equazioni quadratiche

Soluzione di equazioni quadratiche Soluzione di equazioni quadratiche Soluzione sulla Retta Algebrica Inseriamo sulla Retta Algebrica le seguenti espressioni polinomiali x e x 3 e cerchiamo di individuare i valori di x per i quali i punti

Dettagli

Fondamenti dei linguaggi di programmazione

Fondamenti dei linguaggi di programmazione Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Riassunto delle lezioni precedenti Prima Lezione: Introduzione e motivazioni del corso; Sintassi

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Artifact Centric Business Processes (I)

Artifact Centric Business Processes (I) Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di

Dettagli

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo

Page 1. Evoluzione. Intelligenza Artificiale. Algoritmi Genetici. Evoluzione. Evoluzione: nomenclatura. Corrispondenze natura-calcolo Evoluzione In ogni popolazione si verificano delle mutazioni. Intelligenza Artificiale In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi

Dettagli

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Corso di Ricerca Operativa per il Corso di Laurea Magistrale

Dettagli

Modelli di Programmazione Lineare. PRTLC - Modelli

Modelli di Programmazione Lineare. PRTLC - Modelli Modelli di Programmazione Lineare PRTLC - Modelli Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo Rilassamento continuo - generazione

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

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

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6 EQUAZIONI DIFFERENZIALI.. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x log t (d) x = e t x log x (e) y = y 5y+6 (f) y = ty +t t +y (g) y = y (h) xy = y (i) y y y = 0 (j) x = x (k)

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Introduzione Ordini parziali e Reticoli Punti fissi

Introduzione Ordini parziali e Reticoli Punti fissi Introduzione Ordini parziali e Reticoli Punti fissi By Giulia Costantini (819048) & Giuseppe Maggiore (819050) Table of Contents ORDINE PARZIALE... 3 Insieme parzialmente ordinato... 3 Diagramma di Hasse...

Dettagli

Analisi di una Rete Sociale

Analisi di una Rete Sociale 2012 Analisi di una Rete Sociale Alessandro Lovati Matricola 626053 Comunicazione Digitale ord. F47 26/01/2012 Indice : 1. Obiettivo del progetto 2. Realizzazione 3. Analisi dei risultati 3.1. Numero di

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione presentato in questo file trova la seq. a costo minimo per

Dettagli

Anno 3. Funzioni: dominio, codominio e campo di esistenza

Anno 3. Funzioni: dominio, codominio e campo di esistenza Anno 3 Funzioni: dominio, codominio e campo di esistenza 1 Introduzione In questa lezione parleremo delle funzioni. Ne daremo una definizione e impareremo a studiarne il dominio in relazione alle diverse

Dettagli

STRUTTURE NON LINEARI

STRUTTURE NON LINEARI PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Il principio di induzione e i numeri naturali.

Il principio di induzione e i numeri naturali. Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei

Dettagli

PREVENTIVO uno strumento che ci tutela!

PREVENTIVO uno strumento che ci tutela! PREVENTIVO uno strumento che ci tutela! PREMESSA. Prima di avviare un qualsiasi rapporto professionale o commerciale, la richiesta e la compilazione di un preventivo, non rappresentano solo e soltanto

Dettagli

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella. Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell

Dettagli

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso

Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Progetto di Reti di Telecomunicazione Modelli in Programmazione Lineare Problemi di flusso Flusso di costo minimo È dato un grafo direzionato G = (N, A). Ad ogni arco (i, j) A è associato il costo c ij

Dettagli

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano

Capitolo 3: Ottimizzazione Discreta. E. Amaldi DEIB, Politecnico di Milano Capitolo 3: Ottimizzazione Discreta E. Amaldi DEIB, Politecnico di Milano 3.1 Modelli di PLI e PLMI Moltissimi problemi decisionali complessi possono essere formulati o approssimati come problemi di Programmazione

Dettagli

(ETC) MATRICOLE DISPARI

(ETC) MATRICOLE DISPARI Elementi di Teoria della Computazione (ETC) MATRICOLE DISPARI Docente: Prof. Luisa Gargano BENVENUTI! Finalità: Fornire gli elementi di base delle teorie che sono di fondamento all'informatica 1. Computabilità

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Corso semestrale di Analisi e Contabilità dei Costi

Corso semestrale di Analisi e Contabilità dei Costi Corso semestrale di Analisi e Contabilità dei Costi Aureli Selena 1_Sistema di controllo e contabilità analitica Perché analizzare i costi aziendali? La CONOSCENZA DEI COSTI (formazione, composizione,

Dettagli

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

Modello matematico PROGRAMMAZIONE LINEARE PROGRAMMAZIONE LINEARE

Modello matematico PROGRAMMAZIONE LINEARE PROGRAMMAZIONE LINEARE PRGRMMZIN LINR Problemi di P.L. in due variabili metodo grafico efinizione: la programmazione lineare serve per determinare l allocazione ottimale di risorse disponibili in quantità limitata, per ottimizzare

Dettagli