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

基于进化算法的电镀线行车调度方法、装置及存储介质与流程

2022-02-22 02:24:05 来源:中国专利 TAG:


1.本发明涉及电镀线行车调度领域,尤其涉及一种基于进化算法的电镀线 行车调度方法、装置及存储介质。


背景技术:

2.作业车间调度问题时最经典的几个np-难问题之一。一般来说,作业车间 调度问题是在给定工件在机器的工序顺序、加工时间等条件下,在满足机器 同一时刻只能执行一个工件的约束下,最小化产品的平均完成时间。如在生 产车间中,最小化一个零件或一组零件(工件)在车床(机器)上的完成时 间;在飞机调度问题中,最小化飞机(工件)在停机场(机器)上的降落时 间。
3.电镀线行车调度问题是指在电镀行业中设计电镀槽位(机器)的浸渍(加 工)时间,得到可行的行车调度控制方案,最小化电镀产品(工件)平均完 成时间的问题。由于电镀线行车调度问题自身的特点,具有工序时间可调节、 行车运行时间非抢占、行车距离限制等特性,电镀线行车调度问题是一种更 为复杂的作业车间调度问题。
4.但是,电镀线行车调度问题在产品加工顺序约束、槽位同一时刻只能执 行一个产品的约束情况外,仍需满足行车同一时刻只能执行一个产品、行车 之间距离限制等约束,传统的作业车间调度方法不能适用于电镀线行车调度 问题。


技术实现要素:

5.鉴于上述现有技术的不足,本发明的目的在于提供一种基于进化算法的 电镀线行车调度方法、装置及存储介质。对于安排电镀槽位的浸渍时间、求 得可行的行车调度方案,实现最小化电镀产品平均完成时间的目标具有重要 意义。
6.本发明第一方面提供了一种基于进化算法的电镀线行车调度方法,该方 法包括:步骤s100:将当前进化代数gen的值设置为1;步骤s200:随机初 始化m个种群,其中每个种群的规模为np,所述初始化生成每个槽位的浸 渍时间,以及通过实数编码方法表示所述种群中的每个个体,对初始化得到 的各个解进行约束处理,以使得每个解都满足约束条件;并评估每个个体的 适应值,同时更新种群的bestm参数;步骤s300:通过二元锦标赛的方法,在 当前种群中选择两个交叉的父代个体;步骤s400:通过两点交叉算子,生成 新的槽位浸渍时间;步骤s500:通过单点变异算子,重新随机初始化特定槽 位的浸渍时间,通过实数编码方法表示种群中的子代个体,对所述子代个体 的解进行约束处理,使得所述子代个体的解都满足约束条件;并评估每个个 体的适应值,同时更新种群的bestm参数;步骤s600:重复步骤s300至步骤 s500,直至所述子代个体的数量等于所述种群规模np;步骤s700:在所述父 代和子代两代种群中,通过二元锦标赛的方法选择出np-1个个体进入下一代 种群;将bestm参数添加进入下一代种群;步骤s800:将当前进化代数gen的 值增加1,若所述当前进化代数gen的值未达到预设最大进化代数时,返回步 骤s300继续执行,若所述当前进化代数gen的值达到所述最大进化代数,则 结束。
7.结合第一方面,在一种可能的实现方式中,所述步骤s200中,所述通过 实数编码方法表示所述种群中的每个个体包括:若行车的初始位置为 l={l1,l2,

,l
p
},个体的槽位浸渍时间为x={x1,x2,

,xq}随机初始化产生,其中, p为行车的数量,q为槽位的数量,xj∈[x
jmin
,x
jmax
];经过的槽位为{1,2,

,q}的 一个子序列subseq,其大小为q

