一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于金字塔变种群演化的共享巴士调度方法

2022-04-16 22:25:39 来源:中国专利 TAG:


1.本发明涉及共享车辆调度技术领域,具体地说,涉及一种基于金字塔变种群演化的共享巴士调度方法。


背景技术:

2.随着共享经济时代的到来,共享出行方式逐渐进入大众的视野,受到大众的关注和青睐。共享巴士相比于传统公交、私家车、地铁、出租车等出行方式,有着“比公交舒适、比自驾省心、比地铁省力、比出租省钱”的优点。
3.共享巴士调度问题是一种具有np难度的组合优化问题,其核心技术是车辆路径规划算法(ppa)。目前常用于车辆路径规划的算法有遗传算法(ga)、粒子群算法(pso)、模拟退火算法(sa)、蚁群算法(aco)、邻域搜索算法(ns)等。这些方法都有各自的优点,但也存在一定的局限性,如计算复杂度高、收敛性差、易陷入局部、迭代速度慢等缺点使得路径规划处于一个瓶颈。
4.对于传统的车辆路径规划算法(ppa),有单车场单车型、单车场多车型、多车场多车型几种分类。这几种分类方式都有对应的适用场景,但他们都只是对车场的车辆根据已知的固定路线来分配车辆,或对已知的车辆分配固定的路线。
5.研究表明,遗传算法可以有效地解决车辆调度问题。然而,传统的遗传算法只能解决连续问题,而共享巴士问题具有离散性。此外,传统遗传算法还存在种群规模固定、收敛速度慢、精确度不理想等问题。针对这些,前人在遗传算法的基础上结合了其他算法,比如锯齿状变种群进化、减半法变种群进化等方式来优化种群解决实际问题,但对于共享车辆调度方面的研究却少之又少。


技术实现要素:

