Given two point sets S and T, the minimum-cost many-to-many matching with demands (MMD) problem is the problem of finding a minimum-cost many-to-many matching between S and T such that each point of S (respectively T) is matched to at least a given number of the points of T (respectively S). We propose the first O(n^2) time algorithm for computing a one dimensional MMD (OMMD) of minimum cost between S and T, where |S|+|T|=n. In an OMMD problem, the input point sets S and T lie on the real line and the cost of matching a point to another point equals the distance between the two points. We also study a generalized version of the MMD problem, the many-to-many matching with demands and capacities (MMDC) problem, that in which each point has a limited capacity in addition to a demand. We give the first O(n^2) time algorithm for the minimum-cost one dimensional MMDC (OMMDC) problem.
翻译:给定两个点集S和T,最小成本多对多带需求匹配(MMD)问题旨在寻找S与T之间的最小成本多对多匹配,使得S(或T)中的每个点至少与T(或S)中给定数量的点相匹配。本文提出了首个计算S与T之间最小成本一维MMD(OMMD)的O(n^2)时间算法,其中|S|+|T|=n。在一维MMD问题中,输入点集S和T位于实轴上,两点匹配的成本等于它们之间的距离。进一步,我们研究了MMD问题的推广形式,即带需求与容量约束的多对多匹配(MMDC)问题,该问题中每个点除了需求外还有容量上限。我们给出了首个针对最小成本一维MMDC(OMMDC)问题的O(n^2)时间算法。