我正在尝试解决此问题:Jobs。 到目前为止,我认为问题与Assignment Problem相同,分配器和区域表示为二分图,边缘代表概率。但是在这里我们需要最大化产品而不是匹配边缘的权重之和。
我想到的一个想法是将每个边缘重量更改为log(重量)。然后问题基本上变为找到最大总和,然后可以使用Assignment Problem的算法来解决。但这会带来一个问题,因为应用log会使边权重非整数,我认为匈牙利算法不起作用。
请建议其他一些替代方法。
答案 0 :(得分:1)
理论上,匈牙利算法在实际权重下工作正常。
在实践中,由于大多数整数对数不能完全表示为浮点数,因此可能会出现这种情况,即舍入会改变最优解。有这样的方法可以解决这个问题,但是你不太可能在这个编程竞赛问题上需要它们。