Iteration 2. Iteration 7. Iteration 1. Iteration 6

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Iteration 2. Iteration 7. Iteration 1. Iteration 6"

Transcript

1 Iteration 2 Iteration Iteration 7 area Low quality area Iteration 4 Iteration 3 Iteration 5 Iteration 6 del Random restart Start Start ling Tabu search

2 ALGORITMI METAEURISTICI Classificazione Euristici Gli algoritmi euristici possono essere classificati come segue: Algoritmi costruttivi: sfruttano le proprietà strutturali delle soluzioni ammissibili o i risultati della programmazione matematica (ad esempio i rilassamenti che definiscono lower bounds) Algoritmi di ricerca locale: Schema di ricerca nello spazio delle soluzioni Partono da una soluzione euristica iniziale Cercano possibili miglioramenti nel vicinato (neighborhood) Iterano fino a quando non esistono ulteriori miglioramenti Metaeuristiche: Estendono la ricerca locale Diversificazione: ricerca in regioni diverse dello spazio delle soluzioni Intensificazione: ricerca delle migliori soluzioni nella regione corrente Gli algoritmi costruttivi sono in genere molto legati al problema specifico che vogliono risolvere. Le tecniche di ricerca locale, e ancor più i metaeuristici, costituiscono un framework generale, adatto ad essere utilizzato per la risoluzione di problemi di tipo diverso.

3 ALGORITMI METAEURISTICI 2 Esempi Esempio algoritmo costruttivo: Closest Neighbor per il Travelling Salesman Problem (TSP): Parti dal deposito e collega la route al cliente più vicino non ancora visitato Reitera collegando la route al cliente più vicino non ancora visitato, fino a quando tutti i clienti sono stati visitati Restituisci il valore della soluzione euristica (lunghezza totale del viaggio) In genere produce soluzioni di scarsa qualità Esempio di ricerca locale per il TSP: Parti dalla soluzione del Closest Neighbor Seleziona un cliente, eliminalo dalla route, prova a reinserirlo in una posizione diversa nella route Se la mossa provoca un miglioramento, esegui e reitera Termina quando non ci sono più miglioramenti possibili Gli algoritmi di ricerca locale possono funzionare molto bene, ma possono anche bloccarsi in soluzioni di scarsa qualità. A partire dagli anni 60/ 70 sono stati presentati nuovi approcci al fine di guidare gli algoritmi costruttivi e di ricerca locale per superare situazioni critiche: Metaeuristici

4 ALGORITMI METAEURISTICI 3 Metaeuristici Diverse tipologie di tecnoche metaeuristiche sono state presentate in letteratura, fra le quali: Simulated Annealing [Kirkpatrik, Gelatt e Vecchi 983] Tabu Search [Glover, 986] Algoritmi Genetici [Rechenberg 973, Holland 975] Variable Neighborhood Search [Mladenović, Labbé e Hansen 990s] Ant Colony Optimization ACO [Colorni, Dorigo e Maniezzo 992] Scatter Search [Glover 965] Path Relinking [Glover 965] Greedy Randomized Adaptive Search Procedure GRASP [Feo e Resende 989] Guided Local Search GLS [Voudouris and Tsang 990s] Artificial Neural Networks [Hopfield e Tank 985, Mc Culloch and Pitts 922] Memetic Algorithms [Moscato 989]... Molte metaeuristiche si basano su ripetute chiamate a metodi di ricerca locale

5 ALGORITMI METAEURISTICI 4 Ricerca locale Neighborhood (Vicinato, Intorno): Per ogni soluzione x X, si definisce N(x) X, insieme di soluzioni vicine ad x Algoritmo di Ricerca Locale Comm: Versione per max f(x); Step. Genera una soluzione iniziale x X; Step 2. Trova x N( x) tale che f(x ) > f( x), se esiste, altrimenti poni x = ; (alternativa: trova x = arg max{f(x) : x N( x)}); Step 3. If x then x = x, goto Step 2; Step 4. Restituisci x. L aggiornamento della soluzione (Step 3) è detto mossa da x a x L algoritmo può facilmente terminare in un ottimo locale (f(x ) f(x), x N(x ) per problemi di minimo; f(x ) f(x), x N(x ) per problemi di massimo) ma non globale

6 ALGORITMI METAEURISTICI 5 Multi Start Un algoritmo di ricerca può essere migliorato facilmente applicandolo e diverse soluzioni iniziali Costruzione soluzioni: In modo casuale In modo guidato Non si è sicuri di coprire tutto lo spazio delle soluzioni In figura nessuna soluzione cade nel bacino di attrazione del picco più alto (ottimo globale) Per alcuni problemi il picco più alto è molto stretto oppure esistono numerosissimi picchi

