English

Graph Pricing with Limited Supply

Data Structures and Algorithms 2019-12-12 v1

Abstract

We study approximation algorithms for graph pricing with vertex capacities yet without the traditional envy-free constraint. Specifically, we have a set of items VV and a set of customers XX where each customer iXi \in X has a budget bib_i and is interested in a bundle of items SiVS_i \subseteq V with Si2|S_i| \leq 2. However, there is a limited supply of each item: we only have μv\mu_v copies of item vv to sell for each vVv \in V. We should assign prices p(v)p(v) to each vVv \in V and chose a subset YXY \subseteq X of customers so that each iYi \in Y can afford their bundle (p(Si)bip(S_i) \leq b_i) and at most μv\mu_v chosen customers have item vv in their bundle for each item vVv \in V. Each customer iYi \in Y pays p(Si)p(S_i) for the bundle they purchased: our goal is to do this in a way that maximizes revenue. Such pricing problems have been studied from the perspective of envy-freeness where we also must ensure that p(Si)bip(S_i) \geq b_i for each iYi \notin Y. However, the version where we simply allocate items to customers after setting prices and do not worry about the envy-free condition has received less attention. Our main result is an 8-approximation for the capacitated case via local search and a 7.8096-approximation in simple graphs with uniform vertex capacities. The latter is obtained by combing a more involved analysis of a multi-swap local search algorithm for constant capacities and an LP-rounding algorithm for larger capacities. If all capacities are bounded by a constant CC, we further show a multi-swap local search algorithm yields an (42C1C+ϵ)\left(4 \cdot \frac{2C-1}{C} + \epsilon\right)-approximation. We also give a (4+ϵ)(4+\epsilon)-approximation in simple graphs through LP rounding when all capacities are very large as a function of ϵ\epsilon.

Keywords

Cite

@article{arxiv.1912.05010,
  title  = {Graph Pricing with Limited Supply},
  author = {Zachary Friggstad and Maryam Mahboub},
  journal= {arXiv preprint arXiv:1912.05010},
  year   = {2019}
}
R2 v1 2026-06-23T12:42:05.869Z