Title: Understanding the Dynamics of Pricing and Negotiation
1Simulating a Network of Trading Agents
- Understanding the Dynamics of Pricing and
Negotiation
Presented by Rodolfo Garcia-Flores and Nectarios
Kontoleon 5th Annual CSIRO CSS Workshop Sydney,
8th to 10th of August, 2006
2Contents
- Motivation
- The Colour Trading World
- Implementation
- Alternative Strategies
- Optimal
- Heuristic (Simulated Annealing)
- Price Functions
- Measuring Performance
- Preliminary Results
- Directions for future work
3Motivation
- Commercial negotiations in the near future will
be performed by proxy agents over the Internet. - Negotiations will involve many parties in a
network of economically motivated entities. - Agents will have access to limited information.
- Performance will depend on strategy.
- Topology of the network is another important
factor. - It is imperative to understand the economic
incentives and behaviours in order to anticipate
their collective interactions.
4Motivation
- A model world is used to explore trading agents
in a network. - Knowledge related to emergent behaviour,
connectivity, strategies and network dynamics
will feed the groups applied research and
flagship projects.
5Relevance for Strategic Research
- Partnership research to move from linear value
(supply) chains to adaptive networks. - Partners of the network collaboratively adapt to
the changes in their shared environment. - CMIS attempts to develop decision technologies
where there is appreciable diversity in
stakeholder capabilities and goals. - High-impact RD targets are those in which the
supply network must address a particularly
complex activity coordination requirement.
6We want to explore
- How can we predict system performance from agent
strategies and network topology? - How does the best strategy depend on position in
network? - How does the profit of an agent with a certain
strategy depend on the strategies of other
agents? - How does the individual optimal strategies affect
the overall system optimum? - Emergent behaviour when there is a trade-off
between control and flexibility.
7The Colour Trading World
- Sources
- Produce units of colour
- Have fixed production costs per unit
- Sinks
- Consume colour
- Get more profit for selling bundles of different
colour in fixed ratio - Merchants
- Trade colour
- Make profit by buying cheap and selling dear
8Complexity of the Sinks
- Sinks consume colour in bundles
- Each bundle is defined by
- A vector v containing an integer vc for each
colour c - A revenue r per unit consumed
- A maximum number m of units that can be consumed
- One unit of the bundle
- contains vc units of colour c
- Brings revenue of r
- The sink can consume at most m units of the bundle
9Bundle Example for a Sink
- Existing colours red, green, blue
- Bundles of sink t
- B1 V (1,0,0), r 2, m 3
- B2 V (0,1,0), r 1, m 4
- B3 V (0,0,1), r 3, m 2
- B4 V (1,2,1), r 10, m 5
- B5 V (2,1,1), r 15, m 3
- Optimal colour distributions on bundles using
linear program - Agents use heuristics in implementation
10The Colour Trading World
11The Colour Trading World
(55)
(23)
(44)
(42)
(56)
(22)
(35)
12The Colour Trading World
- Rules of the game
- Agents only know their direct neighbours.
- Agent negotiate contracts for delivery of amounts
of flow per time unit. - Agents are not allowed to enter into a contract
that might result in a loss. - If any offer or request an agent has sent out is
accepted, the agent must be able to meet the
corresponding obligation.
13The Colour Trading World
- Offers and requests for colour are valid until
they are cancelled. - Game proceeds in rounds.
- In each round, each agent gets a turn for sending
out offers, requests, accepts and cancels. - Every accept message is honoured.
- Reactions to accepts and cancels are propagated
through the network before the next agent's turn
starts. - Game ends when agents run out of new things to
say.
14The Colour Trading World
15The Colour Trading World
Has blue (53pu)
16The Colour Trading World
Has blue (53pu)
17The Colour Trading World
Has blue (53pu)
55pu
55pu
18The Colour Trading World
Has blue (53pu)
55pu
56pu
55pu
19The Colour Trading World
Has blue (53pu)
55pu
56pu
57pu
55pu
20The Colour Trading World
Sink accepts
Has blue (53pu)
55pu
56pu
57pu
55pu
21The Colour Trading World
Sink accepts
Has no blue
54pu
55pu
56pu
57pu
55pu
22Our Colour Trading Implementation
- Agents based system using JADE framework
- Each agent knows its neighbours and its successor
in the turn - When it's an agent's turn, it sends out offers,
requests, accepts or cancels to its neighbours - When agent has finished sending its messages, it
sends the your turn message to its successor - Reception of accepts or cancels by agent triggers
consistency reactions - Agent reacts immeatedly, even when it's not its
turn - Consistency reactions involve updating internal
data and maybe also sending out accepts and
cancels
23Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Agent Brain
Strategy
24Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Source Brain
Source Strategy
25Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Sink Brain
Sink Strategy
26Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Merchant Brain
Merchant Strategy
27Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Merchant Brain
Simple Merchant Strategy
28Structure of the Implementation
Java
Jade
Colour Agent
- Inter-Agent Communication
- Thread Control
FSM-Behaviour
Communication Protocol
Merchant Brain
Sophisticated Merchant Strategy
29Strategies
- All agents types can potentially use complex
strategies in negotiations with neighbours - Additional merchant complexity
- Merchants could aggregate and split supply and
demand to formulate offers and requests - Deciding which messages to accept becomes a hard
problem (subset sum problem) - Additional sink complexity
- Sinks can make profits by obtaining bundles of
different colours in specific ratios - Problem of deciding how best do distribute
obtained colours into bundles can be solved using
a linear program
30Currently Used Strategies
- Simplest strategies that could possibly work
- All agents calculate prices in their messages to
guarantee minimum profit of one currency unit
profit for every unit of colour moved - First offers are final offers
- Sources tell all their neighbours what they
offer, update offers when sale happens - Merchants tell all neighbours about offers and
requests they know - Sinks ask all their neighbours for colour they
need, update requests when sale happens - All agents accept incoming messages if they meet
minimum profit criterion
31A Strategy Test-bed
32A Strategy Test-bed
- Agents strive to maximise their profit subject to
a production function. - Markets simply determine equilibrium prices and
quantities for agents trading a given good. - Agents in the extreme tiers of the market are
connected to external supply and demand functions
of the form - Where I/O are input/output, p/q are
buying/selling prices, and a,b,c,d are constant
parameters.
33A Model of Behaviour
- Maximise profit, i.e.,
- Subject to
34Optimal and Heuristic Strategies
35A Simple GUI
36Preliminary Results
37Preliminary Results
38Preliminary Results
39Preliminary Results
40Aggregate Price Functions
- Merchant has received two offers
- Up to 5 units of blue for 3 per unit
- Up to 7 units of blue for 5 per unit
41Aggregate Price Functions
- Merchant has received two offers
- Up to 5 units of blue for 3 per unit
- Up to 7 units of blue for 5 per unit
- Resulting unit price curve
42Consequences of Aggregation
- Price per unit functions can become very complex
- Messages should be able to describe price per
unit functions - Agents want to find price/amount where they make
maximum profit - Merchants can act in similar way as an electronic
stock market
43Measuring Performance
- Optimal profit of whole network can be computed
with linear program (LP) if fractional units of
colour are allowed - Agents have only local knowledge while LP knows
complete network gt expect lower profit for agent
system - Other Preformance measure is number of rounds
before all trades are executed
44Project Future
- Try more advanced strategies
- Examine interplay of different strategies
- Does a clever agent in a network of stupid agents
only improve its own profit or also the
performance of the whole network? - Should agents be accomodating or single mindedly
egoistic to achieve maximum network performance? - How much can a clever agent profit from knowing
more about its position in the network?
45Contact Information
For more information, contact