Automatisierte Ressourcenallokation: CA

Slides:



Advertisements
Ähnliche Präsentationen
Simulation von Preisverhandlungen: CA
Advertisements

Entscheidungsunterstützungssysteme IWI Frankfurt 2004 Michael Schwind EUS-Übung Kombinatorische Auktionen.
Fast Fourier Transformation
Anreizkompatible Auktionsformen
Gebotssprachen bei kombinatorischen Auktionen
Entscheidungsunterstützungssysteme IWI Frankfurt 2004
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Inhalt Saarbrücken,.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Kapitel 6. Suchverfahren
5. Sortier-Algorithmen Vorbemerkungen:
2. Kapitel: Komplexität und Komplexitätsklassen
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Wie lösen wir ILPs exakt?
Verifizieren versus Berechnen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Anwendung und Visual Basic
Sortierverfahren Richard Göbel.
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 7 – Bin Packing
Geometrisches Divide and Conquer
Genetische Algorithmen
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
AC Analyse.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
EK Produktion & Logistik
Analyse von Ablaufdiagrammen
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Analyseprodukte numerischer Modelle
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
Komplexität von Algorithmen
Das Traveling Salesman Problem (TSP)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Präsentation transkript:

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

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

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

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

Generalisierung: Kombinatorische Auktionen Dienstleistung Preis Automatisierte Ressourcenallokation: CA

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

4 Ressourcen- 24 Perioden-Problem Unstrukturierte Gebote 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 = 5 t =Time-Slots 2 3 1 5 s Strukturierte Gebote 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 = 5 t =Time-Slots 4 1 2 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

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

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

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

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 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

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

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

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

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

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

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

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

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 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

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 Sequenzdiagramm der IG-CAA und SA-CAA FIPA-konformes Auktionsprotokoll in aUML Automatisierte Ressourcenallokation: CA

Entwurf einer Ontologie für CAs Automatisierte Ressourcenallokation: CA

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

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

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