Approximation Algorithms for Envy-free Profit-maximization problems Chaitanya Swamy

advertisement
Approximation Algorithms for
Envy-free Profit-maximization
problems
Chaitanya Swamy
University of Waterloo
Joint work with Maurice Cheung
Cornell University
Profit-maximization pricing problems
• seller with m indivisible non-identical items
• items available in limited supply or capacity
• n customers wanting subset(s) of items
Profit-maximization problem: set prices on items and allocate
items to customers so that
– capacity constraints are respected
– each customer can afford her allotted subset (value ≥ price)
GOAL: maximize seller profit = total price paid by customers
Envy-free (EF) profit maximization: also require that
– customer is allotted set with maximum utility (= value – price)
Why envy-freeness?
• Economic motivation – models a fair, “equilibrium” outcome
– Fairness: seller is not biased towards any specific
customer
– Equilibrium: each customer is maximally happy, no
incentive to deviate from/dispute the allocation (given
the prices)
• In settings where customers may lie about valuations, envyfree problem used as a metric for comparing
profitmaximization truthful mechanisms
[Here: consider setting where valuations are known]
With arbitrary (set-based) customer valuation
functions {vi(.)}, envy-free problem becomes very hard:
• complexity issues in describing the valuation functions
• even deciding if a given solution (pricing + allocation) is
feasible is coNP-hard (even given a value oracle for
computing vi(S) given set S)
• even structured cases are not well understood
Focus on a more structured setting – the
single-minded setting
The single-minded problem (SMEFP)
• m non-identical items: item e has supply ue (possibly )
• n customers: customer i desires a single subset Si of items
has valuation vi = max amount she will pay for Si
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
ue= 2 for
all items
item
5
5
5
valuation vi
set Si
8
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
ue= 2 for
all items
5
5
5
3
8
5
5
price pe
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
ue= 2 for
all items
winner
5
5
5
3
8
5
5
price pe
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
envy-free solution with profit = 2(3+5)+5 = 21
ue= 2 for
all items
winner
5
5
5
3
8
5
5
price pe
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
envy-free solution with profit = 2(5+3+3) = 22
ue= 2 for
all items
winner
5
3
5
5
8
5
3
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
NOT an envy-free solution
ue= 2 for
all items
5
5
5
2
8
5
5
8
Set prices {pe} on items, choose a set W of winners s.t.
– capacity constraints: |{ iW: e  Si }| ≤ ue for all items e
– every winner can afford her set: vi ≥ ∑ eSi pe for all iW
– envy-freeness: vi ≤ ∑ eSi pe for all iW
GOAL: maximize profit = ∑ iW ∑ eSi pe
= ∑ e pe.|{ iW: e  Si }|
Two special cases
• Tollbooth problem: items are edges of a graph G,
each set Si is a path of G
– problem is APX-hard even when G is a star, all vi = 1,
all ue =  (Guruswami et al. (G+05))
• Highway problem: the graph G is a path 
sets Si  intervals
– problem is NP-hard even when the intervals are
nested, unlimited supply: all ue =  (Briest-Krysta)
Approximation Algorithm
Hard to solve the single-minded problem exactly –
even very specialized cases are NP-hard.
Settle for approximate solutions.
Give polytime algorithm that always finds nearoptimal solutions.
A is a a-approximation algorithm if,
A runs in polynomial time,
A(I) ≥ OPT(I)/a on all instances I (a ≥ 1).
•
•
a is called the approximation ratio of A.
Related Work
• Guruswami et al. (G+05) introduced the envy-free problem
– also introduced the structured case of unit-demand customers
• NO previous approx. results for SMEFP (with limited supply) or
even its special cases, e.g., tollbooth, highway problems
• Previous settings considered
– unlimited supply problem: logarithmic approximation bounds;
G+05, Briest-Krysta (BK05), Balcan-Blum (BB05)
– non-envy-free limited supply problem: quasi- or pseudo-polytime
exact algorithms/approx. schemes for restricted SM instances;
G+05, BK05, BB05, Grigoriev et al., Elbassioni et al.
– non-EF problem with submodular+ valuations: Dobzinski et al.,
Balcan et al.
Techniques do not extend to the envy-free problem.
Related Work (contd.)
• Hardness results:
– general SM problem: m½-inapproximability even
when ue = 1 "e; log c m-inapproximability (c < 1)
with unlimited-supply (Demaine et al.)
– specialized cases are also APX- or NP-hard (G+05,
BK05)
Our Results
• Give the first approximation algorithms for single-minded envyfree profit-maximization (SMEFP) with limited supply
– for any class of single-minded problems, given LP-based a-approx.
algorithm for finding the max-value allocation, find an EF solution
with Profit ≥ O(OPTvalue/(a.log umax))  O(a.log umax)-approx.
– O(m½ . log umax)-approx. for general SMEFP
– O(log umax)-approx. for tollbooth problem on trees
[“Often” a-inapprox. for max-value problem a-inapprox. for SMEFP]
• Reduction shows
– concrete, explicit connection b/w OPTvalue and optimum profit
– ratio of profit obtained by non-EF and EF solutions = O(a.log umax)
Social-welfare-maximization
(SWM) problem
Choose an allocation, i.e., winner-set W, with maximum total
But how does the LP help in setting prices?
value that satisfies capacity constraints: |{ iW: eSi }| ≤ ue "e
LP relaxation:
Maximize
subject to,
xi : indicates if i is chosen as a winner
∑i vixi
∑i:eSi xi ≤ ue
0 ≤ xi ≤ 1.
for all e
for all i.
LP-optimum is an upper bound on optimum profit.
Will use the LP to determine winner-set W, and will compare
the profit achieved against the LP-optimum
OPT := max ∑i vixi
(P)
s.t. ∑i:eSi xi ≤ ue "e
0 ≤ xi ≤ 1. "i.
OPT := max ∑i vixi
(P) = min ∑e ueye + ∑i zi
s.t. ∑i:eSi xi ≤ ue "e
s.t. ∑eSi ye + zi ≥ vi
0 ≤ xi ≤ 1. "i.
ye, zi ≥ 0
(D)
"i
"e,i
Key insight: the dual variables (ye) furnish envy-free prices
By complementary slackness, at optimality,
• if xi > 0 then ∑eSi ye + zi = vi  ∑eSi ye ≤ vi
• if xi < 1 then zi = 0
 ∑eSi ye ≥ vi
