La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Seminario di Metodi Matematici per l’Ottimizzazione

Presentazioni simili


Presentazione sul tema: "Seminario di Metodi Matematici per l’Ottimizzazione"— Transcript della presentazione:

1 Seminario di Metodi Matematici per l’Ottimizzazione
UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Simulated Annealing Seminario di Metodi Matematici per l’Ottimizzazione A.A Presentato da: Gabriele Consoli Leonardo La Rocca

2 Introduzione Il Simulated Annealing (in italiano ricottura simulata) è un metodo di ricerca adatto a risolvere problemi legati all’ottimizzazione. L’approccio degli algoritmi Simulated Annealing si basa sulla simulazione di un particolare fenomeno fisico. L’obiettivo finale di questo tipo di algoritmi è quello di trovare un minimo globale in presenza di più minimi locali.

3 Problema dell’ottimizzazione
E’ rappresentato da una coppia (c,S) dove: S è un insieme chiamato regione ammissibile del problema. c è la funzione obiettivo definita su S a valori reali ovvero: c:S  R L’obiettivo è quello di trovare un elemento x  S tale che: c(x)≤c(y) ∀ y ∈ S: x elemento di MINIMO di S c(x)≥c(y) ∀ y ∈ S: x elemento di MASSIMO di S

4 Risoluzione di problemi di ottimizzazione
Problema Semplice Difficoltà di risoluzione bassa: soluzioni varie Complesso Difficoltà di risoluzione alta: soluzioni euristiche

5 Il problema del commesso viaggiatore
Un fattorino che deve effettuare un certo numero di consegne in N città. La soluzione a questo problema è la risposta alla seguente domanda: Quale sarà il cammino minimo meno costoso per visitare tutte le città e tornare al punto di partenza?

6 Il problema del commesso viaggiatore (I)
Bisogna trovare un ciclo hamiltoniano di costo minimo in un assegnato grafo orientato pesato: G=(V,E,P) Un ciclo hamiltoniano è un cammino, all’interno di un grafo G, che partendo da un nodo iniziale tocca tutti gli altri nodi del grafo una ed una sola volta, per poi alla fine tornare al nodo di partenza.

7 Il problema del commesso viaggiatore (II)
L’insieme S delle soluzioni è dato da tutti i possibili cicli hamiltoniani. Se il grafo è completo il numero delle possibili soluzioni sarà rappresentato da tutti i cicli hamiltoniani non simmetrici:

8 Il problema del commesso viaggiatore (III)
Considerato un grafo con n=22 nodi lo spazio delle soluzioni sarà dato da: S = Potendo disporre di un calcolatore che genera e valuta 109 soluzioni al secondo, per la ricerca di un minimo sarebbero richiesti circa 200 anni cioè 1010 secondi.

9 Euristiche Nonostante lo sviluppo tecnologico ci sono problemi che richiedono anni per fornire una soluzione ottimale. Nell’ambito di un’applicazione pratica non è possibile aspettare cosi tanto bisogna trovare un compromesso in modo da determinare in tempi ragionevoli una buona (anche se non ottimale) soluzione. A questo scopo vengono utilizzati degli algoritmi approssimati detti euristiche.

10 Algoritmi Meta – Euristici
Utilizzano tecniche in grado di evitare di fermarsi in un ottimo locale. A questo scopo l’idea di base di questi algoritmi sta nel poter effettuare anche mosse peggioranti. Una volta effettuata una mossa peggiorante non bisogna tornare alla mossa di partenza altrimenti si crea un loop infinito. L’algoritmo meta-euristico deve rispettare 2 condizioni: Tempi di esecuzione che non crescano troppo all’aumentare della dimensione del problema. Soluzioni ottime o vicine a quelle ottime.

11 Tempo vs Qualità Le condizioni sono in conflitto tra di loro quindi l’euristica è un compromesso tra fattori contrastanti: Conseguenze: si sacrifica la garanzia di ottenere sempre la soluzione ottimale a favore di una risposta in tempi ragionevoli. Un esempio concreto sarà descritto in maniera esaustiva dal Simulated Annealing. Tempo Qualità Rapidità con cui viene restituita una soluzione Qualità della soluzione ottenuta che dovrebbe essere più vicina al valore ottimale

12 Simulated Annealing E’ un processo con il quale un solido, all’interno di un bagno termico, raggiunge uno stato di energia minima. Il procedimento da seguire è il seguente: Portare il metallo, all’interno del bagno termico, ad una temperatura tale per cui fonde. Riportare il metallo ad uno stato solido o cristallino controllando e riducendo gradualmente la temperatura, di modo che gli atomi all’interno del metallo raggiungano lo stato di energia minima. E’ utile analizzare il comportamento degli atomi durante questo processo.

