一种改进遗传算法的共享单车停放点分配方法与流程

文档序号:18476229发布日期:2019-08-20 21:07阅读:277来源:国知局
一种改进遗传算法的共享单车停放点分配方法与流程
本发明涉及共享单车停放点分配算法,具体涉及一种融合线性回归的遗传算法停放点分配方法。
背景技术
:共享单车乱停乱放一直是该行业待解决的问题,为了规范共享单车的停车,许多共享单车运营商都开始建造智能停放点或电子栏杆,积极引导用户将车辆停放到智能停放点范围内。由于在停车请求过多时,存在着一种竞争关系,加上车辆与停放点之间的供需比不断攀升,处理的顺序不同会造成后停的车辆被分配到不同的停放点,距离代价也会有所不同。因此需要一种搜索优化方法来解决这一问题。多目标遗传算法在工程优化上有着广泛的应用。多目标遗传算法由于具有精英机制、种群机制,在求解现实环境中多目标的优化问题有着很多的应用场景。多目标优化问题各个子目标之间往往存在着约束,优化一个子目标会使另一个子目标的代价上升,因此要使所有的子目标同时达到最优是不现实的。处理这类问题的方法通常是使用多目标优化算法求得一个pareto最优解集,再通过人工干预的方法选择出适合问题的解。遗传算法本身属于随机搜索算法,在搜索过程中常常会陷入局部最优的情况,令收敛的代数无限增长,因此需要对其进行改进。cn201711055790“一种共享单车定点停放方法及其系统”提出了一种新的共享单车停放方式,在允许停放单车的区域不停地广播允许停放信息,使共享单车只有在停放区域停车才能实现共享单车的自动上锁、用户确认付费信息,在一定程度上防止了共享单车乱停乱放的问题。但是该发明在实时方面很困难,首先这样会使得用户的体验一般,会打消用户的积极性,其次用户在停车时按广播找寻到停放点时,可能已经被别的车辆占满而无处停车,该发明并不能处理一个动态的问题。cn201711057493“一种共享单车停放管理方法及其系统”提出了一种停放到指定区域降低消费的方式来解决共享单车乱停乱放问题。该发明在获取共享单车之后将可停放单车的区域广播给用户,用优惠的方式刺激用户停车。该方案在一定程度上可以解决共享单车乱停乱放的问题,但该系统在动态规划和高峰期停车的时刻只能靠用户自行寻找停放点,并不能解决在用户到达停放点之前车辆已满的问题。本发明在动态规划停放点分配上有着良好的应用,加入了竞争停车关系,依照贪心算法处理同一时刻内请求停车的用户、遗传算法智能分配停放点,解决动态停车的问题。并对算法进行了优化,加快遗传算法的收敛代数。线性回归是机器学习中经典的回归算法,是现今的主要预测技术。融合了线性回归的遗传算法在一定程度上可以找出停车顺序的内在联系,遗传算法的解码数据用作线性回归的训练集,对训练后的回归系数排序,预测出停车的优先级,能够改善遗传算法局部搜索能力较差的缺点。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种改进遗传算法的共享单车停放点分配方法。为解决上述技术问题,本发明所采取的技术方案如下:改进遗传算法的共享单车停放点分配方法,包括数学模型的构建,多目标遗传算法的实现以及融入线性回归的改进遗传算法;s1.数学模型的构建:设f(x)为待停的单车到停放点的距离代价总和,g(x)为所有停放点之间的停车密度距离代价总和;数学模型表示为:约束条件如下:xij∈{0,1}式中:i为需求停车的车辆位置集合{1,2,3,…,i},j为停车点的位置集合,xij表示车辆i是否分配给停车点j,dij表示车辆i到停车点j的距离,为需求停车的车辆总数分配给每个停车点的均值,bj为每个停车点所能容纳的最大车辆数;s2.多目标遗传算法的实现:1)编码和初始化种群;采用自然数编码;将停车的顺序作为染色体的基因;初始化种群是将随机打乱染色体中基因的组成,来组成初始的种群;2)解码与适应度函数;将种群中的每个个体的染色体解码成为距离代价和密度代价;距离代价的求解是用贪心算法求得每辆车到所有停放点的距离,在停放点有空位的前提下选择最近的停放点停车;密度代价的求解是在按距离代价的分配好之后,用均方差计算每个停放点之间的密度差异,最终得到总体密度代价;3)快速非支配排序和拥挤度计算;解码过程结束之后,需要一个规则来选择出种群中基因优良的个体;首先根据每个个体的非劣程度对种群分层:找出种群中的非支配解,记为第一梯度,然后剔除这一梯度的解;找出剩余个体中的非支配解记为第二梯度,以此类推,完成快速非支配排序;参与竞争中比较的个体会出现相同的梯度,这时候采取拥挤度比较个体的优劣;初始化同一层的个体距离,对排序后的最后一个个体与第一个个体的距离设置为无穷大,将同层的个体按适应度排序,对排序后处于中间的个体求拥挤距离,后续选择拥挤度较大的个体,保持种群的多样性;4)选择和交叉;选择锦标赛选择算法;在当前子代种群中抽取若干对染色体,选择快速非支配排序和拥挤度较优的个体作为精英保留到下一代;5)精英策略;在多目标遗传算法中加入精英策略保证基因良好的个体遗传到下一代,保持种群的多样性,同时也让种群的大小固定;s3.融入线性回归的改进遗传算法1)训练集处理与编码;将遗传算法产生的新个体中是否停到最优停放点作为编码,组成线性回归的输入;2)回归系数的处理;将遗传算法中每个个体的适应度作为输出,与输入结合训练出回归系数,并将其排序,得到的顺序为最终的停车顺序。作为优选:所述s2具体包括如下步骤:2.1染色体编码与初始化种群采用自然数对每辆车进行编码,按处理停车的时间先后顺序组成多目标遗传算法中的染色体;初始化种群操作为随机生成染色体中每个基因的排列,将基因排列随机打乱如下:式中:x为染色体,x1,x2,…,xn为车辆的编号随机排序;2.2快速非支配排序和拥挤度计算使用快速非支配排序和拥挤度对种群进行筛选,作为衡量种群优劣的指标;快速非支配排序是根据每个个体的非劣解程度对种群分层:首先找出种群中的非支配解,记为第一梯度并标记为1,然后从种群中剔除这一梯度的解;继续找出剩下个体中的非支配解,记为第二梯度并标记为2,以此类推,对种群中所有个体标记,同一层的个体拥有相同的标记值;在种群优胜劣汰的过程中,参与竞争的个体若有相同的标记值,此时需要用拥挤度对其评判进行优劣评判;由于拥挤度只在标记等级相同的情况下使用,因此讨论的为同一层里的距离计算;拥挤距离是指与当前个体相邻的两个个体之间的距离,计算方式如下:1)初始化同一层个体的距离;对排序后的最后一个个体与第一个个体的距离设置为无穷大;2)将同层的个体按适应度排序;3)对排序后处于中间的个体求拥挤距离:其中,l[i]d表示个体i的拥挤距离,l[i+1]m表示第i+1个个体的适应度,表示适应度的跨度;4)后续选择拥挤度较大的个体,保持种群的多样性;2.3适应度函数与解码距离代价的解码过程用贪心算法进行求解,计算当前待停车辆到所有停放点的距离,在停放点有空位的前提下,选择最近的停放点停车;距离代价矩阵:2.4选择和交叉算子选择锦标赛选择算法;在当前子代种群中抽取若干对染色体,选择快速非支配排序和拥挤度较优的个体作为精英保留到下一代;操作如下:1)确定每次选择的个体数量;2)在种群里随机选择个体,两两构成一组,根据快速非支配排序和拥挤度,选择适应度最好的个体作为竞争胜利者;3)重复上一步骤,得到足够的个体构成新一代种群;选择简单的自交算法;车辆的序号唯一,造成染色体中不能出现重复的序号,因此随机选择自身某段的基因进行自交;2.5精英策略在多目标遗传算法中加入精英策略。本发明的有益效果是:本发明设计了基于多目标遗传算法的停放点分配系统框架,并指出了遗传算法在数据量增大时局部搜索能力受限,易陷入局部最优的情况。针对这一问题,把距离代价作为单一决策变量,在遗传算法的解码过程中融入了线性回归进行优化,新算法能够在更短的时间内找出最优解,改善了遗传算法的搜索能力。附图说明图1为多目标遗传算法流程图。图2为融合了线性回归的遗传算法流程图。图3为共享单车停放区域示意图。图4为算法收敛代数比较图。具体实施方式下面结合实施例对本发明做进一步描述。下述实施例的说明只是用于帮助理解本发明。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。本实施例的改进遗传算法的共享单车停放点分配方法,主要包括:数学模型的构建,基于多目标遗传算法的共享单车停放点分配算法,改进的融入线性回归的遗传算法。数学模型的构建:停放点分配模型的优化目标主要是距离代价函数和密度代价函数,因此本发明决定采用双目标遗传算法建模。距离代价表示同一时间请求服务的车辆被分配到停放点的距离总和,该目标函数优化目的是使总的距离最小。密度代价表示所有停放点里的车辆数量差异,采用均方差函数优化,总密度代价越小表示车辆分布越均匀,效果越好。多目标遗传算法的实现:1)编码和初始化种群。本发明采用自然数编码,自然数编码在求解实际问题上有着优势,在数据的处理上也容易执行。每辆车的停车顺序不同,停放点有停放数量上限,会导致有些车会被分到不同的停放点,因此将停车的顺序作为染色体的基因。初始化种群是将随机打乱染色体中基因的组成,来组成初始的种群。2)解码与适应度函数。将种群中的每个个体的染色体解码成为距离代价和密度代价。距离代价的求解是用贪心算法求得每辆车到所有停放点的距离,再停放点有空位的前提下选择最近的停放点停车。密度代价的求解是在按距离代价的分配好之后,用均方差计算每个停放点之间的密度差异,最终得到总体密度代价。3)快速非支配排序和拥挤度计算。解码过程结束之后,需要一个规则来选择出种群中基因优良的个体。首先根据每个个体的非劣程度对种群分层:找出种群中的非支配解,记为第一梯度,然后剔除这一梯度的解;找出剩余个体中的非支配解记为第二梯度,以此类推,完成快速非支配排序。参与竞争中可能比较的个体会出现相同的梯度,这时候采取拥挤度比较个体的优劣。初始化同一层的个体距离,对排序后的最后一个个体与第一个个体的距离设置为无穷大,将同层的个体按适应度排序,对排序后处于中间的个体求拥挤距离,后续选择拥挤度较大的个体,保持种群的多样性。4)选择和交叉。本发明选择锦标赛选择算法。在当前子代种群中抽取若干对染色体,选择快速非支配排序和拥挤度较优的个体作为精英保留到下一代。5)精英策略。在多目标遗传算法中加入精英策略可以保证基因良好的个体遗传到下一代,保持种群的多样性,同时也让种群的大小固定。距离代价会随着代数的增长而收敛,但时间成本会随着决策变量的增加而大量增加,因此需要对其进一步优化。距离代价是优化的主要目标,接下来对这个单目标进行算法的改进。融合线性回归的遗传算法在遗传算法框架上,加入线性回归算法,将每辆车是否停到最优停放点作为输入,距离代价作为输出,训练出一种较优的染色体的基因组成,改善遗传算法局部搜索能力。融合了线性回归的改进遗传算法的实现:1)训练集处理与编码。将遗传算法产生的新个体中是否停到最优停放点作为编码,组成线性回归的输入。2)回归系数的处理。将遗传算法中每个个体的适应度作为输出,与输入结合训练出回归系数,并将其排序,得到的顺序为最终的停车顺序。1算法原理本发明主要解决共享单车停放点分配问题。共享单车乱停乱放一直是行业诟病,现如今已经逐渐建立起了智能停放点和电子栏杆等约束停车的方案。停车诱导系统的研究是该行业未来发展的方向,因此停车分配问题需要一个良好的模型,本发明决定采用双目标遗传算法建模。设f(x)为待停的单车到停放点的距离代价总和,g(x)为所有停放点之间的停车密度距离代价总和。数学模型可表示为:约束条件如下:xij∈{0,1}式中:i为需求停车的车辆位置集合{1,2,3,…,i},j为停车点的位置集合,xij表示车辆i是否分配给停车点j,dij表示车辆i到停车点j的距离,为需求停车的车辆总数分配给每个停车点的均值,bj为每个停车点所能容纳的最大车辆数。2多目标遗传算法的实现优化问题通常有多个优化目标,各个目标之间又是矛盾的。改善一个子目标的性能可能会影响其余子目标的性能,因此要使所有子目标同时达到性能最优是不可能的。多目标优化问题的解是由一组pareto最优解集构成的,其中每一个元素都成为非支配解。2.1染色体编码与初始化种群本发明采用自然数对每辆车进行编码,自然数编码因其带有实际意义而有着广泛的应用。每辆车的停车顺序不同,会对最终求得的距离代价产生影响,按处理停车的时间先后顺序组成多目标遗传算法中的染色体。初始化种群操作为随机生成染色体中每个基因的排列,将基因排列随机打乱如下:式中:x为染色体,x1,x2,…,xn为车辆的编号随机排序。例如,染色体[4,2,1,3]表示4号车先停,2号车其次,以此类推。如果2号车分配到的最优停放点车位达到上限,则停往次优的停放点。2.2快速非支配排序和拥挤度计算多目标遗传算法无法实现多个子目标同时达到最优,因此要使用快速非支配排序和拥挤度对种群进行筛选,作为衡量种群优劣的指标。快速非支配排序是根据每个个体的非劣解程度对种群分层:首先找出种群中的非支配解,记为第一梯度并标记为1,然后从种群中剔除这一梯度的解;继续找出剩下个体中的非支配解,记为第二梯度并标记为2,以此类推,对种群中所有个体标记,同一层的个体拥有相同的标记值。在种群优胜劣汰的过程中,参与竞争的个体可能有相同的标记值,此时需要用拥挤度对其评判进行优劣评判。由于拥挤度只在标记等级相同的情况下使用,因此讨论的为同一层里的距离计算。拥挤距离是指与当前个体相邻的两个个体之间的距离,计算方式如下:1)初始化同一层个体的距离。对排序后的最后一个个体与第一个个体的距离设置为无穷大。2)将同层的个体按适应度排序。3)对排序后处于中间的个体求拥挤距离:其中,l[i]d表示个体i的拥挤距离,l[i+1]m表示第i+1个个体的适应度,表示适应度的跨度。4)后续选择拥挤度较大的个体,保持种群的多样性。2.3适应度函数与解码在停放点分配问题中,距离代价主要由停放的顺序和停放点是否有空位组成,由于引入了停放点数量上限的条件,后停的车辆在不同的染色体中可能会分配到不同的停放点。密度代价主要由各停放点的车辆密度组成,使管理更加方便。距离代价的解码过程用贪心算法进行求解,计算当前待停车辆到所有停放点的距离,在停放点有空位的前提下,选择最近的停放点停车。距离代价矩阵:2.4选择和交叉算子本发明选择锦标赛选择算法。由于该算法执行的效率以及实现简单的特点,锦标赛选择算法是很流行的选择策略。在当前子代种群中抽取若干对染色体,选择快速非支配排序和拥挤度较优的个体作为精英保留到下一代。操作如下:1)确定每次选择的个体数量(本发明选择两个)。2)在种群里随机选择个体,两两构成一组,根据快速非支配排序和拥挤度,选择适应度最好的个体作为竞争胜利者。3)重复上一步骤,得到足够的个体构成新一代种群。由于染色体的特殊性,本发明选择简单的自交算法。车辆的序号唯一,造成染色体中不能出现重复的序号,因此随机选择自身某段的基因进行自交。2.5精英策略在多目标遗传算法中加入精英策略可以保证基因良好的个体遗传到下一代,保持种群的多样性,同时也让种群的大小维持在一个固定的数量。2.6算法分析遗传算法的终止条件有多种,本发明选择距离代价达到特定收敛阈值作为结束条件。经过实验可以发现,多目标遗传算法在经过一定的代数之后可以得到一个pareto最优解集,之后用人工干预选择出适合当前问题的解。理论上距离代价会随着代数的增长而收敛,但需要花费的时间成本可能会随着决策变量的增加而大量增加,因此需要对其进一步优化。由于距离代价是优化的主要目标,接下来对这个单目标进行算法的改进。3融合了线性回归的改进遗传算法的实现融合线性回归的遗传算法在基础的遗传算法框架上,融入了线性回归算法,将每辆车是否停到最优停放点作为输入,距离代价作为输出,训练出一种较优的染色体构成,改善遗传算法局部搜索能力。线性回归模型如下:y=wx+bx∈{0,1}式中:xi表示车辆是否停放到最近的停车点,取值为1或0。wi为线性回归系数,y表示停车的距离代价。编码如下:例如,上述第一行[1,0,0,1],则表示1号车和4号车停到了距离本车最近的停车点,2号车和3号车由于最近的停车点停满而停往别的停车点。线性回归是一种普通的回归算法,但应用广泛。损失函数如下:对于这个损失函数,有两种求解最小值的方法,分别是梯度下降法和最小二乘法。最小二乘法用来曲线拟合,因损失函数为平方损失函数,在此情况下,回归问题可以用最小二乘法解决。利用最小二乘法可以解出回归系数:w=(xtx)-1xty训练结束后,将回归系数进行排序。训练之后的回归系数如下:w=[w1,w2,…,wn]假设将回归系数升序排序后得到以下序列:[w3,w2,w1,w4]则最终预测出的停车序列为[3,2,1,4],该顺序表示当前训练结束后该车辆停到最优停放点与否对总距离代价的影响程度,影响较大的先停。每产生一个新的子代,便将其加入线性回归的训练集,使遗传算法和线性回归同步进行。每次更新训练集后重新训练,将训练后得出的回归系数进行排序,对应上原本的车辆序号,得出一个新的遗传算法中的染色体构成。由于单用线性回归在此模型中并不具有稳定性,预测出的顺序时好时坏,因此将线性回归融入遗传算法稳定的结构中能更快的找到最优解。实验结果会受到供需比的影响。每个停放点停车数量上限不同会导致停车的方案和适应度产生较大的差异,供需比在0.5以下会导致算法在短时间内快速收敛,此时并不需要加入线性回归来加快收敛,可以直接用贪心算法来解码。只有在供需比大于0.5时,算法在本发明环境下才有实际的作用。供需比大于0.8的不具有实际意义且单靠遗传算法的运算时间急速激增,因此本发明在供需比上的取值为0.65到0.75之间。实验结果如下表:供需比遗传算法(收敛代数)改进的遗传算法(收敛代数)0.651460.799170.75>17520经过上述实验可知,融合了线性回归的遗传算法和基础的遗传算法都能得到最优解,但本发明使用的算法可以节约一定的时间成本,并改善遗传算法的局部搜索能力。在供需比达到0.75时,遗传算法收敛的代价明显增加。融合了线性回归的遗传算法在停放点分配应用上的收敛速度远远优于基础的遗传算法。本发明提出的优化算法适用于解决基于顺序编码的优化算法,结合回归算法的预测能力,每代进化后获得一个拥有良好基因的子代染色体,一定程度上解决了共享单车使用高峰期的动态停放点分配问题。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1