Modelli e algoritmi per problemi di equilibrio di reti

Transcript

Modelli e algoritmi per problemi di equilibrio di reti
Modelli e algoritmi per problemi di equilibrio di reti
Marco Sciandrone
Dipartimento di Ingegneria dell’Informazione
Università di Firenze
E-mail: [email protected]
1
Sommario
In questi appunti vengono considerati modelli di reti di traffico, ispirati ai principi di Wardrop
e finalizzati alla previsione di flussi lungo gli archi di una rete di trasporto derivanti dalle scelte
che ogni singolo utente effettua per determinare li cammino dalla propria origine alla propria
destinazione. Faremo essenzialmente riferimento al modello basato sul concetto di equilibrio di
Wardrop. Verrà mostrato che, sotto opportune ipotesi, calcolare un punto di equilibrio equivale
a risolvere una disequazione variazionale la cui soluzione, a sua volta, sotto ulteriori ipotesi, può
essere ottenuta risolvendo un problema di minimizzazione di una funzione convessa con vincoli
lineari. In relazione al problema di programmazione convessa, verranno messe in evidenza le
maggiori difficoltà che esso presenta, e verranno analizzati gli algoritmi usualmente adottati.
1
Notazione
Introduciamo preliminarmente la notazione adottata. Siano
- G = hN, Ai un grafo orientato;
- P un insieme di coppie origine/destinazione (O-D);
- dp la domanda tra la coppia origine/destinazione p ∈ P ;
- Kp l’insieme dei cammini che connettono la coppia p;
- K l’insieme di tutti i cammini, ossia K = ∪p∈P Kp ;
- δa,k una funzione tale che
δa,k =

 1 se a appartiene al cammino k

