1 Automatisierte Ressourcenallokation: CA Automatisierte Ressourcenallokation mittels...

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