Cercare il percorso minimo Ant Colony Optimization

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Cercare il percorso minimo Ant Colony Optimization"

Transcript

1 Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

2 Sommario Sommario 1 Il commesso viaggiatore (TSP) L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

3 Il problema Supponiamo di essere un commesso viaggiatore che deve visitare n città ritornando poi a quella iniziale. Quale ordine di visita scegliamo? Naturalmente lo scopo è quello di minimizzare la distanza percorsa (e quindi il costo). Questo problema è noto in letteratura come Travelling Salesman Problem (TSP), e come (forse) vedrete a lezione è un problema piuttosto complesso. L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

4 Quanti percorsi? Una analisi formale del problema richiederebbe alcune basi di teoria della complessità, quindi vediamo il tempo richiesto per affrontare il problema in maniera naïve. Supponiamo di dover visitare n città, come possiamo definire un percorso? Un idea è quella di elencare l ordine di visita delle città. Ad esempio per visitare Londra, Parigi e Milano ho le possibilità: Londra Parigi Milano Londra Milano Parigi Parigi Milano Londra Parigi Londra Milano Milano Parigi Londra Milano Londra Parigi L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

5 Quanti percorsi? Un percorso su n città è quindi una permutazione delle n città. Se volessi valutare il costo di ogni percorso per trovare il migliore quanti percorsi dovrei controllare? L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

6 Quanti percorsi? Un percorso su n città è quindi una permutazione delle n città. Se volessi valutare il costo di ogni percorso per trovare il migliore quanti percorsi dovrei controllare? Dovrei controllare n! percorsi (decisamente troppi!!) L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

7 Le formiche Le formiche sono piuttosto abili nel costruire percorsi utilizzando solo informazioni locali (anche se alcune specie conoscono la geografia del luogo...). Per costruire questi percorsi una formica rilascia un particolare marcatore chimico (feromoni) che attira le altre. Quando una formica esplora una zona in cerca di cibo, lascia una traccia. Se trova il cibo e torna indietro rinforza la traccia. I feromoni evaporano, quindi, tracce corte avranno più feromoni di tracce lunghe. L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

8 Le formiche Le altre formiche saranno attratte dalla traccia seguendola e rinforzandola. Quindi dopo un certo tempo un grande numero di formiche utilizzeranno quel percorso. Dato che una formica sceglie in maniera probabilistica il percorso da seguire (ci sono molte tracce ed ogni formica è solo attratta), se ci sono molte formiche, dopo un po il percorso scelto tenderà ad essere molto buono (idealmente ottimo). L algoritmo Ant Colony Optimization (ACO) è stato sviluppato da Dorigo ed è utilizzato per trovare cammini quasi-ottimi (non ho naturalmente la garanzia di avere l ottimo). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

