Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Automatisierte Ressourcenallokation: CA

Ähnliche Präsentationen


Präsentation zum Thema: "Automatisierte Ressourcenallokation: CA"—  Präsentation transkript:

1 Automatisierte Ressourcenallokation: CA
mittels kombinatorischer Auktionen Michael Schwind Einführungsvortrag zum Blockseminar: „Automatisierte Ressourcenallokation“ Automatisierte Ressourcenallokation: CA

2 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

3 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

4 Preisfindungsprozess für Dienstleistungen
Anfrage Zusage Absage Preis Nachfrage Automatisierte Ressourcenallokation: CA

5 Automatisierte Ressourcenallokation: CA
Auktionen t0 t Dienstleistung Anfrage Preis Automatisierte Ressourcenallokation: CA

6 Generalisierung: Kombinatorische Auktionen
Dienstleistung Preis Automatisierte Ressourcenallokation: CA

7 4 Ressourcen- 10 Perioden-Problem
RS 1 RS 4 RS 2 RS 3 A(5) B(6) C(7) D(4) E(7) F(3) G(3) H(3) I(7) J(9) 1 2 3 4 5 6 7 8 9 10 Automatisierte Ressourcenallokation: CA

8 4 Ressourcen- 24 Perioden-Problem
Unstrukturierte Gebote R1 R4 4 Rmax = 5 t =Time-Slots 2 3 1 5 s Strukturierte Gebote 5 R1 R4 3 R max = 5 t =Time-Slots 4 1 2 bidderMaxLoad, bidDensity Automatisierte Ressourcenallokation: CA

9 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

10 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

11 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

12 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

13 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

14 Formale Darstellung des CA 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

15 Formale Darstellung des CA Problems
Maximiere die Summe aller maximalen Gebote für die einzelnen Bündel SM 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

16 Formale Darstellung des CA 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

17 Greedy-Allokation als 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 (bei n Geboten eutet dies einen Aufwand von n log n). Das Kriterium sollte möglichst so gewählt werden, dass zwei unterschiedlichen Geboten nicht der gleiche Wert zugeordnet werden kann.  d.h. eindeutige Reihenfolge muss möglich sein Diese Phase be- nötigt einen Zeitaufwand der Ordnung n. Automatisierte Ressourcenallokation: CA

18 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)= b1(B)= b1(A,B)=28 b2(A)= b2(B)= b2(A,B)=30 Kriterium: durchschnittlicher Gebotspreis je Gut Sortierung: absteigende Reihenfolge Automatisierte Ressourcenallokation: CA

19 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 Automatisierte Ressourcenallokation: CA

20 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 Bieter 1 erhält B Konflikt es ergibt sich folgende Liste Konflikt Konflikt Bieter 2 erhält A Automatisierte Ressourcenallokation: CA

21 Beurteilung des Greedy-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

22 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

23 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

24 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

25 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

26 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 zur Berechnung vorläufiger Allokationen Verfahren ähnlich zu VSA: Preisanpassung Annahmekriterium: Minimaler Preis, Konsistenz der Gebote Zulässigkeit der Allokation [Parkes 1999] Automatisierte Ressourcenallokation: CA

27 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

28 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

29 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

30 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

31 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

32 aUML Sequenzdiagramm der IG-CAA und SA-CAA
FIPA-konformes Auktionsprotokoll in aUML Automatisierte Ressourcenallokation: CA

33 Entwurf einer Ontologie für CAs
Automatisierte Ressourcenallokation: CA

34 Kommunikationssequenzen der CA in JADE
Automatisierte Ressourcenallokation: CA

35 IG-CAA mit unstrukturierten Geboten
Automatisierte Ressourcenallokation: CA

36 IG-CAA mit strukturierten Geboten
Automatisierte Ressourcenallokation: CA

37 IG-CAA mit (un-) strukturierten Geboten
Automatisierte Ressourcenallokation: CA

38 SA-CAA mit (un-) strukturierten Geboten
Automatisierte Ressourcenallokation: CA

39 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


Herunterladen ppt "Automatisierte Ressourcenallokation: CA"

Ähnliche Präsentationen


Google-Anzeigen