• if ye > 0 then ∑i:eSi xi = ue
 if x is an integer optimal soln. to (P), (y,z) is opt. soln. to (D),
then x along with prices {ye} is a feasible soln. with profit ∑e ueye
x (P) need not have an integer optimal solution
x ∑e ueye could be much smaller than the optimum profit
Highway problem
m edges on a path, edge e has capacity ue
n customers, customer i has valuation vi for subpath Si
OPT := max ∑i vixi
(P) = min ∑e ueye + ∑i zi
(D)
s.t. ∑i:eSi xi ≤ ue "e
s.t. ∑eSi ye + zi ≥ vi "i
0 ≤ xi ≤ 1
"i
ye, zi ≥ 0 "e,i
 if x is an integer optimal soln. to (P), (y,z) is opt. soln.
to (D), then alloc’n. x + prices {ye} is a feasible soln. with
profit ∑e ueye
x (P) need not have an integer optimal solution
(P) always has an integer optimal soln. – follows from
total-unimodularity
OPT := max ∑i vixi
(P) = min ∑e ueye + ∑i zi
(D)
s.t. ∑i:eSi xi ≤ ue "e
s.t. ∑eSi ye + zi ≥ vi "i
0 ≤ xi ≤ 1
"i
ye, zi ≥ 0 "e,i
x ∑e ueye could be much smaller than the optimum profit
 with unit capacities ue = 1 "e, there is an optimal soln. to
(D) with zi = 0 for all i  get Profit = OPT
What about higher capacities?
ue= 2 for all e
vi = 1 for all i
(a)
In every optimal soln. to (D), have ∑e ye ≤ 1 since (a) is a
winner, so Profit = ∑e ueye ≤ 2,
BUT setting price = 1 for all e yields optimal profit = n – 1
Idea: lowering capacities can increase profit
Above: if we set ue = 1 for all e, then there is an optimal soln.
with ye = 1 "e  get optimal profit
Key technical lemma: can always find a capacity-vector u' ≤ u
ue= 2 for all e
s.t. there exists an optimal dual soln. with capacities {u'e} with
vi =u'1 yfor≥allOPT/O(log
i
(a)
∑
umax)
e e e
 if we solve (P) and (D) with capacities u' to get allocation
