Iteration 2. Iteration 7. Iteration 1. Iteration 6
|
|
- Gianpiero Berardino
- 7 anni fa
- Visualizzazioni
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
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
DettagliAlgoritmi 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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:
DettagliTabu 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
DettagliTecniche 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
DettagliAlgoritmi 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
DettagliMetodi 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
Dettagli3.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
DettagliIntroduzione. 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
DettagliTSP 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
DettagliModelli 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
DettagliRicerca 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
Dettagli5.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
DettagliOltre 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:
DettagliAlgoritmo 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
DettagliStruttura 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
DettagliLaboratorio 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
DettagliCercare 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
DettagliParte 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
DettagliSoluzione 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
DettagliIl 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
DettagliPolitecnico 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
DettagliPROBLEMA 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
DettagliLaboratorio 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
DettagliAlgoritmo 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
DettagliProblemi, 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
DettagliMETODI 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)
DettagliMetodi 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
DettagliIntelligenza 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
DettagliIl 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
DettagliMetodi 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
DettagliRilassamento 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
DettagliMatroidi, 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
DettagliRilassamento 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
DettagliMulti 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
Dettagli3 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
DettagliALGORITMI 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
DettagliProgrammazione 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)
DettagliAlgoritmi 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
DettagliStrategie 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
DettagliI 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
Dettagli5.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)
DettagliProblemi 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
DettagliAlgoritmi 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:
DettagliProprietà 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
DettagliCorso 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
DettagliAgenti 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 è
Dettagli2 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
Dettagli2 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
DettagliFondamenti 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
DettagliIl 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
DettagliI 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
DettagliCapitolo2. 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
DettagliParte 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)
DettagliApprendimento 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
DettagliOttimizzazione Globale
Dipartimento di Matematica Università di Padova Corso di Laurea Matematica 2014, Padova Outline Introduzione Algoritmi Probabilistici Algoritmi Probabilistici II Algoritmi Deterministici Formulazione del
DettagliIntroduzione 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
Dettagli3.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
Dettaglitrovare 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
DettagliProblema 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
DettagliMakespan 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
DettagliAlgoritmi 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
DettagliOperativamente, 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
Dettagli11.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)
Dettagli1 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
Dettagli2.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
DettagliIngegneria 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
Dettagli2.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
Dettagli2.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,
DettagliAlgoritmi 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
DettagliProgrammazione 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
DettagliEsempio: 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
DettagliQuadratic 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
DettagliTeoria 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
DettagliCorso 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
DettagliAlgoritmi 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
DettagliApprendimento 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
DettagliLaboratorio 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
DettagliIntelligenza 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
DettagliProbabilità 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
DettagliSintesi 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
DettagliQUICKSORT. 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
DettagliOttimizzazione 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
DettagliLA 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
Dettagli5.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
DettagliIntroduzione 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,
DettagliApprocci 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
Dettagli02/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
DettagliRisoluzione 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
DettagliRicerca 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
Dettagliin 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
DettagliOTTIMIZZAZIONE 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
DettagliLaboratorio 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
DettagliConstraint 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
DettagliQuick 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
DettagliIl 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