SICS-TAC

advertisement
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 Laboratory
Swedish Institute of Computer Science (SICS)
http://www.sics.se/isl/
Combinations of Goods/Resources
• 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
– ...
Combinatorial Markets and Trading
• How make the best
possible global
exchange of
goods/resources?
• Combinatorial markets
• How buy/sell the best
possible combinations
at the best possible
prices?
• Trading agents
– All goods on one market
– Global optimization of
combinatorial bids
– See, e.g., Trade Extensions
(tradeextensions.se)
– Goods on multiple
markets
– Optimized trading
(online decision problem)
for one or more clients
Trading Agent Competition (TAC)
• Trading Agent Competition
– International annual event
– Aim: stimulate research into
automated combinatorial
trading
• A game instance
– 8 competing agents,
each representing 8 clients
– 28 markets, auctions,
exchanges
– 12 minutes
• 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
• 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
8 agents
White
bear
28 auctions
flight
markets
ATTac
8 clients
Living
Agents
hotel
auctions
006
Roxy
Bot
Harami
Arc2k
Urlaub
event ticket
exchanges
Trading Agents
TAC Server
006
ATTac
Living
Agents
Communication
with trading
agents
Information
database
Game Spectators
Publish data
via web and
applet
Market
server
TAC-01 Game Monitor (Game 5716)
Travel Packages, Goods and Feasibility
• 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
Client Preferences and Utility
• 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
Auction/Market Types
• 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
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
Initialize
Endowment
Client prefs
Optimizer
(“The Solver”)
Flight
Estimate prices
Hotel
Event
Find optimal
holdings
marginal costs
and prefs
e.g. Hotel auction handler
Compute new bid from
current holdings, old bid
and target holdings. Bid.
Monitor bid.
Increase if necessary.
Compute target
holdings
Inform auction
handlers
target holdings
and price
If transaction, auction
close, or price > max cost
then initiate replanning.
006 Optimizer (”The Solver”)
• 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 Architecture & Implementation
FlightStrategy
Strategy
Flight
FlightStrategy
Strategy
Hotel
Flight Strategy
Strategy
Enter.
Flight
Handler
Hotel
Handler
Entertainment
Handler
Auction Handler
Auction Handler
Auction Handler
• SICStus Prolog
• Explicit task
scheduling
• Optimizer in
separate process
Game
Handler
Communication and
Scheduling
TAC Server
(Michigan Auction Bot)
”The Solver”
TAC
Optimizer
TAC-01 Scores (Semifinals)
#
Agent
Affiliation
Score
Std dev
Heat
1
livingagents
Living Systems AG
3660.2
893.8
1
2
Southampton TAC
University of Southampton
3614.5
747.3
1
3
Urlaub01
Penn State University
3484.8
924.1
1
4
whitebear
Cornell University
3469.7
1043.0
1
5
Retsina
Carnegie Mellon University
3293.5
630.9
2
6
ATTac
AT&T Labs
3249.2
407.9
2
7
006
SICS
3240.8
1108.1
1
8
CaiserSose
University of Essex
3038.1
640.9
2
9
TacsMan
Stanford University
2966.1
595.2
2
10
PainInNEC
NEC Research
2905.9
540.6
2
11
polimi_bot
Politecnico di Milano
2834.7
1102.1
2
12
umbctac
University of Maryland, BC
2772.9
813.5
2
13
RoxyBot
Brown University
2112.4
1478.7
2
14
arc-2k
Chinese U of Hong Kong
1746.3
1948.7
1
15
jboadw
McGill University, CA
1716.7
1281.3
1
16
harami
Bogazici University, Istanbul
94.4
2537.2
1
006 Problem: Unstable Solver Output
• Time
• Time
• Utility
• Utility
• Flight allocation
• Flight allocation
• Hotel allocation
• Hotel allocation
• Event allocation
• Event allocation
– 260 ms
– 2736
– [4,4,4,4,4,4,3,4]
– [5,5,5,5,5,5,4,5]
– [0,0,0,0,0,0,0,0]
– [1,1,1,1,1,1,1,1]
– [0,4,0,4,0,0,3,0]
– [0,0,0,0,0,0,0,0]
– [4,0,0,0,4,4,0,0]
– 540 ms
– 2978
– [3,1,3,1,2,2,3,3]
– [5,5,5,4,3,5,4,5]
– [1,1,1,1,0,1,1,1]
– [0,0,0,0,1,0,0,0]
– [0,0,3,3,0,0,3,0]
– [0,0,0,0,0,0,0,0]
– [4,4,0,0,2,4,0,0]
Trading Agent Competition 2002
• Hosted by SICS
• Info/registration:
http://www.sics.se/tac/
• New open source
game and market
server software
Download