1.一种产品车辆路径实现方法,其特征在于,所述方法包括:
读取城市道路的点边集信息;
根据预设算法对所述点边集信息进行计算以得到最短路径信息,所述最短路径信息包括配送中心到各个客户的最短路径以及各个客户之间的最短路径;
采用一预设编码方式初始化种群;
根据所述最短路径信息以及所述初始化种群计算每个解对应的目标函数值;
从各个解对应的目标函数值中选出最小的目标函数值,以及与该最小的目标函数值对应的解;
对所述目标函数值依次进行选择操作、交叉操作、变异操作、重插入以及更新记录。
2.根据权利要求1所述的方法,其特征在于,所述采用一预设编码方式初始化种群的步骤包括:
将客户序列随机打乱得到一个新的序列1;
在序列1的N-1个空隙中随机选取K-1个插入0,得到序列2,其中N表示客户总数量,K表示配送车辆总数目;
在序列2的两端分别补上0,得到序列3,序列3即为一个初始解;
根据所述初始解获取初始化的种群。
3.根据权利要求1所述的方法,其特征在于,所述对所述目标函数值进行选择操作、交叉操作、变异操作、重插入、更新记录的步骤包括:
选择操作,根据当前种群中每个解的目标函数值,从中选出偶数组解;
交叉操作,在选择操作后的新种群中,对所有的解进行两两配对,将配对在一起的两个解进行交叉操作;
变异操作,对每一个解随机生成一个预设数值,如果该预设数值小于变异概率,对当前解进行变异操作,否则,不对当前解进行变异操作;
重插入,将变异操作后的一组解及原种群中的部分解重新组合得到新的种群;
更新记录,如果新种群的最优值小于记录的上一种群的最优值,则用新种群的最优值及其对应的解替换记录的上一种群中的最优值及其对应的解,同时令解不变次数为0;否则,不更新记录中的最优值及其对应的解,同时令解不变次数加1。
4.根据权利要求3中所述的方法,其特征在于,所述在选择操作后的新种群中,对所有的解进行两两配对,将配对在一起的两个解进行交叉操作的步骤包括:
从配对在一起的解向量A和解向量B中分别随机选取两个相邻0之间的非零向量,且此非零向量的长度不超过N-K+1,记为向量A1和向量B1,反之,如果随机选取的非零向量的长度超过N-K+1,则将无法完成后续的操作,即会出现某个辆车不被安排任何客户进行配送;
将解向量B中没有在向量A1出现的所有非零分量按顺序组成向量A2;同理,将解向量A中没有在向量B1中出现的所有非零分量按顺序组成向量B2;
在向量A2和向量B2的分量之间的空隙中分别随机选取K-2个位置插入0,得到新的向量A3和B3平;
按照(0 A1 0 A3 0)的形式重新组合得到新的解向量C;
按照(0 B1 0 B3 0)的形式重新组合得到新的解向量D。
5.据权利要求1所述的方法,其特征在于,所述根据预设算法对所述点边集信息进行计算以得到最短路径信息,所述最短路径信息包括配送中心到各个客户的最短路径以及各个客户之间的最短路径的步骤包括:
计算顶点集V中一点a到其余各点的最短路经,其中a表示配送中心,顶点集V表示配送中心和客户组成的点集;
把顶点集V分成两组,一组为已经求出最短路径的顶点集,用R表示;初始时只有一个源点a中每求出一条最短路,便加入到R中,直到全部顶点都加入到R中,算法结束;
另一组为其余未确定最短路径的顶点集,用V\R表示;按最短路径长度的递增次序依次加入到R中,在加入过程中,保持从源点a到中各顶点的最短路径长度小于等于从源点a到V\R中任何顶点的最短路径长度。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取道路交通信息和带时间窗的生鲜农产品VRP问题的基本参数;
其中,所述基本参数主要包括客户地理位置、订单需求量、客户时间窗约束、新鲜度约束。
7.一种产品车辆路径实现装置,其特征在于,包括:
读取模块,用于读取城市道路的点边集信息;
第一计算模块,用于根据预设算法对所述点边集信息进行计算以得到最短路径信息,所述最短路径信息包括配送中心到各个客户的最短路径以及各个客户之间的最短路径;
初始化模块,用于采用一预设编码方式初始化种群;
第二计算模块,用于根据所述最短路径信息以及所述初始化种群计算每个解对应的目标函数值;
选择模块,用于从各个解对应的目标函数值中选出最小的目标函数值,以及与该最小的目标函数值对应的解;
操作模块,用于对所述目标函数值依次进行选择操作、交叉操作、变异操作、重插入以及更新记录。
8.根据权利要求7所述的产品车辆路径实现装置,其特征在于,所述初始化模块用于将客户序列随机打乱得到一个新的序列1;在序列1的N-1个空隙中随机选取K-1个插入0,得到序列2,其中N表示客户总数量,K表示配送车辆总数目;在序列2的两端分别补上0,得到序列3,序列3即为一个初始解;根据所述初始解获取初始化的种群。
9.根据权利要求7所述的产品车辆路径实现装置,其特征在于,所述操作模块包括:
选择单元,用于根据当前种群中每个解的目标函数值,从中选出偶数组解;
交叉单元,用于在选择操作后的新种群中,对所有的解进行两两配对,将配对在一起的两个解进行交叉操作;
变异单元,用于对每一个解随机生成一个预设数值,如果该预设数值小于变异概率,对当前解进行变异操作,否则,不对当前解进行变异操作;
重插入单元,用于将变异操作后的一组解及原种群中的部分解重新组合得到新的种群;
更新单元,用于如果新种群的最优值小于记录的上一种群的最优值,则用新种群的最优值及其对应的解替换记录的上一种群中的最优值及其对应的解,同时令解不变次数为0;否则,不更新记录中的最优值及其对应的解,同时令解不变次数加1。
10.根据权利要求9所述的产品车辆路径实现装置,其特征在于,所述交叉单元用于从配对在一起的解向量A和解向量B中分别随机选取两个相邻0之间的非零向量,且此非零向量的长度不超过N-K+1,记为向量A1和向量B1,反之,如果随机选取的非零向量的长度超过N-K+1,则将无法完成后续的操作,即会出现某个辆车不被安排任何客户进行配送;
将解向量B中没有在向量A1出现的所有非零分量按顺序组成向量A2;同理,将解向量A中没有在向量B1中出现的所有非零分量按顺序组成向量B2;
在向量A2和向量B2的分量之间的空隙中分别随机选取K-2个位置插入0,得到新的向量A3和B3平;
按照(0 A1 0 A3 0)的形式重新组合得到新的解向量C;
按照(0 B1 0 B3 0)的形式重新组合得到新的解向量D。