,产品数量为n,产品i在每个槽位的预计进入 时间为其中
[0008][0009]
表示从上一任务槽移动产品到工序槽位的移动时间;产品i在每个槽位 的预计离开时间为其中
[0010][0011]
从而得到个体的初始解为{ti,ti}。
[0012]
结合第一方面,在一种可能的实现方式中,所述步骤s200与所述步骤s500中,所述进行约束处理包括:步骤s201:初始化n个产品预计进入时间 和预计离开时间{{t1,t2},{t2,t2},

,{tn,tn}};步骤s202:设当前处理产品的编号 为i=2;步骤s203:检测是否满足第一约束条件,若违反所述第一约束条件, 则更新ti=ti 1,ti=ti 1,返回步骤s203;若满足所述第一约束条件,则执 行步骤s204;步骤s204:检测是否满足第二约束条件,若违反所述第二约束 条件,则更新ti=ti 1,ti=ti 1,返回步骤s204;若满足所述第二约束条件, 则执行步骤s205;步骤s205:按照第三约束条件的限制,安排行车调度方案, 在行车调度过程中同时检测第四约束条件,更新行车调度方案,若仍然违反 所述第四约束条件,则更新ti=ti 1,ti=ti 1,返回步骤s205;若满足所述 第四约束条件,则执行步骤s206;步骤s206:将所述当前处理产品编号i增 加1,若所述当前处理产品编号未达到最大产品编号数量时,返回步骤s202 继续执行;若所述当前处理产品编号达到最大产品数量时,程序终止。
[0013]
结合第一方面,在一种可能的实现方式中,所述步骤s203中,所述检测 是否满足第一约束条件包括:检测所述产品的预计进入时间和预计离开时间 是否满足所述第一约束条件,所述第一约束条件包括:
[0014][0015]
结合第一方面,在一种可能的实现方式中,所述步骤s204中,所述检测 是否满足第二约束条件包括:检测所述产品的预计进入时间和预计离开时间 是否满足所述第而约束条件,所述第二约束条件包括:
[0016][0017]
结合第一方面,在一种可能的实现方式中,所述步骤s205中,所述按照 第三约束
条件的限制包括:对行车间隔按照第三约束条件进行限制,所述第 三约束条件包括:
[0018][0019]
其中,loc
uv
表示行车u在v时刻所处的位置。
[0020]
结合第一方面,在一种可能的实现方式中,所述步骤s205中,所述检测 第四约束条件包括:对行车间隔按照第四约束条件进行检测,所述第四约束 条件包括:
[0021][0022]
其中,|
·
|表示集合的数量,当产品i进入和离开槽位j的时刻,所述产品i被行车放下和提取。
[0023]
结合第一方面,在一种可能的实现方式中,在步骤s205中,所述按照第 三约束条件的限制,安排行车调度方案包括:若当前时刻为t
now
时行车1处于 槽位loc1,行车2处于槽位loc2,且loc1 2≤loc2,所述行车调度方案包括:步骤 s2051:查找下一个任务的发生时间其中
[0024][0025]
步骤s2052:假设下一个任务时刻t
next
时,需要将产品从槽位locnow提取运 送到locnext,然后按照行车移动代价小的目标选择调度该任务的行车;步骤 s2053:当完成任务的选定之后,计算选定行车移动到槽位locnow的时间为 time(loc1,locnow),记录移动时间内所述选定行车所处的位置;步骤s2054:判 断是否满足所述第四约束条件,若满足所述第四约束条件,则更新t
now
=t
next
; 若不满足所述第四约束条件,则更换所述选定行车并重新进行行车避让,返 回步骤s2053之后判断是否满足所述第四约束条件,若满足所述第四约束条 件,则更新t
now
=t
next
;若不满足所述第四约束条件,则跳出所述行车调度方案 进入步骤s205;步骤s2055:若得到可行的行车方案;若否,则返 回步骤s2051。
[0026]
结合第一方面,在一种可能的实现方式中,所述按照行车移动代价小的 目标选择调度该任务的行车为:若满足 ||locnow-loc1||-||locnext-locnow||≤||locnow-loc2||-||locnext-locnow||,则安排行车1完 成该时刻的任务,若loc2<locnext 2,则所述行车2避让行车1,以满足所述 第三约束条件;若不满足 ||locnow-loc1||-||locnext-locnow||≤||locnow-loc2||-||locnext-locnow||,则安排行车2完 成该时刻的任务,若loc1>locnow-2,则所述行车1避让所述行车2,以满足所 述第三约束条件。
[0027]
结合第一方面,在一种可能的实现方式中,步骤700中,所述通过二元 锦标赛的方法选择出np-1个个体进入下一代种群包括:每次有放回的随机选 择两个个体,将所述两个个体中较优的选择进入下一代种群。
[0028]
本发明第二方面提供了一种基于进化算法的电镀线行车调度装置,其特 征在于,所述装置包括处理器,存储器以及收发器,所述存储器、所述处理 器以及所述收发器通过线路互相连接,所述存储器中存储有指令;所述处理 器用于通过调用所述存储器中存储的指令执行如本技术第一方面至第一方面 任意一种可能的实现方式中所述的基于进化算法的电镀线行车调度方法。
[0029]
本发明第三方面还提供了一种非易失性计算机可读存储介质,其特征在 于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机 可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行 如本技术第一方面至第一方面任意一种可能的实现方式中所述的基于进化算 法的电镀线行车调度方法。
[0030]
本发明公开了一种基于进化算法的电镀线行车调度方法、装置及存储介 质。该方法包括:步骤s100:将当前进化代数gen的值设置为1;步骤s200: 随机初始化m个种群,其中每个种群的规模为np,所述初始化生成每个槽 位的浸渍时间,以及通过实数编码方法表示所述种群中的每个个体,对初始 化得到的各个解进行约束处理,以使得每个解都满足约束条件;并评估每个 个体的适应值,同时更新种群的bestm参数;步骤s300:通过二元锦标赛的方 法,在当前种群中选择两个交叉的父代个体;步骤s400:通过两点交叉算子, 生成新的槽位浸渍时间;步骤s500:通过单点变异算子,重新随机初始化特 定槽位的浸渍时间,通过实数编码方法表示种群中的子代个体,对所述子代 个体的解进行约束处理,使得所述子代个体的解都满足约束条件;并评估每 个个体的适应值,同时更新种群的bestm参数;步骤s600:重复步骤s300至 步骤s500,直至所述子代个体的数量等于所述种群规模np;步骤s700:在 所述父代和子代两代种群中,通过二元锦标赛的方法选择出np-1个个体进入 下一代种群;将bestm参数添加进入下一代种群;步骤s800:将当前进化代数 gen的值增加1,若所述当前进化代数gen的值未达到预设最大进化代数时, 返回步骤s300继续执行,若所述当前进化代数gen的值达到所述最大进化代 数,则结束。具有如下优点及效果:
[0031]
1)针对电镀线行车调度问题的特性建立了对应的数学模型,以最小化产 品的最大完成时间为目标,同时考虑了产品加工顺序约束、槽位同一时刻只 能执行一个产品约束、行车同一时刻只能执行一个产品约束、行车之间距离 等约束。
[0032]
2)采用随机初始化生成槽位浸渍时间,通过实数编码初始化产品预计进 入各个槽位的时间和产品预计离开各个槽位的时间。
[0033]
3)采用动态更新策略以化解解的约束冲突并得到完成时间,通过对约束 的划分,首先满足产品加工顺序约束和槽位同一时刻只能执行一个产品约束, 然后按照行车之间距离约束安排行车调度方案,同时考虑行车同一时刻只能 执行一个产品的约束,依次更新产品进入流水线的时间,最后得到可行解。
[0034]
4)采用二元锦标赛方法和精英保留策略作为提出方法的选择算子,使用 二元锦标赛有助于保持种群的多样性,保留更多优秀的基因片段,使用精英 保留策略有助于保证算法的收敛性。
附图说明
[0035]
下面将结合附图及实施例对本发明作进一步说明,附图中:
[0036]
图1为本发明提供的一种基于进化算法的电镀线行车调度方法的流程示 意图;
[0037]
图2为本发明提供的一种个体的结构示意图;
[0038]
图3为本发明提供的一种个体的浸渍时间方案和产品进入、离开槽位时 间的初始化案例示意图;
[0039]
图4为本发明提供的一种槽位独占性约束检测更新产品进入、离开槽位 时间的案例示意图;
[0040]
图5为本发明提供的一种基于进化算法的电镀线行车调度方法流程图;
[0041]
图6为本发明提供的一种交叉操作示意图;
[0042]
图7为本发明提供的一种基于进化算法的电镀线行车调度装置的结构示 意图。
具体实施方式
[0043]
本技术实施例提供了一种地面滤除方法,以及相关设备,旨在通过多次 滤除,提高了地面滤除的可靠性。
[0044]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行 描述。在本技术中,“至少一个”是指一个或者多个,“多个”是指两个或 两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系, 例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的 情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是 一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项 中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或 c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c或a和b 和c,其中a、b和c可以是单个,也可以是多个。值得注意的是,“至少一 项(个)”还可以解释成“一项(个)或多项(个)”。
[0045]
需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作 例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实 施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。 确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概 念。
[0046]
本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之 用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能 构成对本技术实施例的任何限制。
[0047]
作业车间调度问题时最经典的几个np-难问题之一。一般来说,作业车间 调度问题是在给定工件在机器的工序顺序、加工时间等条件下,在满足机器 同一时刻只能执行一个工件的约束下,最小化产品的平均完成时间。如在生 产车间中,最小化一个零件或一组零件(工件)在车床(机器)上的完成时 间;在飞机调度问题中,最小化飞机(工件)在停机场(机器)上的降落时 间。
[0048]
电镀线行车调度问题是指在电镀行业中设计电镀槽位(机器)的浸渍(加 工)时间,得到可行的行车调度控制方案,最小化电镀产品(工件)平均完 成时间的问题。由于电镀线行车调度问题自身的特点,具有工序时间可调节、 行车运行时间非抢占、行车距离限制等特性,电镀线行车调度问题是一种更 为复杂的作业车间调度问题。
[0049]
近几十年来,许多研究者都把研究的重点放在作业车间调度问题上,作 业车间调度问题的关键在于如何满足工序加工顺序约束、机器同一时刻只能 执行一个工件约束。现有的一些解决方案中,有一些采用了一种基于多区域 采样策略的混合粒子群算法,同时优化最大完工时间和总机器延迟时间两个 目标。有一些采用了一种改进的遗传算法,通过整数编码和新的动态自适应 交叉算子解决标签印刷生成调度问题。
[0050]
但是,电镀线行车调度问题在产品加工顺序约束、槽位同一时刻只能执 行一个产品的约束情况外,仍需满足行车同一时刻只能执行一个产品、行车 之间距离限制等约束,传统的作业车间调度方法不能适用于电镀线行车调度 问题。
[0051]
此外,在电镀线行车调度问题中,槽位的浸渍时间是一个范围区间,浸 渍时间的安排又是一个复杂的排列组合优化问题,当扩大求解规模后,可行 解的数量将呈指数级增长,若仍然采用精确算法求解该问题时会出现维数灾 难。进化算法是模拟生物进化与遗传原理而设计的一类随机搜索的优化算法, 具有自组织、自适应、自学习和并行性等特点,能够实现多向和全局搜索, 常用于求解投资组合与决策、作业车间调度、项目日程表问题、航班登机位 分配等问题。
[0052]
因此,设计一种基于进化算法的电镀线行车调度方法,对于安排电镀槽 位的浸渍时间、求得可行的行车调度方案,实现最小化电镀产品平均完成时 间的目标具有重要意义。
[0053]
本发明首先提供了一种电镀线行车调度优化模型。
[0054]
假设电镀线共有q个槽位,一种产品的加工方案需依次经过槽位{1,2,

,q} 的一个子序列subseq,subseq的大小为q

