基于蚁群算法和遗传算法的AGV小车协同调度方法及系统
技术领域
本发明涉及一种AGV小车协同调度技术领域,是一种基于蚁群算法和遗传算法的AGV小车协同调度方法及系统。
背景技术
在AGV小车(无人搬运车)调度过程中,随着实际生产环境、A+GV小车数目等因素的变化,AGV小车的调度需求也会有所增大,现有的AGV小车路径调度算法多为单一算法,在多辆AGV小车共同工作的过程中,往往难以保障所有AGV小车的均衡调度和利用,因此会发生相向冲突、同向冲突、转向冲突等等问题,导致调度期间产生拥堵,甚至停止作业等问题,会造成设备资源的浪费,导致路径拥堵,甚至AGV小车停止作业,使整个调度系统停滞。
发明内容
本发明提供了一种基于蚁群算法和遗传算法的AGV小车协同调度方法及系统,克服了上述现有技术之不足,其能有效解决现有AGV小车路径调度算法存在不能对同时工作的所有AGV小车进行均衡调度,造成路径拥堵的问题。
本发明的技术方案之一是通过以下措施来实现的:一种基于蚁群算法和遗传算法的AGV小车协同调度方法,包括以下步骤:
S1,在二维地图模型上确定每辆AGV小车的起点和终点;
S2,根据蚁群算法选择每辆AGV小车的最优路径;
S3,根据遗传算法寻找所有AGV小车的最优调度顺序。
下面是对上述发明技术方案的进一步优化或/和改进:
上述S3根据遗传算法寻找所有AGV小车的最优调度安排,其过程包括:
S31,建立寻优目标函数Mx,寻优目标函数Mx为每辆AGV小车的最优路径所消耗的最少时间;
S32,编码,确定AGV小车优先级,制定AGV小车调度规则,其中,调度规则包括拥堵路段能同时通过的AGV小车数量;
S33,变量初始化,设置子种群的个数、各子种群交叉概率、变异概率、路段并行数、适应度函数Fi、个体被选择概率Pi;
S34,遗传寻优,经过交叉、变异,并在待迭代次数完成,输出最优调度顺序。
上述S31建立寻优目标函数Mx的过程包括,
设定第1个小车通过第一个路段的时间
C(i1,1)=P(1,1)
则第1个小车通过第K个路段的时间
C(ik,1)=C(ik-1,1)+P(k,1)
则第j个小车通过第K个路段的时间
C(ik,j)=max{C(ik-1,j),C(ik,j-1)}+P(k,j)
因此寻优目标函数Mx如下所示:
Mx=C(ik,j)=max{C(ik-1,j),C(ik,j-1)}+P(k,j)
其中k=1,2,L,m;j=1,2,L,n。
上述S2根据蚁群算法选择每辆AGV小车的最优路径,其过程包括:
S21,变量初始化,设置蚂蚁种群个数、迭代次数、最大迭代次数、信息素浓度,并将将AGV小车的初始位置设置为蚁群所在位置,AGV小车的终点位置设置为食物所在位置;
S22,根据转移概率公式进行静态路径寻优,确定每辆AGV小车的最优路径,转移概率公式如下所示:
其中,α为信息素的相对重要程度;β为启发式因子的相对重要程度;Jk(i)为蚂蚁k下一步可以走的位置集合;k为蚂蚁编号;t为时刻;ηij为启发式因子,反映蚂蚁由节点i转向节点j的启发程度;τij代表节点(i,j)之间的信息素量。
上述二维地图模型为利用栅格法建立的二维地图模型,其中制定大小坐标为20×20的地图坐标系。
本发明的技术方案之二是通过以下措施来实现的:一种基于蚁群算法和遗传算法的AGV小车协同调度系统,包括AGV小车最优路径选择单元和最优调度顺序寻找单元;
AGV小车最优路径选择单元,用于在二维地图模型上确定每辆AGV小车的起点和终点;并根据蚁群算法选择每辆AGV小车的最优路径;
最优调度顺序寻找单元,用于根据遗传算法寻找所有AGV小车的最优调度顺序。
下面是对上述发明技术方案的进一步优化或/和改进:
上述还包括地图模型构建单元,用于利用栅格法建立的二维地图模型,其中坐标系为20×20的地图坐标系。
本发明在建立地图的条件下,通过蚁群算法求所有AGV小车的最优路径,并将其按照节点划分路段计算时间开销,然后利用遗传算法对多目标进行全局优化,得到耗时较短的AGV小车调度安排策略,保证了所有AGV小车的均衡调度,解决了单一算法不能对同时工作的所有AGV小车进行均衡调度,造成路径拥堵的问题。同时本发明采用的蚁群算法和遗传算法的协同调度方法,较以往的单一调度算法而言,时间复杂度相比较低,迭代速度较快,不会陷入局部最优解。
附图说明
附图1为本发明实施例1的流程图。
附图2为本发明实施例1根据遗传算法寻找所有AGV小车最优调度顺序的流程图。
附图3为本发明实施例1根据蚁群算法选择每辆AGV小车最优路径的流程图。
附图4为本发明实施例2的结构框图。
附图5为本发明实施例3的二维地图模型图。
附图6为本发明实施例3的AGV小车1最优路径图。
附图7为本发明实施例3的AGV小车2最优路径图。
附图8为本发明实施例3的AGV小车3最优路径图。
附图9为本发明实施例3的AGV小车4最优路径图。
附图10为本发明实施例3所有AGV小车的最优调度顺序图。
具体实施方式
本发明不受下述实施例的限制,可根据本发明的技术方案与实际情况来确定具体的实施方式。
下面结合实施例及附图对本发明作进一步描述:
实施例1:如附图1、2、3所示,该基于蚁群算法和遗传算法的AGV小车协同调度方法,包括以下步骤:
S1,在二维地图模型上确定每辆AGV小车的起点和终点。
上述利用栅格法建立二维地图模型,并在二维地图模型中制定大小坐标为20×20的地图坐标系;在二维地图模型分别指定小车1~小车n起始坐标地点(xi,yi),i=1,2,L,n,任务目标地点坐标(xo,yo)。
S2,根据蚁群算法选择每辆AGV小车的最优路径,如附图3所示,其具体过程如下:
S21,变量初始化,设置蚂蚁种群个数、迭代次数、最大迭代次数、信息素浓度,并将将AGV小车的初始位置设置为蚁群所在位置,AGV小车的终点位置设置为食物所在位置;
上述变量可根据实际需要进行设置,例如蚂蚁种群个数m可设置为100,迭代次数记n可设置为100,设置最大迭代次数Nmax可设置为100,信息素浓度p可设置为0.5。同时在二维地图模型上标注AGV小车的初始位置和终点设置。
S22,根据转移概率公式进行静态路径寻优,确定每辆AGV小车的最优路径,转移概率公式如下所示:
其中,α为信息素的相对重要程度;β为启发式因子的相对重要程度;Jk(i)为蚂蚁k下一步可以走的位置集合;k为蚂蚁编号;t为时刻;ηij为启发式因子,反映蚂蚁由节点i转向节点j的启发程度;τij代表节点(i,j)之间的信息素量。
以一个取AGV小车为例,蚁群算法具体为:取AGV小车的初始位置(蚁群所在位置)的一只蚂蚁开始寻路,计算转移概率Pij k(t),禁忌表开始初始化,记录蚂蚁走过的节点,再选择下一个节点,更新禁忌表,一直重复,得到找到AGV小车的终点位置(食物所在位置),记录路径长度,第一只蚂蚁寻路结束;蚁群的第二只蚂蚁开始寻路,并根据之前的蚂蚁在寻路过程所遗留的信息素来重新计算转移概率,进行寻路,寻路结束之后,记录当前的路径长度,并与第一只蚂蚁的路径长度进行比较,若路径长度较小,则记为最优路径;一直循环至蚁群所有蚂蚁到达AGV小车的终点位置(食物所在位置);记录并输出比较得到的最优路径及其所包含路段信息。
S3,根据遗传算法寻找所有AGV小车的最优调度顺序,如附图2所示,其具体过程包括:
S31,建立寻优目标函数Mx,寻优目标函数Mx为每辆AGV小车的最优路径所消耗的最少时间;
上述目标函数Mx的建立过程如下所示:
第1个小车通过第一个路段的时间
C(i1,1)=P(1,1)
第1个小车通过第K个路段的时间
C(ik,1)=C(ik-1,1)+P(k,1)
第j个小车通过第K个路段的时间
C(ik,j)=max{C(ik-1,j),C(ik,j-1)}+P(k,j)
因此寻优目标函数如下所示:
Mx=C(ik,j)=max{C(ik-1,j),C(ik,j-1)}+P(k,j)
其中k=1,2,L,m;j=1,2,L,n。
S32,编码,确定AGV小车优先级,制定AGV小车调度规则,其中,调度规则包括拥堵路段能同时通过的AGV小车数量;
以4辆AGV小车为例,任何一辆AGV小车,首先都会进入第一个路段,此时,路段不存在拥挤情况,即无拥堵情况产生,无需考虑优化,当处于拥堵路段时,该路段同时行驶的最大通行数量可设为2,此刻便会产生编码问题,根据编码中小车的优先级,小车依次通过路段;若采用如图4所示的编码方式,此编码情况下,小车4优先级最高,其次小车2,小车1,小车3,因此根据规则在拥堵路段小车4和小车2先通过,在小车4或小车2通过拥堵路段之后,再考虑小车1,同理之后考虑小车3。
S33,变量初始化,设置子种群的个数、各子种群交叉概率、变异概率、路段并行数、适应度函数Fi、个体被选择概率Pi;
根据上述目标函数,适应度函数Fi为其中k=1,2,L,m;j=1,2,L,n;i=1,2,L,M;个体被选择概率Pi为其中i=1,2,L,M
上述变量可根据实际需要进行设置,例如子种群的个数可为M=100,各子种群交叉概率可为Pci=0.9,变异概率可为Pmi=0.01,路段并行数可为n=2,设定进化代数可为G=100。
S34,遗传寻优,经过交叉、变异,并在待迭代次数完成,输出最优调度顺序。
本发明在建立地图的条件下,通过蚁群算法求所有AGV小车的最优路径,并将其按照节点划分路段计算时间开销,然后利用遗传算法对多目标进行全局优化,得到耗时较短的AGV小车调度安排策略,保证了所有AGV小车的均衡调度,解决了单一算法不能对同时工作的所有AGV小车进行均衡调度,造成路径拥堵的问题。同时本发明采用的蚁群算法和遗传算法的协同调度方法,较以往的单一调度算法而言,时间复杂度相比较低,迭代速度较快,不会陷入局部最优解。
实施例2:如附图4所示,该基于蚁群算法和遗传算法的AGV小车协同调度系统,包括AGV小车最优路径选择单元和最优调度顺序寻找单元;
AGV小车最优路径选择单元,用于在二维地图模型上确定每辆AGV小车的起点和终点;并根据蚁群算法选择每辆AGV小车的最优路径;
最优调度顺序寻找单元,用于根据遗传算法寻找所有AGV小车的最优调度顺序。
可根据实际需要,对上述发明作进一步优化或/和改进:
如附图4所示,还包括地图模型构建单元,用于利用栅格法建立的二维地图模型,其中制定大小坐标为20×20的地图坐标系。
实施例3:如附图5、6、7、8、9、10所示,将AGV小车的个数设定为4辆,其具体路径协同调度过程如下所示:
(1)建立的二维地图模型,在二维地图模型上确定每辆AGV小车的起点和终点
如附图5所示,利用栅格法建立二维地图模型,制定大小坐标为20×20的地图坐标系,并分别指定AGV小车1至AGV小车4坐标地点(4,2)、(1,8)、(2,4)、(2,7),任务目标地点坐标(15,16)。其中,白色区域设定为可通行区域,黑色区域设定为障碍区域。
(2)根据蚁群算法选择每辆AGV小车的最优路径
如附图6、7、8、9所示,依次为AGV小车1、AGV小车2、AGV小车3、AGV小车4的最优路径图,其中三角形所在位置设为AGV小车起点,五角星所在位置设为AGV小车终点,其中由点构成的线即为AGV小车的最优路径。
(3)根据遗传算法寻找所有AGV小车的最优调度顺序
a、附图6、7、8、9中,AGV小车1的路径长度为25个格子,AGV小车2的路径长度为22个格子,AGV小车3的路径长度为25个格子,AGV小车4的路径长度为22个格子,其中AGV小车2和AGV小车4产生了路径冲突,AGV小车2、AGV小车3及AGV小车4也产生了路径冲突。
b、计算每辆AGV小车的最优路径所消耗的最少时间,具体如下述矩阵所示:
行数的数量为参与任务调度小车的数量,列数的数量为每一个AGV小车任务调度时需要经过的路段数;因此第一行数据即为AGV小车1经过第一段不拥堵路程的时间为18s,依次第二个数据为AGV小车1经过第二段拥堵路程设置为7s,不经过该路段则设置为0s;同理第二行即为AGV小车2每一段路程的时间。
c、确定AGV小车优先级,制定AGV小车调度规则
AGV小车4优先级最高,其次AGV小车2,AGV小车1,AGV小车3,并且拥堵路段,最多2辆车并行。
d、变量初始化,并将上述矩阵输入仿真程序,即经过选择交叉、变异等系列操作,待迭代次数完成,输出如附图10所示最优调度顺序。
附图10中输出的最优调度顺序,第一阶段同时行车不会产生拥挤,故AGV小车1、AGV小车2、AGV小车3及AGV小车4正常行驶;第二阶段的拥堵路段,考虑到先到先服务,就让AGV小车2,AGV小车4同时进入拥堵路段,第三阶段为AGV小车1、AGV小车3在AGV小车2、AGV小车4跑完该第二阶段的拥堵路段之后,同时进行入第二阶段的拥堵路段。
以上技术特征构成了本发明的最佳实施例,其具有较强的适应性和最佳实施效果,可根据实际需要增减非必要的技术特征,来满足不同情况的需求。