7 ALGORITMI METAEURISTICI 6 Esempi di neighborhood: TSP Travelling Salesman Problem: dato un insieme di punti (clienti) ed un grafo pesato (una rete stradale), visitare tutti i clienti una ed una sola volta, con costo minimo Costruzione di una soluzione iniziale: Euristico costruttivo Miglioramento della soluzione iniziale tramire ricerca locale 2-opt (Link and Kernighan 973): j j i i l k l k Si scelgono due lati/archi (in tutti i modi possibili), li si elimina e si richiude il circuito

8 ALGORITMI METAEURISTICI 7 3-opt (Link and Kernighan 973): j m n j m n i i l k l k Si scelgono tre lati/archi (in tutti i modi possibili), li si elimina e poi si richiude il circuito Or-opt (Or 976): i m a i m a j n j n p b p b Si sceglie una sequenza di al massimo tre vertici, si prova ad inserirla in altre posizioni nella route, e poi si chiude il circuito

9 ALGORITMI METAEURISTICI 8 Esempi di neighborhood: Scheduling r j C max: dato un insieme di Job J j di durata p j e tempo di rilascio r j ed un processore, assegnare i job al processore in ordine, in modo da minimizzare il makespan Inserzione (Insert move) J J 2 J 3 J 4 J 5 r r r r r J J 3 J 2 J 4 J 5 r r r r r Prova a spostare ogni task in tutte le possibili posizioni Scambio (Swap move) J J 2 J 3 J 4 J 5 r r r r r J 3 J 2 J J 4 J 5 r r r r r Prova a scambiare tra loro ogni coppia di job

10 ALGORITMI METAEURISTICI 9 Dimensione dei neighborhood 2-Opt: per ogni lato devo tentare tutti i rimanenti n lati: n (n ) = O(n 2 ) mosse 3-Opt: per ogni lato devo tentare tutti i rimanenti n lati, e per ciascuno di questi tutti i rimanenti n 2 lati: n (n ) (n 2) = O(n 3 ) mosse Per un grafo di 00 nodi (piccolo) ogni esplorazione dell intorno 3- Opt richiede di tentativi Occorre implementare in maniera efficace l esame dell intorno Più il neighborhood è grande più è approfondita la ricerca e più aumenta il tempo di calcolo k-opt: generalizzazione di 2-opt e 3-opt: Se poniamo k = n l intorno contiene tutti i possibili Circuiti Hamiltoniani (n!) Equivale ad esplorare tutte le soluzioni Nel trade-off tra accuratezza e tempo di calcolorisulta molto importante scegliere correttamente la dimensione dell intorno

11 ALGORITMI METAEURISTICI 0 Trade-off tra accuratezza e tempo di calcolo Diversificazione: Esplorare regioni diverse tra loro Ad esempio spendere tempo nell approccio multi-start per provare molti punti di partenza Intensificazione: Esplorare a fondo un unica regione Ad esempio utilizzare 3-opt invece di 2-opt La scelta tra una e l altra dipende dalle performance dell algoritmo per il particolare problema affrontato: Non esiste una regola di decisione Lunghe fasi implementative per il settaggio dei parametri Scelta della mossa: First improvement: appena trovo uno scambio che migliora la soluzione lo effettuo Best improvement: considero tutti i possibili scambi ed effettuo quello che porta al massimo miglioramento (se esiste) Anche in questo caso la scelta dipendente dalla performance dell algoritmo

12 ALGORITMI METAEURISTICI Equicut Dato un grafo G = (V, E) con V pari, pesato sui lati (a, b) con pesi w(a, b), si trovi la partizione (A, B) dei vertici tale per cui: ) A = B ) w(δ(a)) = i A,j B w(i, j) è minima Problema con numerose applicazioni (ad esempio in VLSI) Utile esempio perchè affrontato in letteratura con algoritmi costruttivi, ricerca locale e metaeuristiche

13 ALGORITMI METAEURISTICI 2 Generate-sol: Algoritmo costruttivo per Equicut Comment: n = V ; Seleziona due semi (vertici) e assegnali uno ad A e uno a B; for i = to n/2 do Seleziona la coppia di vertici a e b non ancora selezionati che minimizzano l incremento della funzione obiettivo se aggiunti ad A e B, rispettivamente; Assegna a ad A e b a B; end for Alcune definizioni: E a = j B I a = j a w(a, j) = somma costi esterni w(a, j) = somma costi interni D a = E a I a = variazione se a si sposta da A a B Analogamente per E b, I b e D b E a I a a

