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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: e Si }| ≤ ue for all items e – every winner can afford her set: vi ≥ ∑ eSi pe for all iW – envy-freeness: vi ≤ ∑ eSi pe for all iW GOAL: maximize profit = ∑ iW ∑ eSi pe = ∑ e pe.|{ iW: 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: |{ iW: eSi }| ≤ ue "e LP relaxation: Maximize subject to, xi : indicates if i is chosen as a winner ∑i vixi ∑i:eSi 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:eSi xi ≤ ue "e 0 ≤ xi ≤ 1. "i. OPT := max ∑i vixi (P) = min ∑e ueye + ∑i zi s.t. ∑i:eSi xi ≤ ue "e s.t. ∑eSi 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 ∑eSi ye + zi = vi ∑eSi ye ≤ vi • if xi < 1 then zi = 0 ∑eSi ye ≥ vi • if ye > 0 then ∑i:eSi 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:eSi xi ≤ ue "e s.t. ∑eSi 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:eSi xi ≤ ue "e s.t. ∑eSi 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:eSi xi ≤ k "e s.t. ∑eSi 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:eSi xi ≤ ue "e s.t. ∑eSi 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 ≥ |{ iW: e Si }| ≥ ∑i:eSi 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 ∑eSi ye + zi = vi ∑eSi ye ≤ vi • if xi < 1 then zi = 0 ∑eSi ye ≥ vi • if ye > 0 then ∑i:eSi 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.