Politecnico di Torino Tesi di Laurea

Slides:



Advertisements
Presentazioni simili
I bridge Standard IEEE 802.1D.
Advertisements

Algoritmi e Strutture Dati
Manerba Daniele – Università degli Studi di Brescia – a.a
Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Estendere i linguaggi: i tipi di dato astratti
Introduzione Cosa sono le reti di Petri?
Algoritmi e Strutture Dati
Università degli Studi di Roma Tor Vergata
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. A)
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi per la Logistica Branch & Bound Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di.
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Programmazione a vincoli: algoritmi di scheduling in OPL
07/04/2003Algoritmi Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure.
Progetto CRESCO S.P.III.3 Modelli e Strumenti di supporto alla Ottimizzazione e Riconfigurazione delle Reti A. Chella, G. Lo Re, A. De Paola Dipartimento.
Relatori: Emanuele e Denis Tornei Informatici. Introduzione In queste prime lezioni abbiamo affrontato linformatica procedendo a soluzioni di problemi,
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Università degli Studi di Padova Progetto Lauree scientifiche Buratto Alessandra Dipartimento Di Matematica Pura Ed Applicata Liceo Scientifico "L. da.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Un approccio soft per i primi tre anni della primaria
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Euristiche: algoritmi costruttivi e di ricerca locale
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Un approccio soft per i primi tre anni della primaria
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Risolvere vincoli soft Francesca Rossi Giugno 2004.
Il Problema del Commesso Viaggiatore. Traveling Salesman’s Problem (TSP) Un commesso viaggiatore deve visitare un certo numero di città Conosce la distanza.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Progetti Regole dei progetti Due studenti per progetto Due studenti per progetto Lavoro indipendente, con coordinamento per mettere insieme le due.
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
Automi temporizzati.
Algoritmi e Strutture Dati
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Dynamic Programming Testi di riferimento per approfondimenti: Dimitri Bertsekas, Dynamic Programming, deterministic and stochastic models, Prentice-Hall.
Informazioni sul corso di Metodi di Ottimizzazione A.A. 2013/14
Algoritmi e Strutture Dati Luciano Gualà
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
ASD a.a.2010/2011- Lezione 12 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi Backtracking/ Branch and Bound Lezione n°12.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono.
Transcript della presentazione:

Politecnico di Torino Tesi di Laurea Ottimizzazione topologica di reti di tipo Internet Protocol con il metodo del Local Branching Relatore: prof. Roberto Tadei Candidato: Flavio Cimolin Dicembre 2003

Un problema di Network Design Le componenti del problema sono: Un insieme di nodi Una serie di archi fra i nodi Delle richieste che devono essere instradate sulla rete Su ogni arco possono essere installati dei link (cavi in fibra ottica), con un certo costo unitario ed una determinata capacità. Ogni arco presenta poi dei pesi di instradamento in entrambe le direzioni di percorrenza Si deve garantire il corretto instradamento di tutti i flussi secondo un protocollo di tipo Internet Protocol OSPF-ECM Problema: Determinare la topologia di costo minimo e l’allocazione della banda in modo da soddisfare tutte le richieste

Modello in PLMI

Xpress IVE ed il linguaggio Mosel Xpress IVE è un software di ottimizzazione della Dash Optimization che si basa sul linguaggio Mosel Mosel è un linguaggio di programmazione particolarmente indicato per scrivere modelli di Programmazione Lineare Output Variabili e vincoli Listato del programma Albero di ricerca, Statistiche, Grafici di progresso

Branch and Bound E’ lo strumento base per risolvere problemi di PLMI E’ un metodo di tipo enumerativo con uno schema ad albero Ad ogni passo sceglie una variabile frazionaria e genera due sottoproblemi imponendone l’interezza Sfrutta dei rilassamenti del problema Consente di eliminare interi sottoinsiemi di soluzioni in base a 3 criteri di fathoming: Inammissibilità della soluzione Soluzione intera determinata Assenza di soluzione migliorante

Euristiche basate su ricerca locale Permettono di determinare in breve tempo soluzioni molto buone, ma senza poterne garantire l’ottimalità Si può descrivere l’algoritmo in quattro passi fondamentali: Si parte da una soluzione iniziale di riferimento x1 Si definisce un vicinato V, cioè un insieme di soluzioni “vicine” a x1 Si cerca all’interno del vicinato una soluzione x2 migliore della precedente Si reitera il procedimento creando un nuovo vicinato di x2 e cercando lì una soluzione ancora migliore

Meta-Euristiche Le euristiche classiche hanno il rischio di subire intrappolamenti in minimi locali, per risolvere l’inconveniente nascono le Meta-Euristiche Diversificazioni A volte conviene accettare una soluzione peggiorante per poter uscire da minimi locali e sondare più soluzioni ammissibili Metodi di Tabu Search, Simulated Annealing, Algoritmi Genetici

IL LOCAL BRANCHING

Il Local Branching Soft Variable Fixing: Presentato per la prima volta da M. Fischetti e A. Lodi nel Maggio 2002 E’ in linea di principio un metodo esatto, ma può essere utilizzato in modo proficuo come una meta-euristica Si basa sulla costruzione di vicinati in cui un certo numero di variabili vengono fissate, ma non si sa a priori quali Soft Variable Fixing: E’ il Solver stesso a decidere quali variabili fissare e quali lasciare libere, facendo la scelta ottima

