Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Facility Location Game
Il gioco considerato è un problema di cost sharing. L’idea è quella di suddividere il cost di un servizio tra vari giocatori in modo fair. Nel facility location un insieme N di clienti deve accedere a un certo servizio. Il servizio può essere erogato in diverse facility ed F è l’insieme di tutte le facility.
L’erogazione del servizio ha i seguenti costi:
- ciascun cliente j ∈ N può servirsi presso un centro i ∈ F che sia aperto, con un costo pari a dij;
- per ogni centro i ∈ F il costo di apertura è fi;
La decisione da prendere è dunque quale facility aprire. Tale situazione è formulabile come un problema di programmazione lineare intera. Le variabili del problema sono:
- yi, pari a 1 se la facility i è aperta e pari a 0 altrimenti;
- xij, pari a 1 se il cliente j si serve presso la facility i e pari a 0 altrimenti.
Il problema è dunque
min ( ∑i∈F fi yi + ∑i∈F ∑j∈N dij xij ) questa è la funzione di costo
∑i∈F xij ≥ 1 j∈N ogni cliente j deve servire presso una sola facility
xij ≤ yi i∈F, j∈N se un cliente j si serve presso una facility, essa deve essere aperta
xij, yi ∈ {0,1} i ∈ F, j ∈ N
Una soluzione ottima, indicato con v (N), deve avere una corrispondenza fisica, poiché l'algebra può fornire risultati non realizzabili. Figuriamoci, come delle facility aperte solo in parte. Si osservi come in una soluzione ottima il vincolo ∑i∈F xi,j ≥ 1 sara soddisfatto all’uguaglianza.
Tuttavia, scrivere il vincolo con la disuguaglianza permette di associare al vincolo una variabile duale vincolata in segno.
Si supponga di aver risolto in modo esatto il precedente problema, ovvero di aver trovato una soluzione ottima per il problema di PL1. Ora si vuole ripartire tra gli utenti di N il costo della grande coalizione, soddisfacendo la razionalità collettiva. È dunque noto v (N). Per trovare il valore v (S) di una coalizione S⊂N si deve risolvere
min (∑i∈F fiyi + ∑i∈F ∑j∈S di,j xi,j)
∑i∈F xi,j ≥ 1
j∈S
xi,j ≤ yi; i∈F, j∈S
xi,j, yi∈ {0,1} i∈F, j∈S
In questa situazione si deve verificare che la funzione di costo sia subadditiva, poiché la funzione è appunto di costo e non di utilità. Nel seguito si sfrutta la seguente osservazione:
Nel caso del facility location, y* è sempre almeno 1,3.
y* si può individuare tramite il seguente problema di programmazione lineare:
y* = max 1/c(N) ∑j ∈ N dj
∑j ∈ S dj ≤ c(S) ∀S ⊆ N
ottenuto del rilassamento lineare del problema di PL;
WD*: la soluzione ottima del problema duale a quello ottenuto dal rilassamento lineare.
Allora zI* = zRL* = WD*. La distanza tra zI* e zRL* è detta gap d’interesse.
Si osservi che zI corrisponde al costo della grande coalizione.
Qualunque soluzione del rilassamento lineare è maggiore o uguale dell’ottimo, e qualunque soluzione del duale è minore o uguale dell’ottimo del duale.
Il gap d’interesse corrisponde allo spazio di soluzioni “aggiunto” rilassando linearmente il problema.
Il valore di Bi,j è scelto come
Bi,j = max {0, dj - d_j}
per soddisfare i vincoli
Bi,j ≥ 0
lj ≤ Bi,j + dj
Se tuttavia non è soddisfatto il vincolo
∑j ∈ N Bi,j ≤ fj
è necessario scegliere le dj diversamente.
Facility Location Game
Si ricorda che per calcolare y* occorre risolvere il seguente problema di programmazione lineare:
γ* c(N) = max j∈N ∑ aj
∑ j∈S aj ≤ c(S) ∀ S ⊂ N
L’obiettivo è mostrare che questo problema è il problema duale del rilassamento lineare
w(D) = max j∈N ∑ αj
∑ j∈N βi,j ≤ fi, i ∈ F
dj ≤ βi,j + di,j i ∈ F, j ∈ N
αj ≥ 0 j ∈ N
βi,j ≥ 0 i ∈ F, j ∈
sono lo stesso problema. Per verificarlo, si deve mostrare che ogni soluzione stabile per il primo problema deve essere ammissibile per il secondo e viceversa.
Sia (d, β) una soluzione ammissibile per il duale. Si vuole dimostrare che essa è stabile, ovvero ∀ S ⊂ N ∑ j∈S aj ≤ c(S)
Si considera la soluzione ottima per il problema di facility location su S, che ha costo c(S) e aprirà un certo numero K di impianti e
soluzione ottima del duale è
dA = 3.5dB = 2.5dC = 1.5β1A = 1.5β1B = 0.5β2C = 0.5β3A = 2.5β2B = 1.5β3C = 0.5
la soluzione ottima del primale è
y1 = y2 = y3 = 1/2x1A = x3A = 1/2x1B = x2B = 1/2x2C = x3C = 1/2
Alla prima iterazione si sceglie il cliente che offre complessivamente di meno, dunque C. Le facility interessanti per C sono la seconda e la terza. Si apre la facility 2 poiché ha costo minore. Alla seconda facility si connettono tutti i clienti che hanno una facility interessante in comune con j. Dalla soluzione del primale:NA = {1,3}NB = {1,2}NJ = NC = {2,3}e dunque NA ∩ NC = {3}, NB ∩ NC = {2}. Dunque A, B e C possono essere collegati alla facility 2.
Tutti i clienti.
Analisi del secondo algoritmo
Per l'algoritmo randomizzato, si vedrà come:
- (Costo (atteso) di apertura delle facility) ≤ ∑i∈F fi . yx
- (Costo (atteso) di connessione delle facility al generico j) ≤ 2 ∑j∈N λj* + ∑j∈C ∑i∈F dij . xij*
somma su tutti i clienti del costo di connessione Dj sul problema primale
da cui:
Costo (atteso) della soluzione dall'algoritmo ≤ 2OPT (D) + OPT (P)
Per il risultato 1) si considera la generica iterazione dell’algoritmo, nella quale si e' scelto il cliente j.
Il costo atteso per l’apertura delle facility gradite a j secondo la probabilità xj* e' ∑i∈Nj fi xj*.
Allora ∑i∈Nj fi . xj* ≤ ∑i∈Nj fi. yi*
da cui il procedimento e' analogo a quello visto per l’algoritmo deterministico.
Per il risultato 2), si considera la situazione raffigurata: