正在加载图片...
第1期 龙建宇等:基于遗传算法的炼钢一连铸重计划方法 ·119· (2)若!不为空,则继续执行以下步骤,否则执 Step3:初始化迭代计数器d,令d=1. 行Step2: Step4:若d小于初始设定的迭代次数altNum, (3)取出炉次h,初始化炉次操作数o,=1; 则继续执行以下步骤,否则执行Step11. (4)若o≤0(i,),则继续执行以下步骤,否则 Step5:将种群P赋予临时集合亚,初始化染色 转(9); 体计数器c,令c=1. (5)若By=2,则k,=y,PS,(k,)= Step6:若亚不为空,则继续执行以下步骤,否 PS(kg),PE(k)=PE,(k),转(8); 则执行Step 10. (6)若By=1,则k的=k0,PS,(k,)= Step7:取出染色体c,利用时间顺推和染色体 PS,(),依据强制约束④随机产生一个作业时 携带的信息将2:中各炉次的剩余操作编制重计划 间WTPE,(k,)=PS,(k0,)+WTg,令wog= (PDGA中是时间倒推,这意味着炉次首先计算末端 0,转(9): 工序铸机上的计划,然后依据炉次所规定加工操作 (7)若B,=0,则令w0g=0g-1,转(9); 类型和次序以及染色体的信息,从后往前依次编制 (8)令0g=0+1,转(4); 计划). (9)从!中删除炉次h,令h=h+1,转(2) (1)将集合2赋予临时集合飞,初始化炉次计 Step2:构造初始种群P. 数器h,令h=1; (1)按初始设定的种群大小popSize随机产生 (2)若(不为空,则继续执行以下步骤,否则执 符合数量的染色体.染色体由两部分组成:第一部 行Step8; 分代表所有计划炉次的加工路径信息,其长度等于 (3)取出炉次h,初始化炉次操作数og=wog+ 1: 所有炉次还未执行的操作数(B,=0)的总和,该部 分染色体由自然数字组成,对于炉次L,若 (4)若0<0(i,),则继续执行以下步骤,否则 转(6); 0(i,j》-wog=2,则Lg对应的染色体模块24]表示 g+)=2,6=4:第二部分代表铸机开浇信 (5)已知h的第o:-1个操作的加工设备为 息,其大小等于重计划发生时还未开浇的铸机个数, k,-),根据染色体编码规则,找出h的第og个操 若铸机全部开浇,则染色体不包含第二部分,该部分 作的加工设备k,依据强制约束④随机产生一个 染色体由自然数字组成,对于铸机k,生产批量计 该工位间的运输时间TT,则PS,(k,)= 划中规定其最早开浇时间为ES。,则:对应的染 PEy-)(k气,-))+TTg,依据强制约束④随机 色体模块B]表示其开浇时间为ESy,+3min.假 产生一个作业时间WT,则PE,(k)= 设流程中具有四类设备:有五台转炉(g=1),五台 PS,(k,)+WT,转(8): LF(g=2),三台RH(g=3),五台铸机(g=4),重计 (6)若o=0(i,j),则继续执行以下步骤,否则 划发生时,3铸机和5铸机均未开浇.若24中有炉 转(9); 次L4L2,和L2,它们所规定的加工操作类型分别 (7)根据染色体编码规则,找出炉次h的第0 是:转炉-LF一铸机、转炉RH一铸机和转炉LFRH- (i,》个操作的加工设备k),若k品)己经开浇 铸机.重计划发生时可得出:O(i,)-wo,=1(i= 则依据L4计划中规定的h在铸机k品)上的浇铸 1,j=4),0(i,j)-w0=2(i=2,j=1),0(i,j)- 顺序和连浇规则可计算h浇铸的开始时间PS, w0=3(i=2,j=2).则染色体【322415)(32)]表 (k品)和结束时间PE0(kn),若k还 示:L4后续加工路径为铸机3,L21后续加工路径为 未开浇则依据染色体编码规则可计算出k励的开 RH2-铸机2,L22后续加工路径为LF4RH1-铸机5; 浇时间,进而得出h浇铸的开始时间和结束时间: 3"铸机的开浇时间为ES+3min,5铸机的开浇时 (8)令0=0+1,转(4); 间为ES,4+2min: (9)从(中删除炉次h,令h=h+1,转(2) (2)检查染色体的合法性并将不合法的染色体 Step8:针对所有已重排计划的炉次(即包括2, 修复.检查原则有三条:①染色体第一部分中的自 中的炉次,PDGA中则包括2,和2中的炉次),利 然数字必须要有相对应的设备:②染色体中不能出 用强制约束检查依靠染色体c携带的信息编制的重 现故障设备;③炉次的浇铸铸机必须和生产批量计 计划是否合理,若合理则将染色体c标记为合格,对 划中指定的铸机一致. 所有己重排计划的炉次进行约束满足检测能够保证第 1 期 龙建宇等: 基于遗传算法的炼钢--连铸重计划方法 ( 2) 若 ζ 不为空,则继续执行以下步骤,否则执 行 Step 2; ( 3) 取出炉次 h,初始化炉次操作数 oij = 1; ( 4) 若 oij≤O( i,j) ,则继续执行以下步骤,否则 转( 9) ; ( 5) 若 βijoij = 2,则 k' ijoij g = k″ijoij g ,P' Sg ijoij ( k' ijoij g ) = P″Sg ijoij ( k″ijoij g ) ,P'Eg ijoij ( k' ijoij g ) = P″Eg ijoij ( k″ijoij g ) ,转( 8) ; ( 6) 若 βijoij = 1,则 k' ijoij g = k″ijoij g ,P' Sg ijoij ( k' ijoij g ) = P″Sg ijoij ( k″ijoij g ) ,依据强制约束④随机产生一个作业时 间 WTg,P'Eg ijoij ( k' ijoij g ) = P'Sg ijoij ( k' ijoij g ) + WTg,令 woij = oij ,转( 9) ; ( 7) 若 βijoij = 0,则令 woij = oij - 1,转( 9) ; ( 8) 令 oij = oij + 1,转( 4) ; ( 9) 从 ζ 中删除炉次 h,令 h = h + 1,转( 2) . Step 2: 构造初始种群 P. ( 1) 按初始设定的种群大小 popSize 随机产生 符合数量的染色体. 染色体由两部分组成: 第一部 分代表所有计划炉次的加工路径信息,其长度等于 所有炉次还未执行的操作数( βijoij = 0) 的总和,该部 分染 色 体 由 自 然 数 字 组 成,对 于 炉 次 Lij ,若 O( i,j) - woij = 2,则 Lij对应的染色体模块[24]表示 k″ij( woij + 1) g = 2,k″ijO( i,j) g' = 4; 第二部分代表铸机开浇信 息,其大小等于重计划发生时还未开浇的铸机个数, 若铸机全部开浇,则染色体不包含第二部分,该部分 染色体由自然数字组成,对于铸机 k Ng,生产批量计 划中规定其最早开浇时间为 ESkNg,则 k Ng对应的染 色体模块[3]表示其开浇时间为 ESkNg + 3 min. 假 设流程中具有四类设备: 有五台转炉( g = 1) ,五台 LF( g = 2) ,三台 RH( g = 3) ,五台铸机( g = 4) ,重计 划发生时,3# 铸机和 5# 铸机均未开浇. 若 ΩH 中有炉 次 L14、L21和 L22,它们所规定的加工操作类型分别 是: 转炉--LF--铸机、转炉--RH--铸机和转炉--LF--RH- -铸机. 重计划发生时可得出: O( i,j) - woij = 1 ( i = 1,j = 4) ,O( i,j) - woij = 2 ( i = 2,j = 1) ,O( i,j) - woij = 3( i = 2,j = 2) . 则染色体[( 322415) ( 32) ]表 示: L14后续加工路径为铸机 3,L21后续加工路径为 RH2--铸机 2,L22后续加工路径为 LF4--RH1--铸机 5; 3# 铸机的开浇时间为 ES34 + 3min,5# 铸机的开浇时 间为 ES54 + 2min ; ( 2) 检查染色体的合法性并将不合法的染色体 修复. 检查原则有三条: ①染色体第一部分中的自 然数字必须要有相对应的设备; ②染色体中不能出 现故障设备; ③炉次的浇铸铸机必须和生产批量计 划中指定的铸机一致. Step 3: 初始化迭代计数器 d,令 d = 1. Step 4: 若 d 小于初始设定的迭代次数 altNum, 则继续执行以下步骤,否则执行 Step 11. Step 5: 将种群 P 赋予临时集合 Ψ,初始化染色 体计数器 c,令 c = 1. Step 6: 若 Ψ 不为空,则继续执行以下步骤,否 则执行 Step 10. Step 7: 取出染色体 c,利用时间顺推和染色体 携带的信息将 ΩH 中各炉次的剩余操作编制重计划 ( PDGA 中是时间倒推,这意味着炉次首先计算末端 工序铸机上的计划,然后依据炉次所规定加工操作 类型和次序以及染色体的信息,从后往前依次编制 计划) . ( 1) 将集合 ΩH 赋予临时集合 ζ,初始化炉次计 数器 h,令 h = 1; ( 2) 若 ζ 不为空,则继续执行以下步骤,否则执 行 Step 8; ( 3) 取出炉次 h,初始化炉次操作数 oij = woij + 1; ( 4) 若 oij < O( i,j) ,则继续执行以下步骤,否则 转( 6) ; ( 5) 已知 h 的第 oij - 1 个操作的加工设备为 k' ij( oij - 1) g ,根据染色体编码规则,找出 h 的第 oij个操 作的加工设备 k' ijoij g' ,依据强制约束④随机产生一个 该工位 间 的 运 输 时 间 TTk' gk' g',则 P' Sg' ijoij ( k' ijoij g' ) = P'Eg ij( oij - 1) ( k' ij( oij - 1) g ) + TTk' gk' g',依据强制约束④随机 产生 一 个 作 业 时 间 WTg',则 P' Eg' ijoij ( k'ijoij g' ) = P'Sg' ijoij ( k' ijoij g' ) + WTg',转( 8) ; ( 6) 若 oij = O( i,j) ,则继续执行以下步骤,否则 转( 9) ; ( 7) 根据染色体编码规则,找出炉次 h 的第 O ( i,j) 个操作的加工设备 k' ijO( i,j) g ,若 k' ijO( i,j) g 已经开浇 则依据 L4 计划中规定的 h 在铸机 k' ijO( i,j) g 上的浇铸 顺序和连浇规则可计算 h 浇铸的开始时间 P'Sg ijO( i,j) ( k' ijO( i,j) g ) 和结束时间 P'Eg ijO( i,j) ( k' ijO( i,j) g ) ,若 k' ijO( i,j) g 还 未开浇则依据染色体编码规则可计算出 k' ijO( i,j) g 的开 浇时间,进而得出 h 浇铸的开始时间和结束时间; ( 8) 令 oij = oij + 1,转( 4) ; ( 9) 从 ζ 中删除炉次 h,令 h = h + 1,转( 2) . Step 8: 针对所有已重排计划的炉次( 即包括 ΩP 中的炉次,PDGA 中则包括 ΩP 和 ΩH 中的炉次) ,利 用强制约束检查依靠染色体 c 携带的信息编制的重 计划是否合理,若合理则将染色体 c 标记为合格,对 所有已重排计划的炉次进行约束满足检测能够保证 ·119·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有