选择最低成本的组合

雷迪

我在不同的餐厅有不同项目的数据

    Rest    Item     Price
    ----------------------
    ABC     dosa      14
    ABC     idly      30
    ABC     idly+upma 25

    123     dosa      30
    123     idly      7
    123     upma      12

    XYZ     dosa      20
    XYZ     idly      12
    XYZ     upma      20
    XYZ     dosa+upma 30
    XYZ     dosa+idly+upma 40

Now I need to pickup a restaurant which gives me the best deal of "dosa+idly+upma" items.

在上面的示例中:它将是“ ABC”餐厅

我无法设计一种有效的方法来做到这一点,或者不知道如何做?任何的想法?

更新

这是我的物体的样子

Class Rest{
  Map<String,Integer> menu; //item,price map
}
什么

这个问题是NP-Hard我将展示Set Set Problem的减少

集合覆盖问题(SCP):
给定一个元素宇宙U(在您的示例中U={dosa,idly,upma})和的子集的集合U,让它成为S(例如S={{dosa}, {idly,upma}, {upma}})找到子集的最小数目以S使它们的并集等于U

减少:
给定一个集合覆盖问题同US,创造你的问题的一个实例,一个餐厅,使得价格每个项目的S(这是一组的一个或多个项目)为1。

现在,为您的问题提供最佳解决方案-可能的最低价格,基本上就是覆盖“宇宙”所需的最小子集数量。
给定解决布套问题的最佳方法-所需的布套数量是子集的最小价格。

结论:
由于我们已经看到有效解决此问题将有效解决SCP,因此我们可以得出结论,问题是NP-Hard,因此没有已知的多项式解决方案(并且大多数人认为不存在)。

替代方案是使用启发式解决方案或蛮力解决方案(只需在指数时间内搜索所有可能性)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选择最低成本的组合

来自分类Dev

切割木板的最低成本

来自分类Dev

最低成本的0/1背包

来自分类Dev

标记顶点以创建最低成本

来自分类Dev

排序数组中的最低成本路径

来自分类Dev

在最低成本的城市中建造街道的算法?

来自分类Dev

查找访问树的所有节点的最低成本

来自分类Dev

爬楼梯的最低成本动态编程

来自分类Dev

寻找最低成本以达到阵列末端

来自分类Dev

排序数组中的最低成本路径

来自分类Dev

在最低成本的城市中建造街道的算法?

来自分类Dev

以最低成本找到等于总和的子集的算法

来自分类Dev

在有向图中找到所有不同的路径并计算最低成本

来自分类Dev

给定k个排序的数字,将它们转换为连续数字的最低成本是多少?

来自分类Dev

如果打开列表包含多个具有最低成本值的节点,则使用A-star扩展哪个节点?

来自分类Dev

安排范围a(n)(a [i] <= 20)以使相等的值形成一个连续的分段的最低成本是多少?

来自分类Dev

如果打开列表包含多个具有最低成本值的节点,则使用A-star扩展哪个节点?

来自分类Dev

成本最低的途径

来自分类Dev

免费或低成本的跨浏览器测试资源?

来自分类Dev

给定一组元组(值,成本),是否有一种算法可以找到存储给定数量的成本最低的元组的组合

来自分类Dev

在ArrayList中查找成本最低的项目

来自分类Dev

动态编程,将成本降到最低?

来自分类Dev

使用动态编程的最低行驶路径成本

来自分类Dev

在多个节点之间找到成本最低的路径

来自分类Dev

“关闭” Azure App Service和Azure SQL Server以降低成本

来自分类Dev

有关此项目的Google App引擎(如果可能),并提供低成本建议

来自分类Dev

通过使用scipy优化的坐标下降法来降低成本函数

来自分类Dev

如何将Cloudant备份到大量低成本存储(例如AWS Glacier)?

来自分类Dev

在我家中创建基于低成本Ubuntu的Cassandra或Hadoop集群的好方法是什么?

Related 相关文章

  1. 1

    选择最低成本的组合

  2. 2

    切割木板的最低成本

  3. 3

    最低成本的0/1背包

  4. 4

    标记顶点以创建最低成本

  5. 5

    排序数组中的最低成本路径

  6. 6

    在最低成本的城市中建造街道的算法?

  7. 7

    查找访问树的所有节点的最低成本

  8. 8

    爬楼梯的最低成本动态编程

  9. 9

    寻找最低成本以达到阵列末端

  10. 10

    排序数组中的最低成本路径

  11. 11

    在最低成本的城市中建造街道的算法?

  12. 12

    以最低成本找到等于总和的子集的算法

  13. 13

    在有向图中找到所有不同的路径并计算最低成本

  14. 14

    给定k个排序的数字,将它们转换为连续数字的最低成本是多少?

  15. 15

    如果打开列表包含多个具有最低成本值的节点,则使用A-star扩展哪个节点?

  16. 16

    安排范围a(n)(a [i] <= 20)以使相等的值形成一个连续的分段的最低成本是多少?

  17. 17

    如果打开列表包含多个具有最低成本值的节点,则使用A-star扩展哪个节点?

  18. 18

    成本最低的途径

  19. 19

    免费或低成本的跨浏览器测试资源?

  20. 20

    给定一组元组(值,成本),是否有一种算法可以找到存储给定数量的成本最低的元组的组合

  21. 21

    在ArrayList中查找成本最低的项目

  22. 22

    动态编程,将成本降到最低?

  23. 23

    使用动态编程的最低行驶路径成本

  24. 24

    在多个节点之间找到成本最低的路径

  25. 25

    “关闭” Azure App Service和Azure SQL Server以降低成本

  26. 26

    有关此项目的Google App引擎(如果可能),并提供低成本建议

  27. 27

    通过使用scipy优化的坐标下降法来降低成本函数

  28. 28

    如何将Cloudant备份到大量低成本存储(例如AWS Glacier)?

  29. 29

    在我家中创建基于低成本Ubuntu的Cassandra或Hadoop集群的好方法是什么?

热门标签

归档