Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 我如何编写算法来优化没有延迟交货的交货路线?_Algorithm_Path Finding_Directions - Fatal编程技术网

Algorithm 我如何编写算法来优化没有延迟交货的交货路线?

Algorithm 我如何编写算法来优化没有延迟交货的交货路线?,algorithm,path-finding,directions,Algorithm,Path Finding,Directions,我哥哥刚开始一项送货工作,目前他每天最多只有6次送货,送货分为三类:上午6点-中午12点-下午6点和任何时候。这让我想到,他每天早上如何计划最佳路线,以确保不延误交货,同时尽可能缩短完成交货所需的时间 因此,我想提出一种算法,在给定交付列表(lat、long、min-delivery time和max-delivery time)的情况下实现这一点。我觉得这似乎很难,特别是因为谷歌地理编码和方向API每24小时的调用量有限 所以为了简化,我回到了不超过圈数的可变时间段,并决定我可以假设最短的总距

我哥哥刚开始一项送货工作,目前他每天最多只有6次送货,送货分为三类:上午6点-中午12点-下午6点和任何时候。这让我想到,他每天早上如何计划最佳路线,以确保不延误交货,同时尽可能缩短完成交货所需的时间

因此,我想提出一种算法,在给定交付列表(lat、long、min-delivery time和max-delivery time)的情况下实现这一点。我觉得这似乎很难,特别是因为谷歌地理编码和方向API每24小时的调用量有限

所以为了简化,我回到了不超过圈数的可变时间段,并决定我可以假设最短的总距离等于最短的总时间。我知道我们第一次从接卡车的地方开始,但我不知道该在哪里结束,因为从卡车取货开始,到达时间段中每个点的最短路径可能会导致距离下一个时间段最近的交货很远,我也不知道下一个时间段中的哪个交货将用作第一个时间段的“最后”交货

我希望我解释得足够好,这是可以理解的,也为了这个问题,请忽略Anytime时间块,因为我可以稍后筛选那些增加总体距离最小的时间块(大部分时间,但我将一次处理一个问题)。此外,尽管目前我哥哥每天只有6次左右的送货,我还是希望能想出一个解决方案,在增加送货时不会变得指数级的慢,这样它就能支持更多的送货,如果它能处理100次,那就足够了

如果你认为有更好的(更容易但仍然能产生正确的结果)方法来解决这个问题,而不是可变数量的非重叠时间块,我也很乐意听到这个


谢谢

对我来说这听起来像是个好消息。谢谢,我以前从未听说过,或者如果我听过,我已经忘了。知道没有什么好的解决方案可以帮助我更舒适地使用我之前提出的解决方案,我认为这个解决方案可以正常工作。在我把它做成更漂亮的格式,然后在一张纸上乱涂乱画之后,我会把它贴出来。你可能想看看,你可以用它来解决你的tsp问题,而不是写你自己的问题。