1 / 28

Programmierung von Agenten in JAVA: Implementierung einer Supply-Chain WS 2003/04

Programmierung von Agenten in JAVA: Implementierung einer Supply-Chain WS 2003/04 Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de> Jochen Franke <jfranke@wiwi.uni-frankfurt.de> Michael Schwind <schwind@wiwi.uni-frankfurt.de> Donnerstag 16.00 – 18.00 Uhr – Raum 220 C. TAC.

holly
Download Presentation

Programmierung von Agenten in JAVA: Implementierung einer Supply-Chain WS 2003/04

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programmierung von Agenten in JAVA: Implementierung einer Supply-Chain WS 2003/04 Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de> Jochen Franke <jfranke@wiwi.uni-frankfurt.de> Michael Schwind <schwind@wiwi.uni-frankfurt.de> Donnerstag 16.00 – 18.00 Uhr – Raum 220 C TAC – Trading Agent Competition

  2. TAC • Trading Agent Competition • www.sics.se/tac • Supply Chain Szenario, in dem mehrere Agenten mit benutzerdefinierten Strategien in einem gemeinsamen Framework gegeneinander antreten • Kooperationsprojekt der Carnegie Mellon University und Swedish Institute of Computer Science • TAC Classic => Ursprüngliches Szenario mit Traveling Agent • TAC SCM => Supply Chain Szenario TAC – Trading Agent Competition

  3. TAC SCM Szenraio TAC – Trading Agent Competition

  4. Akteure • Agenten => Benutzerdefinierte Strategien, Konkurrenzkampf zwischen Agenten • Customer => Kunden, die eine externe Nachfrage stellen und feste Lieferzeitpunkte einfordern • Supplier => Hersteller, die auf Bestellung Rohstoffe produzieren • Manufacturer => Produktionseinheit, die Rohstoffe in verkaufbare Fertiggüter transformiert TAC – Trading Agent Competition

  5. Agenten • Agenten befinden sich im Spannungsfeld zwischen Kunden und Zulieferern • Aufgaben der Agenten • Zuliefererkontrakte aushandeln • Für Kundenorders bieten • Tägliche Produktionsplanung TAC – Trading Agent Competition

  6. Ablauf TAC TAC – Trading Agent Competition

  7. Ablauf TAC • Produktion von PCs, Varianten • CPUs, Mainboards, Speicher, Festplatten • Zwei Supplier für jeden Komponententyp TAC – Trading Agent Competition

  8. Einkauf von Rohmaterialien • Agent gibt RFQs an Zulieferer aus • Maximal 10 RFQs pro simuliertem Tag • RFQ spezifiziert Menge und Lieferdatum • Zulieferer sammelt alle RFQs und bearbeitet sie sequentiell • RFQs eines Agenten werden als RFQ-Bundle ausgewertet TAC – Trading Agent Competition

  9. Auswahl RFQ-Bundle • Zufällige Auswahl eines RFQ-Bundles • QuantityRequested=Summe aller nachgefragten Mengen • QuantityPurchased=Summe der tatsächlich gekauften Menge • Weight=min(0.5, order ratio) TAC – Trading Agent Competition

  10. Offer-Bundles • Zulieferer bearbeiten alle RFQs und liefern gegebenenfalls Offers zurück • Falls RFQ komplett erfüllt werden kann, wird entsprechende Offer zurückgegeben • Falls RFQ nicht erfüllt werden kann, werden zwei Offers zurückgegeben • Offer1 mit passender Menge und späterer Fälligkeit • Offer2 mit kleinerer Menge und passender Fäligkeit • Agent kann eines der alternativen Angebote annehmen TAC – Trading Agent Competition

  11. Beispiel TAC – Trading Agent Competition

  12. Zulieferer - Verhalten • Zulieferer haben zwei Aufgaben • Produktion und Versand von Komponenten an die Agenten • Verfügbare Produktionskapazität planen, um den Agenten Offers bieten zu können TAC – Trading Agent Competition

  13. Zulieferer - Annahmen • Zulieferer operieren auf Basis einer make-to-order Strategie • Sollten mehrere Tage notwendig sein, um eine Order zu befriedigen, werden die jeweils überschüssiges Komponenten in einem Lager abgelegt, Lagerkosten sind null • Orders werden stets am Fälligkeitsdatum ausgeliefert, überschüssige Produktionskapazität wird stets aufgebraucht TAC – Trading Agent Competition

  14. Zulieferer – Annahmen 2 • Produktionskapazität wird durch random walk bestimmt • In der Planung des Zulieferers wird angenommen, dass die zukünftige Kapazität der nominalen Kapazität entspricht • Falls eine Order wegen unzureichender Kapazität nicht erfüllt werden kann, bekommt diese eine höhere Priorität vor Orders mit späterem Liefertermin zugewiesen TAC – Trading Agent Competition

  15. Zulieferer Produktionskapazität Formel zur Bestimmung der Kapazität eines Zulieferers an einem Tag d Random Walk Komponente Abweichung des Vortages zur nominalen Kapazität wird stets um 1% reduziert, sowohl Über- als auch Unterschreitungen werden somit abgedämpft Kapazität des Vortages Kapazität wird nicht negativ, untere Grenze ist null TAC – Trading Agent Competition

  16. Zulieferer Preisfunktion Diskontierungsfaktor Basispreis der Komponente mit Freie Kapazität zum Zeitpunkt j TAC – Trading Agent Competition

  17. Konsumenten • Konsumenten erstellen jeden simulierten Tag RFQs • RFQs spezifizieren • Bestelltyp • Bestellmenge • Fälligkeitsdatum • Reservationspreis (maximaler Preis, den der Konsument bereit ist zu zahlen) TAC – Trading Agent Competition

  18. Konsumenten 2 • Anzahl von RFQ haben obere und untere Grenze • Anzahl von RFQs zwischen den Grenzen variieren und folgen einem Random Walk • RFQ spezifiziert auch ein Penalty in Form eines Prozentsatzes des Reservationspreises, das bei Fälligkeitsüberschreitung eingefordert wird • Bei Fälligkeitsüberschreitung werden Strafzahlungen bis zu fünf simulierten Tagen fällig, dann wird die Bestellung gelöscht • Konsument nimmt Offer des Agenten mit dem niedrigsten Preis an, das die geforderte Quantität zum geforderten Stichtag mit einem Preis kleiner als der Reservationspreis anbietet TAC – Trading Agent Competition

  19. Bank • Die verfügbaren Mittel eines Agenten werden von einer Bank verwaltet • Negative Kontostände sind erlaubt • Finanzmittel des Agenten werden mit einem fixierten Zinssatz verzinst (sowohl Guthaben als auch Defizit) TAC – Trading Agent Competition

  20. Informationen • Agenten erhalten Informationen aus verschiedenen Quellen • RFQs der Konsumenten • Offers der Zulieferer • Preisintervalle der bestellten PCs eines Tages • Periodische Markt-Reports (alle 20 TAC-Tage) • Aggregierte Angaben der von den Zulieferern produzierten Mengen • Aggregierte Angaben der von den Zulieferern abgesetzten Mengen • Durchschnittlicher Preis und Anzahl der verkauften PCs eines jeden Typs TAC – Trading Agent Competition

  21. Parametrisierung TAC – Trading Agent Competition

  22. Installation der Testumgebung TAC – Trading Agent Competition

  23. Installation der Testumgebung • Beispielagent TAC • Server-Modul TAC • Server-Modul fungiert als Host für die Agenten und eignet sich zum Test des eigenen Agenten • Download beider Pakete von http://www.sics.se/tac • Server und Agenten-Modul in jeweils eigene Verzeichnisse entpacken TAC – Trading Agent Competition

  24. Server konfigurieren und starten • Konfigurationsdatei im Ordner /config/server.conf • server.name festlegen auf localhost (oder den DNS-Namen des Computers) • admin.password bei Bedarf auf ein eigenes Passwort setzen • Server auf der Kommandozeile starten mit java –jar scmserver.jar TAC – Trading Agent Competition

  25. Server konfigurieren und starten (2) • Browser aufrufen: http://127.0.0.1:8080 • Neuen Agenten anmelden (Register new user) TAC – Trading Agent Competition

  26. Agent konfigurieren und starten • Agent zunächst kompilieren durch Aufruf von compile.bat auf der Kommandozeile • Agent konfigurieren in der Datei aw.conf • agentName => Name des Agenten • agentPassword => Passwort des Agenten • Werte identisch zur Serverkonfiguration wählen • serverHost => localhost • Agent von der Kommandozeile starten mit java –jar scmaw.jar TAC – Trading Agent Competition

  27. Spielablauf • Agent startet automatisch Statusbericht TAC – Trading Agent Competition

  28. Spielablauf • GameViewer auf der Serverkonfigurationsseite starten TAC – Trading Agent Competition

More Related