tan*_*ens 5 java constraints mathematical-optimization constraint-programming
我有一份我想买的物品清单.这些物品由不同的商店和不同的价格提供.商店有个人送货费用.我正在寻找最优购物策略(以及支持它的java库)以最低的总价购买所有商品.
如果我在Shop1订购Item1和Item2:190美元,我会得到最低价格
之前我问了另一个问题,这让我进入了约束编程领域.我看了一下奶油和巧克力,但我没弄明白如何创建一个模型来解决我的问题.
| shop1 | shop2 | shop3 | ...
-----------------------------------------
item1 | p11 | p12 | p13 |
item2 | p21 | p22 | p23 |
. | | | |
. | | | |
-----------------------------------------
shipping | s1 | s2 | s3 |
limit | l1 | l2 | l3 |
-----------------------------------------
total | t1 | t2 | t3 |
-----------------------------------------
Run Code Online (Sandbox Code Playgroud)
我的想法是定义这些约束:
目标是"总成本".我想尽量减少这个.
在奶油中,我无法表达有条件运费的"if then"约束.
在choco中存在这些限制,但即使对于5个项目和10个商店,程序运行10分钟而没有找到解决方案.
我应该如何表达我的约束以使约束编程求解器能够解决这个问题?
我已经在MiniZinc(一种高级约束编程语言)中实现了这个问题:shopping_basket.mzn。它非常先进,也许可以用作 Java 模型的模型。
对于Choco模型,你尝试过不同的搜索策略吗?不同的策略可能会更快。
顺便说一下,您可能想要查看的另一个 Java 约束编程求解器是JaCoP。
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |