the auction algorithm
DESCRIPTION
The Auction Algorithm. Shahar Paz. Assignment Problem. Given: Persons, Objects – Objects that may be assigned with person – Benefit of assigning object with person Target: Assign each person with unique object Maximize total benefit . Assignment Problem. 4. 2. 1. 1. 1. - PowerPoint PPT PresentationTRANSCRIPT
The Auction Algorithm
Shahar Paz
Assignment Problem
• Given:– Persons, Objects– – Objects that may be assigned with person – – Benefit of assigning object with person
• Target:– Assign each person with unique object – Maximize total benefit
Assignment Problem
42
1
11-2
3
2
Assignment Problem
42
1
11-2
3
2
Assignment benefit:2 + 1 – 2 + 3 = 4
Assignment vs. Min-Cost-Flow
• Special case of Min-Cost-Flow• Nodes:– Persons have (1 supply unit)– Objects have (1 demand unit)
• Arcs:
– (1 capacity unit)– (cost is -benefit)
Assignment vs. Min-Cost-Flow
• Min-Cost-Flow can turn into Assignment– Arcs => new nodes
i
j
b(i)
c(i,j)u(i,j)
b(j)
b=u(i,j) ij
i
j
b(i)-u(i,j)
c=c(i,j) b(j)
c=0
Assignment vs. Min-Cost-Flow
• Min-Cost-Flow can turn into Assignment– Arcs => new nodes– New nodes split by supply (old arc capacity)
ij2
i
j
b(i)-u(i,k)
b(j)-u(j,k)
b=u(i,j) ij
i
j
b(i)-u(i,k)
c=c(i,j) b(j)-u(j,k)
c=0
ij3
ij1b=1
b=1
b=1
Assignment vs. Min-Cost-Flow
• Min-Cost-Flow can turn into Assignment– Arcs => new nodes– New nodes split by supply (old arc capacity)– Old nodes split by demand
ij2
i1
j
b=-1
b(j)-u(j,k)ij3
ij1b=1
b=1
b=1
ij2
i
j
b(i)-u(i,k)
b(j)-u(j,k)ij3
ij1b=1
b=1
b=1
i2 b=-1
Assignment vs. Min-Cost-Flow
• Min-Cost-Flow can turn into Assignment– Arcs => new nodes– New nodes split by supply (old arc capacity)– Old nodes split by demand– #new nodes
– #old nodes
Auction Algorithm
• Init– Empty assignment , zero prices
• Iterate until :– Bidding phase• Some unassigned persons bid for most desired objects• Bids must be greater then current objects’ prices
– Assignment phase• Prices of objects increased to max bid• Assignment change accordingly
Auction Algorithm • Bidding phase:– Select subset of unassigned persons– For each person :• (most desired object)• (object’s benefit)• (second-desired benefit)• Set bid of person for object :
Auction Termination
• Observations– Objects receiving bids get assigned– Assigned objects remain assigned– Assigned persons might get unassigned– Only on termination no unassigned persons and
objects
Auction Termination
• Observation– Each time object receives a bid,
increase by at least .• Conclusion– Object receives bids get price
• Proof
Auction Termination
• Observation– If person bid times,
all objects in get price • Proof
– As of some iteration:• Person only bid for objects in • All objects in has price
– But has higher benefit (const)
Auction Termination
• Proposition:– Feasible solution Auction algorithm terminates
• Proof: – As of some iteration:– All objects in are assigned• Must be assigned with persons from (price )
– Only persons from bid• Not all persons in are assigned
– , but
Duality & CS
• Dual problem:– Minimize – Over all price vectors
• Complementary Slackness:– Given assignment and prices
Duality & CS
• Observation:– Any Primal Any Dual
• Proof:
Duality & CS
• Observation:– Any Primal Any Dual
• Conclusion:– Primal Optimal Primal Optimal Dual Dual– Primal = Dual optimal Primal & Dual– Primal = Dual CS
Duality & CS
• Observation:– CS Primal = Dual
• Proof:
Auction Optimality
• -CS:
• Observation:– Auction preserves -CS
• Proof:
Auction Optimality
• Proposition:– Auction algorithm is -optimal
• Proof:
-Scaling
• Choosing – If data is integer, guarantees optimality– Small causes small changes, bad performance
• -Scaling– Run Auction with large and prices • Compute -CS prices
– Run Auction with and prices • Compute -CS prices
-Scaling
• Adjustments for -Scaling:– On each iteration only 1 person bid– First scaling phase starts with initial prices 0– Other scaling phases start with previous prices– On scaling phase , use as benefits• So is integer multiple of
– Final prices of scaling phase k satisfy-CS with , and -CS with .
-Scaling
• Candidate-list of person :– Holds pairs of potential next-bids
• Modified bidding phase:– search for 2 pairs with – If not found:• Recalculate and bid normally
– Else:• Remove all encountered pairs except second match• Select first match and set bid of
-Scaling Complexity
• Candidate-list complexity:– Calculation of takes • But only happen when decrease
– Using takes until recalculation• Auction complexity
– Each decrease of is of at least
-Scaling Complexity
• Proposition:– Running Auction with prices satisfying -CS
gives • Proof:– – initial prices, – corresponding assignment– – partial assignment & prices,
generated by Auction algorithmjust before last bid of some person
-Scaling Complexity
• Proof cont:– Find path • , • unassigned under
– Observe:
-Scaling Complexity
• Proof cont:– Find path • , • unassigned under
– Observe:
-Scaling Complexity
• Proof cont:– We got:
– Summing:
– isn’t assigned under • didn’t receive any bid, has initial price
-Scaling Complexity
• What is r?• -CS:
-Scaling Complexity
• Conclusion:– Scaling phase Complexity:
– Number of phases:• , – first & last values
• Total -Scaling Complexity:
Infeasibility
• Auction never terminates for infeasible input– One cannot tell if the algorithm won’t terminate,
or just haven’t yet• Ways to detect infeasibility:– Adding arcs with highly negative benefit
– Checking against lower bound
– Checking for augmenting path
Questions?
Thank you