and prices, then get soln. with Profit ≥ OPT/O(log umax)
The Algorithm
Consider uniform capacities ue = U for simplicity
(Pk),(Dk): primal, dual LPs with ue = k,
OPT(k) : common optimal value of (Pk) and (Dk)
1. For k = 1,2,…,U, find optimal soln. (y(k),z(k)) to (Dk) that
maximizes ∑e k ye.
2. Choose c ≤ U that maximizes ∑e c ye(c).
3. Return {ye(c)} as prices, optimal soln. to (Pc) as allocation.
Can be made polytime by considering k = powers of (1+e).
Analysis
OPT(k) := max ∑i vixi
(Pk) = min ∑e k ye + ∑i zi (Dk)
s.t. ∑i:eSi xi ≤ k "e
s.t. ∑eSi ye + zi ≥ vi "i
0 ≤ xi ≤ 1
"i
ye, zi ≥ 0 "e,i
Lemma: OPT(.) is a concave f’n.
OPT(.) is linear b/w k and k' iff
$common soln. (y,z) that is
optimal for both (Dk), (Dk')
OPT(U)
OPT(1)
1
U
Why? If c = lk+(1–l)k', opt. soln.
to (Dc) is feasible for (Dk), (Dk')
..
OPT(k)
Let bk = break pt. of OPT(.) before k
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
k – bk
.. .
bk k
..
OPT(k)
Let bk = break pt. of OPT(.) before k
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
k – bk
.. .
bk k
Proof: Let (y,z) be common optimal
solution to (Dk), (Dbk).
RHS = ∑e k ye ≤ ∑e k ye(k).
..
OPT(k)
)
k
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(b
OPT(U)
Theorem: Return Profit P* ≥k – b. k
2 HU
.. .
bk k
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
..
OPT(k)
k – bk
OPT(U)
Theorem: Return Profit P* ≥ .
2 HU
.. .
Proof:We have P* ≥ ∑e k ye(k) "k.
Suppose first that bk = k-1 "k.
bk k
P*(U. – bU)/U ≥ OPT(U) – OPT(bU)
..
P*(k– bk)/k ≥ OPT(k) – OPT(bk)
..
.
P* ≥ OPT(1)
[b1 = 0]
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
..
OPT(k)
k – bk
OPT(U)
Theorem: Return Profit P* ≥ .
2 HU
.. .
Proof:We have P* ≥ ∑e k ye(k) "k.
Suppose first that bk = k-1 "k.
bk k
P*/U = P*(U. – bU)/U ≥ OPT(U) – OPT(bU)
.
P*/k =
P*
P*.HU
=
.
P*(k– bk)/k ≥ OPT(k) – OPT(bk)
..
.
P* ≥ OPT(1)
≥ OPT(U)
[b1 = 0]
OPT(k)
..
.. .
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
k – bk
OPT(U)
Theorem: Return Profit P* ≥ .
2 HU
Proof:We have P* ≥ ∑e k ye(k) "k.
bk k bk+1 k+1
May assume that bk  [k-1,k) "k.
P*(U – bU)/U ≥ OPT(U) – OPT(bU)
..
.
P*/k ≥ [OPT(bk+1) – OPT(k)]/[bk+1 – k]
P*(k– bk)/k ≥ OPT(k) – OPT(bk)
..
.
P* ≥ OPT(1)
[b1 = 0]
OPT(k)
..
.. .
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
k – bk
OPT(U)
Theorem: Return profit P* ≥ .
2 HU
Proof: We have P* ≥ ∑e k ye(k) "k.
bk k bk+1 k+1
May assume that bk  [k-1,k) "k.
P*(U – bU)/U ≥ OPT(U) – OPT(bU)
..
.
*
P (bk+1 – k)/k ≥ OPT(bk+1) – OPT(k)
P*(k– bk)/k ≥ OPT(k) – OPT(bk)
..
.
P* ≥ OPT(1)
[b1 = 0]
..
OPT(k)
.. .
Lemma: ∑e k ye(k) ≥ k. OPT(k)-OPT(bk)
k – bk
OPT(U)
Theorem: Return profit P* ≥ .
2 HU
Proof: We have P* ≥ ∑e k ye(k) "k.
bk k bk+1 k+1
May assume that bk  [k-1,k) "k.
P*/U ≥ P*(U – bU)/U ≥ OPT(U) – OPT(bU)
..
.
*
*
P /k ≥ P (bk+1 – k)/k ≥ OPT(bk+1) – OPT(k)
P*/k ≥
P*.(k– bk)/k ≥ OPT(k) – OPT(bk)
..
P*
≥
P*(b2 – 1) ≥ OPT(b2) – OPT(1)
P*
≥
P* ≥ OPT(1)
[b1 = 0]
2P*.HU
≥ OPT(U)
Remark: Can prove that all break pts. bk are integers
i.e., dual soln. changes only at integer values of k
 can take bk = k-1 "k and save factor of 2
Proof heavily uses total-unimodularity of constraint matrix
Open Question:
•What does this integer-breakpoint property mean?
–Implications about structure of polytope?
Applications in combinatorial optimization (CO)?
How does it relate to other concepts in CO?
–Are there other interesting classes of problems with
(“approx.”) integer-breakpoint property?
The general problem (SMEFP)
OPT := max ∑i vixi
(P) = min ∑e ueye + ∑i zi
(D)
s.t. ∑i:eSi xi ≤ ue "e
s.t. ∑eSi ye + zi ≥ vi "i
0 ≤ xi ≤ 1
"i
ye, zi ≥ 0 "e,i
x (P) need not have an integer optimal solution
if we have a winner-set W s.t. {i: xi = 1}  W  {i: xi > 0},
and ue ≥ |{ iW: e  Si }| ≥ ∑i:eSi xi /a for every e, then
(W,{ye}) is a feasible soln. with Profit ≥ ∑e ueye/a
Recall complementary slackness: at optimality,
• if xi > 0 then ∑eSi ye + zi = vi  ∑eSi ye ≤ vi
• if xi < 1 then zi = 0
 ∑eSi ye ≥ vi
• if ye > 0 then ∑i:eSi xi = ue
Can use an LP-based a-approx. algorithm for SWM-problem
to obtain W with desired properties
– W  {i: xi = 1}
– decompose (remaining fractional soln.) /a into
convex combination of integer solns. (Carr-Vempala, Lavi-S)
Key technical lemma: can always find a capacity-vector u' ≤ u
s.t. there exists an optimal dual soln. with capacities {u'e} with
∑e u'eye ≥ OPT/O(log umax)
 if we solve (Du') to get prices, round opt. soln. to (Pu') to
get W, then get soln. with Profit ≥ OPT/O(a.log umax)
How to deal with non-uniform capacities?
Similar approach: obtain a bound on max. profit achievable
with an optimal dual soln. with capacities {u'e}
Leverage this to get a telescoping-sum argument
BUT, OPT(.) is now a multivariate function – makes both
steps more difficult
Need to define and analyze breakpoints, slopes of OPT(.)
along suitable directions.
Algorithm for (general) SMEFP
(Pk),(Dk): primal, dual LPs with ue = ke "e,
OPT(k) : common optimal value of (Pk) and (Dk)
1. For suitable vectors k = k1, k2,…,kr , (r: polynomial) find
optimal soln. (y(k),z(k)) to (Dk) that maximizes ∑e keye.
2. Choose vector c{k1, k2,…,kr} that maximizes ∑e ceye(c).
3. Return {ye(c)} as prices, round optimal soln. to (Pc) to
obtain W.
Summary of Results
• Give the first approx. algorithms for single-minded envy-free
profit-maximization problems with limited supply
– primal LP for SWM-problem can be rounded to get allocation;
dual LP furnishes envy-free prices
– can find capacity-vector u' ≤ u and opt. dual soln. (y,z) for (Du')
s.t. ∑e u'eye ≥ OPT/O(log umax)
– so LP-based a-approx. for SWM-problem  O(a.log umax)approx. for envy-free problem
• Same guarantees when customers desire multiple disjoint
multisets, and for non-EF versions of these problems
• Envy-freeness hurts seller by at most O(a.log umax)-factor
Open Questions
• Results for (more) general set-based valuation functions,
say, given a demand-oracle for each customer. Need a new
upper bound – OPTSWM can be >> opt. profit (Blum)
• Improved results for structured SM problems. Constant-
factor for tollbooth problem? PTAS for highway problem?
• Better understanding of the integer-breakpoint property.
– Implications about structure of polytope? Applications
in combinatorial optimization (CO)? How does it
relate to other concepts in CO?
– Are there other interesting classes of problems with
(“approx.”) integer-breakpoint property?
Thank You.
Download