首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于ProblemFactCollectionProperty的规划变量动态个数

基于ProblemFactCollectionProperty的规划变量动态个数
EN

Stack Overflow用户
提问于 2021-10-11 16:48:18
回答 1查看 143关注 0票数 0

问题:卡车分配有限的数量交付给客户。

这辆卡车必须分配给顾客。由于卡车数量有限,卡车需要返回重新装载,以交付给下一个客户。

在仓库卸货,在顾客/少数顾客处卸货,回到仓库。

问题的事实是可以得到的卡车和客户的交付。我们需要动态地找出有多少次可以从卡车旅行-基于少数的时间相关的条件(如卡车可用时间,司机小时等)。

我可以考虑的解决方案:根据业务理解预先计算卡车的最大出行次数--将此作为计划变量。提供违反时间限制的硬分数,所以当卡车超过可用的卡车/行程时间时,很少的行程没有分配。

需要帮助:对于每一个解决的例子,我们有一个固定数量的规划变量,然后规划。即使在链式规划变量(如TSP、VRP)中,我们也预先有固定数量的卡车。

任何帮助都是非常感谢的。如果没有直接的解决办法,我想出的办法是最好的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-12 07:46:47

目前确实建议采取这一解决办法:

  1. 在anchorValueRange中提供了足够的卡车,以确保能够找到可行的解决方案。定义这个数字可能很棘手:通常是平均使用量的两倍。例如,如果您有300次访问,并且平均每辆卡车访问100次,请给它6辆卡车,因为您从未期望它使用超过6辆卡车(而且可能会少得多)。如果卡车有技能或亲和力,这就会变得更加复杂。--

HardMediumSoftScore.

  • 添加一个额外的分数级别:如果你在HardSoftScore上,切换到HardSoftScore

  1. 对使用的卡车数量增加了一个中等限制。这比硬约束(容量等)更软,比软约束(距离等)更硬。

(另一种方法是动态地向值范围添加/移除值,目前仅在OptaPlanner的体系结构中理论上是可行的(不要使用addProblemFactChanges!)这听起来可能是一个完美的解决方案,但是有许多子系统从固定的值范围中获利,因此这种方法会有很大的权衡。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69529819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档