研究问题是带有时间窗的动态车辆路径问题,同时考虑了行驶速度的分时段变化。要求功能实现是采用强化学习算法来实现,可以采用启发式算法生成初始解,然后用强化学习算法来进一步优化的思路。
研究问题是一个总成本最低的模型,考虑了固定成本、运输成本、时间窗惩罚成本、碳排放成本和货损成本,具体的模型已经构建完成,详见模型构建的文档。其中考虑了综合燃油消耗模型来计算详细的油耗(其实不复杂,最后都参数化了)。根据总成本最低的目标函数,来进行路径规划,找到成本尽可能更低的服务路径。
首先就是学习曲线,这部分是需要的,来证明我们的算法是可以快速收敛的。
实验设置方面,首先对随机生成的节点信息进行优化,这部分设计三个不同规模的算例,即 10 个客户点,30 个客户点,50 个客户点,具体的要求如下:
客户节点为 10 的实例下,2 个配送中心,可以安排 8 个初始客户,一个新增客户一个取消客户即可。客户节点为 30 的实例中,3 个配送中心,可以安排 24 个初始客户,4 个新增客户和 2 个取消客户。节点数为 50 的实例中,3 个配送中心,可以安排 40 个初始客户,7 个新增客户和 3 个取消客户。
车辆的最大载重为 1200kg,让每个节点的需求量随机在 200kg 左右即可。需要 4 张图,一张初始路径,剩下的三张是更新之后的路径。由于我们这个是带时间窗的 VRP,也就是说时间是顺着走的,所以更新之后的路径图中,已服务客户的路径应该是不变的。关于新增客户和取消客户这部分做一下详细的解释,新增客户指在配送任务开始之后出现的客户,因为我们这个是考虑了时间窗的,比如配送任务 7 点开始了,10 点的时候有一个新的客户提出了需求,这时候就需要把新增的用户添加到待服务的客户集中,然后重新规划路径。对于取消客户来说也是如此。所以 10 点前已经完成配送的路径,是不能再改变的。
具体的输出格式可以参考我上传的这个文献,路径可视化图,存在三种不同的节点,那么我就用不同的颜色来表示不同类型的节点。在视觉上有更直接的区分度。然后不同的路径用不同的颜色线条来表示。然后我这个是多配送中心的问题,这一点稍微注意一下即可。然后它的是不带时间窗的,所以题注是 t1、t2 时刻的路径。我们这地方标明具体是几点的路径图即可。
节点分布图也是如此,用不同的颜色来表示节点即可。当然如果麻烦的话,节点分布图我可以根据后续你们提供的节点的具体的位置坐标的表格,我自己去画。
然后需要输出在每个规模的实验设置下的路径和总成本求解情况,可以参照下面的这个表格。因为我们这个有动态客户的存在,所以路径更新之后,要输出新的表格(跟可视化的图做对应)。还需要一个表格是每个客户点的到达时间和离开时间的表格。其实都是相当于把底层的计算逻辑做一个展示。只要结果跑出来了,这些表格做一个输出即可。
还有就是每个客户点的信息,参考下面的表格。我们的实验只有客户需求量,没有交付和取件的区分。ET,LT 等字段是客户是时间窗要求,具体可以参考我的模型构建的文档。客户的时间窗限制在 7:00-20:00,软时间窗时长为一个小时,硬时间窗时长在此基础上进行 30 分钟左右的偏移即可。比如客户 1 的示例。每个实例规模的都生成一个表格。
这部分需要多一列,给客户点做一个标签,来表明他们是静态客户、新增客户还是取消客户。对于新增客户和取消客户,标明他们是在哪个时间提出的请求。
然后是算法对比分析,也是是算法优化类的论文需要的一个模块,这部分在 Solomon 数据集上跑就行,这个是比较著名的 VRP 的数据集,稍作调整让其符合我们的实验设置即可。对比一下现有的开源算法即可,比如遗传算法,简单的强化学习算法等,对比两个算法就行。由于 Solomon 数据集中的客户点很庞大,这一部分也不用输出可视化的图,输出总成本的情况即可。Solomon 数据集有三种不同类型分布的点集(R,C,RC),依次跑一下即可,来证明我们的方法在处理一些常见的情况时都有良好的性能。可以参考下面这个论文的结果。因为存在动态客户,所以他设置了动态度,来恒量节点中有多少个动态节点,这部分我们可以做一个模仿,设置动态为为 0.1、0.3、0.5 时,分别输出三个表格即可。另外他是多车型的实验设置,所以有(R101,R201) 两个不同的情况。而我们是单车型,所以我们实际上只需要前三列即可。然后我们对比的时候,就输出总成本和时间窗惩罚成本以及碳排放成本的对比即可。
鄂ICP备2023011697号-1 | Powered By 91代做