,产品在每个槽位的浸渍时间范围为 [x
jmin
,x
jmax
],电镀线上共有p个行车。
[0055]
(1)目标函数:对于电镀线行车调度问题,假设槽位的浸渍时间为 x={x1,x2,

,xq′
},则产品i在每个槽位的预计进入时间为预计离 开时间为优化目标即为最小化加工n个产品的完成时间,目 标函数如下:
[0056][0057]
(2)产品工序约束,即产品需按照槽位顺序依次加工:
[0058][0059]
(3)槽位独占性约束,即一个槽位在同一时刻仅能加工一个产品:
[0060][0061]
(4)行车距离限制,即相邻的行车始终保持距离不小于2:
[0062][0063]
(5)行车执行约束,即一个行车在同一时刻只能为一个产品执行提取任 务:
[0064][0065]
(6)综上,可以建立电镀线行车调度问题的数学模型,见mod1。
[0066]
mod1
[0067]
[0068][0069]
本发明主要研究了以mod1为模型的电镀线行车调度问题,由于槽位的浸 渍时间是一个范围区间,寻找最优的浸渍时间安排方案是一个复杂的排列组 合优化问题,当扩大求解规模后,可行解的数量将呈指数级增长,若仍然采 用精确算法求解该问题时会出现维数灾难。进化算法是模拟生物进化与遗传 原理而设计的一类随机搜索的优化算法,具有自组织、自适应、自学习和并 行性等特点,能够实现多向和全局搜索,常用于求解投资组合与决策、作业 车间调度、航班登机位分配等问题。
[0070]
请参见图1,本发明提供了一种基于进化算法的电镀线行车调度方法,该 方法包括:
[0071]
s100:将当前进化代数gen的值设置为1。
[0072]
s200:随机初始化m个种群,对初始化得到的各个解进行约束处理。
[0073]
随机初始化m个种群,其中每个种群的规模为np,所述初始化生成每 个槽位的浸渍时间,以及通过实数编码方法表示所述种群中的每个个体,对 初始化得到的各个解进行约束处理,以使得每个解都满足约束条件;并评估 每个个体的适应值,同时更新种群的bestm参数。
[0074]
s300:通过二元锦标赛的方法,在当前种群中选择两个交叉的父代个体。
[0075]
s400:通过两点交叉算子,生成新的槽位浸渍时间。
[0076]
s500:通过单点变异算子,重新随机初始化特定槽位的浸渍时间,通过实 数编码方法表示种群中的子代个体,对子代个体的解进行约束处理。
[0077]
通过单点变异算子,重新随机初始化特定槽位的浸渍时间,通过实数编 码方法表示种群中的子代个体,对所述子代个体的解进行约束处理,使得所 述子代个体的解都满足约束条件;并评估每个个体的适应值,同时更新种群 的bestm参数。该特定槽位为指定的某一些槽位。
[0078]
s600:重复步骤s300至步骤s500,直至子代个体的数量等于种群规模 np。
[0079]
s700:在父代和子代两代种群中,通过二元锦标赛的方法选择出np-1个 个体进入下一代种群。
[0080]
在所述父代和子代两代种群中,通过二元锦标赛的方法选择出np-1个个 体进入下一代种群;并将bestm参数添加进入下一代种群。
[0081]
在父代和子代两代种群中,通过二元锦标赛的方法选择出np-1个个体进 入下一代种群,可以增加种群的多样性,同时将bestm参数添加进入下一代种 群可以保证算法的收敛性。
[0082]
s800:将当前进化代数gen的值增加1,若当前进化代数gen的值未达到 预设最大进化代数,则返回步骤s300继续执行,若当前进化代数gen的值达 到最大进化代数,则结束。
[0083]
需要指出的是,所述步骤s200中,所述通过实数编码方法表示所述种群 中的每个个体包括:
[0084]
若行车的初始位置为l={l1,l2,

,l
p
},个体的槽位浸渍时间为 x={x1,x2,

,xq}随机初始化产生,其中,p为行车的数量,q为槽位的数量, xj∈[x
jmin
,x
jmax
];
[0085]
经过的槽位为{1,2,

,q}的一个子序列subseq,其大小为q