9 Le formiche Supponiamo che una formica k si trovi nel nodo i al tempo t e che possa dirigersi in uno dei nodi dell insieme N k i, questa formica si dirigerà al nodo j con la probabilità seguente: P k i,j (t) = ( τi,j (t) ) α ( ηi,j (t) ) β ( τi,j (t) ) α ( ηi,j (t) ) (1) β j N k i dove τ i,j è la quantità di feromone nell arco (i, j), η i,j (t) è dell informazione euristica conosciuta a priori, α è un parametro che controlla l effetto dei feromoni e β è un parametro che controlla l effetto dell informazione euristica. Nel TSP si pone { 1/d i,j se i j η i,j = 0 altrimenti dove d i,j è il costo per muoversi da i a j L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

10 Le formiche La traccia di feromoni sull arco (i, j) viene aggiornata come segue dove τ i,j (t) = ρ τ i,j (t 1) + n k=1 k i,j (t) (2) { Q k i,j (t) = L k (t) se l arco (i, j) è scelto dalla formica k 0 altrimenti dove ρ è il coefficiente di evaporazione del feromone (0 < ρ < 1), n è il numero di formiche, Q è la costante di aggiornamento per il feromone e L k (t) un costo associato con la distanza percorsa dalla formica k al tempo t (in genere conviene normalizzare il valore in maniera tale che per la formica che ha fatto il percorso minore L k (t) sia vicino allo 0). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

11 Le formiche Fatte queste premesse l algoritmo procede come segue: ACO Inizializza i parametri e le n formiche while condizione do t t + 1 for i = 1 to n do Posiziona la formica i in un nodo iniziale a caso for j = 2 to numero città do muovi la formica i di un nodo utilizzando la formula 1 tieni traccia della mossa effettuata end for end for Aggiorna i feromoni utilizzando la formula 2 Tieni traccia della soluzione migliore trovata end while L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

12 Esercizio Scrivere un programma in MATLAB che utilizzi il sistema sopra descritto per trovare il percorso minimo fra 20 punti con coordinate (x, y) generate a caso tra 0 e 100. Utilizzate la distanza euclidea come costo. Plottate il costo medio dei percorsi col passare del tempo e l evoluzione dei percorsi (per ogni iterazione plottate solo il percorso migliore trovato). Nota: dato che il programma è piuttosto lungo sarebbe opportuno definire diverse funzioni per le varie parti (Inizializzazione, movimento delle formiche, calcolo dei costi, aggiornamento della traccia di feromoni). L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

13 Esercizio Il posizionamento delle formiche è piuttosto semplice: mi basterà per ogni formica scegliere un nodo iniziale a caso. Si noto che ogni formica deve percorrere tutti i nodi, quindi mi servirà una matrice (numero dei nodi) (numero delle formiche). Le formiche verranno mosse una alla volta, ed ogni formica completerà tutto il percorso. Conviene fare una copia locale della matrice dei feromoni e settare di volta in volta le degli 0 per le posizioni che ho già visitato. Dopo che tutte le formiche si sono mosse calcolo la lunghezza del percorso, e tengo traccia del minimo. La lunghezza del percorso calcolato verrà poi usata per aggiornare la traccia del feromone L. Albergante (Univ. of Milan) PSO 4 Aprile / 12

Intelligenza collettiva Swarm intelligence

Intelligenza collettiva Swarm intelligence Intelligenza collettiva Swarm intelligence Andrea Roli andrea.roli@unibo.it DEIS Alma Mater Studiorum Università di Bologna Intelligenza collettiva p. 1 Swarm Intelligence Intelligenza collettiva p. 2

Dettagli

Cercare il minimo di una funzione: Particle swam optimization

Cercare il minimo di una funzione: Particle swam optimization di una funzione: Particle swam optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 28 Marzo 2011 L. Albergante (Univ. of Milan) PSO 28 Marzo 2011 1 / 14

Dettagli

Classi di Problemi Università degli Studi di Milano

Classi di Problemi Università degli Studi di Milano Classi di Problemi Classi di problemi (decisionali, di ricerca, di ottimizzazione) Definizioni basate sul concetto di soluzione ammissibile: Diverse esigenze Decidere se esiste una soluzione o se una data

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

PROBLEMA DEL COMMESSO VIAGGIATORE

PROBLEMA DEL COMMESSO VIAGGIATORE PROBLEMA DEL COMMESSO VIAGGIATORE INTRODUZIONE Il problema del commesso viaggiatore (traveling salesman problem :TSP) è un classico problema di ottimizzazione che si pone ogni qual volta, dati un numero

Dettagli

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi

Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia

Dettagli

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente

Dettagli

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche 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

Algoritmi di ricerca locale

Algoritmi di ricerca locale Algoritmi di ricerca locale Utilizzati in problemi di ottimizzazione Tengono traccia solo dello stato corrente e si spostano su stati adiacenti Necessario il concetto di vicinato di uno stato Non si tiene

Dettagli

Tecniche euristiche Ricerca Locale

Tecniche euristiche Ricerca Locale Tecniche euristiche Ricerca Locale PRTLC - Ricerca Locale Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

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

Laboratorio di Algoritmi

Laboratorio di Algoritmi Laboratorio di Algoritmi Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 8.30-10.30 in aula 3 Mercoledì 10.30-13.30 in aula 2 Giovedì 15.30-18.30 in

Dettagli

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni

Dettagli

Laboratorio di Algoritmi

Laboratorio di Algoritmi Laboratorio di Algoritmi Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 10.30-13.30 in Aula 2 Martedì 8.30-10.30 in aula 3 Giovedì 8.30-10.30 in aula

Dettagli

Intelligenza collettiva Swarm intelligence. Swarm Intelligence. Intelligenza collettiva emergente in gruppi di agenti (semplici).

Intelligenza collettiva Swarm intelligence. Swarm Intelligence. Intelligenza collettiva emergente in gruppi di agenti (semplici). Swarm Intelligence Intelligenza collettiva Swarm intelligence Andrea Roli a.roli@unich.it Dipartimento di Scienze Università degli Studi G. D Annunzio Chieti-Pescara Intelligenza collettiva emergente in

Dettagli

Problemi intrattabili e quantum computing

Problemi intrattabili e quantum computing Problemi intrattabili e quantum computing Il problema del commesso viaggiatore Noto anche come Travelling Salesman Problem (TSP) Il commesso viaggiatore deve visitare n città in automobile Se viaggiasse

Dettagli

Algoritmi e giochi combinatori

Algoritmi e giochi combinatori Algoritmi e giochi combinatori Panoramica Giochi combinatori Programmi che giocano Albero di un gioco L algoritmo Minimax 1 Perché studiare i giochi? Problemi che coinvolgono agenti in competizione tra

Dettagli

OTTIMIZZAZIONE NON LINEARE

OTTIMIZZAZIONE NON LINEARE OTTIMIZZAZIONE NON LINEARE In molti casi pratici non esistono algoritmi specifici per la soluzione del problema. Si utilizzano quindi algoritmi basati su approssimazioni locali della funzione o algoritmi

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico

trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico Problemi da risolvere navigazione trovare un percorso senza collisioni per passare da una configurazione ad un altra del sistema robotico copertura passare un sensore o un attuatore su tutti i punti che

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

Euristiche per il Problema del Commesso Viaggiatore

Euristiche per il Problema del Commesso Viaggiatore Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni bruni@dis.uniroma.it Il materiale presentato

Dettagli

Parte III: Algoritmo di Branch-and-Bound

Parte III: Algoritmo di Branch-and-Bound Parte III: Algoritmo di Branch-and-Bound Sia Divide et Impera z* = max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)

Dettagli

Metodi di Ottimizzazione

Metodi di Ottimizzazione Metodi di Ottimizzazione Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famospaghi, @famoconti http://stegua.github.com Metodi di Ottimizzazione

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare:

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: max x +x x + x x x x

Dettagli

x + 2y = 0 Soluzione. La retta vettoriale di equazione cartesiana x + 2y = 0.

x + 2y = 0 Soluzione. La retta vettoriale di equazione cartesiana x + 2y = 0. Algebra Lineare. a.a. 4-5. Gruppo A-H. Prof. P. Piazza Soluzioni del compito pomeridiano del //5 Esercizio. Sia V = R il piano vettoriale euclideo con base ortonormale standard {e, e }. Determinare le

Dettagli

Tecniche euristiche greedy

Tecniche euristiche greedy Tecniche euristiche greedy PRTLC - Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando

Dettagli

SWARM INTELLIGENCE. Tuesday, 6 March, 12

SWARM INTELLIGENCE. Tuesday, 6 March, 12 SWARM INTELLIGENCE Swarm intelligence (SI) is an artificial intelligence technique based around the study of collective behavior in decentralized, self-organized systems. SI systems are typically made

Dettagli

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il metodo dei Piani di Taglio (Cutting Planes Method) Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera

Dettagli

5.5 Programmazione quadratica (PQ)

5.5 Programmazione quadratica (PQ) 5.5 Programmazione quadratica (PQ Minimizzare una funzione quadratica soggetta a vincoli lineari: 1 min x t Qx + c t x 2 s.v. a t i x b i i D (P a t i x = b i i U x R n dove Q matrice n n, D e U sono gli

Dettagli

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 19/03/2018 Constraint Satisfaction problem Fino ad ora ogni stato è stato modellizzato come una

Dettagli

Il problema del commesso viaggiatore e problemi di vehicle routing

Il problema del commesso viaggiatore e problemi di vehicle routing Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre

Dettagli

Quinto appello 27/6/ = 4. B b B = 2 b N = 4

Quinto appello 27/6/ = 4. B b B = 2 b N = 4 Quinto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {, }. Per

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

Università degli Studi di Udine Corso di Laurea in Ingegneria Gestionale (V.O.) Prova scritta di Ricerca Operativa 10 giugno 2003

Università degli Studi di Udine Corso di Laurea in Ingegneria Gestionale (V.O.) Prova scritta di Ricerca Operativa 10 giugno 2003 Università degli Studi di Udine Corso di Laurea in Ingegneria Gestionale (V.O.) Prova scritta di Ricerca Operativa 1 giugno 23 Nome: Cognome: Matricola: Esercizio 1) Nel concorso a pronostici del Totocalcio

Dettagli

PIANIFICAZIONE DEI TRASPORTI

PIANIFICAZIONE DEI TRASPORTI Università di Cagliari DICAAR Dipartimento di Ingegneria Civile, Ambientale e architettura Sezione Trasporti PIANIFICAZIONE DEI TRASPORTI Esercitazione 6 Il modello di assegnazione A.A. 2016-2017 Ing.

Dettagli

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):

Domini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo): UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione

Dettagli

AMPL Problemi su Reti

AMPL Problemi su Reti Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Marco Montali Outline

Marco Montali Outline Marco Montali mmontali@deis.unibo.it Outline Panoramica su CP e ACO Integrazione tra i due approcci: ACO come algoritmo che apprende un euristica Principi architetturali del framework di integrazione Problemi

Dettagli

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2011/12) Nome: Cognome: Matricola: 5 o Appello 8/0/0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si individui un albero dei cammini minimi di radice sul grafo in figura, utilizzando l algoritmo più appropriato dal punto di vista

Dettagli

Ant Colony Optimization (ACO) e Swarm Intelligence

Ant Colony Optimization (ACO) e Swarm Intelligence Università degli Studi di Milano Facoltà di scienze Matematiche, Fisiche e Naturali Ant Colony Optimization (ACO) e Swarm Intelligence Seminario per il corso di Sistemi Intelligenti Prof. N. Alberto BORGHESE

Dettagli

Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello

Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello Tesina di Intelligenza Artificiale Uso dell algoritmo di Quantizzazione Vettoriale per la determinazione del numero di nodi dello strato hidden in una rete neurale multilivello Roberto Fortino S228682

Dettagli

Laboratorio di Bioimmagini A.A

Laboratorio di Bioimmagini A.A Laboratorio di Bioimmagini A.A. 2008-2009 Le immagini da utilizzare nei seguenti esercizi ed il codice Matlab delle soluzioni sono scaricabili da: http://www.dei.unipd.it/~enrigri/public/lab Esercizio

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Algoritmi euristici. Parte I: metodi classici

