JSprit:如何最大化可用车辆数量以减少时间
Posted
技术标签:
【中文标题】JSprit:如何最大化可用车辆数量以减少时间【英文标题】:JSprit: How to maximize the number of available vehicles to reduce time 【发布时间】:2019-02-20 07:15:00 【问题描述】:我正在尝试解决一个由取货和送货组成的 vrp。我有 73 辆车,我想使用所有可用的车辆来减少整个流程的时间。我观察到结果是 24 辆车从未使用过,而其他车辆则获得了多项工作。问题是一些已分配的车辆实际上会在离未分配车辆更近的位置返回下一项工作,而在距离上一个位置更远的位置。所以看起来引擎仍在尝试使用最少的车辆。我该如何更改参数,例如:
“FixedCost”,
“DistanceCost”,
“TravelTimeCost”,
“WaitingTimeCost”
最大化使用的车辆数量?我试图改变一些方法(将一些值设置为 FixedCost 或使其等于零),将值添加到 DistanceCost、TravelTimeCost,但仍然无法正常工作。我仍然看到车辆从事多项工作,而许多离其中一些工作更近的车辆将永远不会在可用时间使用。
【问题讨论】:
我会在下面尝试: 1. 您是否尝试覆盖默认目标函数?看到这个得到一个想法:getObjectiveFunction (Jsprit.java)。 2. SoftActivityConstraint - 添加一个软活动约束来鼓励更多的车辆使用? 3.同时检查SolutionAcceptor.java的实现者发生了什么 【参考方案1】:我认为最大化车辆数量并不是你真正的需求,但也许你想在时间上最小化最长的路线。
所以这和AbeProblemMinMax是同一个问题。
但是,这是在 jsprit v1.3 中实现的,这是一个相当旧的版本。请参阅 here 在 v1.7.3 中重新实现。
【讨论】:
以上是关于JSprit:如何最大化可用车辆数量以减少时间的主要内容,如果未能解决你的问题,请参考以下文章