作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找一个伪代码解决方案来解决 Multiple Knapsack Problem 的问题(优化声明在页面的中间)。我认为这个问题是 NP 完全问题,因此解决方案不需要是最优的,如果它相当有效且易于实现,那将是很好的。
问题是这样的:
我对阈值持灵活态度 - 它不需要严格应用,但应该接近。我的想法是将工作项分配到容器中,其中每个容器代表阈值的 90%、80%、70% 等等。然后,我可以将占 90% 的项目与占 10% 的项目进行匹配,依此类推。
有什么更好的主意吗?
最佳答案
你需要http://www.or.deis.unibo.it/knapsack.html ,第 6.6 章“多背包问题 - 近似算法”。文本中有伪代码(Pascal 风格)和 Fortran 实现(是的,这是一本旧书)作为 ZIP 文件。
关于算法设计: can you provide a solution to the multiple knapsack problem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2392284/
我是一名优秀的程序员,十分优秀!