Algoritmi euristici. Parte I: metodi classici Algoritmi euristici. Parte I: metodi classici Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - febbraio 2003 Algoritmi Euristici Algoritmi Euristici, Approssimati, Approssimanti

Dettagli

RICERCA OPERATIVA (a.a. 2003/04) Nome Cognome:

RICERCA OPERATIVA (a.a. 2003/04) Nome Cognome: o Appello 0//00 RICERCA OPERATIVA (a.a. 00/0) Nome Cognome: Corso di Laurea: I SI M Matricola Corso A B C ) La ditta di trasporti FurgonFast deve suddividere tra tre diversi trasportatori n oggetti da

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione

Dettagli

Apprendimento con Rinforzo

Apprendimento con Rinforzo Sistemi Intelligenti 230 Apprendimento con Rinforzo Sono dati: agente (intelligente?), che può trovarsi in uno stato, ed eseguire una azione (all interno delle azioni possibili nello stato corrente) ed

Dettagli

Lezione 5, 5/11/2014

Lezione 5, 5/11/2014 Lezione 5, 5/11/2014 Elena Gaburro, elenagaburro@gmail.com 1 Ordine di convergenza di un metodo Definizione 1.1. Sia {x k } una successione convergente ad α. Consideriamo l errore assoluto in modulo al

