我在这里的第一篇文章——希望你能帮助我设计一个我已经考虑了一段时间的算法——不确定要采取什么方法(VRPTW 或资源调度或其他完全的东西!?)
用一个真实的例子来说,我们在少数几个地方(通常少于 5 个)有大量的花园垃圾。必须在给定的时间范围内将废物全部运送到其他地点。为了移动花园垃圾,我们有拖车,必须用汽车牵引。花园垃圾只能在特定时间(时间窗口)丢弃在垃圾场。在某些地方,我们可以将拖车放下,由那里的人来装满或清空,但在其他地方,汽车司机必须自己做,汽车必须留在那儿。可以计算所有时间(即装载/卸载时间、运输时间等)。汽车可以在没有拖车的情况下在站点之间移动,拖车可以拖空,但拖车不能在地点之间移动。
我们的目标是确保所有拖车装载的废物在运输的同时
- 尽量减少使用中的拖车和汽车的数量
- 满足所有丢弃废物的时间窗口
- “平衡”拖车 - 即在一天结束时,我们在每个位置的拖车数量与一天开始时一样多
我曾想过将其作为一种资源调度算法,但我不确定如何处理预告片的“平衡”。
我考虑的另一种方法是首先考虑汽车。然后我可以选择最早的任务并在此之后构建所有可行任务的图表。如果我然后选择通过图表的最长路径将服务于最大数量的拖车负载。然后我可以从任务列表中删除这些任务并重复,直到所有任务都得到服务。然后我需要遍历这些拖车负载列表来计算所需的拖车数量。
任何有关方法的想法将不胜感激!