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

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

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

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

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

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

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

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

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

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

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

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

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

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

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

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

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna

Algoritmi Euristici introduzione. Vittorio Maniezzo Università di Bologna 9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di

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

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

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

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

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

(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

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

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

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

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi

Dettagli

Algoritmi enumerativi

Algoritmi enumerativi Capitolo 7 Algoritmi enumerativi Come abbiamo visto, né gli algoritmi greedy né quelli basati sulla ricerca locale sono in grado, in molti casi, di garantire l ottimalità della soluzione trovata. Nel caso

Dettagli

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS INTRODUZIONE Per conoscere la struttura di un grafo connesso è importante individuare nel grafo la distribuzione di certi punti detti cutpoints (punti

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

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

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

Ricerca informata. Scelta dell euristica

Ricerca informata. Scelta dell euristica Ricerca informata Scelta dell euristica SMA* (Simplified Memory-Bounded A*) SMA* espande sempre la foglia migliore finché la memoria è piena A questo punto deve cancellare un nodo in memoria SMA* cancella

Dettagli

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 20/12/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 0// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x + x x +x x x x x x x 0 x x

Dettagli

Complessità e Approssimazione

Complessità e Approssimazione 1 Complessità e Approssimazione Corso di Laurea in Scienze dell'informazione Corso di Laurea Specialistica in Matematica Docente: Mauro Leoncini 2 Aspetti organizzativi Sito web: http://algo.ing.unimo.it/people/mauro

Dettagli

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria L. De Giovanni 1 Introduzione I metodi visti finora garantiscono, almeno in linea teorica, di risolvere

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

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

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

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Minimo Albero Ricoprente

Minimo Albero Ricoprente Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione

Dettagli

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

Gestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Problemi di Distribuzione: Il problema del Vehicle Rou:ng

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo)

- Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) Se si ha un problema lineare e' possibile risolverlo in piu' modi (equivalenti ) - Trovare soluzione ottima primale ( con il simplesso o algoritmo analogo) - Trovare soluzione ottima duale (con il simplesso

Dettagli

Appunti di Logistica. F. Mason E. Moretti F. Piccinonno

Appunti di Logistica. F. Mason E. Moretti F. Piccinonno Appunti di Logistica F. Mason E. Moretti F. Piccinonno 2 1 Introduzione La Logistica è una disciplina molto vasta che, in prima approssimazione, si suddivide in logistica interna (alle aziende) e logistica

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

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

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching

Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching POLITECNICO DI TORINO I Facoltà di Ingegneria Corso di Laurea in Matematica per le Scienze dell Ingegneria Tesi di Laurea Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local

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

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 8// (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x 8 x Base

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

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

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

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

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

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli Sommario Sintesi di reti logiche multilivello M. Favalli Engineering Department in Ferrara 1 2 3 Aspetti tecnologici Sommario Analisi e sintesi dei circuiti digitali 1 / Motivazioni Analisi e sintesi dei

Dettagli

Alcuni Preliminari. Prodotto Cartesiano

Alcuni Preliminari. Prodotto Cartesiano Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}

Dettagli

Politecnico di Milano. Reti Wireless. Seminari didattici. Introduzione all ottimizzazione. Ilario Filippini

Politecnico di Milano. Reti Wireless. Seminari didattici. Introduzione all ottimizzazione. Ilario Filippini Politecnico di Milano Reti Wireless Seminari didattici Introduzione all ottimizzazione Ilario Filippini 2 Esempio 1! 3 Esempio 1!! 4 Esempio 2!!? 5 Ottimizzazione!!!!!! Ottimizzazione 6 Approccio matematico

Dettagli

GESTIONE DELL INFORMAZIONE AZIENDALE GRUPPO A prova scritta del 20 maggio 2004

GESTIONE DELL INFORMAZIONE AZIENDALE GRUPPO A prova scritta del 20 maggio 2004 GESTIONE DELL INFORMAZIONE AZIENDALE GRUPPO A prova scritta del 20 maggio 2004 Rispondere alle seguenti domande marcando a penna la lettera corrispondente alla risposta ritenuta corretta (una sola tra

Dettagli

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi

Problemi di soddisfacimento di vincoli. Formulazione di problemi CSP. Colorazione di una mappa. Altri problemi Problemi di soddisfacimento di vincoli Maria Simi a.a. 2014/2015 Problemi di soddisfacimento di vincoli (CSP) Sono problemi con una struttura particolare, per cui conviene pensare ad algoritmi specializzati

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

Quadratic assignment Problem: The Hospital Layout

Quadratic assignment Problem: The Hospital Layout Università degli Studi di Modena e Reggio Emilia Corso di Laurea Magistrale in Ingegneria Gestionale Metodi di ottimizzazione per la logistica e la produzione Quadratic assignment Problem: The Hospital

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

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP)

