文案:星空AD
排版:随心390
hello,大家好。各位可点击左下方阅读原文,访问公众号官方店铺。谨防上当受骗,感谢各位支持!
新来的小伙伴可以点击号内搜索这篇推文左下角阅读原文,即可搜索往期推文!
接下来,我们进入正题。针对VRP问题,在规划路线之前一般假定涉及到的参数和信息都是确定的。在这样的假定下,所做的路径安排也是相对固定的,因而这类车辆路径问题被称为确定型VRP。
然而,由于客观世界中存在着大量不确定性,如需求、顾客分布、旅行时间及服务时间不确定等,由此衍生出不确定条件下的车辆路径优化问题SVRP。相较于VRP问题,SVRP问题的求解难度更高、涉及的知识面更广。
本次推文以SVRPTW问题为基点,给出一种求解该问题的数学模型:机会约束规划模型以及判断路径是否满足概率约束条件的随机模拟方法。
推文中的SVRPTW问题指的是不确定旅行及服务时间下的车辆调度问题,为了表示这种不确定性,一般假设旅行时间及服务时间分别为服从某一概率分布的随机变量,这里的时间窗为硬时间窗约束,即车辆在任一顾客点的开始服务时间必须位于对应顾客的服务时间窗范围内。由于旅行时间、服务时间均为随机变量,那么车辆在任一顾客点处的到达时间、开始服务时间同样为随机变量,为了简化问题的求解难度,一般假设旅行时间与服务时间是相互独立的。
为了后文叙述方便,定义相应的符号变量表示如下:
TTij为车辆在顾客点i至顾客点j的行驶时间,
STi表示车辆在顾客点i处的服务时间,
ATi表示车辆在顾客点i处的到达时间,
WTi表示车辆在顾客点i处等待服务的时间,
SSi表示车辆在顾客点i处的开始服务时间,
顾客点i处对应的服务时间窗口为[ei,li]。
其中ATj=ATi+WTi+STi+TTij,SSi=max{ATii,ei},WTi=max{ei-ATi,0}。
机会约束规划模型的抽象表达形式如下:
其中f(x)为目标函数,x为决策变量,约束条件集合为X。其约束条件在SVRPTW中具体表现为:
,V为顶点集合(顾客点+车场),这里的α可以理解为对应顾客点所需的服务水平。
SVRPTW问题的数学模型相较于VRPTW问题的数学模型仅多了一个概率约束,故这里不再给出详细给出,具体可参考文末列出的参考文献。这里着重阐述判断路径是否满足概率约束的求解方法:随机模拟(蒙特卡洛模拟)。
前文中已假设旅行时间、服务时间均为服从某一概率分布的随机变量并且两者是相互独立的,那么此时是否可以通过卷积特性求解到达时间或开始服务时间的概率分布呢?
此处,以某一路径为例,通过模拟仿真生成车辆在该路径上各顾客点的实际到达时间。路径信息如表1所示,模拟仿真结果如图1所示(这里假设服务时间为0,车辆行驶速度为1)[1]。通过仿真结果,可以发现车辆在顾客点处的到达时间并不准确服从某一已知的概率分布。事实上为了简化计算,可以采用某一概率分布去估计到达时间的概率分布,如正态分布、对数正态分布等。
由于硬时间窗约束的存在,使得卷积特性无法直接应用于到达时间概率分布的求解计算当中。然而,对SVRPTW问题的求解,最为关键的一环便是估计车辆在任一顾客点处的到达时间。为此,可以从统计角度出发,基于大数定律,利用随机模拟来判断路径是否满足概率约束条件,此处以机会约束
为例。
其中,B为车辆持续运行时间上限,为对应的服务水平[2],具体流程如下:
Step1 令t=1,sum0=0,将设置为一个充分大的整数,如100000;
Step2 若t≤N0,重复Step3-Step6,否则转Step8;
Step3 令k=0,sum1=0;
Step4 根据给定的概率测度,从样本空间中产生
Step5 令
;
Step6 若k<ni,转到Step4,否则转Step7;
Step7 若sum1<B,令sum0⬅sum0+1。置t⬅t+1并转到Step2;
Step8 若sum0/N0≥β,返回值“TURE”,否则返回值“FALSE”。
后续推文中,将为大家分享离散化思想求解到达时间概率分布的方法以及修正策略下随机规划模型在SVRP问题中的应用。
参考文献
1.DouglasMoura Miranda&Samuel Vieira Conceição(2016).The vehicle routing problemwith hard time windows and stochastic travel and service time.Expert SystemsWith Applications,64,104-116.
2.Xiangyong Li, Peng Tian&Stephen C.H.Leung b(2010).Vehicle routing problems with time windows and stochastic traveland service times:Models and algorithm.Int.J.Production Economics,125,137-145.
更多精彩尽在:优化算法交流地
往期精选
- 号内搜索
- MATLAB数学建模教学(二) | 如何使用YALMIP检验数学模型的正确性?
- 优化算法交流地免费代码合集(2020年9月6日更新)
- 这本高质量的智能优化算法自学书籍,你下载了吗?
- 数学建模上分利器,小论文中稿神器,赶快学习近15年来较新颖的智能优化算法!
- 这个高质量的MATLAB自学网站,你收藏了吗?
- 免费代码 | 头脑风暴优化(BSO)算法求解旅行商问题(TSP)MATLAB代码
- 头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)
- 一种新颖的交叉算子——头脑风暴优化(BSO)算法求解旅行商问题(TSP)预备知识
- 头脑风暴优化(BSO)算法(附MATLAB代码)
- 如何自学智能优化算法?
- 不是吧,MATLAB代码居然能直接转成C/C++代码
- 遗传模拟退火算法求解旅行商(TSP)问题MATLAB代码讲解
- 遗传模拟退火算法求解旅行商(TSP)问题
- 车辆路径问题(VRP)合集
- 旅行商问题(TSP)合辑
- MATLAB导入txt文件技巧大全
- 遗传算法(GA)求解旅行商问题(TSP)MATLAB代码讲解
- 遗传算法求解0-1背包问题(附matlab源代码)
- 模拟退火(SA)算法求解旅行商 (TSP)问题MATLAB代码讲解
- 多目标优化 | 基于NSGA-II的多目标0-1背包问题求解(附matlab代码)
- 多目标优化 | NSGA-II进阶教程(全网首个三目标优化教程)
- 机器学习 | 基于遗传算法的BP神经网络优化算法(附MATLAB代码)
- 遗传算法求解车间调度问题(附MATLAB代码)
- 多目标优化 | NSGA-II
- word转换为pdf后图片失真的解决办法(全网首发)
- 机器学习 | 简单实现Bp神经网络
- 二维装箱问题之BL法修正版(附MATLAB代码)
- 快速入门文献管理软件-EndNote X9
- 什么?都2020年了,你还不知道知网检索的这些技巧?
- 最小二乘法(附MATLAB代码)
- NSGA-II多目标优化算法讲解(附MATLAB代码)
- 基于人工势场法的机器人二维路径规划(附MATLAB代码)
- 基于粒子群算法的多目标搜索算法讲解(附MATLAB代码)
- 蚁群算法通俗讲解(附MATLAB代码)
- 混合粒子群算法通俗讲解(附MATLAB代码)
知乎 | bilibili:随心390