小猫领养问题的复杂性


14

这是在我尝试回答有关最小化接线长度的问题时提出的 。我本来将其称为“一夫多妻制婚姻”问题,但互联网却是如此。好极了!

假设我们有需要由采用小猫ñ人,中号> ñ。对于每只小猫,和每个人j都有一个成本c i j。我们希望将收养所有小猫的总成本降到最低。还有一组约束条件:每个人j的收养能力不超过uMNM>Nijcijj小猫。uj

没有约束,问题就很容易解决。每个小猫去与人Ĵ为其Ç Ĵ是最小的。有了这些约束,是否有一个针对该问题的有效算法?ijcij

Answers:


5

这是最小成本最大流量问题。

考虑的曲线图,其中是该组的小猫,是该组的人。G=(AB{s,t},E)AB

为边的容量,c E R +为边的成本。我们确保C:ER+c:ER+

  1. 有之间的边缘,其中一个b Ĵ,和Ç 一个b Ĵ= 1Ç ai,bjaiAbjBC(ai,bj)=1c(ai,bj)=ci,j
  2. 有之间的边缘一个,和Ç 小号一个= 1Ç 小号一个= 0saiAC(s,ai)=1c(s,ai)=0
  3. 有之间的边缘,和Ç b Ĵ= Ü ĴÇ b Ĵ= 0bjBtC(bj,t)=ujc(bj,t)=0

如果最大流量为,那么我们知道存在一个解决方案。您可以从最小成本最大流构建最小成本解决方案。M


4

这是多项式的最小权重完美匹配问题。考虑完全二部图,其中大号包含一个节点每个小猫- [Rü Ĵ节点的副本- [R Ĵ每个人Ĵ,和边缘Ë ĴË之间l ir j的每个副本,权重为c i j(L,R,E)LliiRujrjjeijElirjcij

我们知道,否则不能将所有小猫都分配给其他人。|L||R|

由于完美匹配必须匹配所有节点,因此我们需要向添加虚拟节点(以获得| L | = | R |L|L|=|R|),并将权重为零的边缘连接到所有节点。R


2

可能令人感兴趣的是,有人可以将“分区”缩小为此问题的一个变体。由于是分区与元素的实例q甚至从中我们必须选择一个子集小号{ 1 ... q }| S | = q / 2,使得Σ 小号 X = Σ 小号 X = ķ{x1,,xq}qS{1,,q}|S|=q/2iSxi=iSxi=K。(请注意,选择一半元素的要求不是通常的形式,但这种形式仍然是NP-hard的。)让每只小猫都成为集合中的一个元素。让两个人在一起;设权重为c i 2 = x i;令u 1 = u 2 = q / 2。然后,如果分区实例具有解决方案,则该小猫收养实例的最大值0ci1=xici2=xiu1=u2=q/20

CCq

对于最初问题的复杂性,我不确定这是怎么说的,但是鉴于经常出现的“最小化/最大化之一是NP困难的,另一个是P形式的”组合优化问题,我将开始寻找一个高效的算法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.