,产品数量为n, 产品i在每个槽位的预计进入时间为其中
[0086][0087]
表示从上一任务槽移动产品到工序槽位的移动时间;
[0088]
产品i在每个槽位的预计离开时间为其中
[0089][0090]
从而得到个体的初始解为{ti,ti}。
[0091]
需要说明的是,在步骤s200与步骤s500中,所述进行约束处理包括:
[0092]
步骤s201:初始化n个产品预计进入时间和预计离开时间 {{t1,t2},{t2,t2},

,{tn,tn}};
[0093]
步骤s202:设当前处理产品的编号为i=2;
[0094]
步骤s203:检测是否满足第一约束条件,若违反所述第一约束条件,则 更新ti=ti 1,ti=ti 1,返回步骤s203;若满足所述第一约束条件,则执行 步骤s204;
[0095]
步骤s204:检测是否满足第二约束条件,若违反所述第二约束条件,则 更新ti=ti 1,ti=ti 1,返回步骤s204;若满足所述第二约束条件,则执行 步骤s205;
[0096]
步骤s205:按照第三约束条件的限制,安排行车调度方案,在行车调度 过程中同时检测第四约束条件,更新行车调度方案,若仍然违反所述第四约 束条件,则更新ti=ti 1,ti=ti 1,返回步骤s205;若满足所述第四约束条 件,则执行步骤s206;
[0097]
步骤s206:将所述当前处理产品编号i增加1,若所述当前处理产品编号 未达到最大产品编号数量时,返回步骤s202继续执行;若所述当前处理产品 编号达到最大产品数量时,程序终止。
[0098]
在步骤s203中,为了使得个体的解成为可行解,按照电镀线行车调度的 约束,对于电镀产品的加工顺序约束,可以对产品进入和离开槽位的时间进 行限制。具体的,检测是否满足第一约束条件包括:
[0099]
检测所述产品的预计进入时间和预计离开时间是否满足所述第一约束条 件,所述第一约束条件包括:
[0100][0101]
对于槽位同一时刻只能执行一个产品的约束,则步骤s204中,检测是否 满足第二约束条件包括:
[0102]
检测所述产品的预计进入时间和预计离开时间是否满足所述第而约束条 件,所述第二约束条件包括:
[0103][0104]
对于行车间隔的限制,例如行车间隔不小于2,则在步骤s205中,所述 按照第三约束条件的限制包括:
[0105]
对行车间隔按照第三约束条件进行限制,所述第三约束条件包括:
[0106][0107]
其中,loc
uv
表示行车u在v时刻所处的位置。
[0108]
对于行车在同一时刻只能执行一个产品,则所述步骤s205中,所述检测 第四约束条件包括:
[0109]
对行车间隔按照第四约束条件进行检测,所述第四约束条件包括:
[0110][0111]
其中,|
·
|表示集合的数量,当产品i进入和离开槽位j的时刻,所述产品 i被行车放下和提取。
[0112]
进一步的,在步骤s205中,所述按照第三约束条件的限制,安排行车调 度方案包括:
[0113]
若当前时刻为t
now
时行车1处于槽位loc1,行车2处于槽位loc2,且 loc1 2≤loc2,所述行车调度方案包括:
[0114]
步骤s2051:查找下一个任务的发生时间其中
[0115][0116]
步骤s2052:假设下一个任务时刻t
next
时,需要将产品从槽位locnow提取运 送到locnext,然后按照行车移动代价小的目标选择调度该任务的行车;
[0117]
步骤s2053:当完成任务的选定之后,计算选定行车移动到槽位locnow的 时间为time(loc1,locnow),记录移动时间内所述选定行车所处的位置;
[0118]
步骤s2054:判断是否满足所述第四约束条件,若满足所述第四约束条件, 则更新t
now
=t
next
;若不满足所述第四约束条件,则更换所述选定行车并重新进 行行车避让,返回步骤s2053之后判断是否满足所述第四约束条件,若满足 所述第四约束条件,则更新t
now
=t
next
;若不满足所述第四约束条件,则跳出所 述行车调度方案进入步骤s205;
[0119]
步骤s2055:若得到可行的行车方案;若否,则返回步骤s2051。
[0120]
需要说明的是,在步骤s2052中,按照行车移动代价小的目标选择调度 该任务的行车为:
[0121]
若满足||locnow-loc1||-||locnext-locnow||≤||locnow-loc2||-||locnext-locnow||,则安 排行车1完成该时刻的任务,若loc2<locnext 2,则所述行车2避让行车1, 以满足所述第三约束条件;
[0122]
若不满足||locnow-loc1||-||locnext-locnow||≤||locnow-loc2||-||locnext-locnow||,则 安排行车2完成该时刻的任务,若loc1>locnow-2,则所述行车1避让所述行 车2,以满足所述第三约束条件。
[0123]
更进一步的,在步骤s700中,通过二元锦标赛的方法选择下一代种群的 个体,在经典的进化算法中,是合并父代和子代种群后,直接按照适应度的 大小由好到差依次选择进入下一代,直到达到下一代种群规模。但选择最好 的解进入下一代种群,有可能导致算法早熟,不利于全局收敛得到全局最优 解。
[0124]
二元锦标赛是每次有放回的随机选择两个个体,较优的进入下一代种群, 这样略差的解也有进入下一代种群的可能,这些略差的解可能在后续的交叉 和变异操作中提供基因片段,生成更好的子代,这样的选择操作有助于维持 种群的多样性。同时,为了保证收敛性,应用精英策略即将父代和子代中的 最优个体直接选择进入下一代,保证了算法不会出现收敛倒退。
[0125]
请参见图2,本技术给出了一种个体a的结构示意图,其中, x={x1,x2,

,xq′
}表示个体的槽位浸渍时间方案,{t={t1,t2,

,tq′
},t={t1,t2,

,tq′
}} 表示在该方案下,产品在每个槽位的进入时间和离开时间。个体的槽位浸渍 时间方案通过随机初始化产生,当得到浸渍时间方案后,n个产品按照如下规 则初始化进入槽位时间t:
[0126][0127]
其中表示从上一任务槽位移动产品到工序槽位的移动时间。
[0128]
按如下规则初始化离开槽位时间t:
[0129][0130]
图3是本发明提供的一种个体的浸渍时间方案和产品进入、离开槽位时 间的初始化案例示意图。其中q