6.本发明的内容是提供一种基于金字塔变种群演化的共享巴士调度方法,其能够很好的应用于共享车辆调度问题之中。
7.根据本发明的基于金字塔变种群演化的共享巴士调度方法,其包括以下步骤:一、根据具体时间地点的乘客需求,由车辆的适应度通过轮盘赌法选择可行车辆,由此生成初始可行解和初始种群;二、对生成的种群迭代进行改进后的交叉操作;三、对交叉后形成的可行解进行变邻域搜索;四、在种群迭代至指定代数时执行金字塔变种群操作;五、在得到的近似最优解中归纳出每种车型的最佳车辆数。
8.作为优选,步骤一中,将问题转换为编码,形成染色体,先对染色体上的基因根据成本最小的原则标注了适应度,然后采用轮盘赌法的形式选择基因,从而形成一个初始可行解;每个基因的适应度由下列公式计算得到:
(1)(2)(3)(4)其中,(1)式表示每辆车的成本由当前车的固定成本p1c和行驶成本p2c与行驶里程r的乘积得到;(2)式中v
max
为所有可用车成本的最大值;(3)式中表示每辆车在参与轮盘计算的实际值;(4)式中pc表示当前可用车在轮盘中的所占比例;最终所有车辆的路线连在一起就形成了整个初始可行解。
9.作为优选,步骤二中,具体包括以下步骤:(1)、在当前种群中选出适应度最好的10%可行解形成topn优解集合;(2)、让种群中的每个可行解与优质解进行交叉操作;(2.1)、从topn优解中随机选择优质解;(2.2)、从优质解中选出交叉片段;(2.3)、用优质片段来替换普通解对应的片段;(3)、调整交叉后的普通解交叉片段之外的其他部分,使新解变成可行解;(4)、得到新的种群。
10.作为优选,步骤三中,变邻域搜索包括两种方式:a、完全交换两辆型号不同的车的所有路线;b、任意交换同一时刻所有地点中的任意两个路线。
11.作为优选,步骤四中,金字塔变种群操作的方法为:a、种群演化:种群淘汰只发生在指定代数;若当前迭代次数小于金字塔下一层级时,维持当前层级的种群规模进行演化;b、种群划分:当种群进化至金字塔层级所在代数时,将当前种群分成n组;c、种群筛选:分别从n个组中选出一定比例适应度较好的染色体;d、种群合并:将n个组中选出的优质染色体合并为新的种群;循环上述过程直至进化结束。
12.6、根据权利要求1所述的基于金字塔变种群演化的共享巴士调度方法,其特征在于:步骤五中,生成车型最佳车辆数的公式如下:(5)(6)其中,是车辆集合,n表示最佳车辆总数,代表具体车辆。(5)式表示最佳车辆
总数由车辆集合中的车辆计算得出;(6)式为(5)式的约束条件,表示每辆车只有为1时,即被调度过才会被计算。
13.本发明能较佳地应用与共享车辆调度,能够取得更好、更稳定的效果;具体如下:(1)所有车辆的调度完全共享,即无车场的概念。指定范围内的所有共享车辆在接送完乘客后无需返回“车场”,在接送乘客的终点等待下一次接送任务即可。
14.(2)车辆接送的起始点不固定。在传统的车辆调度问题中,行驶节点均已知,车辆只需考虑下一时刻前往哪一节点;而在共享巴士调度问题中,每一调度时刻车辆的接送路线由接送点的乘客需求动态决定。
15.(3)提供一种新型变种群进化思路,使进化算法较好的应用于离散型共享车辆调度问题之中。
16.(4)较准确预测每种车型的最佳车辆数。
附图说明
17.图1为实施例1中一种基于金字塔变种群演化的共享巴士调度方法的流程图;图2为实施例1中初始种群生成图;图3为实施例1中交叉算法示意图;图4为实施例1中acvr算法示意图;图5为实施例1中ctrs搜索示意图;图6为实施例1中金字塔变种群过程示意图;图7(a)为实施例1中两种模式在调度成本方面的对比图;图7(b)为实施例1中两种模式在总调度车辆数方面的对比图;图8(a)为实施例1中迭代1000次调度成本比较示意图;图8(b)为实施例1中迭代3000次调度成本比较示意图;图8(c)为实施例1中迭代5000次调度成本比较示意图;图9(a)为实施例1中迭代1000次每种车型的调度情况对比示意图;图9(b)为实施例1中迭代3000次每种车型的调度情况对比示意图;图9(c)为实施例1中迭代5000次每种车型的调度情况对比示意图;图9(d)为实施例1中调度车辆数对比示意图;图10(a)为实施例1中bgad、pme、eouv三种算法迭代1000次后的五次成本比较示意图;图10(b)为实施例1中bgad、pme、hmpe三种算法迭代1000次后的五次成本比较示意图;图10(c)为实施例1中bgad、pme、smpe三种算法迭代1000次后的五次成本比较示意图;图10(d)为实施例1中bgad、pme、eouv、hmpe、smpe五种算法迭代1000次后的横向综合比较示意图;图11为实施例1中敏感性参数分析示意图。
具体实施方式
18.为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
19.实施例1本实施例提出的pme算法的总体流程为:1. 根据具体时间地点的乘客需求,由车辆的适应度通过轮盘赌法选择可行车辆,由此生成初始可行解和初始种群。
20.2. 对生成的种群迭代进行改进后的交叉操作。
21.3. 对交叉后形成的可行解进行变邻域搜索。
22.4. 在种群迭代至指定代数时执行金字塔变种群操作。
23.5. 在得到的近似最优解中归纳出每种车型的最佳车辆数。
24.第一阶段 初始种群的生成传统的遗传算法中初始可行解的生成采用随机的方式,这种方式的优势是在进化的过程中通过交叉变异生成的解具有更多的可能性,缺点是迭代速度慢。对于连续型的问题,随机选择可以发挥出它的优势,因为随机选择生成的解总在可行域内,而我们要解决的共享巴士车辆调度问题属于离散型的问题,因此传统遗传算法的优势就无法突出,相反缺点却被放大。
25.而在我们改进后的pme算法中,先对染色体上的基因根据成本最小的原则标注了适应度,然后采用轮盘赌法的形式选择基因,从而形成一个初始可行解。每个基因的适应度由下列公式计算得到:(1)(2)(3)(4)其中,(1)式表示每辆车的成本由当前车的固定成本p1和行驶成本p2与行驶里程r的乘积得到。(2)式中vmax为所有可用车成本的最大值。(3)式表示每辆车在参与轮盘计算的实际值。(4)式中pc表示当前可用车在轮盘中的所占比例。
26.因为每个基因的适应度不同,因此在采用轮盘赌法选择基因的过程中每个基因被选中的概率也不同。适应度更大的基因更有可能会被选中,同时轮盘赌的方式也保证了基因选择的随机性,因此最终得到的初始可行解相比于传统遗传算法得到的初始可行解来说,更像是传统的初始可行解在进化了n代后得出的结果。这种方式使得种群的迭代速度大大得到了提高。
27.最终所有车辆的路线连在一起就形成了我们的染色体(初始可行解),如图2所示。
28.进化操作的改进传统遗传算法的进化操作中最重要的部分是交叉和变异。首先根据适应度采用轮盘赌法选择当前种群中的两个染色体,然后以一定的概率对这两条染色体进行交叉操作,
交换两个染色体的部分基因生成新的染色体,再对新的染色体以一定的概率进行变异操作,从而得到新的种群。在连续型问题中,这样的做法使得得到的种群质量更优,因为新生成的染色体总在问题的可行区域内,但在离散型问题中,根据适应度采用轮盘赌的方式会使一些适应度稍弱的染色体始终不被选择,从而使得交叉变异后的结果具有一定的局限性。
29.针对该问题,本发明提出的改进后pme算法对种群的进化操作进行了修改:1. 在当前种群中选出适应度最好的10%可行解形成topn优解集合;2. 让种群中的每个可行解与优质解进行交叉操作;2.1 从topn优解中随机选择优质解;2.2 从优质解中选出交叉片段;2.3 用优质片段来替换普通解对应的片段;3. 调整交叉后的普通解交叉片段之外的其他部分,使新解变成可行解;4. 得到新的种群。
30.因为topn优解的基因是当代种群中比较优异的基因,因此普通解在与topn优解进行交叉操作后,使得可行解的质量得到大概率提高,从而使整个种群朝着更好的方向进化。同时每个可行解都进行交叉操作可使种群进化操作覆盖率为百分之百,避免进化陷入局部最优。交叉部分的示意图如图3所示。
31.变邻域搜索在完成交叉操作后,采用邻域搜索来对交叉后的可行解进行进一步的优化。具体到我们要解决的共享巴士问题,邻域搜索是指对具体车辆的行驶路线进行邻域搜索,本实施例采用两种方式来实现:1、 完全交换两辆型号不同的车的所有路线(acvr)假设要交换的两辆车是指a型1号车(载客量为30)和b型5号车(载客量为10)。它们原本的路线分别为:1号车:2-》1-》3-》55号车:1-》5-》4-》2-》1那么交换后,两辆车的路线就变为:1号车:1-》5-》4-》2-》15号车:2-》1-》3-》5具体示意图如图4所示。
32.2、 任意交换同一时刻所有地点中的任意两个路线(ctrs)假设10点钟地点1,2,3,4,5,6,7,8,9都有乘客需要安排车辆,对于2号地点,有30名乘客需要派车,原本安排了载客量为10的2号车 载客量为20的3号车完成这次接送;对于6号地点,有10名乘客需要派车,原本安排了载客量为30的1号车完成这次接送。本方案就是交换2号地点和6号地点的派车方案。
33.考虑到整个染色体由所有车辆的路线组成,而我们要交换的是同一时刻的两辆车,因此我们需要先找出交换时刻对应的所有车辆,从中选出两辆车,然后交换这两辆车的路线。
34.具体示意图如图5所示。
35.因为车的型号不同,因此交换两条路线后有以下几种可能性:(1)交换后使得调度成本增加。
36.(2)交换后使得调度成本减少。
37.(3)交换后使得调度成本保持不变。
38.综上,邻域搜索的结果有好有坏,对于邻域搜索后使得调度成本减少的方案,就是对交叉操作的优化,此时的邻域搜索结果可以保留;对于邻域搜索后使调度成本增加或保持不变的方案,对于交叉操作没有任何优化,直接舍弃。
39.金字塔变种群规模优化种群进化金字塔变种群规模是在pme基础进化算法之上的第二层算法。种群的规模对种群进化是至关重要的,过大的种群规模会导致迭代速度非常缓慢,过小的种群规模会导致种群陷入局部收敛。相比于传统进化算法的固定种群和多种群并行进化,本发明提出了性能更优的金字塔分层变种群的方式。在金字塔算法中,每层的种群规模均不相同,越偏底层的种群规模越大,越偏顶层的种群规模越小。在整个种群进化过程中,迭代到指定代数时就进行一次种群淘汰,直到最后到达金字塔顶尖部分的种群即为基因较为优异的种群。变种群规模金字塔算法的过程可描述为:种群演化:金子塔算法的种群淘汰只发生在指定代数。若当前迭代次数小于金字塔下一层级时,维持当前层级的种群规模进行演化。
40.种群划分:当种群进化至金字塔层级所在代数时,将当前种群分成n组。
41.种群筛选:分别从n个组中选出一定比例适应度较好的染色体。本实施例取75%。
42.种群合并:将n个组中选出的优质染色体合并为新的种群。
43.循环上述过程直至进化结束。金字塔变种群规模的过程示意图如图6所示。
44.生成车型最佳车辆数生成每种车型的最佳车辆数是在pme基础进化算法上的第三层算法,在pme算法中,初始给定的可用车辆数一定大于最终实际所需的车辆数,否则会出现车辆不够派遣的情况。因此对于没有调度的车辆,在生成每种车型的最佳车辆数时就可以舍弃,只保留会被调度的车辆。具体公式如下:(5)(6)其中,是车辆集合,n表示最佳车辆总数, 代表具体车辆。(5)式表示最佳车辆总数由车辆集合中的车辆计算得出;(6)式为(5)式的约束条件,表示每辆车只有为1时,即被调度过才会被计算。
45.实验对比本次实验是在一台处理器为intel(r) core(tm) i7-9750h cpu @ 2.60ghz 2.59 ghz,内存为16gb的电脑上完成。
46.本次实验从模式和算法两个方面进行实验对比:1. 模式上传统的车辆调度问题采用的方式是:先生成路线,根据每个时间每个地点的调度需求生成多个可串联的路线,再分别为这些路线安排调度车辆。而我们改进的pme算法可以实现路线未知情况下的车辆调度共享。图7展示了两种模式在调度成本和总调度车辆数两个方面的对比。
47.从图7(a)和图7(b)看出,无论是调度成本,还是总调度车辆数,共享调度方式均优于传统调度。这与预期相符,传统调度模式是先根据每个时间每个地点的调度需求生成多个可串联的路线,再分别为这些路线安排调度车辆。这种方式的弊端在于每个时间每个地点的调度需求可能是不同的,一旦将它们串联成一条路线,那只能根据路线上每个节点的最大需求来调度车辆,从而会造成车辆满载率过低的情况存在。
48.而共享调度模式是对每个时间每个地点的需求直接安排近似最优的调度车辆,然后为每辆车生成一天内的调度路线,从而最大程度上保证了满载率,降低了成本。
49.2. 算法上将pme算法与传统的遗传算法、邻域搜索算法从调度成本和调度车辆数两个方面进行比较,实验结果如图8(a)、图8(b)、图8(c)、图9(a)、图9(b)、 图9(c)、图9(d)所示。
50.将模型分别采用pme、ga、ns算法迭代1000次、3000次、5000次,本实施例提出的pme算法的准确率均远远优于传统的遗传算法和邻域搜索算法。与此同时,我们发现从500代开始,传统的遗传算法的迭代效率极其缓慢,这与预期相符。在离散型问题中,传统遗传算法中的轮盘赌法使得部分普通解始终不被选择,因此整个种群在进化过程中容易陷入局部收敛。而本实施例提出的pme算法就很好的规避了这一缺点。
51.图9(a)、图9(b)、 图9(c)展示三种算法迭代1000次、3000次、5000次每种车型的调度情况,从图中可以看出,本发明提出的pme算法每种车型的调度比较均衡,且调度数量相对较少。从图9(d)中可以看出,本发明提出的结合了邻域搜索的金字塔变种群演化算法所需的调度车辆数均远少于传统的遗传算法、邻域搜索的调度总车辆数。
52.关于可变种群迭代,前人提出过减半法变种群和锯齿状变种群两种方式,通过理解及复现,本发明提出了更优的分组取优合并的金字塔变种群演化方式,并成功将其运用到pme基础进化算法中。图10展示了引入金字塔迭代,即分组变种群的pme算法与pme基础进化算法,以及前人提出的减半法变种群、锯齿状变种群进行比较的结果。
53.其中bgad代表未加变种群的基础进化算法,pme代表引入分组变种群进化,eouv代表不分组变种群进化,hmpe代表减半法变种群进化,smpe代表锯齿状变种群进化。图10(a)为bgad、pme、eouv三种算法迭代1000次后的五次成本比较,图10(b)为bgad、pme、hmpe三种算法迭代1000次后的五次成本比较,图10(c)为bgad、pme、smpe三种算法迭代1000次后的五次成本比较,图10(d)为bgad、pme、eouv、hmpe、smpe五种算法迭代1000次后的横向综合比较。
54.通过图10(a)、图10(b)、图10(c)、图10(d)四组实验,可以看出本发明提出的金字塔变种群演化,即分组变种群迭代
‑‑
pme算法的整体效果是最好的。这与预期相符,分组变种群在种群筛选过程中,采用先将种群分成n个组,再从n个组中选取一定比例的优质染色体组成新种群的方式,使得优质染色体被保留的情况下,让一些目前不是优质的染色体仍
有被选择的机会,为种群进化提供了更多的可能性,最终得到的效果也更好一些。
55.图11为bgad、pme、eouv、hmpe、smpe五种算法从最大值、最小值以及平均值三个维度的对比,可以发现,无论是最大值,还是最小值和平均值,pme算法的成本均小于其他,体现出pme算法相对稳定的解质量。
56.表1展示了ga、ns、pme、eouv、hmpe、smpe六种算法对于时间地点规模分别为3x3、5x5、8x8、10x10时,在init、best、avg、worst四个维度上的对比。实验数据表明,无论是best,还是avg、worst,本发明提出的pme算法的综合性能都是最好的。在不同的规模中,其余几种算法都有出现过best值好于pme算法的情况,但通过多次实验对比,发现这几种算法的稳定性较差,导致avg和worst值始终大于pme算法。
57.表1 算法性能比较以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献