14 ALGORITMI METAEURISTICI 3 Algoritmo : Ricerca locale per Equicut. Parti da una soluzione euristica; 2. Per ogni coppia di vertici a A e b B valuta: guadagno(a, b) = D a + D b 2w(a, b); 3. Tra tutte le coppie aventi guadagno positivo (se ve ne sono) scegli quella che da guadagno massimo; 4. Reitera fino a quando non esistono più guadagni positivi. Algoritmo KL [Kernighan e Lin 970]:. Indiviuda i vertici a() A e b() B tali che il guadagno g() = D a() + D b() 2w(a(), b()) sia massimo; 2. Scambia a() e b() e aggiorna E i, I i, D i, i; 3. Fissa a() e b() impedendo ulteriori spostamenti; 4. Individua una seconda coppia di vertici a(2) e b(2) diversi dai precedenti che massimizza g(2), scambiabili e fissali (n/2 volte); 5. Reitera il procedimento fino a quando non ci sono più vertici scambiali; 6. Individua il valore k che massimizza G = k i= g(i); 7. Se G > 0 scambia i vertici a(),..., a(k) e b(),..., b(k) nel grafo originale e torna al passo. Se invece G 0 termina la procedura. Algoritmo KL più efficace di Algoritmo (maggior tempo di calcolo)

15 ALGORITMI METAEURISTICI 4 Esempio di Applicazione dell Algoritmo KL E() I() D() g() = 0 vertici = 2, 4 g(2) = 3 vertici =, 7 g(3) = 4 vertici = 3, 5 G = = 3 scambio 2-4 e

16 ALGORITMI METAEURISTICI 5 Threshold Algorithm (Algoritmo a soglia) Consideriamo problemi in forma di minimo. Algoritmo Threshold: Individua una soluzione euristica x; k = 0; Repeat Genera una soluzione x N(x); if (f(x ) f(x) < t k ) then x = x ; end if k = k + ; Until criterio di stop. Ponendo t k > 0 si accettano anche soluzioni (limitatamente) peggiori di x La soglia t k > 0 è aggiornata secondo diverse tecniche: Ricerca locale: t k = 0 (solo soluzioni miglioranti) Threshold accepting: t 0 > 0, t k t k+, lim k t k = 0 Inizialmente si accettano soluzioni che peggiorano anche di molto la soluzione attuale. Nel seguito si riduce sempre più la disponibilità a peggiorare.