MRP. Pianificazione della produzione. Distinta base Bill Of Materials (BOM) MPS vs. MRP. Materials Requirements Planning (MRP) MRP Pianificazione della produzione Materials Requirements Planning (MRP) 15/11/2002 16.58 Con l MRP si decide la tempificazione delle disponibilità dei materiali, delle risorse e delle lavorazioni. MRP

Dettagli

3. Gli algoritmi di ottimizzazione.

3. Gli algoritmi di ottimizzazione. Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 3-3. Gli algoritmi di ottimizzazione. I grafi. La teoria dei grafi è un comodo strumento per la definizione e la formalizzazione

Dettagli

Teoria dei Giochi non Cooperativi

Teoria dei Giochi non Cooperativi Politecnico di Milano Descrizione del gioco Egoismo Razionalità 1 L insieme dei giocatori 2 La situazione iniziale 3 Le sue possibili evoluzioni 4 I suoi esiti finali I Giochi della teoria Perché studiare

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Progetto e Ottimizzazione di Reti 1. Presentazione del Corso

Progetto e Ottimizzazione di Reti 1. Presentazione del Corso Progetto e Ottimizzazione di Reti 1. Presentazione del Corso PAOLO NOBILI (M-Z) ANTONIO SASSANO (A-L) Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Laurea in Ingegneria

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

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Nicola Febbrari Università degli Studi di Verona Facoltà MM.FF.NN. nicola.febbrari@studenti.univr.it 22 gennaio 2013 1 Introduzione

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

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 Strutture Dati (Mod. B) Introduzione

Algoritmi e Strutture Dati (Mod. B) Introduzione Algoritmi e Strutture Dati (Mod. B) Introduzione Modulo B Orari Lunedì ore 11-13 aula A6 Mercoledì ore 14-16 aula A6 Ricevimento Martedì ore 14-16 Ufficio 2M13 Dip. Fisica (2 piano edificio M) Laboratori

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

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

Appunti di Ricerca Operativa

Appunti di Ricerca Operativa Appunti di Ricerca Operativa 0/0 Prefazione La Ricerca Operativa è un campo in continua evoluzione, il cui impatto sulle realtà aziendali ed organizzative è in costante crescita. L insegnamento di questa

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

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI.

SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. SVILUPPO DI UN SISTEMA DI SORVEGLIANZA MEDIANTE ROBOT MOBILI. 1. ABSTRACT In questo progetto si intende costruire un sistema di sorveglianza mediante l uso di robot mobili. L idea base è quella di usare

Dettagli

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia

Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

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

5. Problemi di Ottimizzazione e Programmazione Matematica

5. Problemi di Ottimizzazione e Programmazione Matematica Dispense del corso di Ottimizzazione Combinatoria (IN440) 5. Problemi di Ottimizzazione e Programmazione Matematica Marco Liverani Università degli Studi Roma Tre Dipartimento di Matematica e Fisica Corso

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Fondamenti di Ricerca Operativa

Fondamenti di Ricerca Operativa Politecnico di Milano Anno Accademico 2010/2011 Fondamenti di Ricerca Operativa Corso del Prof. Edoardo Amaldi Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria

Dettagli

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

2 Formulazione dello shortest path come problema di flusso

2 Formulazione dello shortest path come problema di flusso Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10 Lecture 20: 28 Maggio 2010 Cycle Monotonicity Docente: Vincenzo Auletta Note redatte da: Annibale Panichella Abstract In questa lezione

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI

USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI - Analisi probabilistica di algoritmi deterministici: si assume una distribuzione di probabilità delle istanze e si calcola il tempo

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

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

APPUNTI SUI METODI PERT-C.P.M.

APPUNTI SUI METODI PERT-C.P.M. APPUNTI SUI METODI PERT-C.P.M. (corso di ricerca operativa) A cura di: Antonio Scalera 1 PERT/C.P.M. I metodi Pert e C.P.M. studiano lo sviluppo di un progetto attraverso la programmazione delle attività

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