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