Enchères, Bertsekas et Kantorovich

publicité
Enchères,
Bertsekas et
Kantorovich
Enchères, Bertsekas et Kantorovich
Journées Louis Antoine
Arnaud Moncet
IRMAR
29 avril 2010
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Plan
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Généralités sur le problème d’affectation
Algorithme d’enchères
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Problème de transport optimal discret
Annexe : Dualité de Kantorovich
Problème d’affectation (symétrique)
Arnaud Moncet
I
N personnes et N objets
I
vi,j : valeur de l’objet j pour la personne i (entier ≥ 0)
1
1
2
2
3
3
personnes
objets
2
I
0
On cherche une affectation complète (bijection σ entre
les pers. et les objets) qui maximise la valeur totale :
X
V (σ) :=
vi,σ(i)
i
V ∗ := valeur maximale
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
1
I
Enchères,
Bertsekas et
Kantorovich
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Exemple
Arnaud Moncet
1
1
2
2
Généralités sur le
problème
d’affectation
2
Algorithme
d’enchères
1
3
3
personnes
objets
Problème de
transport optimal
discret
0
Annexe : Dualité
de Kantorovich
I
I
Affectations complètes optimales :
1
1
1
1
2
2
2
2
3
3
3
3
Valeur totale optimale : V ∗ = 5
Enchères,
Bertsekas et
Kantorovich
Problème dual
I
I
I
Nouvelles variables pj ∈ R : prix de l’objet j
πi,j := vi,j − pj : profit réalisé par la pers. i avec l’objet j
Problème dual : trouver le min (pour p ∈ RN ) de
X
X
D(p) :=
max πi,j +
pj
i
=
X
j
j
profits max +
pers.
I
X
prix
objets
D(p) ≥ V (σ) car :
X
X
vi,σ(i)
D(p) =
(max πi,j + pσ(i) ) ≥
j
i
i | {z }
≥πi ,σ(i )
Théorème (Kantorovich)
max V (σ) = min D(p)
σ∈SN
p∈RN
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Théorème d’équilibre
Arnaud Moncet
Théorème
Soient σ ∈ SN et p ∈ RN . Sont équivalents :
1. V (σ) =
V∗
= D(p)
2. ∀i, πi,σ(i) = maxj πi,j :
la personne i réalise son profit max avec l’objet σ(i)
Démonstration
D(p) =
X
i
(max πi,j + pσ(i) ) ≥
j
| {z }
X
vi,σ(i) = V (σ)
i
≥πi ,σ(i )
et l’égalité est vérifiée lorsque πi,σ(i) = maxj πi,j
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Une condition suffisante d’optimalité
Relâche de la condition précédente :
πi,σ(i) ≥ max πi,j − ε
j
Arnaud Moncet
∀i
(CS)
« écart entre profit réalisé avec objet σ(i) et profit max ≤ ε »
1
N,
alors : (CS) =⇒ σ est optimal
Démonstration
V ∗ ≤ D(p) =
X
(max πi,j + pσ(i) )
i
≤
Algorithme
d’enchères
Problème de
transport optimal
discret
Proposition
Si 0 ≤ ε <
Généralités sur le
problème
d’affectation
X
i
j
(ε + πi,σ(i) + pσ(i) ) = V (σ) + Nε
|
{z
}
vi ,σ(i )
=⇒ V ∗ − 1 < V ∗ − Nε ≤ V (σ) ≤ V ∗
Annexe : Dualité
de Kantorovich
Plan
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Généralités sur le problème d’affectation
Algorithme d’enchères
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Problème de transport optimal discret
Annexe : Dualité de Kantorovich
Description de l’algorithme
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
I
Simulation d’une « vente aux enchères »
I
Enchères simultanées pour tous les objets
I
À la fin, chaque personne repart avec un objet
Définition
Affectation : bijection σ : I ⊂ {personnes} → J ⊂ {objets}
Affectation complète : I = {personnes} et J = {objets}
I
Initialisation : σ : ∅ → ∅, p ≡ 0
I
Idée : modifier (σ, p) par étapes
I
À chaque étape : (CS) vraie ∀i ∈ I
I
Fin quand σ affectation complète
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Description d’une étape
On part de (σ, p) qui vérifie (CS)
I
Chaque personne i non affectée propose une enchère ei
pour son objet favori ji (un objet qui lui offre le meilleur
profit) :
ei = πi,ji − max πi,j + ε
j6=ji
|
{z
}
≥0
∀ objet j ayant reçu une enchère, le commissaire priseur :
I
choisit d’attribuer l’objet à une personne i qui a proposé
l’enchère max ei → nouvelle affectation σ 0
I
éventuellement retire l’objet à un ancien enchérisseur
I
augmente le prix de l’objet de ei :
nouveau prix pj0 = pj + ei (≥ pj )
I
0 = v − p 0 (≤ π )
nouveaux profits πi,j
i,j
i,j
j
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Exemple
Arnaud Moncet
1
1
2
2
3
3
personnes
objets
Généralités sur le
problème
d’affectation
2
1
Algorithme
d’enchères
0
Problème de
transport optimal
discret
On choisit ε = 0, 3
Annexe : Dualité
de Kantorovich
1.
2.
3.
4.
5.
6.
σ
1 7→ 1
1 7→ 1
2 7→ 2
1 7→ 2
1 7→ 2
1 7→ 2
;
;
;
;
;
2 7→ 2
3 7→ 1
3 7→ 1
2 7→ 1
2 7→ 1 ; 3 7→ 3
On obtient V ∗ = 2 + 2 + 1 = 5
p1
0, 3
0, 3
0, 9
0, 9
1, 5
1, 5
p2
0
0, 6
0, 6
1, 2
1, 2
1, 2
p3
0
0
0
0
0
0, 5
Enchères,
Bertsekas et
Kantorovich
Conservation de (CS)
Arnaud Moncet
Soit i une personne affectée par
σ0
0
0
πi,σ
0 (i) ≥ max πi,j − ε ?
j
1. Si la personne i était déjà affectée :
OK car rien n’a changé
2. Sinon :
σ 0 (i)
= objet favori de la personne i
0
πi,σ
= πi,σ0 (i) − ei
0 (i)
=
≥
max πi,j − ε
j6=σ 0 (i)
0
max πi,j
−ε
j6=σ 0 (i)
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Estimation du nombre d’étapes
Arnaud Moncet
I
B := max vi,j
I
Avant l’étape finale, ∃ un objet j0 jamais attribué
=⇒ pj0 = 0 =⇒ πi,j0 ≥ 0 ∀i
I
Dès que le prix d’un objet j a dépassé B, πi,j < 0 ∀i,
donc cet objet ne reçoit plus d’enchères
I
À chaque enchère reçue par un objet, son prix augmente
d’au moins ε
B
ε
I
Chaque objet 6= j0 reçoit donc au plus
I
Pire des cas = une affectation par étape :
B
NB
nombre d’étapes ≤ (N − 1)
+ 1 +1 ≤
' N 2B
ε
ε
I
Complexité en O(N 3 B)
I
On peut faire mieux, avec du ε-scaling : O(N 3 log(NB))
+ 1 enchères
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Plan
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Généralités sur le problème d’affectation
Algorithme d’enchères
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Problème de transport optimal discret
Annexe : Dualité de Kantorovich
Version discrète du problème de transport
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
k mines
m hangars
Algorithme
d’enchères
Problème de
transport optimal
discret
I
Contenances µi , νj (entiers ≥ 0) :
I
I
Mines : µ1 = 2, µ2 = 1
Hangars : ν1 = 2, ν2 = 1
I
Plans de transfert :
P
τi,j = µi ∀i
j
T = τ ∈ Mk,m (R+ ) / P
i τi,j = νj ∀j
I
Réalisabilité : « stock = capacité »
X
X
µi =
νj =: N
i
j
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Coût du transport
I
I
I
Arnaud Moncet
ci,j : coût de transport de i vers j (entier ≥ 0)
P
Coût total du transport : C (τ ) = i,j ci,j τi,j
Problème : trouver un plan de transfert τ∗ qui minimise
le coût total :
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
C (τ∗ ) = min C (τ ) =: C∗
τ ∈T
Annexe : Dualité
de Kantorovich
Exemple
τ∗ =
!
13
c=
12
2 0
0 1
C∗ = 4
Transformation en un problème de transport
uniforme
I
mine i ← µi mines xi,1 , · · · , xi,µi , de contenance 1
I
hangar j ← νj hangars yj,1 , · · · , yj,νj , de contenance 1
I
coût(xi,∗ → yj,∗ ) = ci,j
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Exemple
Annexe : Dualité
de Kantorovich