17 ALGORITMI METAEURISTICI 6 Simulated Annealing Simulated Annealing: t k aggiornata probabilisticamente: P(accettazione x) f(x') - f(x) La probabiltà di accettazione usata è: P (accettazione di x ) = se f(x ) f(x) e ( f(x ) ) f(x) t k se f(x) > f(x ) () Il parametro di controllo t k cala col tempo: Cala anche la probabilità di accettare una soluzione peggiorante La probabiltà di accettazione dipende solo dalla soluzione corrente e da quella precedente (Catena di Markov) Teorema di convergenza: se t k diminuisce abbastanza lentamente al tendere del tempo di esecuzione all infinito, la probabiltà di individuare l ottimo globale è pari a

18 ALGORITMI METAEURISTICI 7 Analogia fisica Procedimento usato dai fisici per ottenere solidi a bassa energia: Scaldare il solido fino alla temperatura di fusione Abbassare la temperatura lentamente Nel liquido le particelle rimangono disposte in modo casuale, nel solido che si forma si dispongono secondo strutture atomiche rigide a bassa energia Questo processo viene normalmente simulato al calcolatore con metodi Monte Carlo Se lo stato attuale i ha energia E i, uno stato successivo a energia E j : Se E j E i è sempre accettato Se E j > E i è accettato con probabilità: ( ) Ei E j e k T B dove: T = temperatura iniziale k B = costante di Boltzman Dato un problema di ottimizzazione combinatoria: Le soluzioni corrispondono agli stati fisici Il valore della funzione obiettivo corrisponde all energia

19 ALGORITMI METAEURISTICI 8 Implementazioni pratiche Per garantire la validità del teorema di convergenza spesso occorre un numero di iterazioni (k) superiore al numero di soluzioni del problema: Per il TSP occorre: k = O(n n2n ) Le soluzioni ammissibili di TSP sono n! quindi occorre meno tempo per un enumerazione completa che per approssimare bene la soluzione ottima con SA In pratica si usano implementazioni che riducono il tempo di calcolo, perdendo però le proprietà teoriche che garantiscono la convergenza Strategia di raffreddamento (Cooling Scheme): metodo pratico per calare la temperatura in modo da eseguire l algoritmo in un tempo finito. Occorre definire: Valore iniziale parametro di controllo t 0 Una funzione per diminuire t k nel tempo Un criterio di arresto (valore finale di t k ) Il numero di iterazioni senza variare t k

20 ALGORITMI METAEURISTICI 9 Schema statico E l implementazione più usuale della strategia di raffreddamento:. Valore iniziale di t 0 : valore abbastanza alto, ad esempio stimato come la massima differenza tra i valori delle funzioni obiettivo di due soluzioni nello stesso intorno 2. Funzione per diminuire t k nel tempo: t k+ = αt k con α <, tipicamente α [0.8, 0.99] 3. Criterio di arresto: valore fisso di t k (piccolo), normalmente correlato alla minima differenza tra i valori delle funzioni obiettivo di due soluzioni nello stesso intorno 4. Numero di iterazioni senza variare t k : numero fisso, normalmente correlato alla dimensione dell intorno t k t 0 k

21 ALGORITMI METAEURISTICI 20 Esempio di SA per Equicut [Johnson, Aragon, Mc Geoch, Schevon 989] Neighborhood: si considerano partizioni s = (S, V \ S) anche non ammissibili ( S V \ S ) e si generano le soluzioni vicine muovendo un vertice da un insieme all altro Si valuta la soluzione con una funzione di penalità che tiene conto dell inammissibilità: cost(s) = w(δ(s)) + β( S V \ S ) 2, β 0 Algoritmo SA-Equicut: Scegli casualmente una soluzione di partenza s; T := TSTART; while numero soluzioni accettate > MINNSOL: for n SIZE do: Scegli un vicino s N(s); if (cost(s ) < cost(s)) then s := s ; else set s := s con probabilità e (cost(s) cost(s ))/T ; end for T := T TFACTOR; end while Restituisci miglior s. Parametri: α = 0.05; TSTART = 0.4; MINNSOL = 2; SIZE = 6; TFACTOR = 0.95;

22 ALGORITMI METAEURISTICI 2 Algoritmi genetici Gli algoritmi genetici (Holland 975) si ispirano al processo evolutivo degli organismi in natura Questi algoritmi mantengo ad ogni iterazione un insieme di soluzioni (o individui), chiamato popolazione, che viene aggiornata durante le varie iterazioni L aggiornamento avviene ricombinando sottoinsiemi della popolazione, definiti parent set (tipicamente coppie di individui), per ottenere nuove soluzioni. L operazione che dato un parent set permette di generare un nuovo individuo è definita crossover Un operazione di mutazione è probabilisticamente effettuata sui nuovi individui della popolazione al fine di diversificare il processo. Un altro metodo usato per la diversificazione è l immigrazione I nuovi individui generati vengono introdotti nella popolazione tramite opportune modifiche della popolazione stessa Le soluzioni (codificate come stringhe) sono dette cromosomi Un testo spesso preso a riferimento è il libro di Goldberg (989), che contiene lo schema theorem che giustifica teoricamente il metodo. Successivamente è stato provato che è errato applicare questo teorema agli algoritmi genetici [Aarts e Lenstra 997]

23 ALGORITMI METAEURISTICI 22 Algoritmo Genetico Step. Step 2. Step 3. Genera una popolazione P di soluzioni iniziali; Valuta il costo f(x), x P (f: funzione di fitness); repeat - Selezione dei genitori: in base alla fitness di ogni individuo, seleziona un sottoinsieme G di coppie di soluzioni dall insieme P ; - Crossover: costruisci un insieme P G di soluzioni combinando fra loro i genitori in G; - Mutazione: modifica casualmente alcune soluzioni in P G ; - Sia P G il nuovo insieme di soluzioni; - Eventualmente applica ricerca locale ad ogni individuo; - Valuta la fitness per il nuovo insieme P G ; - Selezione della popolazione: costruisci una nuova popolazione P sostituendo tutti o alcuni individui della popolazione P utilizzando l insieme P G ; - Poni P = P ; until <condizione di terminazione>.

24 ALGORITMI METAEURISTICI 23 Operatori di crossover e mutazione Esempio: Codifica di una soluzione come stringa di bit Single Crossover ( ) ( ) ( ) (0 0 ) Double Crossover ( ) ( ) (0 0 0 ) ( ) Mutazione ( ) ( )

25 ALGORITMI METAEURISTICI 24 Filtro (Repair Method) Mutazione particolare che trasforma una soluzione inammissibile in una soluzione ammissibile Esempio per Equicut: Codifica: x i = 0 se i A se i B (2) Necessario un metodo per ripristinare l ammissibilità della soluzione risultante

26 ALGORITMI METAEURISTICI 25 Esempio per il TSP: Codifica = vettore dei successori: s i = vertice che segue il vertice i s (2, 3, 4, 5, 6, ) s2 (2, 5, 6, 3, 4, ) o (2, 5, 6, 5, 6, ) Occorre un filtro per riottenere una soluzione ammissibile

27 ALGORITMI METAEURISTICI 26 GA per Equicut Roland e Pirkul sviluppano due lavori, nel 992 e nel 994 Crossover: single Mutazione bit per bit 992: Fitness: data dal costo della soluzione e da una penalità proporzionale alla differenza di cardinalità (violazione del vincolo) 994: Fitness senza penalità Utilizzo di un filtro per rendere tutte le soluzioni ammissibili Filtro: Greedy-balancing: while soluzione corrente non bilanciata: Sia A il sottinsieme di massima cardinalità; Trova a A che massimizza D a = E a I a (eventualmente negativo); Sposta a in B; end while

28 ALGORITMI METAEURISTICI 27 Tabu Search Il Tabu Search (Glover 986) esce dai minimi locali muovendosi sulla migliore soluzione dell intorno ad ogni iterazione, anche se peggiore della corrente Una struttura di memoria chiamata tabu list impedisce di tornare su soluzioni già visitate. Tabu Search Step. Step 2. Genera una soluzione iniziale x X Poni x = x e inizializza T L = ; (T L é la tabu List); Trova x N(x), tale che f(x ) = min{f(x ), x N(x), x / T L}; Step 3. T L = T L {x}; Poni x = x ; if f(x) < f(x ) then x = x Step 4. if not <condizione di terminazione> goto Step 2.

29 ALGORITMI METAEURISTICI 28 Ricerca locale vs Tabu Search Ricerca Locale Iteration 2 Iteration 7 al optimum High quality area al optimum Low quality area Iteration 4 Iteration Iteration 2 Iteration 3 Iteration 7 Iteration Iteration 5 High quality area ality area Low quality area Iteration 4 Iteration 6 Iteration 3 Iteration 5 olution space model Random restart ality area Iteration 6 Tabu Search olution space model Random restart Start Start imulated annealing Start Tabu search Start imulated annealing Tabu search

30 ALGORITMI METAEURISTICI 29 Alcune caratteristiche del Tabu Search Tabu List: Memorizzare soluzioni complete: Non si ritorna (generalmente) sui propri passi Tempo computazionale elevato Memorizzare solo alcuni attributi: Possibilità di ritornare sui propri passi Tempo computazionale limitato Memorizzazione: Lista vera e propria Vettore o matrice che memorizzano l iterazione della mossa Esempio: swap tra job per problema di scheduling

31 ALGORITMI METAEURISTICI 30 Esempio implementazione Tabu List Singolo processore: intorno dato dallo scambio di due job iterazione job scambiati (2,5) (3,7) (4,6) (,2) (9,0) (4,5) ,5 3,7 4,6,2 9,0 4,5 start

32 ALGORITMI METAEURISTICI 3 Implementazioni usuali Tabu List Tabu Tenure: Per quante iterazioni una mossa è considerata tabu Corta: intensificazione preferita a diversificazione Lunga: diversificazione preferita a intensificazione Compromesso: Lunghezza dinamica Short and Long Memory: La memoria a breve consiste essenzialmente nella Tabu List La memoria a lungo termine (opzionale) tiene conto di informazioni su tutta la ricerca compiuta Diversificazione: Possibilità di usare penalità per attributi troppo ricorrenti Possibilità di applicare multi-start per regioni poco visitate Si possono usare matrici simili a quelle usate per la tabu list Criteri di Aspirazione: Se una soluzione è tabu ma migliore dell incumbent la accetto lo stesso Altri possibili criteri

33 ALGORITMI METAEURISTICI 32 TS per Equicut () (Roland, Pirkul e Glover 995) Stesso intorno di SA: muovi un solo vertice da un insieme a un altro Tabu List: T L A (j)= iterazione in cui j è stato inserito in A T L B (j)= iterazione in cui j è stato inserito in B Lo spostamento di j da A a B è tabu se: T L A (j) + (tabu-tenure) > (iterazione corrente) Analogamente per lo spostamento di j da B ad A Neighborhood ristretto: Si considera un certo fattore MAX-UNBALANCE Una mossa è presa in considerazione solo se non porta a uno scostamento delle cardinalità maggiore di MAX-UNBALANCE MAX-UNBALANCE è aggiornato dinamicamente Criterio di stop: max(00, 5n) iterazioni

34 ALGORITMI METAEURISTICI 33 TS per Equicut (2) (Dell Amico e Maffioli 996, Dell Amico e Trubian 998) Neighborhood: scambia un vertice di A con uno di B Tabu List: T (i, j)= iterazione in cui i e j sono stati scambiati Impedisci scambio di i e j per le prossime tabu-tenure iterazioni Tabu Tenure: cresce nelle fasi di ricerca peggioranti cala nelle fasi di ricerca miglioranti Mossa: best improvement (non tabu) memorizza seconda best move Multi-Start: se la ricerca non ha dato miglioramenti nelle ultime iterazioni, riparti con una nuova soluzione

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

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

Algoritmi metaeuristici: I - introduzione

Algoritmi metaeuristici: I - introduzione Algoritmi metaeuristici: I - introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 2.0 - Aprile 200 Tecniche Meta-euristiche Algoritmi Local Search che usano speciali tecniche

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: Lunedì 13.30-15.30 in Aula G30 Giovedì 13.30-15.30 in Aula

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: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Tabu search. Tabu. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 2

Tabu search. Tabu. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 2 Tabu search 1 Tabu La parola tabu(taboo) viene dall isola di Tonga, Polinesia, dove era usata dagli aborigeni per indicare cose che non dovevano essere toccate perché erano sacre. In usi figurati indica

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

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

Metodi di Ottimizzazione per la Logistica e la Produzione

Metodi di Ottimizzazione per la Logistica e la Produzione Metodi di Ottimizzazione per la Logistica e la Produzione Parte I Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia MOLP Parte I 1 / 89 Contenuto della Parte

Dettagli

3.2 Rilassamenti lineari/combinatori e bounds

3.2 Rilassamenti lineari/combinatori e bounds 3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una

Dettagli

Introduzione. Algoritmi Genetici. Evoluzione naturale. Modello per un GA. Evoluzione attraverso riproduzione. Algoritmi Genetici. Popolazione iniziale

Introduzione. Algoritmi Genetici. Evoluzione naturale. Modello per un GA. Evoluzione attraverso riproduzione. Algoritmi Genetici. Popolazione iniziale Introduzione Fulvio Corno, Maurizio Rebaudengo Dip. Automatica e Informatica Politecnico di Torino Gli (GA) sono algoritmi di ricerca e ottimizzazione basati sui Charles Darwin meccanismi dell evoluzione

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

Modelli di Sistemi di Produzione:

Modelli di Sistemi di Produzione: Modelli di Sistemi di Produzione: programma dettagliato - giugno 2007 1. Algoritmi Metaeuristici 1.1 Algoritmi costruttivi ed algoritmi di ricerca locale/metaeuristici 1.2 Algoritmo di ricerca locale 1.3

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

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

Oltre la ricerca classica

Oltre la ricerca classica Oltre la ricerca classica Cap 4 Ricerca locale, ricerca online Alessio Micheli a.a. 2015/2016 Credits: Maria Simi Russell-Norvig Risolutori classici Gli agenti risolutori di problemi classici assumono:

Dettagli

Algoritmo di Branch & Bound

Algoritmo di Branch & Bound Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria

Dettagli

Struttura del Corso. Durata

Struttura del Corso. Durata Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria (DISMI) Università degli studi di Modena e Reggio Emilia Via Amendola 2, Pad. Buccola, 42122 Reggio Emilia web: www.or.unimore.it/iori/iori.htm

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

Cercare il percorso minimo Ant Colony Optimization

Cercare il percorso minimo Ant Colony Optimization 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 2011

Dettagli

Parte V: Rilassamento Lagrangiano

Parte V: Rilassamento Lagrangiano Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice

Dettagli

Soluzione Progetto 3 ASD a.a. 2018/2019. Alpinocalypse Now. Alessio Guerrieri e Lorenzo Ghiro 30 maggio 2018

Soluzione Progetto 3 ASD a.a. 2018/2019. Alpinocalypse Now. Alessio Guerrieri e Lorenzo Ghiro 30 maggio 2018 Soluzione Progetto 3 ASD a.a. 2018/2019 Alpinocalypse Now Alessio Guerrieri e Lorenzo Ghiro 30 maggio 2018 Statistiche Numero sottoposizioni: 1285 400 180 350 160 300 140 120 250 Sottomissioni 200 Sottomissioni

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

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini

Politecnico di Milano. Reti Wireless. Seminari didattici. Dalla teoria alla soluzione. Ilario Filippini Politecnico di Milano Reti Wireless Seminari didattici Dalla teoria alla soluzione Ilario Filippini 2 Approccio euristico 3 Obiettivo dell approccio euristico 4 Tipi di euristiche Dalla teoria alla soluzione

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

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

Algoritmo dibranch & Bound

Algoritmo dibranch & Bound Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo dibranch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria

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

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

Metodi di Ottimizzazione per la Logistica e la Produzione

Metodi di Ottimizzazione per la Logistica e la Produzione Metodi di Ottimizzazione per la Logistica e la Produzione Laboratorio Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università di Modena e Reggio Emilia MOLP Parte I 1 / 41 Contenuto della

Dettagli

Intelligenza Artificiale. Ricerca euristica L algoritmo A*

Intelligenza Artificiale. Ricerca euristica L algoritmo A* Intelligenza Artificiale Ricerca euristica L algoritmo A* Marco Piastra Ricerca euristica - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi

Dettagli

Il passo del gambero. Nel labirinto. Nel labirinto. La soluzione di problemi con la tecnica del Backtracking

Il passo del gambero. Nel labirinto. Nel labirinto. La soluzione di problemi con la tecnica del Backtracking Il passo del gambero La soluzione di problemi con la tecnica del Backtracking In ogni posizione provo sistematicamente tutte le strade, ricordando ogni volta l ultima scelta compiuta Ordine in cui tenteremo

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi euristici di ottimizzazione combinatoria (Parte I)

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

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano Rilassamento Lagrangiano AA 2009/10 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il

Dettagli

Matroidi, algoritmi greedy e teorema di Rado

Matroidi, algoritmi greedy e teorema di Rado Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema

Dettagli

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Multi classificatori. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Multi classificatori Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Combinazione di classificatori Idea: costruire più classificatori di base e predire la classe di appartenza di

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

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I

ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si

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 Genetici. Algoritmi genetici

Algoritmi Genetici. Algoritmi genetici 10 Algoritmi Genetici Vittorio Maniezzo Università di Bologna 1 Algoritmi genetici Un algoritmo genetico è una algoritmo euristico di ricerca che si ispira ai meccanismi della genetica delle popolazioni

Dettagli

Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi

Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi Strategie risolutive e algoritmi per problemi di partizionamento ottimo di grafi Natascia Piroso 12 luglio 2007 Natascia Piroso Partizionamento ottimo di grafi 12 luglio 2007 1 / 17 Definizione Dato un

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

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

Dettagli

Problemi di localizzazione di servizi (Facility Location Problems)

Problemi di localizzazione di servizi (Facility Location Problems) 9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili

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: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Proprietà di un euristica

Proprietà di un euristica p. 1/3 Euristiche Cosa fare se non ci possiamo aspettare di determinare in tempi ragionevoli una soluzione ottima o approssimata di un problema? Dobbiamo rinunciare a trattare il problema? No, possiamo

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati

Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_1 V1.4 Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Il contenuto del documento è

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

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

I recenti conflitti militari hanno dimostrato il valore strategico degli UAVs. Il ruolo

I recenti conflitti militari hanno dimostrato il valore strategico degli UAVs. Il ruolo Capitolo 3 GA per l Allocazione di Task I recenti conflitti militari hanno dimostrato il valore strategico degli UAVs. Il ruolo degli UAVs è passato da semplici missioni di ricognizione a missioni di carattere

Dettagli

Capitolo2. Algoritmo Genetico.

Capitolo2. Algoritmo Genetico. Capitolo2. Algoritmo Genetico. 2.1 Caratteristiche generali. Gli Algoritmi Genetici (GA-Genetic Algorithm) sono metodi stocastici volti alla risoluzione di problemi che si concentrano sulla ricerca di

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

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

Ottimizzazione Globale

Ottimizzazione Globale Dipartimento di Matematica Università di Padova Corso di Laurea Matematica 2014, Padova Outline Introduzione Algoritmi Probabilistici Algoritmi Probabilistici II Algoritmi Deterministici Formulazione del

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

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 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

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max

Makespan con set-up dipendenti dalla sequenza. 1/s jk /C max Makespan con set-up dipendenti dalla sequenza 1/s jk /C max 1/s jk /C max Un tempo di riattrezzaggio (set-up) s jk è richiesto fra il processamento di j e quello di k. In questo caso, C max dipende dalla

Dettagli

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il

Algoritmi esatti. La teoria ci dice che per problemi difficili (come il p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere

Dettagli

Operativamente, risolvere un problema con un approccio ricorsivo comporta

Operativamente, risolvere un problema con un approccio ricorsivo comporta ! Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa!! La ricorsione consiste nella possibilità di definire una funzione in termini di se

Dettagli

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Dettagli

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi 1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia

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

Ingegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation

Ingegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation Ingegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation Dipartimento di Elettronica e Informazione Politecnico di Milano Evolutionary Computation Raggruppa modelli di calcolo

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

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. 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

Programmazione Matematica: VII La scomposizione di Dantzig Wolfe

Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev..0 Maggio 2004 Scomposizione di problemi Accade spesso che un problema

Dettagli

Esempio: il fattoriale di un numero fact(n) = n! n!: Z! N n! vale 1 se n " 0 n! vale n*(n-1)! se n > 0. Codifica:

Esempio: il fattoriale di un numero fact(n) = n! n!: Z! N n! vale 1 se n  0 n! vale n*(n-1)! se n > 0. Codifica: ! Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa!! La ricorsione consiste nella possibilità di definire una funzione in termini di se

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

Teoria della Complessità Concetti fondamentali

Teoria della Complessità Concetti fondamentali Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Zaino frazionario e Algoritmi golosi 1 1 Dipartimento di Matematica e Informatica Università di Camerino 17 febbraio 2009 0-1 Un ladro entra in un magazzino e trova n oggetti L i-esimo oggetto vale v i

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

Apprendimento basato sulle istanze

Apprendimento basato sulle istanze Apprendimento basato sulle istanze Apprendimento basato sulle istanze Apprendimento: semplice memorizzazione di tutti gli esempi Classificazione di una nuova istanza x j : reperimento degli

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

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

Probabilità e Statistica

Probabilità e Statistica Probabilità e Statistica Non faremo una trattazione sistematica di probabilità e statistica (si veda in proposito il corso di Esperimentazioni III) Richiameremo alcuni argomenti che avete già visto quando

Dettagli

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone Il problema dell assegnamento degli stati versione del 9/1/03 Sintesi: Assegnamento degli stati La riduzione del numero

Dettagli

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT)

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT) QUICKSORT Basato sul paradigma divide-et-impera (come MERGE-SORT) Divide: stabilisce un valore di q tale da dividere l array A[p.. r] in due sottoarray non vuoti A[p.. q] e A[q+1.. r], dove ogni elemento