=10,n=3。如图3所示,通过浸渍时间方案 初始化生成的产品加工时间,明显不符合电镀线行车调度问题中的约束。按 照发明内容中的约束调整方案,依次更新产品的进入槽位时间和离开槽位时 间。
[0131]
图4是本发明提供的一种槽位独占性约束检测更新产品进入、离开槽位 时间的案例示意图。图4是对槽位独占性约束检测后更新产品进入槽位时间 和离开槽位时间的例子,根据槽位独占性约束即一个槽位在同一时刻仅能加 工一个产品,依次检测产品的时间设置是否符合约束,若不满足则更新进入 和离开槽位的时间,直至满足。其他约束如行车距离约束、行车执行约束, 均按照发明内容中处理约束的办法进行。
[0132]
图5是本发明提供的一种基于进化算法的电镀线行车调度方法的流程图。 首先,随机初始化的方法生成每个槽位的浸渍时间,通过实数编码方法来表 示种群中的每个个体。对于个体的槽位浸渍时间方案,初始化个体进入槽位 时间和离开槽位时间,然后进入约束处理模块,按照约束处理规则依次更新 个体进入槽位的时间和离开槽位的时间,直至满足所有约束,此时也得到了 当前个体的产品完成时间,即个体的适应度。详情请参见上述实施例进行理 解,此处不再赘述。
[0133]
在进化过程中,通过交叉算子产生新的个体,即交换个体的部分浸渍时 间方案,进化算法中的交叉算子是模拟生物的交叉而来,有助于将优良个体 的染色体片段遗传给后代,同时交叉算子一般起全局搜索的作用,可以开采 未知的空间。首先,当随机数小于交叉概率pc时,通过二元锦标赛法选择交 叉的父代,二元锦标赛法是进化算法中常见用于选择个体的策略,通过有放 回的抽样,较好的个体被选择出来,其步骤如下:
[0134]
(1)每次从种群中随机选择两个个体;
[0135]
(2)比较两个个体的适应度,选择较好的个体;
[0136]
(3)重复步骤(1)(2),直至选出的个体数量达到需求。
[0137]
当两个个体选择出来后,采用两点交叉算子生成子代,首先在槽位集合 {1,2,

,q

}中随机产生两个交叉点,然后对父代交换两个交叉点之间的槽位浸 渍时间安排,从而得到交叉后的两个子代。图6给出了两个个体a和b的交 叉操作的示意图,经过两点交叉后产生了子代a