0 altrimenti
Il flusso del cammino k è hk , con hk ≥ 0. Il flusso di un arco a ∈ A, indicato con va , è dato
dalla somma dei flussi dei cammini che attraversano l’arco, ossia
X
va =
hk δa,k .
k∈K
Introdotta una matrice di incidenza arco-cammino ∆(|A| × |K|), possiamo esprimereF il vettore
dei flussi degli archi v in funzione del vettore dei flussi dei cammini h nel modo seguente
v = ∆h.
Esiste una funzione definita dall’utente che fornisce, per ogni arco a ∈ A con flusso va , un
costo sa (v) (stiamo assumendo, per generalità, che il costo di un arco dipende dal flusso degli
archi della rete). Il costo di un cammino k, denotato con sk , è la somma dei costi degli archi
appartenenti al cammino k
X
sa (v)δa,k .
sk =
a∈a
2
Per ogni coppia origine-destinazione p, la somma dei flussi dei cammini deve essere uguale alla
domanda dp , ossia abbiamo il vincolo
X
hk = dp .
k∈Kp
Il costo della rete S(v) è la somma totale dei costi degli utenti, ossia
X
XX
X
S(v) =
hk sk =
hk δa,k sa (v) =
va sa (v).
k∈K a∈A
k∈K
a∈A
Il problema di assegnamento di traffico in una rete di trasporto riguarda la previsione di flussi
lungo gli archi della rete derivanti dalle scelte che ogni singolo utente effettua per determinare
li cammino dalla propria origine alla propria destinazione. Nel seguito introdurremo i principi
di ottimalità di Wardrop, che sono usualmente adottati nella formulazione del problema di
assegnamento di trafficoIllustriamo con un esempio, infine, la notazione introdotta. Si consideri la rete descritta in
figura 1. Abbiamo:
- due coppie O-D: la coppia (2-3) e la coppia (4-3), quindi l’insieme P è {(2 − 3), (4 − 3)};
- la domanda d1 della coppia (2-3) è 2, la domanda d2 della coppia (4-3) è 2;
- l’insieme K1 dei cammini della coppia (2-3) è {(2, 3), (2, 1, 3)}; l’insieme K2 dei cammini
della coppia (4-3) è {(4, 3), (4, 1, 3)};
- si assumano le seguenti funzioni di costo
s1 (v) = 2
s2 (v) = 15
s3 (v) = 4
s4 (v) = 16
s5 (v) = v5 + v52 ;
- ponendo i flussi dei cammini come segue
h2,3 = 1
h2,1,3 = 1
h4,3 = 1
h4,1,3 = 1,
abbiamo i seguenti flussi di archi
v1 = 1
v2 = 1
v3 = 1
v4 = 1
v5 = 1 + 1 = 2,
e i seguenti costi dei cammini
s2,3 = 15
s2,1,3 = 2 + (2 + 22 ) = 8
s4,3 = 16
s4,1,3 = 4 + (2 + 22 ) = 10.
Osserviamo che per entrambe le coppie tutti i cammini sono utilizzati (hk > 0). Secondo il
principio di equilibrio di Wardrop, descritto formalmente nel paragrafo successivo, la rete non
è in equilibrio, perché per ognuna delle due coppie O-D, i cammini utilizzati (hk > 0) hanno
costi differenti. Secondo il principio di Wardrop gli utenti si distribuiscono in modo che, per
ogni coppia O-D, tutti i cammini utilizzati hanno lo stesso costo, e quelli non utilizzati hanno
un costo non inferiore.
3
2
v2
v1
v5
1
v3
3
v4
4
Figure 1: Esempio di rete con due coppie O-D: (2,3) e (4,3)
2
I principi di ottimalità di Wardrop
Nel problema di assegnamento di traffico usualmente due principi di ottimalità di Wardrop sono
adottati:
- il primo principio è basato sull’analisi di un comportamento intuitivo per una rete di
traffico, secondo cui ogni utente tende a minimizzare il proprio tempo di viaggio, di conseguenza questo principio è detto di tipo user equilibrium;
- il secondo principio, di tipo system optimum, corrisponde alla situazione in cui deve essere
minimizzato il tempo complessivo di viaggio di tutti gli utenti..
Nel seguito descriveremo formalmente i modelli relativi ai due principi, e analizzeremo in maggiore dettaglio quello corrispondente al principio di tipo user equilibrium.
2.1
Il primo principio di Wardrop di tipo “user equilibrium”
Il primo principio di Wardrop afferma che all’equilibrio il costo di un cammino effettivamente
utilizzato (hk > 0) per una coppia origine/destinazione è minore o uguale del costo di qualsiasi
altro cammino che congiunge la stessa coppia.
L’equilibrio di Wardrop è del tipo “user equilibrium” (UE) poiché ogni utente sceglie la strada
che è migliore per se stesso. In particolare, un equilibrio di questo tipo viene raggiunto quando
nessun utente può abbassare il proprio costo di trasporto attraverso una azione unilaterale.
Ciascuno utente agisce in modo non cooperativo.
Nell’esempio della figura 1 si può verificare che la seguente soluzione costituisce un equilibrio
h2,3 = 0
h2,1,3 = 2
h4,3 = 1
h4,1,3 = 1.
Infatti i flussi degli archi sono
v1 = 2
v2 = 0
v3 = 1
v4 = 1
4
v5 = 2 + 1 = 3,
e i costi dei cammini diventano
s2,3 = 15
s2,1,3 = 2 + (3 + 32 ) = 14
s4,3 = 16
s4,2,3 = 4 + (3 + 32 ) = 16,
per cui il principio di Wardrop è soddisfatto (per ogni coppia tutti i cammini utilizzati hanno
lo stesso costo, e i cammini non utilizzati hanno costo non inferiore).
Possiamo ora introdurre in modo formale l’equilibrio di Wardrop. Denotiamo con up il costo
del cammino minimo della coppia p, ossia poniamo
up = min sk .
k∈Kp
Un vettore di flussi di cammini con componenti h⋆k , k ∈ K, e un vettore di costi minimi con
componenti u⋆p , p ∈ P , soddisfano l’equilibrio di Wardrop se
h⋆k > 0
sk (h⋆ ) − u⋆p ≥ 0
P
k∈Kp
sk (h⋆ ) = u⋆p
implica
h⋆k = dp
∀p ∈ P, hk ∈ Kp
∀p ∈ P, hk ∈ Kp
∀p ∈ P
h⋆ ≥ 0, u⋆ ≥ 0.
Le condizioni precedenti possono essere scritte in modo più sintetico come segue.
∀p ∈ P, hk ∈ Kp
sk (h⋆ ) − u⋆p h⋆k = 0
∀p ∈ P, hk ∈ Kp
sk (h⋆ ) − u⋆p ≥ 0
P
⋆
∀p ∈ P
k∈Kp hk = dp
(2)
(3)
h⋆ ≥ 0, u⋆ ≥ 0.
2.2
(1)
(4)
Il paradosso di Braess
L’esempio di rete che mostriamo, noto come paradosso di Braess, evidenzia il fatto che il primo
principio di Wardrop modella un comportamento non cooperativo degli utenti di una rete. Si
consideri la rete definita nella parte sinistra della figura 2. Abbiamo:
- una coppia O-D: la coppia (1-4), quindi l’insieme P è {(1 − 4)};
- la domanda d1 della coppia (1-4) è 6;
- l’insieme K1 dei cammini della coppia (1-4) è {(1, 2, 4), (1, 3, 4)};
- si assumano le seguenti funzioni di costo
s1 (v) = 10v1
s2 (v2 ) = v2 + 50
5
s3 (v3 ) = v3 + 50
s4 (v4 ) = 10v4 ;
- ponendo i flussi dei cammini come segue
h1,2,4 = 3
h1,3,4 = 3,
abbiamo i seguenti flussi di archi
v1 = 3
v2 = 3
v3 = 3
v4 = 3,
e i seguenti costi dei cammini
s1,2,4 = 30 + (3 + 50) = 83
s1,3,4 = (3 + 50) + 30 = 83,
per cui possiamo concludere che il primo principio di Wardrop è soddisfatto (per ogni coppia
tutti i cammini utilizzati hanno lo stesso costo, e i cammini non utilizzati hanno costo non
inferiore).
Si consideri ora la rete definita nella parte destra della figura 2. Si osservi che tale rete è
stata ottenuta aggiungendo un arco alla rete precedentemente analizzata. In questo modo gli
utenti hanno a disposizione un cammino in più, ossia il cammino (1 − 2 − 3 − 4). Si assuma la
seguente funzione di costo per l’arco aggiunto:
s(v5 ) = v5 + 10.
La soluzione precedentemente trovata non costituisce per la nuova rete un equilibrio di Wardrop.
Infatti, il costo del nuovo cammino, avente flusso pari a 0, è
s1,2,3,4 = 30 + 10 + 30 = 70,
e questo costo è strettamente minore del costo (pari a 83) dei due cammini ((1−2−4) e (1−3−4))
effettivamente utilizzati.
Possiamo verificare che la soluzione in termini di flussi di cammino che fornisce un equilibrio
di Wardrop è
h1,2,4 = 2
h1,3,4 = 2
h1,2,3,4 = 2.
Infatti, a tale soluzione corrispondono i flussi degli archi
v1 = 4
v2 = 2
v3 = 2
v4 = 4
v5 = 2,
per i quali si ottengono i seguenti costi dei cammini
s1,2,4 = 40 + (2 + 50) = 92
s1,3,4 = (2 + 50) + 40 = 92,
s1,2,3,4 = 40 + (2 + 10) + 40 = 92.
Tutti i cammini utilizzati hanno lo stesso costo, non ci sono cammini a flusso nullo, per cui la
rete è in equilibrio. Osserviamo che con l’aggiunta di un cammino in più, il costo della coppia
(1 − 4) è passato da 83 a 92. Contrariamente a quello che intuitivamente si poteva attendere,
aver fornito una possibilità in più agli utenti ha determinato un peggioramento della “qualità”
del servizio, e ciò è conseguenza del comportamento non cooperativo degli utenti.
6
2
v1
2
v2
v1
4
1
v3
1
4
v5
v4
v3
v4
v2
3
3
Figure 2: Paradosso di Braess
2.3
Il secondo principio di Wardropo di tipo “system optimum”
Analizziamo brevemente la formulazione del problema nel caso (virtuale) in cui ci sia un supervisore che gestisce la rete in modo centralizzato.
L’obiettivo sarebbe quello di minimizzare il costo totale della rete (il tempo totale di trasporto)
definito come segue
X
S=
va sa (v),
(5)
a∈A
con i vincoli di soddisfacimento delle domande delle varie coppie e i vincoli di non negatività delle
variabili. Di conseguenza, il problema da risolvere sarebbe il seguente problema di ottimizzazione
vincolata
X
minh,v
va sa (v)
a∈A
P
k∈Kp
va =
hk = dp
P
k∈K
hk δa,k
∀p ∈ P
∀a ∈ A
h≥0
3
Reti simmetriche: formulazione del problema di equilibrio
come problema di ottimizzazione
In questo paragrafo mostreremo che, sotto opportune ipotesi, il problema di determinare una
soluzione di equilibrio di Wardrop è equivalente a quello di determinare la soluzione di un problema di ottimizzazione vincolata con funzione obiettivo convessa e vincoli lineari. A questo fine,
verrà inizialmente definita una formulazione equivalente in termini di disequazione variazionale.
Successivamente verranno introdotte delle ipotesi sulla matrice Jacobiana da cui segue, da risultati noti, l’equivalenza con un problema di ottimizzazione.
7
Abbiamo visto che, data una soluzione (h⋆ , u⋆ ) dell’equilibrio di Wardrop, possiamo determinare, in modo univoco, la soluzione v ⋆ in termini di flussi di archi mediante le relazioni
X
va⋆ =
δak h⋆k
∀a ∈ A.
k∈K
Data una soluzione v ⋆ in termini di flussi di archi, possiamo determinare, in generale in modo
non univoco, una soluzione h⋆ in termini di flussi di cammini, da cui si ottiene
u⋆p = min sk (h⋆ )
k∈Kp
∀p ∈ P.
Possiamo quindi indifferentemente riferirci a una soluzione di equilibrio come a una coppia
(h⋆ , u⋆ ), o a una coppia (v ⋆ , h⋆ ).
Diremo che un vettore di flussi di archi v è ammissibile se esiste un vettore di flussi di
cammino h ≥ 0 tale che
X
hk = dp
p∈P
k∈Kp
X
va =
δak hk
a∈A
k∈K
Nel seguito assumiamo che valgano le ipotesi delle proposizioni 6 e 7 delle appendici B e C.
Proposizione 1. Una coppia (v ⋆ , h⋆ ) è una soluzione di equilibrio se e solo se soddisfa le
seguenti condizioni
X
sa (v ⋆ )(va − va⋆ ) ≥ 0
per ogni v ammissibile
a∈a
X
h⋆k = dp
p∈P
k∈Kp
va⋆ =
(6)
X
δak h⋆k
a∈A
k∈K
h⋆k ≥ 0
k ∈ K.
Proof. Supponiamo che (h⋆ , u⋆ ) sia una soluzione di equilibrio. Mostreremo che, dato il vettore
v ⋆ con componenti
X
δak h⋆k
va⋆ =
a ∈ A,
k∈K
(v ⋆ , h⋆ )
la coppia
soddisfa le condizioni espresse dalla (6).
X
hk = dp ,
Osserviamo che dalle condizioni (1), (2), (4) segue, per ogni h ≥ 0 tale che
k∈Kp
(sk (h⋆ ) − u⋆p )(hk − h⋆k ) ≥ 0
Sommando otteniamo
X X
sk (h⋆ )(hk − h⋆k ) ≥
X
p∈P
p∈P k∈Kp
8
u⋆p
∀p ∈ P, k ∈ Kp .
(7)
X
(8)
k∈Kp
(hk − h⋆k ) = 0.
Utilizzando le relazioni
sk (h) =
X
δak sa (v)
X
δak hk
a∈A
va =
k∈K
otteniamo
XX X
sa (v ⋆ )(δak hk − δak h⋆k ) =
X
sa (v ⋆ )(va − va⋆ ) ≥ 0.
(9)
a∈A
a∈A p∈P k∈Kp
Viceversa, ora supponiamo che valgano le condizioni espresse dalla (6). Mostreremo che la coppia
(v ⋆ , h⋆ ) rappresenta una soluzione di equilibrio. Nelle ipotesi poste esiste ed è unico il vettore v̂
dei flussi degli archi. Per quanto dimostrato in precedenza risulta
X
sa (v̂)(va⋆ − v̂a ) ≥ 0.
a∈A
D’altra parte, per ipotesi abbiamo
X
sa (v ⋆ )(v̂a − va⋆ ) ≥ 0.
a∈A
Sommando membro a membro otteniamo
X
(sa (v ⋆ ) − sa (v̂)) (va⋆ − v̂a ) ≤ 0.
a∈A
La precedente relazione a l’ipotesi di s funzione monotona implicano
(s(v ⋆ ) − s(v̂))T (v ⋆ − v̂) = 0,
da cui segue, tenendo conto che s è strettamente monotona, v ⋆ = v̂.
Dalla Proposizione 1 segue che il problema di calcolo di una soluzione di equilibrio può essere
ricondotto a quello di risolvere una disequazione variazionale nella coppia (v, h), oppure nel
vettore h (questa disequazione variazionale si ottiene utilizzando la (6) e la relazione tra v e h).
Mostreremo ora che, sotto opportune ipotesi sui costi degli archi, il problema di calcolo di
una soluzione di equilibrio è equivalente a quello di determinare la soluzione di un problema di
minimizzazione con funzione obiettivo convessa e vincoli lineari.
Ricordiamo che, data una funzione F : U → Rn continuamente differenziabile sull’insieme
aperto e convesso U ⊆ Rn , se la matrice Jacobiana di F è simmetrica allora F è il gradiente di
una funzione θ e risulta (a meno di una costante)
θ(x) =
Z
1
F (x0 + t(x − x0 ))T (x − x0 )dt,
(10)
0
dove x0 è un punto arbitrario di U .
Si assuma ora che la funzione di costo di ogni arco dipenda solo dal flusso dell’arco stesso,
ossia
sa (v) = sa (va ).
(11)
9
Supponendo continuamente differenziabile la funzione s : R|A| → R|A| , abbiamo che la matrice
Jacobiana di s esiste ed è simmetrica (in particolare, dalla (11) segue che è diagonale). Quindi
esiste una funzione f : R|A| → R tale che
Z 1
s(v 0 + t(v − v 0 ))T (v − v0 )dt.
f (v) =
0
Posto v 0 = 0, tenendo conto dell’ipotesi (11), possiamo scrivere
Z 1X
XZ 1
sa (tva )va dt.
sa (tva )va dt =
f (v) =
a∈A 0
0 a∈A
Ponendo x = tva , si ottiene
f (v) =
XZ
va
sa (x)dx.
a∈A 0
Supponiamo che le funzioni sa (va ) siano monotone strettamente crescenti. La funzione s risulta
quindi strettamente monotona, di conseguenza, da risultati noti, la funzione f (v) risulta strettamente convessa. Infatti, sotto ipotesi di continua differenziabilità abbiamo che una funzione è
(strettamente) convessa se e solo se il suo gradiente è (strettamente) monotono.
Determinare una soluzione (v ⋆ , h⋆ ) equivale a determinare una soluzione del seguente problema strettamente convesso di minimizzazione
X Z va
min
sa (x) dx
a∈A 0
P
k∈Kp
hk = dp
hk ≥ 0
va =
P
∀p ∈ P
(12)
∀k∈K
k∈K δak hk
∀a ∈ A
In modo equivalente, con una semplice sostituzione
X
δak hk ,
va =
k∈K
possiamo formulare il problema (12) come segue
P
X Z k∈K δak hk
sa (x) dx
min
a∈A 0
P
k∈Kp
hk = dp
∀p ∈ P
hk ≥ 0
(13)
∀k∈K
Possiamo ora dimostrare che le derivate della funzione obiettivo (13) rappresentano i costi dei
vari cammini.
Proposizione 2. Si consideri il problema (13). La derivata parziale della funzione obiettivo
rispetto al flusso di cammino hk è il costo sk del cammino stesso.
10
Dim. Per dimostrare la tesi dobbiamo preliminarmente richiamare la formula di Leibniz
R b(y)
R b(y) ∂
∂
∂y a(y) f (x, y) dx = a(y) ∂y f (x, y) dx
+f (b(y), y) ∂b(y)
∂y
−f (a(y), y) ∂a(y)
∂y
Indicando con f (h) la funzione obiettivo del problema (13) e usando la formula di Leibniz
possiamo scrivere
!
X
X
∂f (h) X
sa (va )δak = sk .
hk δak δak =
=
sa
∂hk
a∈A
a∈A
k∈K
Abbiamo quindi che la derivata parziale della funzione obiettivo rispetto al flusso di cammino
hk è esattamente il costo sk del cammino. ✷
4
Metodi di ottimizzazione per il calcolo di soluzioni di equilibrio
Denotato con N il numero totale di cammini tra tutte le coppie origine/destinazione, e con m
il numero degli archi del grafo, indichiamo con x ∈ RN il vettore delle variabili di flusso dei
cammini e con y ∈ Rm il vettore delle variabili di flusso degli archi. Con questa notazione, il
problema (12) può essere scritto in forma compatta come segue
minx,y F (y)
y = Hx
(14)
x ∈ X1 × X2 . . . × XP ,
dove
- la funzione obiettivo F (y) è separabile, ossia abbiamo
F (y) =
m
X
Fi (yi );
(15)
i=1
- P è il numero di coppie origine/destinazione;
- nl è il numero di cammini tra la coppia origine/destinazione l e Xl è l’insieme dei punti in
Rnl tali che
(l)
(l)
(l) (l)
x1 + x2 + . . . + xn(l)l = bl ,
x1 , x2 , . . . , xn(l)l ≥ 0,
(l)
dove xj rappresenta quindi il flusso del cammino j che congiunge la coppia origine/destinazione
l, bl è la domanda della coppia origine/destinazione l (si noti che, rispetto alla notazione
usata in precedenza, la domanda è rappresentata dal simbolo bl al posto di dl per evitare
ambiguità rispetto al concetto di direzione, indicato con d, utilizzato nel seguito) ;
11
- H è la matrice di incidenza arco/cammino, i cui elementi sono definiti come segue

 1 se arco i appartiene cammino j