c =
Enchères,
Bertsekas et
Kantorovich
1 3
1 2

1 1 3
c =  1 1 3 
1 1 2
Coïncidence des deux problèmes
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Proposition
Les valeurs min des 2 problèmes coïncident
Démonstration
Comment transformer un plan de transfert ?
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Ces deux plans de transfert ont le même coût
=⇒ mêmes coûts minimaux
Structure du problème de transport uniforme
I
N sources et N buts, de mesure 1
I
Plans de transfert = matrices bistochastiques
P
τi,j = 1 ∀i
j
T = BN = τ ∈ MN (R+ ) / P
i τi,j = 1 ∀j
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Théorème (Birkhoff-von Neumann)
Problème de
transport optimal
discret
L’ensemble BN est un polyèdre convexe dont les points
extrémaux sont les matrices de permutation
Annexe : Dualité
de Kantorovich
Conséquence
I
C atteint sa valeur min P
sur une matrice de permutation :
∃σ ∈ SN tel que C∗ = i ci,σ(i) =: C (σ)
I
Autrement dit : équivalent à un problème déterministe
C∗ = min C (τ ) = min C (σ)
τ ∈BN
σ∈SN
Équivalence avec un problème d’affectation
I
vi,j := B − ci,j
(où B = maxi,j ci,j )
Arnaud Moncet
I
min C (σ) = NB − max V (σ)
σ∈SN
σ∈SN
| {z }
| {z }
V∗
C∗
I
Une permutation est simultanément optimale pour les
deux problèmes :
V (σ) = V ∗ ⇐⇒ C (σ) = C∗
I
On s’est donc ramené à un problème d’affectation
Exemple (B=3)


