View
108
Download
0
Category
Preview:
Citation preview
1Automatisierte Ressourcenallokation: CA
Automatisierte Ressourcenallokationmittels kombinatorischer Auktionen
Michael Schwind
Einführungsvortrag zum Blockseminar: „Automatisierte Ressourcenallokation“
2Automatisierte 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
3Automatisierte 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
4Automatisierte Ressourcenallokation: CA
Preisfindungsprozess für Dienstleistungen
t0 t
DienstleistungAnfra
ge
Zusa
ge
Anfra
ge
Absa
ge
Preis
Anfra
ge
Nach
frage
5Automatisierte Ressourcenallokation: CA
Auktionen
t0 t
DienstleistungAnfra
ge
Anfra
ge
Preis
Anfra
ge
6Automatisierte Ressourcenallokation: CA
Generalisierung: Kombinatorische Auktionen
t0 t
Dienstleistung
Preis
7Automatisierte Ressourcenallokation: CA
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
4 Ressourcen-
10 Perioden-Problem
8Automatisierte Ressourcenallokation: CA
4 Ressourcen-
24 Perioden-Problem
R1
R4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
4
Rmax = 5t =Time-Slots
2 3
3 1 2
5
1
1
3 2 2 5
1
3
5
1
5 2
2
1
3
4
5 2
2
2
3
2
1
1
5 2
3
2
1 3
2
2
1
3
1
1 53 1
4
2 1
4 2
s
5
R1
R4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
3
R max = 5t =Time-Slots
3 3
4 4 4 4
4 1 1 1 155
33
4
5
4
2
5
2 2
4 4
2
1
3
1
1
2
1 1
1
1
2
1 5
3
5
Unstrukturierte Gebote
Strukturierte Gebote
bidderMaxLoad, bidDensity
9Automatisierte 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.
10Automatisierte 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.
11Automatisierte 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 €
12Automatisierte 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.
13Automatisierte 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
14Automatisierte 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
15Automatisierte Ressourcenallokation: CA
Formale Darstellung desCA Problems
MS
sxSb )(max
MSsx 1,0
MixSi
s
1
unter Beachtung der Restriktionen
und
Maximiere die Summe allermaximalen Gebote für dieeinzelnen Bündel SM
kein Objekt aus M kann zumehr als einem Bieter zugeordnet werden
xs = 1, falls Gebot zugeteiltxs = 0, sonst
16Automatisierte Ressourcenallokation: CA
Formale Darstellung desCA Problems (CAP1)
MS
sxSb )(max
MSsx 1,0
MixSi
s
1
unter Beachtung der Restriktionen
und
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
17Automatisierte 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
18Automatisierte 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
19Automatisierte 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
20Automatisierte 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 (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 Reihenfolgees ergibt sich folgende Liste
1. b1(B)=20
2. b2(B)=18
3. b2(A,B)=30
4. b1(A,B)=28
5. b2(A)=8
6. b1(A)=6
Bieter 1 erhält BKonflikt
Konflikt
Konflikt
Bieter 2 erhält A
21Automatisierte 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“
22Automatisierte 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]
23Automatisierte 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]
24Automatisierte 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]
25Automatisierte 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]
26Automatisierte 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 zur Berechnung vorläufiger Allokationen Verfahren ähnlich zu VSA: Preisanpassung Annahmekriterium: Minimaler Preis, Konsistenz der Gebote Zulässigkeit der Allokation [Parkes 1999]
27Automatisierte Ressourcenallokation: CA
Improved Greedy Combinatorial Auction
Algorithm (IG-CAA)
1 init i : = 02 while i < amount of bidders do3 bid := selectHighestBidFromAgent( i)4 addBidToMatrix( matrix, bid)5 acceptedBids.add( bid)6 end7 init value := 08 while not testMatrix( utilizationMatrix) do9 do10 bid := acceptedBids.getNext()11 reduction := getReduction( matrix, bid)12 if (testValue := reduction / bid.price) > value 13 remove := bid14 value := testValue15 endif16 accepted.remove( remove)17 removeBidFromMatrix( matrix, remove)18 while acceptedBids.hasNext()19 end20 do21 init addedBid := false22 while rejectedBids.hasNext() do23 bid := rejectedBids.next()24 addBidToMatrix( matrix, bid)25 if testMatrix( matrix) and bid_price > selectedBid_price 26 selectedBid := bid27 endif28 removeBidFromMatrix( matrix, bid)29 end30 if selectedBid31 acceptedBids.add( selectedBid)32 rejectedBids.remove( selectedBid)33 addBidToMatrix( utilizationMatrix, selectedBid)34 addedBid := true35 while addedBid == true
28Automatisierte 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)
29Automatisierte Ressourcenallokation: CA
Simulated Annealing Combinatorial Auction
Algorithm (SA-CAA)
1 begin2 init startTemperature3 init steps4 init startPenalty5 maxPenalty := numberOfSlots * numberOfResources * maximalBidForResou6 fitMemory := income – penaltyCost7 initialize coolingFactor8 initialize testInterval9 s := 0 10 do11 s := s + 112 if s % testInterval == 013 if income – penaltyCost > fitMemory 14 temperature := temperature * coolingFactor15 endif16 fitMemory := income – penaltyCost17 endif18 if random(0,1) < 0.519 testAddBid( temperature, penalty);20 else21 testRemoveBid( temperature, penalty);22 endif23 while temperature > 0.124 end
30Automatisierte 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)
kT
EPacc exp~)(
31Automatisierte 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
8.0exp1
1
kT
E
Ni
N
imeaniEkT )(5
32Automatisierte Ressourcenallokation: CA
aUML Sequenzdiagrammder IG-CAA und SA-CAA
FIPA-konformes Auktionsprotokollin aUML
33Automatisierte Ressourcenallokation: CA
Entwurf einer Ontologiefür CAs
34Automatisierte Ressourcenallokation: CA
Kommunikationssequenzender CA in JADE
35Automatisierte Ressourcenallokation: CA
IG-CAA mit unstrukturierten Geboten
36Automatisierte Ressourcenallokation: CA
IG-CAA mit strukturierten Geboten
37Automatisierte Ressourcenallokation: CA
IG-CAA mit (un-) strukturierten Geboten
2,0 4,0 6,0 8,0 10,0
bids per agent
200,00
300,00
400,00
500,00
2,0 4,0 6,0 8,0 10,0
bids per agent
200,00
300,00
400,00
500,00
strukturiert unstrukturiert
38Automatisierte Ressourcenallokation: CA
SA-CAA mit (un-) strukturierten Geboten
2 4 6 8 10
bids per agent
200,00
300,00
400,00
500,00
2,0 4,0 6,0 8,0 10,0
bids per agent
200,00
300,00
400,00
500,00
strukturiert unstrukturiert
39Automatisierte 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
Recommended