我想为下面的问题实现一个算法。稍后需要在T-SQL中实现
shopping列表。现在我必须找到商店的组合,这些商店提供ALL的商品,而所需的商店数量最少。
我确信这个问题经常得到解决,而且算法有自己的名字,但我无法通过搜索找到它。
发布于 2013-06-07 18:40:48
对不起,我想我第一次误解了这个问题。你的问题本质上是一个集合覆盖问题,它是NP-完全的.有一些启发式方法,但是没有最优解。
(这类似,但不完全是您的问题,值得一看) 背包问题
发布于 2013-06-07 18:37:25
不确定任何特定的算法。但考虑到你的要求,我会:
如果你真的想优化这一点,你可以找任何多余的商店。多余的商店会有一个或多个在你的名单上的其他商店提供的物品。
再想一想,这个问题可以用二元线性规划来解决。其中每个商店都是可变的,并且约束条件是每个商品必须由至少一个商店提供服务。然后,尽量减少商店的数量。不确定如何在T中解决这个问题。
https://stackoverflow.com/questions/16990725
复制相似问题