33
The Auction Algorithm Shahar Paz

The Auction Algorithm

  • Upload
    jenna

  • View
    36

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: The Auction Algorithm

The Auction Algorithm

Shahar Paz

Page 2: The Auction Algorithm

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

Page 3: The Auction Algorithm

Assignment Problem

42

1

11-2

3

2

Page 4: The Auction Algorithm

Assignment Problem

42

1

11-2

3

2

Assignment benefit:2 + 1 – 2 + 3 = 4

Page 5: The Auction Algorithm

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)

Page 6: The Auction Algorithm

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

Page 7: The Auction Algorithm

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

Page 8: The Auction Algorithm

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

Page 9: The Auction Algorithm

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

Page 10: The Auction Algorithm

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

Page 11: The Auction Algorithm

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 :

Page 12: The Auction Algorithm

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

Page 13: The Auction Algorithm

Auction Termination

• Observation– Each time object receives a bid,

increase by at least .• Conclusion– Object receives bids get price

• Proof

Page 14: The Auction Algorithm

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)

Page 15: The Auction Algorithm

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

Page 16: The Auction Algorithm

Duality & CS

• Dual problem:– Minimize – Over all price vectors

• Complementary Slackness:– Given assignment and prices

Page 17: The Auction Algorithm

Duality & CS

• Observation:– Any Primal Any Dual

• Proof:

Page 18: The Auction Algorithm

Duality & CS

• Observation:– Any Primal Any Dual

• Conclusion:– Primal Optimal Primal Optimal Dual Dual– Primal = Dual optimal Primal & Dual– Primal = Dual CS

Page 19: The Auction Algorithm

Duality & CS

• Observation:– CS Primal = Dual

• Proof:

Page 20: The Auction Algorithm

Auction Optimality

• -CS:

• Observation:– Auction preserves -CS

• Proof:

Page 21: The Auction Algorithm

Auction Optimality

• Proposition:– Auction algorithm is -optimal

• Proof:

Page 22: The Auction Algorithm

-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

Page 23: The Auction Algorithm

-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 .

Page 24: The Auction Algorithm

-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

Page 25: The Auction Algorithm

-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

Page 26: The Auction Algorithm

-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

Page 27: The Auction Algorithm

-Scaling Complexity

• Proof cont:– Find path • , • unassigned under

– Observe:

Page 28: The Auction Algorithm

-Scaling Complexity

• Proof cont:– Find path • , • unassigned under

– Observe:

Page 29: The Auction Algorithm

-Scaling Complexity

• Proof cont:– We got:

– Summing:

– isn’t assigned under • didn’t receive any bid, has initial price

Page 30: The Auction Algorithm

-Scaling Complexity

• What is r?• -CS:

Page 31: The Auction Algorithm

-Scaling Complexity

• Conclusion:– Scaling phase Complexity:

– Number of phases:• , – first & last values

• Total -Scaling Complexity:

Page 32: The Auction Algorithm

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

Page 33: The Auction Algorithm

Questions?

Thank you