1 1 3
c =  1 1 3 
1 1 2
C∗ = 4

Enchères,
Bertsekas et
Kantorovich

2 2 0
v = 2 2 0 
2 2 1
∗
V =5
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Preuve du théorème de Birkhoff-von Neumann
L’ensemble BN est un polyèdre convexe dont les points
extrémaux sont les matrices de permutation
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
I
Les matrices de permutation sont des points extrémaux
I
Soit τ ∈ BN , τ 6= Pσ
Algorithme
d’enchères
I
On peut trouver une suite de bi-indices (i0 , j0 ), (i0 , i1 ),
(i1 , j1 ), (i1 , j2 ), · · · , (ir −1 , jr = j0 ) tous distincts, telle que
Problème de
transport optimal
discret
0 < τik ,jk < 1 et 0 < τik ,jk+1 < 1
I

 τi,j + ε si (i, j) = (ik , jk )
0 =
τ − ε si (i, j) = (ik , jk+1 )
Soit τi,j
 i,j
τi,j
sinon
et soit τ 00 définie de manière inverse (ε ↔ −ε)
I
ε << 1 =⇒ τ 0 , τ 00 ∈ BN
I
τ = 12 τ 0 + 12 τ 00 : n’est pas un point extrémal
Annexe : Dualité
de Kantorovich
Algorithme d’enchères appliqué au problème de
transport optimal
I
I
Problème de transport
structure particulière du
problème d’affectation : objets et personnes similaires
Raffinement de l’algorithme d’enchères qui tient compte
des similitudes
I
I
I
terminaison plus rapide
1
suffit
ε < min{k,m}
Avec en plus le ε-scaling : complexité de l’ordre de
(k + m)3 log (min{k, m}B)
à la place de O(N 3 log(NB))
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Plan
Enchères,
Bertsekas et
Kantorovich
Arnaud Moncet
Généralités sur le
problème
d’affectation
Généralités sur le problème d’affectation
Algorithme d’enchères
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Problème de transport optimal discret
Annexe : Dualité de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Problème dual
Arnaud Moncet
Généralités sur le
problème
d’affectation
k mines
m hangars
Algorithme
d’enchères
Problème de
transport optimal
discret
I
φi : prix pour charger une unité de la mine i
ψj : prix pour décharger une unité dans le hangar j
Systèmes de prix admissibles :
I
P := {(φ, ψ) ∈ Rk × Rm / φi + ψj ≤ ci,j }
P
P
Prix total : P(φ, ψ) = i φi µi + j ψj νj
I
Problème dual : trouver (φ∗ , ψ ∗ ) ∈ P tel que
I
I
P(φ∗ , ψ ∗ ) = max P(φ, ψ) =: P ∗
(φ,ψ)∈P
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Théorème de dualité
Arnaud Moncet
Remarque
P(φ, ψ) ≤ C (τ )
Généralités sur le
problème
d’affectation
∀(φ, ψ) ∈ P, ∀τ ∈ T :
Algorithme
d’enchères
P(φ, ψ) =
X
φi µ i +
|Pi {z }
i ,j
φi τi ,j
X
j
|
P
ψj νj
≤
X
ci,j τi,j
i,j
{z }
i ,j
ψj τi ,j
Théorème (Kantorovich)
P ∗ = max P(φ, ψ) = min C (τ ) = C∗
(φ,ψ)∈P
τ ∈T
= C (τ )
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Démonstration de la dualité
Arnaud Moncet
I
Rappel : P(φ, ψ) ≤ C (τ )
I P∗
∀(φ, ψ) ∈ P, ∀τ ∈ T
= max(φ,ψ)∈P P(φ, ψ) existe :
I
I
I
P forme linéaire majorée sur P
P=
6 ∅
P = polyèdre cvx + cône polyédrique cvx (admis)
{z
}
|
P≤0
I
=⇒ P ∗ = max de P sur le polyèdre convexe
I
Il suffit de montrer : ∃ τ ∈ T , C (τ ) = P ∗
∗
P = C (τ ) ≥ C∗
=⇒
P ∗ ≤ C∗
I
Par l’absurde : @ τ ∈ T , C (τ ) = P ∗
I
k =m=2
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Démonstration de la dualité (suite)
Arnaud Moncet
@ (τ1,1 , τ1,2 , τ2,1 , τ2,2 ) ≥ 0 tel que :