Variabili Binarie Il Local Branching si applica bene a problemi che hanno un elevato numero di variabili binarie (0/1) Necessita di una soluzione iniziale di riferimento A partire da essa, crea un vicinato che contenga le soluzioni in cui cambino valore al massimo k variabili binarie

Tagli di Local Branching Sia B l’insieme di tutti gli indici delle variabili binarie, e sia S il supporto binario di , ovvero l’insieme degli indici delle variabili binarie che hanno valore 1: Si definisce allora Taglio di Local Branching di ampiezza k il vincolo aggiuntivo: Scelto k sufficientemente piccolo, l’intorno che ne risulta può essere esplorato interamente al fine di trovare una soluzione migliore x2, e così via…

Schema ad albero Ne deriva uno schema ad albero molto simile al Branch and Bound classico Si parte dalla soluzione iniziale ed il suo opposto Si impone un taglio di Local Branching Tagli di Local Branching Si esplora interamente il vicinato che ne deriva, con un “Tactical Branching” Viene trovata una soluzione migliore Allora resta solo più la possibilità di effettuare una ricerca esaustiva su tutte le restanti soluzioni Il procedimento continua fino a quando nel nodo di sinistra non viene determinata nessuna soluzione migliore Si reitera il procedimento con la nuova soluzione determinata

Inserimento di un tempo limite Quando si ha a che fare con problemi complessi (è il nostro caso), anche la ricerca sul ramo di sinistra può risultare troppo dispendiosa da poter essere portata a termine Si inserisce allora un tempo limite nella ricerca, oltre il quale fermarsi (nel caso sia già stata determinata una soluzione intera migliore della precedente) Si apre un nuovo ramo aggiungendo un taglio di Local Branching relativo alla nuova soluzione determinata Non si può in questo caso invertire questo taglio, perché il suo intorno non è stato esplorato interamente Tempo limite raggiunto Determinata una nuova soluzione

Metodo del Local Branching Oltre al tempo limite si possono anche introdurre delle diversificazioni Si abbandona così la struttura di metodo esatto Non si arriverà mai all’esplorazione dell’ultimo nodo di destra Il comportamento rispecchia così quello di una meta-euristica, e può determinare in tempi brevi soluzioni sempre migliori, ma senza garantirne l’ottimalità

Applicazione al problema in esame

Variabili di Local Branching Il problema in esame presenta effettivamente un cospicuo numero di variabili binarie, fissate le quali il problema diventa “semplice” Sono le variabili y{i,j} , una per ogni arco presente nella rete, ed indicano se esso deve essere aperto oppure no TAGLIO DI LOCAL BRANCHING dove Sono stati studiati i vicinati per k = 1 (piccolo), 3 (medio), 5 (grande)

Il minor numero possibile Soluzione Iniziale E’ necessaria per far partire il metodo Sono state testate due tipi diversi di soluzioni iniziali ALBERO RICOPRENTE di costo minimo MAGLIA COMPLETA Tutti gli archi vengono posti aperti Il minor numero possibile di archi viene aperto

Istanze analizzate Per reti con 3, 4 e 5 nodi il Solver risolve il problema in frazioni di secondo Per una rete con 6 nodi e richieste fra tutte le possibili coppie di nodi il Solver non trova soluzioni in 24 ore Occorre analizzare istanze intermedie

Nodi di destinazione La complessità dell’istanza dipende dal numero di nodi di destinazione (insieme DK) Sono allora state studiate numerose istanze da 6 e da 7 nodi, nelle quali non tutti i nodi erano destinazione di qualche richiesta Per ognuna di esse si sono fatti variare i parametri caratteristici (k, tempo limite, tipo di istanza iniziale) Per questi casi si è confrontato il comportamento del metodo del Local Branching con quello del metodo esatto (Branch and Bound)

Risultati ottenuti Se i parametri di tempo limite, dimensione del vicinato e soluzione iniziale vengono settati con accuratezza, il Local Branching funziona meglio del Branch and Bound La soluzione iniziale “albero ricoprente di costo minimo” funziona meglio di quella “maglia completa” Il valore di k migliore è 3 (vicinato di medie dimensioni) Il valore di tempo limite più opportuno è di scegliere sempre la prima soluzione determinata (strategia first improvement) Il metodo risulta però sempre troppo lento per istanze grandi dato che l’algoritmo non riesce ad interagire bene con il Solver.

Esempio di confronto Istanza da 6 nodi, con 3 nodi di destinazione, k = 3, strategia first improvement, soluzione iniziale albero ricoprente di costo minimo

Effetto “bandiera italiana” Istanza da 7 nodi, con 3 nodi di destinazione, k = 3, strategia first improvement, soluzione iniziale maglia completa

Sviluppi futuri Il metodo è molto buono in linea teorica, ma nella pratica non riesce ad essere efficiente per istanze grandi: la causa è la scarsa interazione fra algoritmo e Solver Si dovrebbe far capire al Solver che le variabili primarie sono le y{i,j} Per istanze di grandi dimensioni si potrebbe ancora: studiare altre soluzioni iniziali (ad esempio ottenerne una con una euristica costruttiva) valutare vicinati di dimensioni basse: k = 1, 2, 3 implementare diversificazioni

FINE