13 Simulated Annealing – Fase I
Inizialmente gli atomi presenti all’interno del solido mantengono una struttura reticolare ordinata determinata dalle forze di legame. Per effetto dell’energia interna, gli atomi, hanno la possibilità di spostarsi dalla posizione di equilibrio imposta dalle forze di legame della struttura assumendo una configurazione differente da quella iniziale. Ad alte temperature l’energia interna raggiunge valori tali da vincere le forze di legame e gli atomi sono in condizione di allontanarsi dalla posizione rigida imposta e di assumere una configurazione disordinata tipica dello stato liquido.

14 Simulated Annealig – Fase II
Abbassando la temperatura del sistema in maniera lenta e graduale si potrà tornare ad una configurazione cristallina altamente ordinata. Gli atomi durante il processo di raffreddamento riescono in maniera autonoma a ricostruire l’ordine cristallino eliminando le impurità iniziali rilasciando lentamente energia. Il rilascio di energia graduale porterà al raggiungimento dello stato di energia minima ovvero lo stato cristallino puro

15 Osservazioni Per ogni valore della temperatura il sistema evolve naturalmente verso lo stato di minima energia, cioè raggiunge l’equilibrio termico, quindi se consideriamo variazioni infinitesime possiamo dire che il sistema resta in equilibrio termico. Le riduzioni veloci della temperatura possono causare dei fenomeni non desiderabili: difettosità nel reticolo cristallino con conseguente metastabilità, con fessurazioni e fratture del reticolo stesso (stress termico). Questo processo di raffreddamento rapido può essere visto come analogo all’ottimizzazione locale. L’annealing evita questo fenomeno procedendo ad un graduale raffreddamento del sistema, portandolo ad una struttura globalmente ottima stabile.

16 Distribuzione di Boltzmann
La termodinamica statica afferma che è più probabile trovarsi nello stato di energia minima, ma esiste una probabilità diversa da zero di trovarsi in un uno stato di energia maggiore. Tale probabilità è descritta dalla Distribuzione di Boltzmann:

17 Algoritmo di Metropolis
L’algoritmo di Metropolis (1954) riesce a simulare le fasi del Simulated Annealing ed in particolare: Si parte dallo stato corrente S, alla temperatura T e con energia E, definito dalle posizioni delle molecole che lo costituiscono. Viene applicata una perturbazione consistente nello spostamento di una molecola in una nuova posizione scelta casualmente. In tal modo il sistema raggiunge un nuovo stato, S’, con un diverso valore di energia E’ Si decide se accettare o meno il nuovo stato.

18 Algoritmo di Metropolis (I)

19 Algoritmo di Metropolis (II)
Il nuovo stato viene accettato, come stato corrente, con una probabilità definita dalla seguente espressione: dove ΔE=E’-E è la differenza di energia tra il nuovo e il vecchio stato.

20 Algoritmo di Metropolis (III)
La probabilità usata da Metropolis rappresenta il rapporto fra la probabilità che il sistema si trovi nello stato S’ rispetto alla probabilità che si trovi nello stato S, secondo la distribuzione di Boltzmann. Si noti che ad alte temperature tutti gli stati di energia sono equiprobabili, mentre a basse temperature il sistema si trova sicuramente in stati di minima energia.

21 Corrispondenza tra l’algoritmo di Metropolis e l’ottimizzazione

22 Osservazioni Se lo stato E’ è accettato, sostituirà lo stato iniziale e si procederà alla generazione di una nuova transizione. Per simulare il lento raffreddamento si generano un numero N di transizioni per una data temperatura T, prima di passare ad una temperatura più bassa di modo che per ogni stato sia rispettato l’equilibrio termico. Inizialmente un valore molto alto di T permette all’algoritmo di superare facilmente i minimi locali e di continuare la ricerca per una configurazione migliore. In seguito, il progressivo abbassamento della temperatura tende a circoscrivere la ricerca di un minimo, permettendo all’algoritmo di convergere definitivamente al minimo globale. La probabilità di transizione è definita essere non nulla quando ΔE è positiva intendendo con ciò che il sistema può spostarsi nel nuovo stato anche quando questo è peggiore (ha un energia più alta) di quello attuale.

23 Perché punti peggiori?? La ragione per cui si accettano anche punti con valori della funzione obiettivo peggiori è che questo è il solo modo di sfuggire ad ottimi locali non globali. Nelle ricerche locali una volta giunti nell’ottimo locale non siamo più in grado di procedere a siamo costretti ad arrestarci (siamo intrappolati nell’ottimo locale). In un algoritmo di SA possiamo invece sfuggire da un ottimo locale accettando anche punti peggiori rispetto a quello corrente.