µ1







  µ2 







  







 =  ν1 
τ1,1 
 + τ1,2 
 + τ2,1 
 + τ2,2 
  







  ν2 
c1,1
c1,2
c2,1
c2,2
P∗
| {z }
| {z }
| {z }
| {z } | {z }
1
0
1
0
v1,1

1
0
0
1
v1,2

0
1
1
0

v2,1
0
1
0
1

v2,2
u
u
x⊥
I
u∈
/ K cône convexe engendré par les vi,j
I
séparation des convexes =⇒ ∃ x ∈ R5 ,
x · u > 0 et x · vi,j ≤ 0
K
Généralités sur le
problème
d’affectation
Algorithme
d’enchères
Problème de
transport optimal
discret
Annexe : Dualité
de Kantorovich
Enchères,
Bertsekas et
Kantorovich
Démonstration de la dualité (suite et fin)
I
I
x =: (φ1 , φ2 , ψ1 , ψ2 , −γ)
φi + ψj ≤ γci,j
P(φ, ψ) > γP ∗
Arnaud Moncet
∀i, j
Généralités sur le
problème
d’affectation
(1)i,j
(2)
Algorithme
d’enchères
γ>0:
τ ∈T :
X
τi,j (1)i,j →
i,j
X
φi τi,j +
i,j
| P {z }
i φi µi
Problème de
transport optimal
discret
X
ψj τi,j
i,j
| P {z }
j ψj νj
≤ γC (τ )
=⇒ γP ∗ < P(φ, ψ) ≤ γC (τ ) =⇒ γ (C (τ ) − P ∗ ) > 0
{z
}
|
≥0
I
(φ0 , ψ 0 )
I
(1)i,j
(2)
:=
1
γ (φ, ψ)
=⇒
=⇒
(φ0 , ψ 0 ) prix adm.
: contradiction
P(φ0 , ψ 0 ) > P ∗
Annexe : Dualité
de Kantorovich
Téléchargement