Approximation algorithms for combinatorial allocation problems
1 / 21

Approximation algorithms for combinatorial allocation problems - PowerPoint PPT Presentation

  • Updated On :

Approximation algorithms for combinatorial allocation problems. Uriel Feige (Microsoft Research) Jan Vondr á k (Princeton University). Maximizing social welfare. m items. n players. Distribute items among players, to maximize: . where. utility of set S to player i.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Approximation algorithms for combinatorial allocation problems' - arleen

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Approximation algorithms for combinatorial allocation problems l.jpg

Approximation algorithms for combinatorial allocation problems

Uriel Feige (Microsoft Research)

Jan Vondrák (Princeton University)

Slide2 l.jpg

Maximizing social welfare problems

m items

n players

Distribute items among players, to maximize:


utility of set S to player i.

Slide3 l.jpg

Classes of utility functions problems

  • We always assume: monotonicity

  • normalization

  • Additional conditions, weaker to stronger:

  • Subadditivity: …”no complementarity”

  • XOS: … maximum of linear functions

  • Submodularity:

  • … decreasing marginal values

These conditions prevent “complementarity”,

i.e. items increasing each other’s utility.

Slide4 l.jpg

Models of accessing utility functions problems

  • Value queries: For a given set S, we can ask what is wi(S) = ?

  • Demand queries: For given prices pj, we can ask what is the set S

  • maximizing wi(S) – p(S)?


w(S) = min{2|S|,4}







w(S)-p(S) = 2

Note: It might be NP-hard to answer demand queries, even for wi(S) submodular.

When demand queries are considered, we assume that wi(S) are such that

this is not the case, or the players have sufficient power to answer such queries.

Slide5 l.jpg

Related problem problems

The Generalized Assignment Problem (GAP):

Utility functions are linear:

Each item j has value vij and size sij for player i.

The set allocated to player i must satisfy a capacity constraint

Goal: maximize

Slide6 l.jpg

Previous work problems


optimal unless P=NP

[Feige ’06]

Max SubAdd Welfare

All results with the assumption

of a demand oracle

except for GAP.


optimal unless P=NP

[Dobzinski, Nisan, Shapira ’05]

[Feige ’06]

Max XOS Welfare

Max SubMod Welfare



[Dobzinski, Shapira ’06]


[Fleischer, Goemans, Mirrokni, Sviridenko ’06]

Slide7 l.jpg

The New Results problems

  • There is a (1-1/e+ε)-approximation algorithm for Maximum

  • Submodular Welfare (with a demand oracle).

  • There is a (13/17)-approximation algorithm for Maximum

  • Submodular Welfare with 2 players.

  • There exists ε>0 such that it is NP-hard to approximate

  • Maximum Submodular Welfare within 1- ε, even with a demand

  • oracle (and even for two players).

  • There is a (1-1/e+ε)-approximation algorithm for GAP.

Slide8 l.jpg

How is 1-1/e achieved? problems

  • Exponential size; however, can be solved in many cases

  • (bounded-size utility functions, GAP [FGMS])

  • in general, using the demand oracle.

  • There is an optimal solution of polynomial size.

Slide9 l.jpg

(1-1/e)-approximation problems

in a nutshell

Each player: probability distribution xi,S => sample a random set Si

E[wi(Si)] = share of player i in the LP











Issues: (1) some items in multiple sets => resolve conflicts.

(2) some items are not allocated at all.

Pr[item not allocated] = (1-p1) (1-p2) (1-p3)…(1-pn) < 1/e.

Slide10 l.jpg

Fair Contention Resolution problems

Problem: Players compete for an item, independently

with probabilities p1,p2,p3,…,pn.

Random subset A of them show up.

How do you decide who gets it, so that

players are rewarded proportionally to pi ?

  • Fair Contention Resolution technique:

  • If A is empty, nothing.

  • If A = {k}, player k gets the item.

  • If |A|>1, then give it to each competing player k with this probability.