Hij =

0 altrimenti
Il numero N di variabili di flusso di cammini è quindi pari a n1 + n2 + . . . nP , dove ricordiamo
che P è il numero di coppie origine/destinazione.
Per comodità scriviamo la matrice H nel modo che segue
 T 
h1
 hT 
 2 
(16)
H =  . ,
 .. 
hTm
per cui abbiamo
yi = hTi x
i = 1, . . . , m.
(17)
Il problema (14) può essere equivalentemente scritto, con una semplice sostituzione, nello spazio
dei flussi dei cammini
min f (x)
(18)
x ∈ X1 × X2 . . . × XP ,
dove
- f è una funzione convessa continuamente differenziabile che assume la forma (si vedano
la (15) e la (17))
m
X
Fi (hTi x);
f (x) =
i=1
-
∂f (x)
(h)
∂xj
è il costo del cammino j che connette la coppia origine/destinazione h (si veda la
Proposizione 2).
Osserviamo che in applicazioni reali significative il numero nh di cammini tra una qualsiasi
coppia origine/destinazione h è talmente elevato che non è ragionevole pensare di enumerare a
priori tutti i possibili cammini.
Gli algoritmi per la soluzione del problema considerato possono essere distinti in due classi:
(I) la classe degli algoritmi che “operano” nello spazio dei flussi degli archi;
(II) la classe degli algoritmi che “operano” nello spazio dei flussi dei cammini.
Gli algoritmi della classe (I) fanno riferimento, in genere, ad una formulazione per archi differente
da quella introdotta. Il metodo di Frank-Wolfe appartiene alla classe (I) ed è il metodo più noto.
Come vedremo, la sua definizione tiene conto sia della formulazione (14) che della formulazione
(18), nel senso che la (18) consente di definire una direzione ammissibile e di discesa dk nello
spazio dei flussi dei cammini, da cui si ottiene una direzione dky = Hdk ammissibile e di discesa
nello spazio dei flussi degli archi; lo spostamento lungo dky viene determinato tenendo conto della
funzione obiettivo della formulazione (14).
12
Gli algoritmi della classe (II) si riferiscono alla formulazione (18). Questi algoritmi vengono
generalmente definiti nell’ambito di una strategia di tipo column generation (ossia una strategia
in cui vengono iterativamente aggiunte solo le variabili necessarie per raggiungere l’ottimalità)
al fine di evitare l’enumerazione a priori delle variabili di flusso di cammini. Possono inoltre
essere basati su tecniche di decomposizione al fine di gestire in modo efficiente l’elevato numero
di variabili. È importante osservare gli algoritmi della classe (II) richiedono la memorizzazione
di tutti i cammini con flusso positivo. Quindi richiedono l’assunzione implicita che il numero di
cammini effettivamente utilizzati all’equilibrio non sia “troppo elevato”. Il concetto di “troppo
elevato” dipende dalla capacità di memoria del mezzo di calcolo impiegato.
5
Metodo di Frank-Wolfe
In questo paragrafo mostreremo che il metodo di Frank-Wolfe può essere applicato per la
soluzione del problema di ottimizzazione di reti simmetriche anche di dimensione molto elevata perché richiede esclusivamente la memorizzazione dei flussi degli archi. Preliminarmente
descriviamo in modo sintetico il metodo di Frank-Wolfe per un generico problema di ottimizzazione vincolata.
Si consideri il problema
min f (x)
(19)
x ∈ X,
in cui f : Rn → R è una funzione continuamente differenziabile e X ⊂ RN è un insieme
compatto, convesso e non vuoto. Alla generica iterazione k, data la soluzione corrente xk , viene
risolto il problema (con funzione obiettivo lineare)
min ∇f (xk )T x
(20)
x ∈ X.
Indicata con x̂k una soluzione del problema sopra introdotto, si definisce la direzione
dk = (x̂k − xk ).
Si osservi che se il punto xk non è un punto critico, allora la direzione dk è di discesa e ammissibile.
Si pone
xk+1 = xk + αk dk ,
dove il passo αk può essere determinato con una ricerca di linea inesatta tipo Armijo, oppure,
nel caso convesso, con una ricerca di linea esatta con il metodo della bisezione ad esempio. In
entrambi i casi l’intervallo di ricerca sarà [0, 1] .
Nel seguito analizzeremo l’applicazione del metodo di Frank-Wolfe al problema di calcolo di
equilibrio di reti nella formulazione (14) utilizzando l’equivalenza con il problema (18). Come
anticipato, mostreremo che il metodo richiede esclusivamente la memorizzazione dei flussi degli
archi, per cui può essere applicato per la soluzione di problemi di dimensione anche molto elevata.
Il problema (20) per il calcolo della direzione di Frank-Wolfe riferito alla formulazione (18)
genera L sottoproblemi indipendenti di Programmazione Lineare. Il generico sottoproblema l
13
assume la forma
(l) (l)
(l) (l)
(l) (l)
min c1 x1 + c2 x2 + . . . + cnl xnl
(l)
(l)
(l)
x 1 + x 2 + . . . + x n l = bl
(l)
xj ≥ 0,
(l)
(l)
j = 1, . . . , nl
(l)
in cui i coefficienti c1 , c2 , . . . , cnl sono i costi dei vari cammini che congiungono la coppia
origine/destinazione l. Dalle condizioni di ottimalità per problemi con vincoli di simplesso (si
veda l’Appendice D) segue che, denotato con i l’indice del cammino di costo minimo, una
(l)
soluzione x̂(l) si ottiene ponendo x̂i = bl e tutte le altre componenti pari a zero. In questo
k
modo otteniamo un vettore x̂ che ha tutte le componenti nulle tranne quelle corrispondenti
ai cammini di costo minimo tra le varie coppie origine/destinazione (queste coppie sono P ). Il
calcolo di x̂k necessita quindi della soluzione di P problemi di cammino minimo (da calcolare,
ad esempio, con l’algoritmo di Dijkstra).
L’applicazione del metodo di Frank-Wolfe per la soluzione del problema (18) richiederebbe
l’enumerazione di tutti i cammini della rete e la memorizzazione dei relativi flussi, che è proibitivo
in problemi reali.
Consideriamo quindi la formulazione (14), in cui la funzione obiettivo dipende solo dai flussi
degli archi, la cui memorizzazione è possibile anche in reti di dimensione molto elevata. Tenendo
conto che
y = Hx,
abbiamo che la direzione di Frank-Wolfe, riferita al problema (14), è definita come segue
k
x̂ − xk
k
d =
,
dky
in cui
dky = H x̂k − Hxk = ŷ k − y k .
Osservazione.
Siano xk e x̂k due punti ammissibili per il problema (18). Si assuma che la direzione
dkx = x̂k − xk
(21)
dky = H x̂k − Hxk = Hdkx = ŷ k − y k ,
(22)
sia di discesa per f . Allora, posto
la direzione
k
d =
dkx
dky
è ammissibile e di discesa per il problema (14). Infatti, l’ammisibilità della direzione dk segue
dalla convessità dell’insieme ammissibile e dal fatto che i punti
 k 
 k 
x
x̂




