【发布时间】:2011-02-17 03:46:14
【问题描述】:
我有一份我想购买的物品清单。这些商品由不同的商店和不同的价格提供。商店有单独的送货费用。我正在寻找一种最佳的购物策略(以及支持它的 Java 库)以最低的总价购买所有商品。
示例:
- 商品 1 在 Shop1 的售价为 100 美元,在 Shop2 的售价为 111 美元。
- 商品 2 在 Shop1 的售价为 90 美元,在 Shop2 的售价为 85 美元。
- Shop1 的运费:如果总订单
- Shop2 的运费:如果总订单
- 如果我在 Shop1 购买商品 1 和商品 2,总成本为 100 美元 + 90 美元 + 0 美元 = 190 美元。
- 如果我在 Shop2 购买商品 1 和商品 2,总成本为 111 美元 + 85 美元 + 0 美元 = 196 美元。
- 如果我在 Shop1 购买商品 1,在 Shop2 购买商品 2,总成本为 $100 + $10 + $85 + $0 = 195.
如果我在 Shop1 订购商品 1 和商品 2,我将获得最低价格:190 美元
问题
我需要一些提示,哪些算法可以帮助我解决大约 100 件商品和大约 20 家商店的此类优化问题。
我已经查看了apache-math 及其optimization package,但我不知道要寻找什么算法。
Here 是一个后续问题。
【问题讨论】:
-
我错过了什么,或者如果您在 Shop1 购买两者,最低价格是 190 美元吗?
-
哎呀,你是对的。我玩过这些数字并把一些东西弄混了。我会纠正这个。
-
您需要最好的解决方案,还是只需要一个好的解决方案?
-
最好的会很棒,好的就足够了。
-
运费是否像您的示例中那样简单,即始终为“x if total order
标签: java algorithm optimization