Lemma: Each player, conditioned on competing for the item,

receives it with the same probability.

Slide11 l.jpg

Improvement for fixed n problems

Every player receives the item with the same conditional probability

=> this probability must be equal to

  • Since , we have

  • this technique achieves a factor of 1–(1-1/n)n > 1–1/e

    (e.g., 3/4 for two players).

But: we want to achieve an improvement independent of n.

Slide12 l.jpg

How to improve 1–1/e ?? problems

First idea: it should be trivial.

The reason why we get 1-1/e … 1/e-fraction of items unused.

Distribute them among players.

How much profit does it yield?

Sometimes none.

Slide13 l.jpg

Example problems

n players, nn items arranged in a hypercube

Utility of player i: projection onto dim. i

Fractional solution: xi,H(i,j)=1/n

H(i,j) = {x∈[n]n: xi=j}

LP = nn

  • But:

  • Sampling one set for each player covers nn – (n-1)n items.

  • This is 1 – (1-1/n)n of the optimum.

  • We cannot improve this by distributing the leftovers, in any way.

Slide14 l.jpg

Same example for 2 players problems

Same example:

Player 1 wants one from each row.

Player 2 wants one from each column.


w1(S) = |π1(S)|, w2(S) = |π2(S)|

If anybody blocks a row/column,

We can get only 3 out of 4.



Player 1 values each column at $30.

Player 2 values each row at $30.

Slide15 l.jpg

Improvement over ¾ for two players? problems

  • Let player 1 sample S, player 2 sample T.

  • Define pj=Pr[j ∈ S], qj=Pr[j∈T].

  • 2. We can assume pj=qj=1/2, otherwise

  • Fair Contention Resolution gives ρ>3/4.



3. Let player 1 go first and take S, player 2 takes the rest:

=> player 2 gets at least 1/2 of her desired value.

4. Similarly let player 2 go first, etc.

=> on the average, each player gets 3/4 of their share.

Is it possible that the complement any good set for player 1

is worth only 1/2 of player 2’s good set ??

Slide16 l.jpg

Improvement over ¾ for two players problems

We can assume:

Define new random sets: let player 1 sample two sets S,S’

let player 2 sample two sets T,T’









=> Y is a good set for player 1:

Slide17 l.jpg

Improvement over ¾ for two players, cont. problems









We can assume: E[w1(Y)] = E[w1(S)], E[w2(Z)] = E[w2(T)].

Trick of construction: Y and Z are not independent.

  • By resolving conflicts between Y and Z, we lose only 3/16

    rather than 1/4. We retrieve 13/16 LP in this case.

Slide18 l.jpg

Improvement for n players, general case problems

  • If the fractional solution is unbalanced (there are dominant players

  • for many items) then use the Fair Allocation Procedure.

  • If the fractional solution is balanced, divide players into two groups;

  • use the ideas for 2 players to treat the 2 groups.

  • Sample 2 sets Si , Si’ for each player i∈A; Ti, Ti’ for i∈B.

  • Let

  • Resolve contention in each group separately.

  • As in the case of two players, define:

Slide19 l.jpg

Choose randomly one of four allocation schemes: problems


players in A

players in B

Lemma: For a balanced solution, this achieves at least 0.645 LP.

Slide20 l.jpg

Improvement for GAP problems

  • Consider a fractional solution xi,S and the standard randomized

  • rounding algorithm. 1/e-fraction of items still available.

  • Remaining items always bring value here, but maybe we cannot

  • pack them due to capacity constraints.

  • We can assume that

  • (1) the fractional solution is balanced

  • (2) item values are uniform

  • (3) all sets S allocated to player ihave roughly similar values

  • (Otherwise previous algorithms gain compared to 1-1/e.)

  • In this case, we prove that there is enough value in migrant items.

  • Migrant items have the property that with some probability, each

  • player can pack migrant items from two sets instead of one.