{
  "abstract": "The demand matching problem generalizes both the knapsack problem and the $b$-matching problem. In this problem, each edge of a graph has a demand and a weight, and each vertex has a capacity. The goal is to find a maximum weight subset of edges such that, at each vertex, the total demand of the incident selected edges does not exceed the vertex capacity. Parekh [IPCO 2011] proved that, if each edge is individually feasible, the natural LP relaxation for demand matching has integrality gap at most $3$, yielding a $3$-approximation algorithm. This bound is tight for the natural LP relaxation, matching the lower bound of Shepherd and Vetta [Math. Oper. Res. 2007]. We present a randomized $(3/2 + \\sqrt{2} + \\varepsilon) \\approx (2.914 + \\varepsilon)$-approximation algorithm for the demand matching problem for every $\\varepsilon > 0$, giving the first approximation ratio strictly better than $3$. For bipartite graphs, we obtain a randomized $(2 + \\varepsilon)$-approximation algorithm for every $\\varepsilon > 0$. Both algorithms run in time polynomial in $1/\\varepsilon$ and the input length. Our algorithms use a strengthened LP relaxation based on intersecting the integral knapsack polytopes associated with the vertices, together with a multiple-choice generalization. As a key ingredient, we prove the existence of a $(q, 1/(1+q))$-balanced contention resolution scheme for the integral knapsack polytope for every $q \\in [0, 1]$, which may be of independent interest. The balance guarantee $1/(1+q)$ is tight in the worst case over all knapsack instances.",
  "abstract_shown": true,
  "affiliations": [],
  "article_type": null,
  "arxiv": "2609.17932",
  "author_total": 2,
  "authors": [
    {
      "name": "Michel X. Goemans"
    },
    {
      "name": "Yuchong Pan"
    }
  ],
  "bibtex": "https://research.draconitic.com/paper/agmpkmysvw7mc.bib",
  "cited_by": 0,
  "doi": "10.48550/arxiv.2609.17932",
  "fulltext_url": null,
  "id": "agmpkmysvw7mc",
  "issns": [],
  "landing_url": "https://arxiv.org/abs/2609.17932",
  "language": null,
  "licence": "LicenseRef-arXiv-nonexclusive-1.0",
  "licence_label": "arXiv licence",
  "licence_source": "article",
  "licence_url": "http://arxiv.org/licenses/nonexclusive-distrib/1.0/",
  "metadata_licence": "CC0-1.0",
  "native_subjects": [
    [
      "arxiv",
      "cs.DM"
    ],
    [
      "arxiv",
      "cs.DS"
    ],
    [
      "arxiv",
      "math.CO"
    ],
    [
      "openalex",
      "1703|Complexity and Algorithms in Graphs"
    ]
  ],
  "openalex": "W7213499617",
  "pdf_url": "https://arxiv.org/pdf/2609.17932",
  "pmcid": null,
  "pmid": null,
  "published": "2026-09-15",
  "publisher": null,
  "ris": "https://research.draconitic.com/paper/agmpkmysvw7mc.ris",
  "sources": [
    {
      "first_seen": "2026-10-30T12:22:04Z",
      "native_id": "2609.17932",
      "source": "arxiv",
      "url": "https://arxiv.org/abs/2609.17932"
    }
  ],
  "subjects": [
    {
      "field": "mathematics",
      "origin": "arxiv:math.CO",
      "subfield": "combinatorics"
    }
  ],
  "title": "A Better-Than-$3$ Approximation Algorithm for Demand Matching via Knapsack Intersection LP and Contention Resolution",
  "title_text": "A Better-Than-$3$ Approximation Algorithm for Demand Matching via Knapsack Intersection LP and Contention Resolution",
  "type": "preprint",
  "updated_at": "2026-10-30T12:22:04Z",
  "url": "https://research.draconitic.com/paper/agmpkmysvw7mc",
  "venue": "arXiv",
  "versions": []
}