Dettagli

Problema del Job Shop

Problema del Job Shop Problema del Job Shop Job Shop n job, m macchine iascun job j è composto da una sequenza di task (t j (),,t j (r j )) ogni task t j (k) deve essere eseguito su una specifica macchina i = m j (k) (richiedendo

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. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in

Dettagli

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola: o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via algebrica, a

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

28 giugno 2018, es.1) Programmazione lineare

28 giugno 2018, es.1) Programmazione lineare 8 giugno 018, es.1) Programmazione lineare Discutere il seguente problema di Programmazione lineare: trovare il massimo di p(x 1, x, x, x 4 ) = x 1 + 15 x + 8 x + x 4 con i vincoli x k 0 (1 k ) e x + x

Dettagli

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)

Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2

Dettagli

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD

INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento di Ingegneria INSTRADAMENTO: ALGORITMO DI BELLMAN-FORD FONDAMENTI DI RETI E TELECOMUNICAZIONE A.A. 2012/13 - II Semestre Esercizio 1 Sia dato il grafo G=

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Problema della selezione di attività Problema: Sia S = {a 1, a 2,,

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative

Dettagli

Esame di Ricerca Operativa del 14/09/18

Esame di Ricerca Operativa del 14/09/18 Esame di Ricerca Operativa del /9/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante l algoritmo del simplesso duale il seguente problema di programmazione lineare: Iterazione {,}

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Appello del 4 settembre 2008 Progetto Percorsi colorati Consegna entro il 24 settembre 2008 Il problema L obiettivo è quello di

Dettagli

Università Ca Foscari Venezia

Università Ca Foscari Venezia Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi NOTE sul Metodo del BRANCH & BOUND Università Ca Foscari Venezia, Dipartimento di Management,

Dettagli

Esame di Ricerca Operativa del 11/1/19

Esame di Ricerca Operativa del 11/1/19 Esame di Ricerca Operativa del // (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere il seguente problema di programmazione lineare, determinandone il problema duale ed applicando l algoritmo

Dettagli

Ricerca con avversari

Ricerca con avversari Ricerca con avversari Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 12/03/2018 Ricerca con avversari Definizione di gioco Giochi deterministici Giochi stocastici Giochi con parziale

Dettagli

Come Google ordina le pagine web

Come Google ordina le pagine web Come Google ordina le pagine web Come fa Google a rispondere così velocemente alle nostre richieste? E, soprattutto, come fa a trovare le pagine pertinenti alle parole chiave che abbiamo digitato e ad

Dettagli

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati

Dettagli

2. Si definisca un algoritmo euristico di tipo greedy per determinare una buona soluzione ammissibile del problema;

2. Si definisca un algoritmo euristico di tipo greedy per determinare una buona soluzione ammissibile del problema; Esercizio 6 Un azienda di trasporti deve affrontare il seguente problema di caricamento. L azienda dispone di n prodotti che possono essere trasportati e di m automezzi con cui effettuare il trasporto.

Dettagli

Grafo per n/m/g/c max r i =0

Grafo per n/m/g/c max r i =0 M1 M2 M3 M JOB SHOP SENZA RICIRCOLAZIONE Grafo per n/m/g/c max r i =0 Archi (precedenze) disgiuntivi(macch.) Arco(precedenza) congiuntivo(pezzi) 1,1 2,1 3,1 I 2,2 1,2,2 3,2 F 1,3 2,3,3 Operazione(i,j):

Dettagli

Richiami di inferenza statistica. Strumenti quantitativi per la gestione. Emanuele Taufer

Richiami di inferenza statistica. Strumenti quantitativi per la gestione. Emanuele Taufer Richiami di inferenza statistica Strumenti quantitativi per la gestione Emanuele Taufer Inferenza statistica Inferenza statistica: insieme di tecniche che si utilizzano per ottenere informazioni su una

Dettagli

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto

Differenze divise. Polinomio di interpolazione nella forma di Newton. Proprietà. Se n=0. Simmetria. Ricorsività. Abbiamo un solo punto Differenze divise Polinomio di interpolazione nella forma di Newton Se n=0 Abbiamo un solo punto Se n = 1 Abbiamo 2 punti Il polinomio cercato è la retta passante per i due punti Proprietà Simmetria Differenza

Dettagli

Richiami di inferenza statistica Strumenti quantitativi per la gestione

Richiami di inferenza statistica Strumenti quantitativi per la gestione Richiami di inferenza statistica Strumenti quantitativi per la gestione Emanuele Taufer Inferenza statistica Parametri e statistiche Esempi Tecniche di inferenza Stima Precisione delle stime Intervalli

Dettagli

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same

Dettagli

3 Ricerca per Giochi e CSP

3 Ricerca per Giochi e CSP Esercizio 3.1 Dire quale tecnica usereste per risolvere i seguenti giochi: 1. Backgammon 2. Scarabeo 3. Scacchi 4. Go 5. Monpoli 6. Poker Motivate le risposte con adeguate ragioni basate sulle caratteristiche

Dettagli

12.1 IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA

12.1 IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA Problemi strutturati. IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA Esercizio.. Dato il grafo di Figura.., trovare il peso dei cammini minimi dal nodo a tutti gli altri nodi del grafo (il peso

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

TSP Ricerca Locale. Riccardo Mondani Martina Alberti

TSP Ricerca Locale. Riccardo Mondani Martina Alberti TSP Ricerca Locale Riccardo Mondani Martina Alberti Caratteristiche di base Partenza: Soluzione euristica dell algoritmo TSP Closest Neighborhood. Il vettore o finale contiene un ordinamento di tutti i

Dettagli

Esercizio 1. Variabili decisionali:

Esercizio 1. Variabili decisionali: Esercizio 1 Si noti che i costi sono dati per tonnellata, mentre molti vincoli riguardano il numero di navi. Si introducono pertanto DUE tipi di variabili, uno relativo al numero di tonnellate per tipo

Dettagli

Programmazione a numeri interi: il metodo del Branch and Bound

Programmazione a numeri interi: il metodo del Branch and Bound Programmazione a numeri interi: il metodo del Branch and Bound L. De Giovanni G. Zambelli Un problema di programmazione lineare intera è una problema della forma z I = maxc T x Ax b x 0 x i Z, i I. (1)

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in

Dettagli

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2017/18) Nome: Cognome: Matricola: Appello straordinario //8 RICERCA OPERATIVA (a.a. 7/8) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: max x + x x x x x x + x x Si applichi l algoritmo del Simplesso Duale, per via

Dettagli

7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato.

7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato. Capitolo 7 Grafi 7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato. 7.3 Un grafo a torneo è un grafo orientato G in cui per ogni coppia di vertici x e y esiste un solo

Dettagli

Laboratorio di Matematica e Informatica 1

Laboratorio di Matematica e Informatica 1 Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi

Dettagli