170 likes | 371 Views
006. A Trading Agent for Real-Time Procurement of Bundles of Complementary Goods on Multiple Simultaneous Internet Auctions and Exchanges. Erik Aurell, Mats Carlsson, Joakim Eriksson, Niclas Finne, Sverker Janson , Lars Rasmusson, Magnus Boman, Per Kreuger
E N D
006 A Trading Agent for Real-Time Procurement of Bundles of Complementary Goods on Multiple Simultaneous Internet Auctions and Exchanges Erik Aurell, Mats Carlsson, Joakim Eriksson, Niclas Finne, Sverker Janson, Lars Rasmusson, Magnus Boman, Per Kreuger Intelligent Systems LaboratorySwedish Institute of Computer Science (SICS) http://www.sics.se/isl/
Complementary goods Demand in one decreases when price of the other increases ”both needed” Substitutable goods Demand in one increases when price of the other increases ”one or the other” Buyer combinations Flight and hotel nights Project resources VPN links ... Seller combinations Match production facilities Economy of scale Byproducts ... Combinations of Goods/Resources
How make the best possible global exchange of goods/resources? How buy/sell the best possible combinations at the best possible prices? Combinatorial markets All goods on one market Global optimization of combinatorial bids See, e.g., Trade Extensions (tradeextensions.se) Trading agents Goods on multiple markets Optimized trading(online decision problem) for one or more clients Combinatorial Markets and Trading
Trading Agent Competition International annual event Aim: stimulate research into automated combinatorial trading Model problem Goods in travel domain: flights, hotel nights, event tickets Agents represent clients with different preferences Goal: buy best possible combinations at the lowest possible price A game instance 8 competing agents,each representing 8 clients 28 markets, auctions, exchanges 12 minutes The TAC-01 competition 25 participating academic and industrial research groups Winner, livingagents by Living Systems AG, determined by thousands of games over several weeks Trading Agent Competition (TAC)
8 agents 28 auctions flight markets White bear ATTac 8 clients Living Agents hotel auctions 006 Roxy Bot Harami event ticket exchanges Arc2k Urlaub
Trading Agents TAC Server 006 ATTac Communication with trading agents Market server Living Agents Information database Publish data via web and applet Game Spectators
Inflight tickets Ii i in 1 .. 4 Outflight tickets Oi i in 2 .. 5 Hotel nights Hij i in 1 .. 2, j in 1 .. 4 Event tickets Eij i in 1 .. 3, j in 1 .. 4 Flights, in preceding out Hotel nights in-date to out-date – 1, same hotel Up to three different events on different hotel nights E.g., I1, O3, H11, H12, E21, E32 Travel Packages, Goods and Feasibility
Preferred arrival and departure date PA in 1 .. 4, PD in 2..5 Bonus for H1 BH1 in 50 .. 150 Bonus for E1, E2, E3 BE1, BE2, BE3 in 0 .. 200 E.g., PA = 1, PD = 4, BH1 = 63, BE1 = 120, BE2 = 23, BE3 = 184 Utility = 1000 – TravelPenalty + HotelBonus + EventBonus TravelPenalty = 100 * (|AA–PA| + |AD–PD|) E.g., 1000 – 100*(|1-1| + |3-4|) + 63 + 23 + 184 = 1170 Max 1750, min 400 Client Preferences and Utility
Flight tickets ”Over-the-counter” Unlimited supply Prices in $150 .. $800 Start in $250 .. $400 Updated every ~30 seconds by -10 .. X(t) Event tickets Continuous double auction 8 tickets / event / day 12 endowed / agent Hotel nights Ascending multi-unit Nth price auctions 16 rooms / hotel / night Price = 16th highest bid Price updates once a minute Auctions close randomly, one every minute from 4th minute Auction/Market Types
Trading Agent Problems • Strategy problem • Buy which packages? • Which packages demanded by others? • Modeling opponents? • Price expectations? • Uncertainty/risk? (Binding bids.) • Optimization problem • Combine goods into travel packages for clients • Analogous to combinatorial auctioneer problem
006 Strategy Optimizer (“The Solver”) Endowment Initialize Client prefs Flight Hotel Estimate prices e.g. Hotel auction handler Event Compute new bid from current holdings, old bidand target holdings. Bid. marginal costs and prefs Find optimal holdings Monitor bid. Increase if necessary. Compute target holdingsInform auctionhandlers If transaction, auction close, or price > max cost then initiate replanning. target holdings and price
Constraint programming Finite domain constraints Global constraints cumulatives(Ts, Ms) task(S, D, E, H, M) machine(M, L) Limited discrepancy search Limit allowed backtracks Anytime Branch-and-Bound Bound = best so far Variable order Arrivals, departures Hotels Events Order by max utility of pertaining client Value order Descending estimated value of X = v I.e. average of upper and lower bound Arrival, departure ordered pairwise 006 Optimizer (”The Solver”)
SICStus Prolog Explicit task scheduling Optimizer in separate process Flight Strategy Flight Strategy Flight Strategy Enter. Strategy Hotel Strategy Flight Strategy Entertainment Handler Hotel Handler Flight Handler Auction Handler Auction Handler Auction Handler Game Handler ”The Solver” TAC Optimizer Communication and Scheduling TAC Server (Michigan Auction Bot) 006 Architecture & Implementation
Time 260 ms Utility 2736 Flight allocation [4,4,4,4,4,4,3,4] [5,5,5,5,5,5,4,5] Hotel allocation [0,0,0,0,0,0,0,0] [1,1,1,1,1,1,1,1] Event allocation [0,4,0,4,0,0,3,0] [0,0,0,0,0,0,0,0] [4,0,0,0,4,4,0,0] Time 540 ms Utility 2978 Flight allocation [3,1,3,1,2,2,3,3] [5,5,5,4,3,5,4,5] Hotel allocation [1,1,1,1,0,1,1,1] [0,0,0,0,1,0,0,0] Event allocation [0,0,3,3,0,0,3,0] [0,0,0,0,0,0,0,0] [4,4,0,0,2,4,0,0] 006 Problem: Unstable Solver Output
Trading Agent Competition 2002 • Hosted by SICS • Info/registration:http://www.sics.se/tac/ • New open source game and market server software