k
k
y
ŷ
14
sono entrambi ammissibili.
Per quanto riguarda la proprietà di essere di discesa, segue dalle relazioni
F (y k ) = f (xk ) = F (Hxk ),
F (y k + tdky ) = F (Hxk + tH(x̂k − xk )) = f (xk + tdkx ),
f (xk + tdkx ) < f (xk )
per t sufficientemente piccolo.
✷
Una volta calcolata dky , si pone
y k+1 = y k + αk dky ,
dove al solito il passo αk viene determinato con una ricerca unidimensionale nell’intervallo [0, 1].
Si osservi che in pratica non occorre memorizzare il vettore corrente dei flussi xk . L’impiego
del metodo di Frank-Wolfe consente quindi di “operare” nello spazio dei flussi di archi, per cui
non ha limiti di applicabilità legati alle dimensioni del problema. Tuttavia, può risultare non
molto efficiente in termini di rapidità di convergenza, per cui sono correntemente studiati nuovi
algoritmi che analizzeremo nei prossimi paragrafi.
6
Metodi di tipo gradiente proiettato
Si consideri il generico problema (19). L’iterazione k del metodo del gradiente proiettato si può
descrivere come segue:
xk+1 = xk + αk dk ,
dove αk è, al solito, il passo che può essere determinato con una ricerca unidimensionale,
dk = P (xk − ∇f (xk )) − xk ,
essendo P (xk − ∇f (xk )) la proiezione del punto xk − ∇f (xk ) nell’insieme ammissibile X.
Per determinare il punto proiezione P (xk − ∇f (xk ) occorre risolvere il problema
min kxk − ∇f (xk ) − xk2
(23)
x ∈ X.
Se X è il prodotto cartesiano di T insiemi convessi compatti, ossia,
X = X1 × X2 . . . × XT ,
il problema di proiezione (23) è decomponibile in T sottoproblemi indipendenti. Tuttavia, anche
se decomponibile, il problema di proiezione può non essere di facile soluzione.
Nel caso di problemi di equilibrio di reti l’insieme ammissibile del generico sottoproblema
(generica coppia origine/destinazione) è
{x ∈ Rp : x1 + x2 + . . . + xp = 1, x ≥ 0}.
La proiezione su un insieme ammissibile del tipo sopra descritto può essere fatta con con un
algoritmo molto semplice ed efficiente brevemente descritto a fine paragrafo.
15
Con riferimeno ora all’applicazione del metodo del gradiente proiettato al problema (18)
riguardante la formulazione nello spazio dei flussi dei cammini, per ogni coppia origine/destinazione
si procede con una strategia di tipo (column generation) per evitare di enumerare a priori tutte
le variabili del problema. Con una strategia column generation viene iterativamente aggiornato
il sottoinsieme di variabili effettivamente utilizzate. La scelta di tale sottoinsieme deve garantire
la possibilità di soddisfare, almeno asintoticamente, le condizioni di ottimalità.
Nel caso specifico, ad ogni iterazione k, il working set (che individua le variabili rispetto
alle quali viene effettuata la minimizzazione) è costituito dagli indici delle componenti di xk
strettamente maggiori di zero e dalla componente corrispondente al cammino di costo minimo.
L’aggiunta della variabile corrispondente al cammino di costo minimo ha due motivazioni:
(i) consente di garantire proprietà di convergenza;
(ii) consente di definire una direzione di discesa.
Si osservi che per ottenere una direzione di discesa è sufficiente aggiungere una variabile corrispondente a un qualsiasi cammino di costo inferiore a quello dei cammini che hanno flusso
positivo.
Algoritmo di proiezione
Consideriamo il problema di proiezione di un punto x̄ ∈ Rn su un insieme X della forma
X = {x ∈ Rn : x1 + x2 . . . + xn = d, x ≥ 0}.
Il problema che stiamo quindi considerando è
min 12 kx − x̄k2
x1 + x2 . . . + xn = d
x≥0
Descriviamo inizialmente in modo informale l’idea alla base dell’algoritmo di proiezione. Si
proietta il punto x̄ sull’iperpiano
H = {x ∈ Rn : x1 + x2 . . . + xn = d}
e si ottiene il punto x̃ le cui componenti sono
1
x̃i = x̄i +
n
d−
n
X
x̄i
i=1
!
i = 1, . . . , n.
Se x̃ ≥ 0 allora l’algoritmo termina. Altrimenti si fissano a zero le componenti x̃i < 0 e si ripete
la procedura di proiezione nel sottospazio individuato dalle restanti componenti x̃i > 0.
Lo schema formale dell’algoritmo è il seguente.
Inizializzazione Poni k = 0 e x0i = x̄i +
1
n
d−
n
X
i=1
16
x̄i
!
per i = 1, . . . , n.
Passo 1. If xk ≥ 0 then Stop,
Else poni I = {i : xki > 0}.
End If
Passo 2. Per i = 1, . . . , n poni
xk+1
=
i

0





k


 xi +
se i ∈
/I
1
|I|
d−
X
xki
i∈I
!
se i ∈ I,
poni k = k + 1 e vai al Passo 1.
Si può dimostrare che l’algoritmo termina al più in n iterazioni.
7
Metodi di decomposizione
Si consideri il problema
min f (x)
(24)
x ∈ X1 × X2 . . . × XP
Rn
in cui f :
→ R è una funzione convessa differenziabile e x ∈ Rn è il vettore dei flussi
dei cammini. Il vettore x è decomposto in L blocchi, uno per ogni coppia origine/destinazione.
Ogni blocco avrebbe quindi una dimensione pari al numero di cammini che congiungono la coppia
origine/destinazione cui si riferisce il blocco. Tuttavia, poiché non è pensabile di enumerare a
priori tutti i possibili cammini, come detto si adotta una strategia di tipo column generation,
secondo la quale, ad ogni iterazione k, per ogni blocco si considerano i cammini attualmente in
uso (hk > 0) e quelli eventuali a flusso nullo di costo minimo.
Formalmente poniamo
x = (x1 , x2 , . . . , xP ) ,
dove xj ∈ Rnj , e osserviamo che la dimensione di xj varia, in genere, con l’iterazione k.
Ad ogni iterazione k, si considera quindi un problema della forma
minx f (x)
(25)
x ∈ X k = X1k × X2k × . . . × XPk
dove Xik , con i = 1, . . . L, sono sottoinsiemi, di dimensione minore, degli innsiemi Xi . Nel seguito
si deve intendere che, ad ogni iterazione k, il problema considerato è della forma (25). Per non
appesantire la notazione verrà omessa la dipendenza degli insiemi Xi dal punto corrente xk .
Uno degli schemi più noti di decomposizione sequenziale, noto come metodo di Gauss-Seidel,
consiste in una sequenza di minimizzazioni globali rispetto ai singoli blocchi.
17
Algoritmo di Gauss-Seidel
Dati: punto iniziale x0 = (x01 , . . . , x0L ) ∈ X1 × X2 × . . . XP , k = 0.
While criterio d’arresto non soddisfatto
For i = 1, . . . , P calcola
xk+1
∈ Arg min f (x1k+1 , . . . , ξ, . . . , xkP ).
i
ξ∈Xi
(26)
End For
k+1
Poni xk+1 = (xk+1
1 , . . . , xP ), k = k + 1.
End While
Lo schema concettuale dell’Algoritmo di Gauss-Seidel si particolarizza:
(i) con la scelta del metodo per la soluzione del sottoproblema (26);
(ii) con il criterio d’arresto utilizzato nel calcolo della soluzione del sottoproblema (26).
Per quanto riguarda il punto (i), possibili scelte sono:
- il metodo del gradiente proiettato (già descritto);
- il metodo di decomposizione di tipo Gauss-Southwell.
Per quanto riguarda il punto (ii), osserviamo che lo schema concettuale di decomposizione descritto riguarda un Algoritmo di Gauss-Seidel di tipo esatto, nel senso che prevede di determinare
la soluzione esatta dei vari sottoproblemi. È possibile tuttavia pensare a strategie di tipo GaussSeidel inesatto, in cui ogni sottoproblema viene risolto in modo approssimato, e il livello di
approssimazione viene determinato dal criterio d’arresto che potrà essere basato su una misura
della violazione delle condizioni di ottimalità e sul numero di iterazioni massimo previsto per
ogni sottoproblema.
Si osservi che nello schema presentato k rappresenta il contatore delle iterazioni esterne.
Nel successivo sottoparagrafo analizzeremo un metodo utilizzabile per risolvere il generico sottoproblema che, nella forma generale e indipendente dalla particolare coppia origine/destinazione,
è formulato come segue
min f (x)
x1 + x2 + . . . + xp = b
(27)
x ≥ 0,
rappresenta il costo del cammino j.
in cui ricordiamo che ∂f∂x(x)
j
Richiamiamo brevemente le condizioni di ottimalità per il sottoproblema convesso (27) (si
veda l’Appendice D). Un punto ammissibile x⋆ è soluzione se e solo se
x⋆i > 0
implica
∂f (x⋆ )
∂f (x⋆ )
≤
∂xi
∂xj
18
j = 1, . . . , n.
(28)
Queste condizioni si utilizzano sia per definire un criterio di arresto sia per progettare nuovi
algoritmi. In particolare, il criterio di arresto usualmente adottato è basato sulle condizioni di
ottimalità (28): le iterazioni interne per la soluzione del sottoproblema si arrestano quando la
differenza quando la differenza dei costi dei cammini massimo e minimo è minore di una data
tolleranza ǫ.
7.1
Metodo di decomposizione di Gauss-Southwell
Il metodo di tipo gradiente proiettato descritto in precedenza è un metodo di ottimizzazione che
può essere applicato all’interno di uno schema di decomposizione.
Una differente possibilità, descritta in questo paragrafo, riguarda l’impiego di un metodo di
decomposizione all’interno dello schema “esterno” di decomposizione di tipo Gauss-Seidel.
Il metodo che prenderemo in considerazione in questo paragrafo è il metodo di decomposizione noto come metodo di Gauss-Southwell.
Si consideri il sottoproblema
min f (x)
x1 + x2 + . . . + xp = b
(29)
x ≥ 0,
dove p è il numero di cammini che, ad una data iterazione esterna k, hanno flusso maggiore di
zero.
Sia x̄ un punto ammissibile che non sia soluzione. Si consideri la coppia di indici (i, j) in cui i
corrisponde al cammino di costo minimo (∂f (x̄)/∂xi minima) e j corrisponde al cammino di costo
massimo (∂f (x̄)/∂xj massima). La coppia di variabili (xi , xj ) è quella che viola maggiormente
le condizioni di ottimalità (28). Si verifica facilmente che la direzione d(i,j) in cui

+1 se h = i





(i,j)
−1 se h = j
dh =





0
altrimenti
è una direzione di discesa e ammissibile in x̄. La direzione d(i,j) è tale per cui, muovendosi lungo
essa, ci sarà un aumento di flusso per il cammino di costo minimo e una diminuzione di flusso
per il cammino di costo massimo. In letteratura, con riferimento ai metodi basati sull’impiego
di tale direzione, si parla di path equilibration algorithms.
Il metodo di Gauss-Southwell si basa su una iterazione della forma
xk+1 = xk + αk dk ,
dove il passo αk viene determinato con una ricerca di linea esatta (bisezione) oppure inesatta
(Armijo). Nel primo caso si parla di metodo di Gauss-Southwell esatto, nel secondo caso di
metodo di Gauss-Southwell inesatto. Si osservi che la ricerca di linea andrà condotta nell’intervallo
[0, x̄j ], perché x̄j è la massima quantità di flusso che può essere diminuita senza violare il vincolo
xj ≥ 0.
19
Una volta aggiornato il vettore dei flussi dei cammini si aggiunge eventualmente una nuova
variabile (column generation) nel caso in cui questa corrisponda a un cammino di costo minimo
e flusso nullo. Il procedimento si itera fino al soddisfacimento del criterio di arresto, che può
prevedere anche un numero massimo di iterazioni.
8
Criterio d’arresto
Si consideri il problema
min f (x)
(30)
x ∈ X,
dove f : Rn → R è una funzione continuamente differenziabile convessa. Un punto x⋆ ∈ X è
soluzione del problema se e solo se
∇f (x⋆ )T (x − x⋆ ) ≥ 0
∀x ∈ X
(31)
In modo equivalente, possiamo dire che x⋆ ∈ X è soluzione del problema se e solo se
∇f (x⋆ )T (x̂ − x⋆ ) = 0,
dove
(32)
ˆ
ˆx ∈ arg min ∇f (x⋆ )T x.
x∈X
Si osservi che x̂ è il punto che definisce la direzione di Frank-Wolfe.
Dato un punto xk ∈ X, se non è soluzione risulta
∇f (xk )T (xk − x̂k ) > 0,
(33)
x̂k ∈ arg min ∇f (xk )T x.
x∈X
Sulla base della (32) e della (33) , un criterio d’arresto può essere il seguente
∇f (xk )T xk − ∇f (xk )T x̂k ≤ ǫ,
(34)
dove ǫ > 0 è la tolleranza.
Nel problema di equilibrio di reti le componenti del gradiente ∇f (x) rappresentano i costi
dei cammini, per cui ∇f (xk )T xk è il costo della rete. Per la struttura del problema, il punto x̂k è
ottenuto assegnando, per ogni coppia Origine-Destinazione p, tutta la domanda dp sul cammino
di costo minimo, per cui abbiamo
k T k
∇f (x ) x̂ =
P
X
πp (xk )dp ,
p=1
dove πp (xk ) è il costo del cammino di costo minimo della coppia p.
Il relative gap introdotto e utilizzato nella letteratura di modelli di equilibrio di traffico è
PP
k
p=1 πp (x )dp
rgap = 1 −
,
C(xk )
20
dove C(xk ) è il costo della rete.
Sulla base delle osservazioni precedenti otteniamo
rgap =
∇f (xk )T xk − ∇f (xk )T x̂k
.
∇f (xk )T xk
Si noti che un criterio d’arresto sul relative gap è ottenuto normalizzando il primo membro del
criterio (34).
Tuttavia può essere introdotto un criterio d’arresto alternativo. Un criterio d’arresto usualmente adottato nei problemi di ottimizzazione si basa sui concetti di Lower Bound (LB) e di
Upper Bound (UB).
Denotato con f ⋆ il valore minimo di f (x), per x ∈ X, un Lower Bound (LB) è un valore tale
che
f ⋆ ≥ LB.
Un Upper Bound (UB) è un valore tale che
f ⋆ ≤ U B.
Un criterio d’arresto comunemente usato è quello basato sulla condizione
U B − LB
≤ ǫ.
|LB|
(35)
Si noti che il valore f (xk ), con xk ∈ X, costituisce un UB. Vediamo come definire un Lower
Bound. Dalla convessità di f e dalla definizione di x̂k segue
f (x⋆ ) ≥ f (xk ) + ∇f (xk )T (x⋆ − xk ) ≥ f (xk ) + ∇f (xk )T (x̂k − xk ).
Quindi la quantità
f (xk ) + ∇f (xk )T (x̂k − xk )
è un Lower Bound. Di conseguenza, il criterio (35) assume la forma
U B − LB
∇f (xk )T (xk − x̂k )
=
≤ ǫ.
|LB|
|f (xk ) + ∇f (xk )T (x̂k − xk )|
9
Il problema con domanda elastica
Nell’analisi fin qui svolta abbiamo assunto che la domanda di ogni coppia origine/destinazione
è fissata e nota a priori. Un modello più realistico, denominato modello con domanda elastica,
è quello in cui la domanda di ogni coppia è variabile e dipende dal “costo” (inteso in senso
generale) associato a quella coppia.
Assumiamo quindi che la domanda dp della coppia p sia funzione del costo associato a quella
coppia:
dp = Dp (up ),
dove up è il costo minimo della coppia p, Dp (.) è la funzione domanda. Possiamo ragionevolmente
assumere che la funzione Dp sia una funzione monotonicamente decrescente.
21
Il problema di ottimizzazione nel modello con domanda elastica assume la forma
min
XZ
va
sa (x) dx −
a∈A 0
P
k∈Kp
XZ
p∈P
dp
0
Dp−1 (w)dw
hk = dp
∀p ∈ P
hk ≥ 0
∀k∈K
dp ≥ 0
∀p∈P
va =
P
k∈K δak hk
(36)
∀ a ∈ A,
dove Dp−1 (.) è la funzione inversa della funzione domanda.
Per semplicità di esposizione, coerentemente con quanto fatto in precedenza, con un cambio
di notazione riscriviamo come segue il problema (36)
minx,y f (x) − g(y)
eT x(p) = yp
∀p∈P
(37)
x≥0
0 ≤ yp ≤ ȳp
∀ p ∈ P.
Si osservi che il vincolo yp ≤ ȳp viene introdotto per ragioni computazionali e che si può ragionevolmente assumere che l’upper bound ȳp sulla domanda sia “sufficientemente elevato” da
non essere mai attivo.
Per la soluzione del problema (37) possiamo individuare due classi di metodi:
(I) metodi che vengono applicati alla formulazione originaria (37);
II metodi basati su formulazioni equivalenti del problema che, utilizzando una rete opportunamente modificata, conducono a problemi con domanda fissa.
In relazione ai metodi della classe I si consideri, con una semplice sostituzione, il problema
equivalente nelle sole variabili x:
minx Z(x) = f (x) −
XZ
p∈P
eT x(p)
0
eT x(p) ≤ ȳp
Dp−1 (w)dw
∀p∈P
x ≥ 0.
Abbiamo
∂Z(x)
∂f (x)
=
− Dp−1 (eT x(p) ) = chp − Dp−1 (yp ),
∂x(p),h
∂x(p),h
22
(38)
dove chp è il costo del cammino h della coppia p. Si consideri il metodo di Frank-Wolfe: il
sottoproblema lineare riferito all coppia p è il seguente
X minx Z(x(p) ) =
chp − Dp−1 (yp ) x(p),h
h∈Kp
eT x(p) ≤ ȳp
∀p∈P
(39)
x ≥ 0.
Il problema (39) può essere risolto analiticamente
- se chp − Dp−1 (yp ) ≥ 0 per ogni h si pone x⋆(p) = 0;
- sia h̄ l’indice corrispondente al costo “più negativo”, ossia, sia tale che ch̄p − Dp−1 (yp ) < 0
e ch̄p ≤ chp : si pone x⋆(p),h̄ = ȳp e tutte le altre componenti pari a zero.
In relazione alla classe II, considereremo la formulazione di tipo “excess demand”. Si consideri
il problema (38) e si introducano, per p = 1, . . . , P , le variabili (eccesso di domanda)
zp = ȳp − yp .
Nelle nuove variabili (x, z), l’insieme ammissibile è definito come segue
eT x(p) + zp = ȳp ∀ p ∈ P
x≥0
zp ≥ 0
∀ p ∈ P,
e quindi ha la forma dell’insieme ammissibile del problema con domanda fissa.
Per quanto riguarda la funzione obiettivo, consideriamo il termine g(y). Ogni termine della
sommatoria può essere decomposto
Z ȳp
Z yp
−1
Dp (w)dw +
Dp−1 (w)dw.
0
ȳp
Il primo integrale non dipende dalle variabili del problema e quindi può essere omesso nel problema di minimizzazione. Posto w = ȳp − v, possiamo scrivere
Z
yp
ȳp
Dp−1 (w)dw
=−
Z
ȳp −yp
0
Dp−1 (ȳp
− v)dv = −
Z
zp
Wp (v)dv,
0
dove Wp (v) = Dp−1 (ȳp − v). Di conseguenza, il problema (36) nelle nuove variabili assume la
23
forma
min
XZ
va
sa (x) dx +
a∈A 0
P
k∈Kp
XZ
p∈P
zp
Wp (v)dv
0
hk + zp = ȳp
∀p ∈ P
hk ≥ 0
∀k∈K
zp ≥ 0
∀p∈P
va =
P
k∈K δak hk
(40)
∀ a ∈ A,
Dal confronto tra la formulazione con domanda fissa (12) e la formulazione con domanda elastica (40) segue che quest’ultima corrisponde alla formulazione con domanda fissa di una rete
estesa ottenuta da quella originaria aggiungendo P archi, ognuno dei quali congiunge una coppia
origine/destinazione. Il costo del p−esimo arco aggiunto sarà W (zp ) = Dp−1 (yp ).
Un qualsiasi algoritmo per problemi con domanda fissa può quindi essere applicato al problema (40) relativo alla rete estesa.
Criterio d’arresto
Abbiamo visto che il problema di equilibrio con domanda elastica, nel modello “excess demand”
è equivalente al problema con domanda fissa riferito a una rete ottenuta da quella originaria
aggiungendo un arco per ogni coppia O/D.
Per definire un criterio d’arresto possiamo quindi riferirci a questa rete “estesa” e definire
il relative gap introdotto nel paragrafo 8. Per quanto riguarda il numeratore, sarà dato dalla
differenza tra il costo totale della rete e il costo corrispondente alla soluzione (in x, z) di FrankWolfe. Il costo totale della rete è
X
X
∇f (xk )T xk +
Wp (zp )zp = ∇f (xk )T xk +
Dp−1 (yp )(ȳp − yp ).
(41)
p∈P
p∈P
Il costo corrispondente alla soluzione di Frank-Wolfe è
X
π̃p ȳp ,
p∈P
dove
π̃p = min{Dp−1 (yp ), πp (x)}.
P
Di conseguenza, ricordando che yp = k∈Kp xk , il relative gap assume la forma
rgap =
P
p∈P
P
k∈Kp
P
sk − Dp−1 (yp ) hk + p∈P Dp−1 (yp ) − π̃p ȳp
den
dove den è un termine di normalizzazione (ad esempio, il costo della rete (41)).
24
,
(42)
10
Il problema della stima della domanda delle Origini/Destinazioni
In questo paragrafo analizzeremo un problema che emerge nei casi applicativi in cui la domanda
delle varie coppie Origini/Destinazioni non è nota. Realisticamente possiamo immaginare che
un sistema di sensori misuri, quando la rete è in equilibrio, il flusso di un sottoinsieme degli
archi. A partire da queste stime di flusso di archi si vuole quindi determinare la domanda delle
varie coppie O/D.
Il problema, come vedremo, può essere formulato come problema di ottimizzazione bilivello.
Per ovviare alle difficoltà dei problemi bilivello, sono state proposte riformulazioni a singolo
livello, che possono essere viste come “approssimazioni“ del problema bilivello.
10.1
Definizione di problema di ottimizzazione bilivello
Si consideri il problema bilivello
minx,y F (x, y)
x∈X
(43)
G(x, y) ≤ 0
y ∈ arg minz {f (x, z) : g(x, z) ≤ 0},
dove x ∈ Rn1 e y ∈ Rn2 . Il vettore x contiene le variabili di upper level (controllate dal
leader) il vettore y quelle di lower level (controllate dal follower). Analogamente le funzioni
F : Rn1 × Rn2 → R, f : Rn1 × Rn2 → R sono le funzioni obiettivo dell’upper level e lower level,
rispettivamente. Le funzioni G : Rn1 × Rn2 → R, g : Rn1 × Rn2 → R definiscono gli upper level
constraints e i lower level constraints.
Definiamo il problema rilassato:
minx,y F (x, y)
x∈X
(44)
G(x, y) ≤ 0
g(x, y) ≤ 0
e l’insieme ammissibile rilassato:
Ω = {(x, y) : x ∈ X, G(x, y) ≤ 0, g(x, y) ≤ 0}.
Dato x̄ ∈ X, introduciamo l’insieme ammissibile di lower level
Ω(x̄) = {y : g(x̄, y) ≤ 0},
e l’insieme di reazione razionale
R(x̄) = {y : y ∈ {arg min f (x̄, z) : z ∈ Ω(x̄)}}.
z
Distinguiamo tra:
25
- ottimizzazione bilivello ottimistica, quando c’è cooperazione tra leader e follower, e quindi
il primo può scegliere nell’insieme R(x) l’elemento y ad esso più “favorevole“ (rispetto alla
funzione obiettivo F (x, y));
- ottimizzazione bilivello pessimistica, quando il follower opera in maniera antitetica rispetto
alle aspettative del leader, e quindi quest’ultimo ottiene dall’insieme R(x) l’elemento y ad
esso più “sfavorevole“ (rispetto alla funzione obiettivo F (x, y)).
Nel caso di ottimizzazione bilivello ottimistica, diremo che il punto (x⋆ , y ⋆ ) è un punto di minimo
locale per il problema (43) se:
x⋆ ∈ X
G(x⋆ , y ⋆ ) ≤ 0
g(x⋆ , y ⋆ ) ≤ 0
F (x⋆ , y ⋆ ) ≤ F (x⋆ , y)
∀y ∈ R(x⋆ ),
e se esiste un intorno aperto I(x⋆ , δ) tale che
φo (x⋆ ) ≤ φo (x)
∀x ∈ X ∩ I(x⋆ , ρ),
dove
φo (x) = min{F (x, y) : y ∈ R(x), G(x, y) ≤ 0}.
y
Il punto si dice di minimo globale se
φo (x⋆ ) ≤ φo (x)
∀x ∈ X.
Nel caso di ottimizzazione bilivello pessimistica, diremo che il punto (x⋆ , y ⋆ ) è un punto di minimo
locale per il problema (43) se:
x⋆ ∈ X
G(x⋆ , y ⋆ ) ≤ 0
g(x⋆ , y ⋆ ) ≤ 0
F (x⋆ , y ⋆ ) ≥ F (x⋆ , y)
∀y ∈ R(x⋆ ),
e se esiste un intorno aperto I(x⋆ , δ) tale che
φp (x⋆ ) ≤ φp (x)
∀x ∈ X ∩ I(x⋆ , ρ),
dove
φp (x) = max{F (x, y) : y ∈ R(x), G(x, y) ≤ 0}.
y
Il punto si dice di minimo globale se
φp (x⋆ ) ≤ φp (x)
26
∀x ∈ X.
10.2
Ottimizzazione bilivello per il problema della stima
′
Si assuma che su un sottinsieme di archi A ⊂ A sia noto il flusso in condizioni di equilibrio della
rete, ossia abbiamo
′
ya = ȳa
∀a ∈ A .
A partire da queste misure parziali vogliamo determinare le domande della varie coppie OD.
Dobbiamo quindi determinare un vettore di flussi di cammini x, un vettore delle domande d, un
vettore di flussi di archi y in modo che:
′
- i flussi sugli archi a ∈ A siano uguali a quelli misurati ȳa ;
- la rete sia in equilibrio.
A questo fine formuliamo il problema di ottimizzazione bilivello:
X
minx,y,d 21
(ya − ȳa )2
a∈A
′
(45)
d≥0
′
x ∈ arg minz {f (z) : eT z (p) = dp , z (p) ≥ 0, p = 1, . . . , P, ya = hTa z, a ∈ A },
dove ha rappresenta la riga a della matrice di incidenza archi/cammini H.
Un problema di ottimizzazione bilivello presenta, in generale, una “complessità“ che rende
difficoltosa la definizione di algoritmi efficienti. Nel paragrafo successivo vedremo un approccio
basato su un’approssimazione del problema bilivello con un problema convesso a singolo livello.
10.3
Ottimizzazione a singolo livello per il problema della stima
In questo paragrafo definiamo un problema convesso a singolo livello che “approssima“ il problema bilivello (45) per la stima delle domande OD. L’idea è di definire un’unica funzione obiettivo
data dalla somma pesata della funzione dell’upper level e della funzione obiettivo del lower level.
Abbiamo quindi il problema di ottimizzazione:
minx,y,d 12
X
a∈A
eT x(p) = dp ,
ya = hTa x,
2
(ya − ȳa ) + τ f (x) − τ
P
X
ûp dp
p=1
′
p = 1, . . . , P,
(46)
′
a∈A
x ≥ 0,
dove ûp , per p = 1, . . . , P è un parametro positivo “associato“ al costo minimo della coppia p, il
cui ruolo sarà più chiaro nel seguito.
27
La funzione Lagrangiana associata al problema (46) assume la forma
L(x, y, d, λ, µ, ξ) =
1
2
X
a∈A
P
X
p=1
e abbiamo
(ya − ȳa )2 + τ f (x) − τ
P
X
ûp dp +
p=1
′
T (p)
λp e x
− dp +
X
a∈A
µa (ya −
hTa x)
−
P
X
T
ξ(p)
x(p) ,
p=1
′
∂L()
= ya − ȳa + µa
ya
X
∂L()
∂f ()
µa δai − ξ(p).i
=τ
+ λp −
x(p).i
x(p).i
′
a∈A
∂L()
= −τ ûp − λp .
dp
Dalle condizioni KKT otteniamo
µa = ȳa − ya ,
X
(ȳa − ya )δai − ξ(p).i = 0,
τ c(p),i + λp −
a∈A
′
da cui segue
τ c(p),i − τ ûp −
X
(ȳa − ya )δai = ξ(p).i ≥ 0.
a∈A′
Utilizzando le condizioni di complementarità possiamo scrivere
x(p),i ≥ 0
τ c(p),i − τ ûp −
X
a∈A

(ȳa − ya )δai ≥ 0
′
(47)
x(p),i τ c(p),i − τ ûp −
X
a∈A
′

(ȳa − ya )δai  = 0
Si osservi che se ûp fosse pari a zero allora si avrebbe flusso non nullo solo per quei cammini
x(p),i tali che
X
(ȳa − ya )δai = τ c(p),i > 0,
a∈A
′
e quindi i flussi calcolati ya tenderebbero ad essere una sottostima dei flussi misurati ȳa .
Prima di dimostrare un risultato di “equivalenza“, premettiamo il risultato seguente.
28
Proposizione 3. Si assuma
ûp = u⋆p
p = 1, . . . , P,
dove u⋆p è il costo minimo della p−esima coppia OD. Ogni soluzione del problema
P
X
u⋆p dp
min f (x) −
p=1
eT x(p) = dp
(48)
p = 1, . . . , P
x≥0
è una soluzione di equilibrio.
Proof. Per dimostrare la tesi basta provare che un punto che soddisfa le condizioni KKT del
problema (48) soddisfa le condizioni di Wardrop. Dalle condizioni KKT otteniamo
c(p).i − λp x(p).i − ξ(p),i = 0
−u⋆p + λp = 0,
da cui segue la tesi.
Possiamo ora dimostrare il seguente risultato.
′
Proposizione 4. Si assuma che le stime ȳa , con a ∈ A siano esatte e si supponga che
ûp = u⋆p
p = 1, . . . , P.
Allora ogni soluzione (x⋆ , y ⋆ , d⋆ ) del problema (46) è una soluzione di equilibrio tale che
′
ya⋆ = ȳa
a∈A,
e avente costi dei cammini minimi pari a u⋆p , per p = 1, . . . , P.
Proof. Si vede facilmente che una soluzione (x, y, d) di equilibrio è tale che
′
ya = ȳa
a∈A,
e
(x, y, d) ∈ arg min{τ f (x) − τ
P
X
u⋆p dp : eT x(p) = dp , x(p) ≥ 0, p = 1, . . . , P, y = Hx}.
p=1
Infatti, una soluzione di equilibrio di Wardrop soddisfa le condizioni
x(p),i ≥ 0
c(p),i − u⋆p ≥ 0
x(p),i c(p),i − u⋆p = 0,
29
(49)
da cui segue che valgono le condizioni (47). Osserviamo che
P
min
x,y,d∈F
P
X
X
1X
1X
u⋆p dp ≥ min
u⋆p dp .
(ya − ȳa )2 + τ f (x) − τ
(ya − ȳa )2 + min τ f (x) − τ
x,y,d∈F
x,y,d∈F
2
2
′
′
p=1
a∈A
a∈A
p=1
Abbiamo visto che in corrispondenza di una soluzione di equilibrio vale l’uguaglianza, da cui
segue che per ogni soluzione (x⋆ , y ⋆ , d⋆ ) di (46) deve valere l’uguaglianza. Quindi abbiamo
′
ya⋆ = ȳa
⋆
⋆
⋆
(x , y , d ) ∈ arg min{τ f (x) − τ
P
X
a∈A,
u⋆p dp : eT x(p) = dp , x(p) ≥ 0, p = 1, . . . , P, y = Hx},
p=1
da cui possiamo dedurre, tenendo conto della Proposizione 3, che (x⋆ , y ⋆ , d⋆ ) è una soluzione di
equilibrio ed è tale che i flussi calcolati sono uguali ai flussi misurati.
Cenni sugli algoritmi per la soluzione del problema a singolo livello
In relazione al problema (46) osserviamo:
(i) il termine relativo alla stima dei flussi degli archi è tale per cui si può considerare una rete
′
“equivalente“ con pesi sugli archi a ∈ A pari a
1
sa (ya ) − (ȳa − ya );
τ
(ii) i parametri τ e ûp , p = 1, . . . , P devono essere fissati dall’utente.
Per quanto riguarda il punto (i), la difficoltà ad esso connessa è l’eventuale presenza di cicli sconnessi negativi, che rende “difficile“ la determinazione del cammino di lunghezza minima. Una
strategia proposta è quella di applicare un algoritmo di cammino minimo in grado di individuare
la presenza di cicli negativi. Nel caso siano individuati tali cicli, i pesi dei corrispondenti archi
vengono posti a zero.
Per quanto riguarda il punto (ii), sono stati proposti dei criteri per scegliere θ ed è stata
definita una procedura che modifica iterativamente, durante l’esecuzione dell’algoritmo di minimizzazione, i valori di ûp , p = 1, . . . , P .
11
Equilibrio di Nash ed equlibrio di Wardrop
Si consideri un insieme di P giocatori, ognuno dei quali corrisponde ad una coppia OD. Ad ogni
giocatore i associamo un vettore di flussi di archi y i . I flussi degli archi devono soddisfare le
leggi di conservazione del flusso ai nodi:
X
X
i
i
yhj
= qji
∀nodo j, ∀coppia OD i,
yjl
−
l∈S(j)
h∈P (j)
dove
30
- S(j) e P (j) sono gli insiemi successori e predecessori di j;
- qji è la domanda del nodo j rispetto alla coppia i, ossia
 i
se j = origine
 d
−di se j = destinazione
qji =

0
altrimenti
Il vettore delle variabili di decisione del giocatore i è [yai ]a∈A . Il costo del giocatore i è
X
si (y) =
yai Sai (y),
a∈A
dove Sai (y) è il costo dell’arco a, per il giocatore i, che dipende dai flussi di tutti i giocatori.
Sotto opportune ipotesi si può dimostrare l’esistenza dell’equilibrio di Nash.
Si assuma ora che
Sai (y) = Sa (y)
per ogni arco a, per ogni giocatore i,
ossia che la funzione di costo di ogni arco sia la stessa per ogni giocatore. Come visto in
precedenza, un vettore y ⋆ = [ya⋆ ]a∈A è un equilibrio di Wardrop se
X
X
Sa (y ⋆ ),
Sa (y ⋆ ) ≤
a∈Ci⋆
a∈Ci
dove
- Ci⋆ è un qualsiasi cammino appartenente all’insieme dei cammini della coppia i effettivamente utilizzati;
- Ci è un qualsiasi cammino della coppia i;
Consideriamo il seguente problema: è possibile approssimare un equilibrio di Wardrop y ⋆ con
un vettore y ⋆ (n) derivante da un equilibrio di Nash per un gioco con nP giocatori (n giocatori
per ogni coppia i, i = 1, . . . , P )?
Assumiamo che gli n giocatori di ogni coppia i siano “identici”. Indichiamo con y N ash (n) il
punto di equilibrio di Nash. Si osservi che il vettore y N ash (n) rappresenta un vettore di flussi di
archi ottenuti sommando le variabili di decisione degli nP giocatori. Sotto opportune ipotesi si
può dimostrare che
y ⋆ = lim y N ash (n).
n→∞
31
12
Appendice A: richiami sulle disequazioni variazionali
Siano dati un insieme X ⊆ Rn non vuoto, chiuso e convesso, e una funzione continua F : Rn →
Rn . Una disequazione variazionale, indicata con V I(X, F ), è il problema di determinare un
vettore x⋆ ∈ X tale che
F (x⋆ )T (x − x⋆ ) ≥ 0
∀x ∈ X.
Si consideri un problema di ottimizzazione del tipo
minf (x)
x ∈ S,
(50)
in cui f : Rn → R è una funzione continuamente differenziabile e S è un insieme convesso.
Sappiamo che un punto x⋆ di minimo locale soddisfa le condizioni di ottimalità
∇f (x⋆ )T (x − x⋆ ) ≥ 0
∀x ∈ S,
ossia x⋆ è soluzione della disequazione variazionale V I(S, ∇f ). Quindi determinare un punto
critico per il problema (50) equivale a risolvere una V I.
Viceversa, data una disequazione variazionale V I(X, F ), non è sempre possibile associare
ad essa un problema di ottimizzazione equivalente. Questa associazione è possibile se e solo se
F è il gradiente di “qualche” funzione. Da un risultato di analisi, sotto opportune ipotesi di
differenziabilità su insiemi aperti e convessi, si ha che F è il gradiente di una funzione f se e solo
se la matrice Jacobiana di F è simmetrica. In tal caso, la funzione f , a meno di una costante,
assume la forma
Z
1
f (x) =
F (x0 + t(x − x0 ))T (x − x0 )dt,
0
dove
x0
è un punto arbitrario nell’insieme considerato.
Esistenza della soluzione di una disequazione variazionale.
Una condizione sufficiente di esistenza di una V I(X, F ) è quella che richiede che l’insieme X sia
compatto e convesso, e la funzione F sia continua.
Per avere risultati di convergenza che prescindano dalla compattezza dell’insieme X, occorre introdurre i concetti di monotonia, stretta monotonia, forte monotonia di una funzione
vettoriale.
Sia F : X ⊆ Rn → Rn . Diremo che la funzione F è monotona se comunque presi due vettori
x1 , x2 ∈ X risulta
(F (x1 ) − F (x2 ))T (x1 − x2 ) ≥ 0.
Diremo che la funzione F è strettamente monotona se comunque presi due vettori distinti x1 , x2 ∈
X risulta
(F (x1 ) − F (x2 ))T (x1 − x2 ) > 0.
Diremo che F è strettamente monotona se esiste una costante α > 0 tale che
(F (x1 ) − F (x2 ))T (x1 − x2 ) ≥ αkx1 − x2 k2 .
Si osservi che la forte implica la stretta che implica la monotonia.
La F è monotona se e solo se la matrice Jacobiana è semidefinita positiva in tutti i punti di
X.
32
Se la matrice Jacobiana è definita positiva in tutti i punti di X allora F è strettamente monotona.
Se la matrice Jacobiana è uniformemente definita positiva in tutti i punti di X allora F è
fortemente monotona.
Se F è strettamente monotona la V I(X, F ) ha al più una soluzione. Se F è fortemente
monotona la soluzione di V I(X, F ) esiste ed è unica.
Metodi di soluzione
L’algoritmo di base è quello di proiezione. Data una costante τ > 0, all’iterazione k si pone
xk+1 = P [xk − τ F (xk )],
dove P è l’operatore di proiezione su X.
Se esistono costanti α e L maggiori di zero tali che
(F (x) − F (y))T (x − y) ≥ αkx − yk2 ,
kF (y) − F (x)k ≤ L, ky − xk
e se la costante τ è tale che
τ<
2α
,
L2
allora il metodo converge.
Esiste un altro metodo, detto metodo di proiezione sull’iperpiano, che converge sotto ipotesi
molto meno restrittive. La strategia del metodo è la seguente:
- viene generato il punto y k = P [xk − τ F (xk )];
- viene determinato un punto z k con una ricerca di linea, a partire da xk lungo la direzione
dk = y k − xk ;
- si calcola il punto wk compe proiezione del punto xk lungo l’iperpiano passante per z k e
ortogonale a F (z k );
- il punto xk+1 è ottenuto proiettando wk su X.
Si osservi che il punto wk si ottiene risolvendo il problema seguente:
min 21 kxk − wk2
F (z k )T (w − z k ) = 0.
Scrivendo la funzione Lagrangiana abbiamo
1
L(w, λ) = kxk − wk2 + λF (z k )T (w − z k ).
2
Dall’annullamento del gradiente della Lagrangiana (condizioni KKT) segue
w⋆ = xk − λ⋆ F (z k )
da cui si ottiene
λ⋆ =
F (z k )T (xk − z k )
.
kF (z k )k2
Possiamo quindi concludere che risulta
w k = w ⋆ = xk −
F (z k )T (xk − z k )
F (z k ).
kF (z k )k2
33
13
Appendice B: equivalenza tra equilibrio di Wardrop e soluzione
di una disequazione variazionale
In questo paragrafo verrà mostrato che, sotto opportune ipotesi, determinare una soluzione
che rappresenti un equilibrio di Wardrop, ossia una coppia di vettori (h⋆ , u⋆ ) che soddisfa le
condizioni (1)-(4), equivale a determinare una soluzione di una disequazione variazionale, ossia
un vettore x⋆ tale che
F (x⋆ )T (x − x⋆ ) ≥ 0
∀x ≥ 0,
(51)
dove x = (h, u), F : Rn → Rn , n = |K| + |P |, e le prime |K| componenti di F sono della forma
sk (h) − up ,
e le ultime P componenti sono della forma
X
hk − dp .
k∈Kp
Con una notazione compatta possiamo scrivere

sk (h⋆ ) − u⋆p p∈P,k∈K
p

 


F (x⋆ ) = 
X
 
h⋆k − dp 

k∈Kp
p∈P




.


La proposizione seguente stabilisce formalmente l’equivalenza tra la formulazione definita dalle
condizioni (1)-(4) dell’equilibrio di Wardrop e la disequazione variazionale (51).
|K|
|P |
Proposizione 5. Si assuma sk (h) > 0 e dp ≥ 0 per ogni p ∈ P , k ∈ Kp , h ∈ R+ , u ∈ R+ .
Una coppia (h⋆ , u⋆ ) rappresenta un equilibrio di Wardrop se e solo se soddisfa la disequazione
variazionale (51)
Proof. Si assuma che x⋆ = (h⋆ , u⋆ ) soddisfi le condizioni (1)-(4). Mostreremo che x⋆ è soluzione
della disequazione variazionale (51). Dalle condizioni (1)-(4) segue


X X
X X

h⋆k − dp  u⋆p = 0.
(52)
sk (h⋆ ) − u⋆p h⋆k +
F (x⋆ )T x⋆ =
p∈P
p∈P k∈Kp
k∈Kp
Inoltre, tenendo conto che hk ≥ 0 e sk (h⋆ ) − u⋆p ≥ 0, possiamo scrivere
X X
sk (h⋆ ) − u⋆p hk ≥ 0.
F (x⋆ )T x =
p∈P k∈Kp
La (52) e la (53) implicano
F (x⋆ )T (x − x⋆ ) = F (x⋆ )T x ≥ 0,
ossia che x⋆ è soluzione della disequazione variazionale (51).
Si assuma ora che x⋆ sia soluzione della disequazione variazionale (51). Si ponga
x̂ = x⋆ + ei ,
34
(53)
dove ei è l’i-esimo asse coordinato in Rn . Risulta x̂ ≥ 0, inoltre
0 ≤ F (x⋆ )T (x̂ − x⋆ ) = F (x⋆ )T ei = Fi (x⋆ ),
(54)
sk (h⋆ ) − u⋆p ≥ 0
p ∈ P, k ∈ Kp ,
X
h⋆k − dp ≥ 0
p ∈ P.
(55)
da cui segue
(56)
k∈Kp
Sia i ∈ {1, . . . , n} tale che x⋆i = eTi x⋆ > 0. Si ponga
x̂ = x⋆ − αei ,
con α > 0 sufficientemente piccolo da assicurare che x̂i = x⋆i − α > 0. Possiamo scrivere
0 ≤ F (x⋆ )T (x̂ − x⋆ ) = −αFi (x⋆ ),
da cui segue Fi (x⋆ ) ≤ 0. Tenendo conto della (54) otteniamo Fi (x⋆ ) = 0. Riassumendo abbiamo
x⋆i > 0
implica
Fi (x⋆ ) = 0,
ossia
h⋆k > 0
sk (h⋆ ) = u⋆p
p ∈ P, k ∈ Kp ,
X
h⋆k = dp
p ∈ P.
implica
implica
u⋆p > 0
(57)
(58)
k∈Kp
Possiamo quindi scrivere in forma sintetica
sk (h⋆ ) − u⋆p h⋆k = 0
∀p ∈ P, hk ∈ Kp
∀p ∈ P, hk ∈ Kp
sk (h⋆ ) − u⋆p ≥ 0
P
⋆
⋆
∀p ∈ P
k∈Kp hk − dp up = 0
P
⋆
∀p ∈ P
k∈Kp hk ≥ dp
h⋆ ≥ 0, u⋆ ≥ 0.
(59)
(60)
(61)
(62)
(63)
Osserviamo che le condizioni (59)-(63) implicano che le condizioni (1), (2), (4) sono soddisfatte.
Supponiamo per assurdo che (h⋆ , u⋆ ) non rappresenti un equilibrio di Wardrop. Allora necessariamente deve essere violata la condizione (3). Abbiamo perciò che esiste un p̂ ∈ P tale
che
X
h⋆k > dp̂ .
k∈Kp̂
Dalla (61) segue u⋆p̂ = 0. Per ipotesi dp̂ ≥ 0, di conseguenza esiste un k̂ ∈ Kp̂ tale che hk̂ > 0.
Dalla (59) si ottiene
sk̂ (h⋆ ) = u⋆p̂ = 0,
in contraddizione con l’ipotesi sk (h) > 0 per ogni h ≥ 0.
35
14
Appendice C: esistenza e unicità dell’equilibrio di Wardrop
Abbiamo visto che determinare una soluzione che rappresenti un equilibrio di Wardrop equivale
a determinare una soluzione di una disequazione variazionale nelle ipotesi di costi dei cammini
positivi e domande non negative.
Posto x = (h, u) e assumendo valide le ipotesi della Proposizione 5, abbiamo che x⋆ rappresenta un equilibrio di Wardrop se e solo se x⋆ ≥ 0 e x⋆ è soluzione della disequazione variazionale
(51). Indicato con P rojC [x] l’operatore di proiezione di un vettore x su un insieme C convesso,
chiuso e non vuoto, abbiamo che x⋆ è una soluzione di equilibrio se e solo se
⋆
⋆
n [x − F (x ].
x⋆ = P rojR+
(64)
Infatti, vale la (64) se e solo se
(x⋆ − F (x⋆ ) − x⋆ )T (x − x⋆ ) ≤ 0
∀x ≥ 0,
ossia se e solo se x⋆ è soluzione della disequazione variazionale (51).
Nelle ipotesi poste, determinare x⋆ equivale a risolvere il seguente problema di punto fisso:
x = H(x),
(65)
n → Rn è tale che, dato x ≥ 0,si ha H(x) = P roj n [x − F (x)]. Il Teorema del
in cui H : R+
R+
+
punto fisso di Brouwer assicura che un problema del tipo (65) ammette soluzione se H : S → S è
una funzione continua, e S è un insieme non vuoto, convesso e compatto. Si osservi che l’insieme
n è chiuso e convesso ma non limitato. Vale il seguente risultato di esistenza della soluzione.
R+
|K|
|P |
Proposizione 6. Si assuma sk (h) > 0 e dp ≥ 0 per ogni p ∈ P , k ∈ Kp , h ∈ R+ , u ∈ R+ .
Si supponga inoltre che le funzioni sk siano continue. Allora il problema di equilibrio ammette
soluzione, ossia esiste una coppia (h⋆ , u⋆ ) che soddisfa le condizioni (1)-(4).
n è un insieme
Proof. Nelle ipotesi poste la funzione H(x) = P rojC (x − F (x)), dove C ⊆ R+
convesso, chiuso e non vuoto, è una funzione continua. Per dimostrare la tesi faremo prima
vedere che il problema del punto fisso
x = P rojC (x − F (x)),
n . Sia
ammette una soluzione x⋆ su un opportuno insieme C sottoinsieme stretto di R+
α1 > maxp∈P dp .
Per ogni k ∈ K il problema
max sk (h)
0 ≤ h ≤ α1
ammette soluzione essendo la funzione continua e l’insieme ammissibile compatto e non vuoto.
Sia
α2 > max max sk (h),
k∈K 0≤h≤α1
e si definisca C come l’insieme dei vettori x = (h, u) tali che
0 ≤ h ≤ α1
0 ≤ u ≤ α2
36
Per quanto detto in precedenza la funzione H = P rojC è una funzione continua, inoltre, per
come è definito l’insieme C, il dominio della funzione H è un insieme convesso, chiuso e limitato.
Valgono quindi le ipotesi del Teorema di Brouwer, per cui esiste un vettore x̂ = (ĥ, û) tale che
x̂ = P rojC [x̂ − F (x̂)].
Possiamo quindi scrivere, per k ∈ K e p ∈ P
Fk (ĥ, û)T (hk − ĥk ) ≥ 0
0 ≤ hk ≤ α1
(66)
Fp (ĥ, û)T (up − ûp ) ≥ 0
0 ≤ u p ≤ α2 .
(67)
Osserviamo che α1 e α2 sono stati scelti in modo tale che risulta
ĥ < α1
û < α2 .
Di conseguenza, possiamo dimostrare che risulta
Fk (ĥ, û) ≥ 0
Fp (ĥ, û) ≥ 0.
(68)
Infatti, se avessimo una componente Fk,j (ĥ, û) < 0, potremmo prendere un vettore h̄ con tutte
le componenti uguali a quelle di h̄k , tranne la j−esima, che potremmo prendere strettamente
maggiore (ad esempio uguale ad α1 ). Risulterebbe
Fk (ĥ, û)T (h̄k − ĥk ) = Fk,j (ĥ, û)(h̄k,j − ĥk,j ) < 0,
in contraddizione con la (66).
Utilizzando la (68) abbiamo
Fk (ĥ, û)T (hk − ĥk ) ≥ 0
ĥk ≤ hk
Fp (ĥ, û)T (up − ûp ) ≥ 0
ûp ≤ up .
Tenendo conto anche delle (66) e (67) otteniamo
Fk (ĥ, û)T (hk − ĥk ) ≥ 0
0 ≤ hk
Fp (ĥ, û)T (up − ûp ) ≥ 0
0 ≤ up ,
da cui segue
n [x̂ − F (x̂)].
x̂ = P rojR+
Dalla precedente relazione si ottiene
F (x̂)T (x − x̂) ≥ 0
∀x ≥ 0.
Utilizzando la Proposizione 5 possiamo concludere che x̂ = (ĥ, û) soddisfa le condizioni (1)(4).
Prima di introdurre un risultato di unicità della soluzione di equilibrio, richiamiamo le seguenti
definizioni. Sia G : X ⊆ Rn → Rn . Diremo che la funzione G è monotona se comunque presi
due vettori x1 , x2 ∈ X risulta
(G(x1 ) − G(x2 ))T (x1 − x2 ) ≥ 0.
Diremo che la funzione G è strettamente monotona se comunque presi due vettori distinti x1 , x2 ∈
X risulta
(G(x1 ) − G(x2 ))T (x1 − x2 ) > 0.
Possiamo ora enunciare e dimostrare un risultato di unicità della soluzione di equilibrio.
37
Proposizione 7. Si assuma che la funzione s : R|A| → R|A| sia strettamente monotona. Allora
la soluzione v ⋆ in termini di flussi di archi è unica.
Proof. Espandendo la formulazione in termini di disequazione variazionale (51) si ottiene
X X
X X
h⋆k − dp )(up − u⋆p ) ≥ 0.
(sk (h⋆ ) − u⋆p )(hk − h⋆k ) +
(
p∈P k∈Kp
p∈P k∈Kp
Tenendo conto che
sk (h⋆ ) =
X
δak sa (v ⋆ ),
a∈A
possiamo scrivere
X
X X
sk (v ⋆ ) − u⋆p
a∈A
p∈P k∈Kp
!
(hk − h⋆k ) +
X
p∈P


X
k∈Kp
h⋆k up −
X
k∈Kp

h⋆k u⋆p + dp up − dp u⋆p  ≥ 0,
oppure, equivalentemente,


X
X
X X X

hk u⋆p + dp (up − u⋆p ) ≥ 0.
h⋆k up −
(
sk (v ⋆ ) − u⋆p )(hk − h⋆k ) +
p∈P
k∈Kp a∈A
k∈Kp
k∈Kp
Si considerino due soluzioni (v ⋆ , u⋆ ) e (v̂, û). Utilizzando la precedente relazione otteniamo


X
X
X X X

ĥk u⋆p + dp (ûp − u⋆p ) ≥ 0,
h⋆k ûp −
(
sk (v ⋆ ) − u⋆p )(ĥk − h⋆k ) +
p∈P
X
p∈P
k∈Kp a∈A
k∈Kp
k∈Kp

X
X
X X

h⋆k ûp + dp (u⋆p − ûp ) ≥ 0.
ĥk u⋆p −
(
sk (v̂) − ûp )(h⋆k − ĥk ) +

k∈Kp a∈A
k∈Kp
k∈Kp
Sommando membro a membro si ha
X
X
(sa (v ⋆ ) − sa (v̂)) (va⋆ − v̂a ) −
dp (u⋆p − ûp ) + dp (ûp − u⋆p )
a∈A
=
X
p∈P
(sa (v ⋆ ) − sa (v̂)) (va⋆ − v̂a ) ≤ 0.
a∈A
La precedente relazione a l’ipotesi di s funzione monotona implicano
(s(v ⋆ ) − s(v̂))T (v ⋆ − v̂) = 0,
da cui segue, tenendo conto che s è strettamente monotona, v ⋆ = v̂.
38
15
Appendice D: Condizioni di ottimalità per problemi con vincoli di simplesso
Sia x∗ ∈ Rn un punto di minimo locale del problema
min f (x)
n
X
xi = r
(69)
i=1
x ≥ 0,
con r > 0. Allora risulta
x⋆i > 0 implica
∂f (x⋆ )
∂f (x⋆ )
≤
per ogni j ∈ {1, . . . , n}.
∂xi
∂xj
(70)
Infatti, sia i ∈ {1, . . . , n} tale che x⋆i > 0 e sia j ∈ {1, . . . , n} con j 6= i. Si verifica facilmente
che la direzione d tale che di = −1, dj = 1, dh = 0, h ∈ {1, . . . , n}, h 6= i, j è ammissibile in x⋆ .
Essendo x⋆ un minimo locale deve necessariamente risultare
∇f (x⋆ )T d =
∂f (x⋆ ) ∂f (x⋆ )
−
≥ 0.
∂xj
∂xi
Le condizioni (70) possono essere ricavate dalle condizioni KKT (si lascia per esercizio). Di
conseguenza, se la f è convessa le condizioni (70) sono necessarie e sufficienti di minimo globale.
Consideriamo ora un caso particolare di programmazione convessa, ossia il caso di funzione
obiettivo lineare:
min c1 x1 + c2 x2 + . . . + cn xn
n
X
xi = r
(71)
i=1
x ≥ 0,
Da quanto detto in precedenza segue che una soluzione x⋆ si ottiene per via analitica. In
particolare, indicato con i l’indice “di costo minimo”, ossia tale che
ci ≤ cj
j = 1, . . . , n,
una soluzione x⋆ si ottiene ponendo
x⋆i = r
x⋆j = 0, j 6= i, j = 1, . . . , n.
39