24 I passi della procedura
1. Inizializzazione
Consiste nell’individuazione di una soluzione iniziale S di innesco. 2. Definizione di una mossa
Definisce l’operazione che permette di individuare casualmente una soluzione S’ nell’intorno della soluzione corrente S. 3. Accettazione della mossa
È l’operazione grazie alla quale si valuta se accettare o meno la soluzione individuata S’ come nuova soluzione corrente S (S’→S) applicando la probabilità di accettazione esposta in precedenza. 4. Definizione della cooling schedules
Rappresenta la definizione di tutti i parametri di controllo dell’algoritmo.

25 Cooling Schedules Per cooling schedules si intende l’insieme delle regole che simulano il processo di raffreddamento e governa il successo dell’algoritmo. Per definire una cooling schedules, in pratica, bisogna individuare: il valore iniziale Tmax del parametro di controllo. il valore finale Tmin del parametro di controllo. Schema di raffreddamento ΔT. Criterio di interruzione.

26 Temperatura Iniziale Scegliere un valore abbastanza alto cosi da ammettere più fluttuazioni di energia iniziali evitando di bloccarsi in minimi locali. Un semplice criterio di scelta è porre T uguale a infinito in modo da accettare tutti i possibili valori. Un metodo comunemente usato è quello di White.

27 Temperatura Finale Alcuni possibili criteri per stabilire a quale temperatura fermarsi sono: Se l’energia non cambia negli ultimi N stati allora fermo l’algoritmo. Scegliere a priori un valore minimo di stati accettati a temperatura costante. Se la differenza tra energia minima ed energia massima degli stati a temperatura costante è prossima a zero. Scegliere a priori un valore di soglia per la temperatura.

28 Schema di raffreddamento ΔT (I)
Il successo dell’algoritmo è determinato dalla riduzione della temperatura. E’ necessario scegliere un appropriato schema di riduzione degli stadi di temperatura determinando quando e quanto ridurre.

29 Schema di raffreddamento ΔT (II)
QUANDO QUANTO ACCADE SE: il numero di transizioni ad ogni stadio di temperatura deve essere tale da assicurare che si passi da uno stadio termico al successivo solo quando si è raggiunto l’equilibrio termico, cioè quando ad una data temperatura le energie delle soluzioni accettate approssimano la distribuzione di Boltzmann per quello stadio di temperatura. RIDUZIONE RAPIDA: porterebbe alla possibilità che l’algoritmo rimanga confinato in un minimo locale. RIDUZIONE LENTA: si ha un aumento degli stadi di temperatura con un conseguente innalzamento del tempo di calcolo.

30 Schema di raffreddamento ΔT (III)
Possiamo quindi dire che lo schema di raffreddamento deve essere scelto in base al problema specifico che si sta trattando. Vi sono due schemi di raffreddamento della temperatura quello geometrico e quello logaritmico: Geometrico: è molto semplice, e viene utilizzato dalla maggioranza dei ricercatori. La temperatura viene ridotta, ad ogni stadio, moltiplicandola per una costante chiamata cooling ratio (α), che ha un valore compreso fra 0 ed 1. Logaritmico: questo metodo garantisce la convergenza al minimo globale in un numero di passi potenzialmente infinito.

31 Criterio di interruzione
Fattore critico: il processo di annealing converge ad un ottimo globale se la temperatura è sufficientemente ridotta in modo graduale. Interrompere il processo quando il numero di soluzioni accettate ad un certo stadio è inferiore ad un valore fissato. In questo caso ci si può aspettare una soluzione prossima all’ottimo globale. Tipicamente, quando non si voglia effettuare un criterio di interruzione, è possibile utilizzare un valore finale della temperatura. Tale valore corrisponde dal punto di vista fisico dell’annealing al valore della temperatura ambiente quando il bagno di fusione si è solidificato in una struttura cristallina stabile e di minima energia. Tecnicamente tale valore finale della temperatura viene stabilito in base al problema che si sta affrontando.

32 Schema del processo fisico

33 Processo fisico Vs Ottimizzazione
Per costruire l’algoritmo si devono identificare nel problema di ottimizzazione le analogie con i concetti fisici: SIMULATED ANNEALING PROBLEMA DI OTTIMIZZAZIONE Stato del Solido Spazio delle Soluzioni Energia Funzione Costo Temperatura Parametro di Controllo Stato con minima energia Soluzione Ottima