Dettagli

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Ottimizzazione Combinatoria e Reti (a.a. 2007/08) o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso

Dettagli

LA RICORSIONE LA RICORSIONE

LA RICORSIONE LA RICORSIONE LA RICORSIONE Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa La ricorsione consiste nella possibilità di definire una funzione in termini

Dettagli

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n

5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n 5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe

Dettagli

Introduzione agli algoritmi euristici

Introduzione agli algoritmi euristici Introduzione agli algoritmi euristici Richiami Generico problema di ottimizzazione P. Ci si può sempre ricondurre a questa forma. Esempio: x R n, f(x)=c T x, h(x)=ax, c R m, A R mx2 Specificando n, m,

Dettagli

Approcci euristici per il job shop

Approcci euristici per il job shop Approcci euristici per il job shop Riferimenti lezione: Nowicki, E. & Smutnicki, C. (1996) A fast taboo search algorithm for the job shop problem, Management Science, Vol. 42, No. 6, pp. 797-813 1 Problema

Dettagli

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Risoluzione di sistemi lineari sparsi e di grandi dimensioni Risoluzione di sistemi lineari sparsi e di grandi dimensioni Un sistema lineare Ax = b con A R n n, b R n, è sparso quando il numero di elementi della matrice A diversi da zero è αn, con n α. Una caratteristica

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Modelli per la Logistica Distributiva: Single Commodity Minimum Cost Flow Problem Multi Commodity Minimum Cost Flow Problem Fixed Charge

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

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

Quick Sort. PARTITION(A,p,r) risistema il sottoarray A[p...r] e riporta l indice q:

Quick Sort. PARTITION(A,p,r) risistema il sottoarray A[p...r] e riporta l indice q: Quick Sort - Ordinamento in loco - Tempo di esecuzione nel caso peggiore: Θ(n 2 ) - Tempo di esecuzione nel caso medio: Θ(n lg n) - I fattori costanti nascosti nella notazione Θ sono abbastanza piccoli

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