这与Assignment Problem非常相似,除了完整的无向图而不是二分图。
最愚蠢,最暴力的解决方案是这样的:
获取所有可能的配对配置......
groups = people.combination(2).to_a.combination(people.size/2).to_a
...拒绝多次包含同一个人的所有配置。
groups.reject! { |group| group.flatten.uniq.size < people.size }
然后找到具有最小值的配置。
groups.min_by { |group| group.inject(0) { |pair| value_for(pair) }
是否修改了Assignment Problem的分支定界解决方案,其中考虑到作业和人 两个人?
是否会出现另一个与我所呈现的更相似的组合问题?
如何在不油炸CPU的情况下获得最佳解决方案?
谢谢!