Successfully reported this slideshow.
Upcoming SlideShare
×

# Approximate Algorithms for the Network Pricing Problem with Congestion - MS Thesis in Computer Science & Engineering

427 views

Published on

Presentation for the final dissertation for my MS degree in Computer Science & Engineering.
Subject is Mathematical Optimization in the field of Network Pricing Problems.

This work is the result of a research carried on from September 2011 to August 2012; part of this work has been developed at the Graphes et Optimisation Mathématique (G.O.M.) group of the Université Libre de Bruxelles, under the supervision of Professor Martine Labbé; further development and experimentation have been carried on at the Laboratorio di Ricerca Operativa of the Università degli studi di Trieste with Professor Lorenzo Castelli as supervisor.

Published in: Technology
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### Approximate Algorithms for the Network Pricing Problem with Congestion - MS Thesis in Computer Science & Engineering

1. 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Scienze Matematiche, Fisiche e Naturali c.d.l. magistrale in informatica - curr. ingegneria informatica Approximate algorithms for theNetwork Pricing Problem with CongestionLaureanda: Relatore:Desirée Rigonat Chiar.mo Prof. Lorenzo Castelli Anno Accademico 2011 - 2012 Sessione Estiva
2. 2. Parte del presente lavoro di tesi è stata sviluppata presso il gruppo diGraphes et Optimisation Mathematique (G.O.M.) dell’Université Librede Bruxelles sotto la supervisione della Prof.ssa Martine Labbé.Il lavoro è stato poi completato presso il laboratorio di RicercaOperativa dell’Università degli Studi di Trieste sotto la supervisione delProfessor Lorenzo Castelli.
3. 3. Indice Network Pricing Problem; Network Pricing Problem con Congestione; Algoritmi sviluppati: One Step algorithm; Algoritmi sviluppati: Two Steps algorithm; Implementazione; Test numerici e risultati.
4. 4. Network Pricing Problem Rete StradaleLeader Utenti (followers)•possiede tratti della rete•può ﬁssare delle tariffe •viaggiano sulla rete•vuole ricavare il massimo proﬁtto •vogliono spendere il meno possibile
5. 5. Network Pricing Problem Per massimizzare il proﬁtto: Leader impone tariffe di pedaggio sui suoi archi in base alla distribuzione degli utenti Per minimizzare il costo del viaggio:Follower scelgono il proprio percorso in base ai costi degli archi (e quindi anche in base alle tariffe)
6. 6. Network Pricing Problem Interdipendenza e concorrenza•I due agenti hanno interessi contrapposti;•Se le tariffe sono troppo alte, gli utenti sceglieranno un percorso alternativo più economico;•Se le tariffe sono troppo basse, il leader va out of business.
7. 7. Network Pricing Problem Rete stradale: grafo pesato Leader & followers: problema di ottimizzazione bilivello
8. 8. Network Pricing Problem Grafo:•Insieme di nodi: N•Insieme di archi tariffati: A•Insieme di archi non tariffati: B•Costo degli archi A: costo ﬁsso (c) + tariffa (t)•Costo degli archi B: costo ﬁsso (d) Utenti:•Numero di utenti (unità di ﬂusso): x•Coppie ordinate di nodi Origine/Destinazione•Unità di ﬂusso x per coppia O/D: domanda (d) coppia O/D + domanda d = Commodity (insieme K)
9. 9. Network Pricing Problem subject to: Shortest Path Problem
10. 10. Network Pricing Problem Ulteriori assunzioni:•Esistenza di un Toll-Free Path per ogni commodity esiste sempre sulla rete almeno un percorso composto di soli archi non tariffati; •Politica favorevole al leader In presenza di più percorsi di pari costo, un utente sceglierà quello più vantaggioso per il leader.
11. 11. Network Pricing Problem Funzione Obiettivo del leader: bilineare NPP è un problema NP-Hard Risoluzione esatta tramite Branch and Bound: possibile ma diventa molto presto ingestibile; Algoritmi euristici basati su scomposizione: più efﬁcienti ma non è sicuro che trovino la soluzione ottima.
12. 12. Network Pricing Problem;Network Pricing Problem con Congestione;Algoritmi sviluppati: One Step algorithm;Algoritmi sviluppati: Two Steps algorithm;Implementazione;Test numerici e risultati.
13. 13. Congested Network Pricing ProblemCongestioneCondizione che si veriﬁca quando un canale di trasporto viene utilizzato al di sopradella sua capacità;•La qualità del servizio diminuisce;•Senza adeguati provvedimenti si arriva ad un blocco totale del trafﬁco.
14. 14. Congested Network Pricing Problem # Utenti Costo del sulla rete viaggioInterdipendenza tra il ﬂusso su un arco ed il suo costo.Se un utente vuole viaggiare su un dato arco, il costo di quell’arco aumenta.Se esiste un arco alternativo al precedente e più economico, l’utente si spostasul nuovo arco, il cui costo aumenterà di conseguenza.Ogni utente sceglierà sempre l’alternativa di costo inferiore.
15. 15. Congested Network Pricing Problem Equilibrio Deterministic User Equilibrium (I principio di Wardrop):“per ciascuna coppia O/D il costo di equilibrio dei percorsi utilizzati è uguale, e risulta minore o uguale al costo di equilibrio di ogni percorso non usato” ...cioè all’equilibrio nessun utente può più ridurre il proprio costo di viaggio modiﬁcando la scelta del percorso. Sotto opportune condizioni è UNICO.
16. 16. Congested Network Pricing Problem Matematicamente... NPP CNPP costo ﬁsso di un arco costo ﬁsso di un arco funzione continua del costante: c, d ﬂusso: C(x) Problema dei follower: lineare Problema dei follower: convessoShortest Path Problem Trafﬁc Assignment Problem
17. 17. Congested Network Pricing Problem subject to: Trafﬁc Assignment Problem
18. 18. Congested Network Pricing Problem E’ un problema (almeno) NP-Hard Un solo caso di studio documentato in letteratura La complessità dipende dalla funzione di costo C(x)... oltre alle problematiche già discusse per NPP.
19. 19. Congested Network Pricing Problem Funzione di costo C(x) Costante: (CNPP = NPP) Lineare: (ris. in tempo polinomiale) Generica: q = capacità dell’arco, α,β = parametri (ris. in tempo polinomiale se approssimata)
20. 20. Network Pricing Problem;Network Pricing Problem con Congestione;Algoritmi sviluppati: One Step algorithm;Algoritmi sviluppati: Two Steps algorithm;Implementazione;Test numerici e risultati.
21. 21. CNPP: Two Steps Algorithm Idea di fondo: Scomposizione del problema: risolvere sequenzialmente il problema del leader e dei follower In pratica:Fissate t, risoluzione problema follower (trafﬁc assignment) per ottenere x + Fissate x, Risoluzione problema leader per ottenere t
22. 22. CNPP: Two Steps Algorithm Inner Loop: Risoluzione problema dei follower Successione convergente di approssimazioni lineari (shortest path) con t ﬁssate Test di arresto: Δ val. F.O. del leader < ε Outer Loop: Risoluzione problema del leader Soluzione CNPP (una volta ﬁssate x, diventa un problema lineare)
23. 23. CNPP: Two Steps Algorithm Algoritmo di Frank-Wolfe (Conditional Gradient)Soluzione approssimazionelineare Trafﬁc Assignment: Shortest Path conﬁgurazione di ﬂusso Lin. x Test di arresto: Equilibrio: val. F.O. prob. convesso - val. F.O. appros. lin < ε Combinazione convessa con x delle iteraz. precedenti New x = Old x + μ (Lin.x - Old x)
24. 24. CNPP: One Step Algorithm Idea di fondo: Trovare x e t allo stesso tempo Successione di approssimazioni lineari dell’intero CNPP In pratica: Conditional Gradient (Algoritmo di Frank-Wolfe) +calcolo della variazione delle tariffe t per quell’iterazione
25. 25. CNPP: One Step AlgorithmSoluzione approssimazione lineare del CNPP: conﬁgurazione di ﬂusso Lin. x variazione di tariffe ∆t Test di arresto: Equilibrio per il problema del follower? Combinazione convessa con x delle iteraz. precedenti New x = Old x + μ (Lin.x - Old x) Aggiornamento tariffe New t = Old t + ∆t
26. 26. Network Pricing Problem;Network Pricing Problem con Congestione;Algoritmi sviluppati: One Step algorithm;Algoritmi sviluppati: Two Steps algorithm;Implementazione;Test numerici e risultati.
27. 27. Implementazione Programma scritto in linguaggio C; Utilizzo suite di ottimizzazione Xpress (problemi di ottimizzazione in linguaggio Mosel); Interfacciamento tra programma C e optimizer tramite API per embedded Mosel.
28. 28. Implementazione
29. 29. File di dati XML •Formato ad-hoc: dati riutilizzabili per progetti futuri •Descrive un’istanza (C)NPP completa
30. 30. File di dati XML <graph><?xml version="1.0" ! encoding="UTF-8"?> ! ! <node><npp> ! ! ! <id>n0</id>! <gdata> ! ! </node> ! <commodities>! ! <nodes>6</nodes> [....] ! ! <user>! ! <tarcs>4</tarcs> ! ! ! <id>k0</id>! ! <farcs>6</farcs> ! ! <arc> ! ! ! <src>n0</src>! ! <kcom>1</kcom> ! ! ! <id>a0</id> ! ! ! <dst>n5</dst>! </gdata> ! ! ! <src>n0</src> ! ! ! <dem>11</dem>! ! ! ! <dst>n1</dst> ! ! </user> <graph> [....] ! ! ! <cost>1</cost> ! </commodities> </graph> ! ! ! <capacity>5</capacity> ! ! ! <directed>true</directed> <commodities> [....] ! ! ! <tariffed>true</tariffed> </commodities> ! ! </arc>! ! ! [....]</npp> ! </graph> <gdata> <graph> <commodities> Dimensioni del grafo Descrizione nodi e archi Descrizione commodity
31. 31. Network Pricing Problem;Network Pricing Problem con Congestione;Algoritmi sviluppati: One Step algorithm;Algoritmi sviluppati: Two Steps algorithm;Implementazione;Test numerici e risultati.
32. 32. Test e Risultatitempo di esecuzione
33. 33. Test e Risultatitempo di esecuzione
34. 34. Test e Risultatisoluzioni simili (diff. < 15%) Percentuale più alta sulle reti più semplici
35. 35. Test e Risultati soluzioni diverse (diff. > 15%) One Step dà risultati migliori sulle reti con meno archi tariffati;viceversa sulle reti con più archi tariffati Two Steps si comporta meglio.
36. 36. Test e Risultativariazione precisione del criterio d’arresto
37. 37. Sviluppi futuriMigliorare Two Steps con algoritmo più veloce per risoluzioneproblema dei followerUnire le due strategie: algoritmo che risolva rapidamente problemadei follower e che vari tariffe in modo adattivo
38. 38. Grazie per l’attenzione