Optimal Clearing of Supply/Demand Curves

Download Report

Transcript Optimal Clearing of Supply/Demand Curves

Optimal Clearing of
Supply/Demand Curves
Ankur Jain, Irfan Sheriff, Shashidhar Mysore
{ankurj, isheriff, shashimc}@cs.ucsb.edu
Computer Science Department
UC Santa Barbara
T. Sandholm and S. Suri. Optimal clearing of supply/demand curves. In AAAI-02
workshop on Agent-Based Technologies for B2B Electronic Commerce, Edmonton,
Canada, 2002.
Market Clearing Preliminaries
Supply Curve
Suppose seller has Q identical units to sell.
 Supply curve denotes the supply at price p
as s(p).
 Upward sloping curve.
Quantity

s(p).
p
Price
Market Clearing Preliminaries…
Demand Curves


Suppose there are N buyers – each with a
demand curve .
Demand at price p is d(p).
Downward sloping curves.
Quantity

d(p)
p
Price
Auctions, reverse auctions and
exchanges



Forward Auctions – One Seller, Multiple buyers.
Reverse Auction – One buyer, Multiple sellers.
Exchanges – Multiple buyers, Multiple sellers.
Variations


Piecewise linear vs. Linear curves.
Non-Discriminatory (uniform) vs. Discriminatory
pricing.
Main Results
Market type
Curve type
Computational
complexity
Non
discriminatory
markets
Piecewise Linear O( nk log(nk) )
Discriminatory
markets
Linear
Discriminatory
markets
Piecewise Linear NP-Complete
O( n logn )
Objective

To study optimal clearing of supply/demand
curves with multiple indistinguishable units
such that the auctioneer’s profit is
maximized.
Market clearing algorithms
This project involves the implementation of the
following algorithms :





Non discriminatory (ND) auctions.
ND reverse auctions.
ND exchanges.
Discriminatory reverse auctions.
Discriminatory auctions.
ND Auctions


Quantity

Uniform clearing price, One seller - multiple buyers. n curves, with
maximum k linear pieces each.
Feasibility Σsi(p*ask) = Σdj(p*bid).
Goal is to maximize p*bid(Σdj(p*bid)) – p*ask(Σsi(p*ask))
d2
d1
s1
Price
P*
bid
Steps • Compute Aggregate
curve.
• For each linear piece
solve for maximum
revenue auction.
• Suppose p*bid is the unit
price with maximum
revenue.
• Clear each buyer at p*bid
i.e., d(p*bid) units.
Quantity
ND Auctions
Profit
Price
O(nk log( nk ))
Strategy –
• Sort nk breakpoints
O(nklog(nk))
• Aggregate – Linesweep
O(nk)
• Envelope – Linesweep
O(nk)
• Decompose into K
trapezoids, find maximum
revenue O(K)
• Clear each buyer at p*bid
ND Reverse auction

Quantity

Uniform clearing price, One
buyer multiple sellers - n
curves, with maximum k
pieces each
Maximize third party (who
runs the market) profit
Profit
Price
o(nk log( nk ))
Strategy –
• Sort nk breakpoints
O(nk log(nk))
• Aggregate – Linesweep
O(nk)
• Envelope – Linesweep
O(nk)
• Decompose into K
trapezoids, find maximum
revenue O(K)
• Clear each seller at p*ask
ND Exchanges


Quantity

Maximize third party (who runs the market) profit
Feasibility – Σsi (p*ask) = Σdj(p*bid)
Goal is to maximize p*bid(Σdj(p*bid)) – p*ask(Σsi(p*ask))
Profit
Price
O(nk log( nk ))
Strategy –
• Sort nk breakpoints
O(nk log(nk))
• Aggregate – Linesweep
O(nk)
• Envelope – Linesweep
O(nk)
• Decompose into K
trapezoids, find maximum
revenue O(K)
• Clear each seller at p*ask,
buyer at p*bid
Discriminatory Reverse Auction


Non uniform clearing price, multiple sellers - One
buyer - wants to buy Q units
Minimize total cost for the buyer
Clearing Problem
Sellers have upward sloping supply curve,
Minimize
q  ai pi  bi &, ai  0, bi  0
( pi qi ) s. t. q  ai pi  bi &  qi  Q
Using Lagrangian Multipliers
2Q   bi

 ai
bi 
pi 

2ai 2
bi ai 
qi   
2
2
Discriminatory Reverse Auction …
Quantity
Strategy –
• Arrange sellers by their
minimum feasible price
(bi/ai) – O(nlogn)
•
Incrementally add sellers
and check for feasibility
and minimum cost
constraint O(1)
•
Suppose minimum total
cost occurs with Si
sellers, solve for clearing
price and quantity for
each seller.
Q
Price
Discriminatory Auction


Non uniform clearing price, One seller – Multiple buyers
(has Q units)
Maximize total revenue for the seller
Each buyer is represented by a downward sloping demand curve,
Maximize ( pi qi ) s. t. q  ai pi  bi &  qi  Q
Unconstrained solution – Sell exactly ½ bi units to buyer i.
If Q < ½ Σbi then Using Lagrangian Multipliers
 bi  2Q p  bi  

i
2ai 2
 ai
bi ai 
qi  
2
2
Discriminatory Auction …
Quantity
Strategy –
• Initialize (pi,qi) = bi/2ai,
bi/2)
•
If Σ(qi) <=Q, done
•
Choose l with min pi
(say pl), increase each
bid’s unit price by pl, if
feasible, compute
lagrangian and output
each buyer’s quantity
•
Otherwise, remove
buyer l from the market
and repeat above steps
Q
Price
Re-cap of Main Results
Market type
Curve type
Computational
complexity
Non
discriminatory
markets
Piecewise Linear O( nk log(nk) )
Discriminatory
markets
Linear
Discriminatory
markets
Piecewise Linear NP-Complete
O( n logn )
Demo …