34 Costruzione dell’algoritmo
Bisogna scegliere un opportuno schema di annealing. Esso si ottiene attraverso la regolazione dei parametri da cui dipende il processo di ottimizzazione matematica: stabilire la legge di decadimento della temperatura; la durata del tempo necessario per il raggiungimento dell'equilibrio termico; un metodo di perturbazione del sistema per la generazione dello spazio delle configurazioni.

35 Processo simulato (SA)

36 Funzionamento generale
INIZIALIZZAZIONE di T ed X While Not (Condizione d’arresto) Do for i1 to L GENERAZIONE di Y da X If f(Y) <= f(X) Then XY Else If METROPOLIS_RULE() Then XY End DECREMENTO DI T

37 Criteri di scelta della temperatura
TEMPERATURA INIZIALE Dato lo stato iniziale il sistema viene perturbarto per N passi a T->∞. TEMPERATURA FINALE L’algoritmo si arresta se la migliore configurazione non è cambiata per K iterazioni

38 Cooling Schedule (I) Tk = T0 α(k/N) Schema di raffreddamento Dove:
Scheduling geometrico: Tk = T0 α(k/N) Dove: T0 = temperatura iniziale 0 ≤ α ≤ 1 k = passo attuale dell’algoritmo N = numero di transizione a temperatura Tk

39 Cooling Schedule (II)

40 Applicazioni SA in Matlab
Traveling Salesman Problem (TSP) Bipartizione di un grafo Deconvoluzione sismica

41 TSP nel Simulated Annealing
Spazio delle configurazioni Insieme di punti del piano che corrispondono alle città da visitare. Funzione Obiettivo Distanza minima tra le città. Perturbazione Scelti due indici i<j, si inverte il cammino tra essi. Configurazione Iniziale E’ ottenuta collegando nell'ordine dato in input i punti del percorso

42 Bipartizione di un Grafo
Dato un grafo G=(V,E) non orientato, dove V è un insieme di vertici, una bipartizione {V1, V2} è definita da: V1∩V2=∅ e V1∪ V2=V tali che il numero di archi che connettono V1 e V2 sia minimo. Se un arco(u,v) connette le due partizioni, con u ϵ V1 e v ϵ V2 , la funzione obiettivo è quindi: {(u,v) ϵ E : u ϵV1 , v ϵV2}

43 Bipartizione di un Grafo in SA
Spazio delle configurazioni Grafo G= (V,E) da bipartire. Funzione Obiettivo Peso complessivo degli archi che connettono gli insiemi V1 e V2. Perturbazione Scambio di un nodo da una partizione all’altra Configurazione Iniziale La prima partizione è ottenuta separando i primi N/2 nodi dai successivi N/2. (N pari)

44 Deconvoluzione Sismica
La deconvoluzione è un passaggio fondamentale nell’elaborazione di un segnale sismico, permette di recuperare le alte frequenze, attenuare le multiple e ricostruire la forma d’onda generata da un impulso. La deconvoluzione semplifica l’onda sismica della sorgente f(t) dalle tracce registrate per ricostruire idealmente la funzione della riflettività terrestre e(t). I coefficienti di riflessione identificano e quantificano il disallineamento tra i diversi strati geologici

45 Deconvoluzione Sismica (II)

46 Deconvoluzione Sismica (III)
L’applicazione consiste nel far detonare una carica esplosiva sulla superficie terrestre. Le onde sonore, provocate dall’esplosione, attraversa diversi strati delle crosta terrestre fino a raggiungere uno strumento che ne misura il valore. Le onde saranno parzialmente riflesse nel passaggio tra uno strato ed un altro. Il segnale ricevuto sarà una sovrapposizione di più segnali attenuati e ritardati del segnale originale.

47 Deconvoluzione Sismica (IV)

48 Deconvoluzione Sismica (V)
Dato f(t) segnale originale, g(t) segnale misurato. Il segnale ricostruito sarà dato da: s(t)=Σi αi f(t-τ) Dove α e τ sono rispettivamente attenuazione e ritardo dell’i-esima componente della sovrapposizione. Funzione costo : Σi (g(t)-s(t))2

49 Deconvoluzione Sismica (VI)

50 Deconvoluzione Sismica in SA
Spazio delle configurazioni f(t),g(t) Funzione Obiettivo Σi (g(t)-s(t))2 Perturbazione Variamo uno dei valori di α e τ Configurazione iniziale Viene generata un onda con valori prestabiliti di α, τ e noise.