和b


[0138]
在进化过程中,对于交叉后得到的子代,若随机数小于变异概率pm时, 通过变异算子产生新的个体,即突变个体某个槽位的预设浸渍时间,进化算 法中的变异算子是模拟生物在遗传进化过程的基因变异操作而来,生物通过 突变操作,优胜劣汰、适者生存,不断朝着更好的方向发展。
[0139]
对于交叉得到的子代,采用单点变异算子生成新的子代,首先在槽位集 合{1,2,

,q

}中随机产生一个变异点,然后在变异点所在槽位的允许浸渍时间 范围内,重新随机生成一个新的浸渍时间安排,从而得到变异后的子代。
[0140]
在进化过程中,重复交叉操作和变异操作直至生成的子代规模和父代规 模np相同,经典的进化算法中是合并父代和子代种群后,直接按照适应度的 大小由好到差依次选择进入下一代,直到达到下一代种群规模。但选择最好 的解进入下一代种群,有可能导致算法早熟,不利于全局收敛得到全局最优 解,这里采用二元锦标赛法和精英保留策略作为选择操作的算子。
[0141]
与交叉中选择父代一样,在选择操作中也首先利用二元锦标赛法选择进 入下一代种群的个体,首先合并父代和子代中的个体,然后每次从种群中随 机选择两个个体,比较两个个体的适应度,适应度高的个体选择进入下一代 种群,重复二元锦标赛法直至选出np-1个个体进入下一代种群,这样略差的 解也有进入下一代种群的可能,这些略差的解可能在后续的交叉和变异操作 中提供基因片段,生成更好的子代,这样的选择操作有助于维持种群的多样 性。
[0142]
同时,为了保证收敛性,应用精英策略即将父代和子代中的最优个体直 接选择进入下一代,保证了算法不会出现收敛倒退。
[0143]
若满足终止条件,即种群进化代数满足设定值,则算法停止,否则返回 到交叉操
作继续进化种群。
[0144]
参数设置说明:种群规模np设定为100,进化代数gen设定为100,交叉 概率pc设定为0.9,变异概率pm设定为0.2。
[0145]
本发明提供的基于进化算法的电镀线行车调度方法具有如下优点及效 果:
[0146]
1)针对电镀线行车调度问题的特性建立了对应的数学模型,以最小化产 品的最大完成时间为目标,同时考虑了产品加工顺序约束、槽位同一时刻只 能执行一个产品约束、行车同一时刻只能执行一个产品约束、行车之间距离 等约束。
[0147]
2)采用随机初始化生成槽位浸渍时间,通过实数编码初始化产品预计进 入各个槽位的时间和产品预计离开各个槽位的时间。
[0148]
3)采用动态更新策略以化解解的约束冲突并得到完成时间,通过对约束 的划分,首先满足产品加工顺序约束和槽位同一时刻只能执行一个产品约束, 然后按照行车之间距离约束安排行车调度方案,同时考虑行车同一时刻只能 执行一个产品的约束,依次更新产品进入流水线的时间,最后得到可行解。
[0149]
4)采用二元锦标赛方法和精英保留策略作为提出方法的选择算子,使用 二元锦标赛有助于保持种群的多样性,保留更多优秀的基因片段,使用精英 保留策略有助于保证算法的收敛性。
[0150]
图7是本技术实施例提供的一种基于进化算法的电镀线行车调度装置的 结构示意图,该基于进化算法的电镀线行车调度装置400可因配置或性能不 同而产生比较大的差异,可以包括一个或一个以上处理器(cemtrml processimgumits,cpu)410(例如,一个或一个以上处理器)和存储器420,一个或一 个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海 量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存 储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出), 每个模块可以包括对交互设备400中的一系列指令操作。更进一步地,处理 器410可以设置为与存储介质430通信,在基于进化算法的电镀线行车调度 装置400上执行存储介质430中的一系列指令操作。
[0151]
基于进化算法的电镀线行车调度装置400还可以包括一个或一个以上电 源440,一个或一个以上有线或无线网络接口430,一个或一个以上输入输出 接口460,和/或,一个或一个以上操作系统431,例如wimdows serve,nmcos x,umix,limux,freebsd等等。本领域技术人员可以理解,图7示出 的基于进化算法的电镀线行车调度装置结构并不构成对数据处理设备的限 定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部 件布置。
[0152]
本技术还提供一种计算机可读存储介质,该计算机可读存储介质可以为 非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算 机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计 算机上运行时,使得计算机执行所述基于进化算法的电镀线行车调度方法的 步骤。
[0153]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
[0154]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质
上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(remd-omly nenory, ron)、随机存取存储器(rmmdon mccess nenory,rmn)、磁碟或者光盘 等各种可以存储程序代码的介质。
[0155]
在本技术所提供的实施例中,应该理解到,所揭露的方法,在没有超过 本技术的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种 示范性的例子,不应该作为限制,所给出的具体内容不应该限制本技术的目 的。例如,一些特征可以忽略,或不执行。
[0156]
本技术方案所公开的技术手段不仅限于上述实施方式所公开的技术手 段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本 技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出 若干改进和润饰,这些改进和润饰也视为本技术的保护范围。
[0157]
以上对本技术实施例所提供的一种基于进化算法的电镀线行车调度方 法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原 理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方 法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想, 在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不 应理解为对本技术的限制。尽管参照前述实施例对本技术进行了详细的说明, 本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术 方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替 换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献