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.
Approximate Algorithms for the Network Pricing Problem with Congestion - MS Thesis in Computer Science & Engineering
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 the
Network Pricing Problem with Congestion
Laureanda: Relatore:
Desirée Rigonat Chiar.mo Prof. Lorenzo Castelli
Anno Accademico 2011 - 2012
Sessione Estiva
2. Parte del presente lavoro di tesi è stata sviluppata presso il gruppo di
Graphes et Optimisation Mathematique (G.O.M.) dell’Université Libre
de Bruxelles sotto la supervisione della Prof.ssa Martine Labbé.
Il lavoro è stato poi completato presso il laboratorio di Ricerca
Operativa dell’Università degli Studi di Trieste sotto la supervisione del
Professor Lorenzo Castelli.
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. Network Pricing Problem
Rete Stradale
Leader
Utenti (followers)
•possiede tratti della rete
•può fissare delle tariffe •viaggiano sulla rete
•vuole ricavare il massimo profitto •vogliono spendere il meno possibile
5. Network Pricing Problem
Per massimizzare il profitto:
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. 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. Network Pricing Problem
Rete stradale: grafo pesato
Leader & followers:
problema di ottimizzazione bilivello
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 fisso (c) + tariffa (t)
•Costo degli archi B: costo fisso (d)
Utenti:
•Numero di utenti (unità di flusso): x
•Coppie ordinate di nodi Origine/Destinazione
•Unità di flusso x per coppia O/D: domanda (d)
coppia O/D + domanda d = Commodity (insieme K)
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. 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ù efficienti ma
non è sicuro che trovino la soluzione ottima.
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. Congested Network Pricing Problem
Congestione
Condizione che si verifica quando un canale di trasporto viene utilizzato al di sopra
della sua capacità;
•La qualità del servizio diminuisce;
•Senza adeguati provvedimenti si arriva ad un blocco totale del traffico.
14. Congested Network Pricing Problem
# Utenti Costo del
sulla rete viaggio
Interdipendenza tra il flusso 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 sposta
sul nuovo arco, il cui costo aumenterà di conseguenza.
Ogni utente sceglierà sempre l’alternativa di costo inferiore.
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 modificando la scelta del percorso.
Sotto opportune condizioni è UNICO.
16. Congested Network Pricing Problem
Matematicamente...
NPP CNPP
costo fisso di un arco
costo fisso di un arco funzione continua del
costante: c, d flusso: C(x)
Problema dei follower: lineare Problema dei follower: convesso
Shortest Path Problem Traffic Assignment
Problem
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. 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. Network Pricing Problem;
Network Pricing Problem con Congestione;
Algoritmi sviluppati: One Step algorithm;
Algoritmi sviluppati: Two Steps algorithm;
Implementazione;
Test numerici e risultati.
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 (traffic assignment) per
ottenere x
+
Fissate x, Risoluzione problema leader per ottenere t
22. CNPP: Two Steps Algorithm
Inner Loop:
Risoluzione problema
dei follower
Successione convergente
di approssimazioni lineari
(shortest path) con t fissate
Test di arresto:
Δ val. F.O. del leader < ε
Outer Loop:
Risoluzione problema
del leader
Soluzione CNPP
(una volta fissate x, diventa un
problema lineare)
23. CNPP: Two Steps Algorithm
Algoritmo di Frank-Wolfe (Conditional
Gradient)
Soluzione approssimazione
lineare Traffic Assignment:
Shortest Path
configurazione di flusso 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. 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. CNPP: One Step Algorithm
Soluzione approssimazione
lineare del CNPP:
configurazione di flusso 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. Network Pricing Problem;
Network Pricing Problem con Congestione;
Algoritmi sviluppati: One Step algorithm;
Algoritmi sviluppati: Two Steps algorithm;
Implementazione;
Test numerici e risultati.
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.
31. Network Pricing Problem;
Network Pricing Problem con Congestione;
Algoritmi sviluppati: One Step algorithm;
Algoritmi sviluppati: Two Steps algorithm;
Implementazione;
Test numerici e risultati.
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.
37. Sviluppi futuri
Migliorare Two Steps con algoritmo più veloce per risoluzione
problema dei follower
Unire le due strategie: algoritmo che risolva rapidamente problema
dei follower e che vari tariffe in modo adattivo