51 Scenari applicativi del SA
Image processing (Ricostruzione di immagini) Elettronica (Progettazione di circuiti integrati complessi o “microchip”): per minimizzare le interferenze tra i collegamenti tra le componenti. Robotica (Path generation): per la pianificazione diretta di percorsi robotici ottimali in modo da evitare ostacoli mantenendo un andamento continuo. Meccanica (Planar Mechanism Synthesis): per la produzione di ingranaggi meccanici. Medicina (tomografia): una metodologia diagnostica per immagini, che sfrutta i raggi x e consente di riprodurre sezioni corporee del paziente ed elaborazioni tridimensionali. Geologia (prospezioni): tecniche di indagine non distruttiva del sottosuolo, che consiste nella misurazione tramite apparecchi di alcune proprietà fisiche del terreno.

52 Image Processing Il SA viene utilizzato per il PET (Tomografia ad Emissione di Positroni), una tecnica di diagnostica medica che produce immagini tridimensionali o mappe dell’attività metabolica del paziente. Produce delle immagine ad alta definizione. Ricostruisce dati a partire da dati di proiezione rumorosi. Per il problema del rumore introdotto dallo scanner, vengono utilizzate tecniche di ricostruzione statistica. In particolar modo utilizziamo l'algoritmo del Simulated Annealing per la sua capacità di evitare di rimanere intrappolati in minimi locali.

53 Image Processing (I) Il PET è un metodo di scansione analogo alla più conosciute tac e risonanze magnetiche con la differenza che le scansioni PET sono in grado di rilevare alterazioni a livello biologico molecolare che spesso precedono l'alterazione anatomica.

54 Image Processing (II) Dato PM misurato
Si costruisce in maniera iterativa l’immagine che si adatta a PM calcolando ad ogni passo lo pseudo dato PP che corrisponde allo stato attuale dell’immagine. PM e PP vengono confrontati Se la loro differenza viene ridotta al minimo, l’immagine ricostruita converge all’immagine originale.

55 Image Processing (III)
La funzione costo sarà quindi: dove i e j sono le coordinate di riferimento per i singoli pixel. Ad ogni passo iterativo viene alterata l’immagine cambiando in modo random il valore di un pixel La funzione obiettivo assume un valore differente quindi si deve decidere se accettare o meno la modifica del dato. L’immagine ricostruita converge alla fine a quella originale.

56 Image Processing (IV) Questo processo ha dimostrato di ottenere buoni risultati per un’immagine di area 64x64 pixel. (A) è l‘immagine originale e (B) è l’immagine ricostruita utilizzando simulated annealing. L‘immagine sfocata (C) è stata ottenuta utilizzando il metodo di massima verosimiglianza, che non ottimizza l’immagine globalmente.

57 Circuiti VLSI -Very Large Scale Integration
Per VLSI si intende un circuito integrato ad alta densità cioè un dispositivo elettronico miniaturizzato realizzato su un substrato di materiale semiconduttore che integra fino a centinaia di milioni di componenti elettronici elementari (transistor, diodi, condensatori e resistori) al suo interno. Nella figura è rappresentata la piastrina un circuito VLSI

58 Progettazione di circuiti IC (microchip)
Processo di progettazione di circuiti integrati: Partizionamento del circuito in blocchi logico-comportamentali elementari interconnessi. Realizzazione del modello fisico dei circuiti posizionando in maniera opportuna gli elementi circuitali. Instradamento dei cavi tra le posizioni terminali.

59 Progettazione di circuiti IC (microchip)(II)
Il primo passo descritto rappresenta un esempio di utilizzo del SA. Esso può essere espresso come un problema di partizionamento di un Ipergrafo H pesato in cui il peso di ciascuna componente non può superare una certa soglia “c” (capacità dei blocchi) e in cui si vuole minimizzare la connessione tra le componenti. Nell’ipergrafo H(V,E) i vertici sono in corrispondenza biunivoca con le componenti. Ad ogni vertice si assegna un peso ωi ≥ 0 pari alla dimensione del componente rappresentato dal vertice stesso. Archi del grafo = collegamenti tra i componenti

60 Progettazione di circuiti VLSI
Il modo in cui una cella è posizionata rispetto alle altre è guidato dalla necessità di minimizzare la lunghezza dei collegamenti fra le celle e le sovrapposizioni fra gli strati metallici che realizzano le connessioni. La nostra funzione obiettivo è fare in modo che due celle che si trovano vicine logicamente siano il più possibile vicine fisicamente rispettando i vincoli di spazio imposti.

61 GRAZIE


Scaricare ppt "Seminario di Metodi Matematici per l’Ottimizzazione"

Presentazioni simili


Annunci Google