390 likes | 501 Views
Automatisierte Ressourcenallokation mittels kombinatorischer Auktionen Michael Schwind Einführungsvortrag zum Blockseminar: „Automatisierte Ressourcenallokation“. Ausgangspunkt. Annahme: Potentialfaktoren zur (Re)Produktion einer Information Prozessorleistung (CPU) Hauptspeicher (RAM)
E N D
Automatisierte Ressourcenallokation mittels kombinatorischer Auktionen Michael Schwind Einführungsvortrag zum Blockseminar: „Automatisierte Ressourcenallokation“ Automatisierte Ressourcenallokation: CA
Ausgangspunkt • Annahme: Potentialfaktoren zur (Re)Produktion einer Information • Prozessorleistung (CPU) • Hauptspeicher (RAM) • Netzwerkressourcen (BB) • menschliche Ressourcen • Allokationsproblem: deckungsbeitragsmaximierende Zuweisung von Zeitscheiben der Ressourcen • mögliche Allokationsmechanismen: • Bekräftigungslernende Scheduling-Verfahren • Kombinatorische Auktionen Automatisierte Ressourcenallokation: CA
Ermittlung der Zahlungsbereitschaft • Alle 4 Potentialfaktoren sind zur Reproduktion und Übermittlung der Informationsdienstleistung notwendig • Es bestehen starke Synergieeffekte für den Nachfrager, d.h. der Preis, den ein Bieter für eine Ressource bereit ist zu zahlen, hängt oftmals auf komplexe Weise von den anderen Ressourcen, die er zugeteilt bekommt, ab. • Wie lassen sich diese Synergieeffekte aus Sicht des Nachfragers ausdrücken Automatisierte Ressourcenallokation: CA
Preis Dienstleistung Anfrage Anfrage Zusage Nachfrage Absage Anfrage t0 t Preisfindungsprozess für Dienstleistungen Automatisierte Ressourcenallokation: CA
Preis Dienstleistung Anfrage Anfrage Anfrage t0 t Auktionen Automatisierte Ressourcenallokation: CA
Preis Dienstleistung t0 t Generalisierung: Kombinatorische Auktionen Automatisierte Ressourcenallokation: CA
1 2 3 4 5 6 7 8 9 10 A(5) B(6) RS 1 C(7) D(4) RS 2 E(7) F(3) RS 3 G(3) H(3) RS 4 I(7) J(9) 4 Ressourcen-10 Perioden-Problem Automatisierte Ressourcenallokation: CA
Rmax = 5 R max = 5 t =Time-Slots t =Time-Slots s 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 4 4 4 R1 R4 R1 R4 5 5 3 1 3 4 3 3 2 3 5 2 1 1 4 1 2 1 2 5 1 3 4 1 3 3 1 2 1 5 2 1 3 4 4 4 2 3 1 4 4 1 2 2 4 1 1 2 2 3 1 3 2 1 5 5 2 1 5 2 2 2 5 1 1 1 1 1 3 5 3 2 3 3 1 1 5 2 2 3 1 1 5 2 4 5 5 2 4 Ressourcen-24 Perioden-Problem Unstrukturierte Gebote Strukturierte Gebote bidderMaxLoad, bidDensity Automatisierte Ressourcenallokation: CA
Grundlagen der kombinatorischen Auktionen Was sind Kombinatorische Auktionen (CA)? Kombinatorische Auktionen sind solche Auktionen, in denen ein Bieter nicht nur für ein einzelnes Gut bieten bzw. mehrere Gebote für unterschiedliche Güter einreichen kann, sondern in einem einzigen Gebot für mehrere Güter (d.h. ein Güterbündel) gleichzeitig bieten kann. Automatisierte Ressourcenallokation: CA
Warum CA? • notwendig, da ein Preis, den ein Bieter für ein Gut bereit • ist zu zahlen, oftmals auf komplexe Weise von anderen • Gütern, die er erhält, abhängt (Synergieeffekte). • Vorteil, dass ein Bieter solche Synergieeffekte bereits in • seinen Geboten ausdrücken kann. • ebenso geeignet, um mehrere Einheiten eines Gutes • simultan zu versteigern. Automatisierte Ressourcenallokation: CA
Substitutionalität • es gilt: v(A) + v(B) > v(A+B) Subadditivät • im Extremfall: V(A+B)=max[V(A), V(B)] • z.B. Bieter möchte ein neues T-Shirt • Gebot für rotes T-Shirt (Gut A) 10 € • Gebot für blaues T-Shirt (Gut B) 10 € • Gebot für beide T-Shirts zusammen (A+B) 15 € Automatisierte Ressourcenallokation: CA
Komplementarität • es gilt: v(A) + v(B) < v(A+B) Superadditivität • im Extremfall: V(A)=V(B)=0, aber V(A+B)>0 • z.B. Bieter benötig 1 Einheit Prozessorleistung, 1 Einheit Arbeitsspeicher und 1 Einheit Bandbreite. • nur das Bündel dieser drei Güter hat einen echten Wert für ihn. Sobald er nicht alle drei Ressourcen zugeteilt bekommt, ist sein Nutzen = 0. Automatisierte Ressourcenallokation: CA
Probleme • Formulierung der Gebote, die sämtliche Synergieeffekte enthalten, gestaltet sich sehr schwierig • Optimale Zuteilung der einzelnen Gebote ist NP-vollständig • Offenlegen der wahren Zahlungsbereitschaft Automatisierte Ressourcenallokation: CA
Formale Darstellung desCA Problems • N Menge der Bieter • M Menge der Potentialfaktoren • m ein Potentialfaktor der Menge M • S Bündel von Potentialfaktoren • bj(S) Gebot von Bieter j für Bündel S • b(S) maximales Gebot für Bündel S • Annahme: von jedem Potentialfaktor m ist nur eines vorhanden Automatisierte Ressourcenallokation: CA
Formale Darstellung desCA Problems Maximiere die Summe aller maximalen Gebote für die einzelnen Bündel SM unter Beachtung der Restriktionen kein Objekt aus M kann zu mehr als einem Bieter zugeordnet werden und xs = 1, falls Gebot zugeteilt xs = 0, sonst Automatisierte Ressourcenallokation: CA
Formale Darstellung desCA Problems (CAP1) Dilemma: Formulierung ist nur korrekt für den Fall, dass alle Gebotsfunktionen bj subadditiv sind. Bei Komplementarität kann das Gebot eines Bieters für zwei Güter A und B zusammen höher sein, als für beide Güter getrennt. Dies wird jedoch bei dieser Formulierung nicht berücksichtigt. Ausweg: Einführung von Dummy-Gütern unter Beachtung der Restriktionen und Automatisierte Ressourcenallokation: CA
Greedy-Allokationals Näherungslösung • Ablauf des Greedy-Schemas • 1. Schritt • Gebote werden anhand eines beliebigen Kriteriums sortiert • Sortierung der Liste in auf- oder absteigender Reihenfolge • 2. Schritt • Durchführung der Allokation • erstes Gebot der Liste wird angenommen • Im weiteren Verlauf untersucht der Algorithmus der Reihe nach jedes weitere Gebot und nimmt ein weiteres Gebot an, sofern es nicht mit vorherigen Geboten auf der Liste in Konflikt steht Automatisierte Ressourcenallokation: CA
Beispiel Greedy-Schema Beispiel für 2 Bieter (1 und 2) und 2 Güter (A und B) Es liegen folgende Gebote vor: b1(A)=6 b1(B)=20 b1(A,B)=28 b2(A)=8 b2(B)=18 b2(A,B)=30 Kriterium: durchschnittlicher Gebotspreis je Gut Sortierung: absteigende Reihenfolge Automatisierte Ressourcenallokation: CA
BeispielGreedy-Schema Beispiel für 2 Bieter (1 und 2) und 2 Güter (A und B) Es liegen folgende Gebote vor: b1(A)=6 (6) b1(B)=20 (20)b1(A,B)=28 (14) b2(A)=8 (8) b2(B)=18 (18)b2(A,B)=30 (15) Kriterium: durchschnittlicher Gebotspreis je Gut Sortierung: absteigende Reihenfolge Automatisierte Ressourcenallokation: CA
Bieter 1 erhält B Konflikt Konflikt Konflikt Bieter 2 erhält A Beispiel Greedy-Schema Beispiel für 2 Bieter (1 und 2) und 2 Güter (A und B) Es liegen folgende Gebote vor: b1(A)=6 (6) b1(B)=20 (20)b1(A,B)=28 (14) b2(A)=8 (8) b2(B)=18 (18)b2(A,B)=30 (15) Kriterium: durchschnittlicher Gebotspreis je Gut Sortierung: absteigende Reihenfolge • b1(B)=20 • b2(B)=18 • b2(A,B)=30 • b1(A,B)=28 • b2(A)=8 • b1(A)=6 es ergibt sich folgende Liste Automatisierte Ressourcenallokation: CA
Beurteilung desGreedy-Schemas • sehr zielgerichtetes Verfahren • sehr schnelles Verfahren • Aufwand (n log n)n • Effizienz hängt sehr stark von gewähltem Kriterium ab • ungeeignetes Kriterium wäre z.B. „Höhe des Gebotes“ Automatisierte Ressourcenallokation: CA
Deterministische Ansätze zur Lösung des CAP • Ganzzahlige Programmierung (IP) • [Chandru / Rao 1998] [Andersson et al. 2000] • Optimalität ist nur für Sonderfälle garantiert [Nisan 1999] • Branch & Bound Suchverfahren mit LP-Relaxation (B&B) • CABOB (Combinatorial Auction Branch on Bids) Bidtrees • [Sandholm 1999] [Sandholm et al. 2001] • Depth First Search (DFS) • Verfeinerte vollständige Enumeration: CA Structured Search • CASS [Fujishima et al. 1999] • Dynamische Programmierung (DP) • Einschränkung der zulässigen Gebotsstruktur • [Rothkopf / Pekeč 1995] Automatisierte Ressourcenallokation: CA
Heuristische Ansätze zur Lösung des CAP • Greedy Verfahren • Greedy CA-Algorithmus (GR-CAA) • Kombinierte Greedy Verfahren • CASANOVA (CA Stochastic Search Algorithm) SSA mit Zeitfaktor • [Hoos / Boutilier 2000] • Dualer LP mit Schattenpreisen/Greedy Verfahren • Verfeinerte vollständige Enumeration • CA Structured Search CASS • [Fujishima et al. 1999] • Genetischer Algorithmus(GA) • Fitness basiert auf Eigenschaften: Bandbreite,Serverkapazität... • [Easwaran / Pitt 2000] Automatisierte Ressourcenallokation: CA
Heuristische Ansätze zur Lösung des CAP • Simulated Annealing (SA) • MAGNET (Multi AGent NEgotiation Testbed) • Gebots-Aufgabe Allokationen sind als Knoten in einer • Warteschlange gespeichert (Zeit, Allokationsqualität) • Auswahl und Erweiterung der Allokationen mittels eines SA • [Collins et al. 2002b] Automatisierte Ressourcenallokation: CA
Gleichgewichtsansätze zur Lösung des CAP • Simultaneous Iterative Auktion (SIA) • Bieter bewerten die von Auktionator zugewiesene Allokation • und richten ihr Gebot in der nächsten Runde danach • Generalized Vickrey Auktion (GVA) • [Varian / MacKie-Mason 1994] • Basiert auf dem Vickrey-Clarke-Groves Mechanismus und • löst das Problem des wahrheitsgemässen Bietens bei der SIA • [Vickrey 1963] [Clarke 1971] [Groves 1973] • Walrasian Tâtonnement Process (WTA) • Verteilte dezentrale Gütermärkte, asynchroner Preisanpassungs- • prozess mittels Angebot und Nachfrage, Gleichgewichtszustand • des WALRAS Algorithmus ist Pareto-optimal [Wellman 1993] Automatisierte Ressourcenallokation: CA
Gleichgewichtsansätze zur Lösung des CAP • Virtual Simultaneous Auction (VSA) • Jedes Gebot eines noch nicht allozierten Bündels wird durch • einen virtuellen Bieter vertreten • Auktionator nimmt Preisanpassung der Einzelgüter vor • [Fujishima et al. 1999] • iBundle • Bieter müssen Gebote als OR/XOR Formulierung abgeben • SIA zurBerechnung vorläufiger Allokationen • Verfahren ähnlich zu VSA: Preisanpassung • Annahmekriterium: Minimaler Preis, Konsistenz der Gebote • Zulässigkeit der Allokation • [Parkes 1999] Automatisierte Ressourcenallokation: CA
Improved Greedy Combinatorial Auction Algorithm (IG-CAA) 1 init i : = 0 2 while i < amount of bidders do 3 bid := selectHighestBidFromAgent( i) 4 addBidToMatrix( matrix, bid) 5 acceptedBids.add( bid) 6 end 7 init value := 0 8 while not testMatrix( utilizationMatrix) do 9 do 10 bid := acceptedBids.getNext() 11 reduction := getReduction( matrix, bid) 12 if (testValue := reduction / bid.price) > value 13 remove := bid 14 value := testValue 15 endif 16 accepted.remove( remove) 17 removeBidFromMatrix( matrix, remove) 18 while acceptedBids.hasNext() 19 end 20 do 21 init addedBid := false 22 while rejectedBids.hasNext() do 23 bid := rejectedBids.next() 24 addBidToMatrix( matrix, bid) 25 if testMatrix( matrix) and bid_price > selectedBid_price 26 selectedBid := bid 27 endif 28 removeBidFromMatrix( matrix, bid) 29 end 30 if selectedBid 31 acceptedBids.add( selectedBid) 32 rejectedBids.remove( selectedBid) 33 addBidToMatrix( utilizationMatrix, selectedBid) 34 addedBid := true 35 while addedBid == true Automatisierte Ressourcenallokation: CA
Improved Greedy Combinatorial Auction Algorithm • Improved-Greedy CA-Algorithm(IG-CAA) • Einstellen aller Gebote in die Aggregations Matrix (Zeile 1-6) • Entfernen der unteren Gebote bis keine Überschreitung der • Restriktionen auftritt (Zeile 7-19) • Wiedereinpassen der zurückgewiesenen Gebote (Zeile 20-35) Automatisierte Ressourcenallokation: CA
Simulated Annealing Combinatorial Auction Algorithm (SA-CAA) 1 begin 2 init startTemperature 3 init steps 4 init startPenalty 5 maxPenalty := numberOfSlots * numberOfResources * maximalBidForResou 6 fitMemory := income – penaltyCost 7 initialize coolingFactor 8 initialize testInterval 9 s := 0 10 do 11 s := s + 1 12 if s % testInterval == 0 13 if income – penaltyCost > fitMemory 14 temperature := temperature * coolingFactor 15 endif 16 fitMemory := income – penaltyCost 17 endif 18 if random(0,1) < 0.5 19 testAddBid( temperature, penalty); 20 else 21 testRemoveBid( temperature, penalty); 22 endif 23 while temperature > 0.1 24 end Automatisierte Ressourcenallokation: CA
Simulated Annealing Combinatorial Auction Algorithm • Simulated Annealing CA-Algorithmus (SA-CAA) • Ausgangsallokation berechnet sich nach Schritt 1-2 von • IG-CAA • Allokationsgüte wird aus der Differenz von Einkommen und • Strafkosten berechnet (Zeile 16),wobei: • Strafkosten = Kapazitätsüberschreitung * Strafkostenfaktor • Versuch Gebot eines Bieters ohne angenommenes Gebot • hinzuzufügen (Zeile 19) • Annahmewahrscheinlichkeit für eine neu gefundene Lösung: • Entfernen einer Lösung die hohe Strafkosten verursacht • erfolgt nach dem selben Prinzip (Zeile 21) Automatisierte Ressourcenallokation: CA
Simulated Annealing Combinatorial Auction Algorithm • Simulated Annealing CA-Algorithmus (SA-CAA) • Problem: Starttemperatur und Abkühlungsrate sind essentiell • für die Performance des SA • Starttemperatur: 80% der Austauschoperationen akzeptieren • eine Verschlechterung der Fitnessfunktion führen: • Temperatur wird um Faktor 0.8 erniedrigt wenn sich ein • Gleichgewichtszustand eingestellt hat Automatisierte Ressourcenallokation: CA
aUML Sequenzdiagrammder IG-CAA und SA-CAA FIPA-konformes Auktionsprotokoll in aUML Automatisierte Ressourcenallokation: CA
Entwurf einer Ontologiefür CAs Automatisierte Ressourcenallokation: CA
Kommunikationssequenzender CA in JADE Automatisierte Ressourcenallokation: CA
IG-CAA mit unstrukturierten Geboten Automatisierte Ressourcenallokation: CA
IG-CAA mit strukturierten Geboten Automatisierte Ressourcenallokation: CA
IG-CAA mit (un-) strukturierten Geboten unstrukturiert strukturiert Automatisierte Ressourcenallokation: CA
SA-CAA mit (un-) strukturierten Geboten unstrukturiert strukturiert Automatisierte Ressourcenallokation: CA
Fazit • SA-CAA: every time Algorithmus • (liefert zu jeder Zeit gültiges Ergebnis) • SA-CAA: gute Performance bei unstrukturierten Geboten • SA-CAA: schlechte Performance bei strukturierten Geboten • IG-CAA: gleichmäßige Performance für (un-) • strukturierte Gebote • SA-CAA: relative lange Rechenzeiten • IG-CAA: kurze Rechenzeiten Automatisierte Ressourcenallokation: CA