一种基于蚁群优化的瓷器煅烧工艺的加工调度方法
【技术领域】
[0001] 本发明属于陶瓷煅烧领域,具体地说是一种基于蚁群优化的瓷器煅烧工艺的加工 调度方法。
【背景技术】
[0002] 我国早在6000多年以前的新石器时代就产生了制陶技艺,特别是黄河流域出现 了龙口文化、马家窑文化、仰韶文化。我国陶瓷工艺发展至今,技术改进巨大,对能源的消 耗和环境的污染也越来越恶劣。陶瓷行业一直被国家环保部门公认为是高能耗、高污染行 业,惩罚性税收达69. 7%,很多企业在都在减少能耗上面临着巨大的危机。陶瓷工艺的主 要能耗产生在煅烧阶段,煅烧是将形状体积大小不一的瓷坯放在窑(气窑、电窑)里,于空 气中进行高温(800摄氏度以上)的、长时间(15小时以上)的持续热处理过程。在这个过 程中,窑的容量一定,而每个瓷坯的体积大小不定,不同的分批方案可以得到不同的煅烧时 间,以往企业大多没有找到一个合理的分批方案,因此导致瓷器煅烧中产生了较大的能耗, 煅烧成本居高不下,煅烧时间长,加工效率也低,无形中增加了企业的生产成本,也对环境 造成了不小的污染。
【发明内容】
[0003] 本发明是为了克服现有技术存在的不足之处,提供一种基于蚁群优化的瓷器煅烧 工艺的加工调度方法,以期能缩短煅烧时间,提高煅烧效率,从而降低制造成本,节约能源 消耗,并减少环境污染。
[0004] 本发明为解决技术问题采用如下技术方案:
[0005] 本发明一种基于蚁群优化的瓷器煅烧工艺的加工调度方法的特点是按如下步骤 进行:
[0006] 步骤1、将瓷器煅烧工艺中的所有瓷坯记为集合H= {hi,h2,…,hy,…,hn} ;hy表示 第y个瓷坯;则第i个瓷坯的尺寸记为s1;第y个瓷坯的加工时间记为ty;l彡y彡η;将瓷 器煅烧工艺中的窑炉尺寸记为S;将同一时刻加入窑炉中进行煅烧的所有瓷坯记为一个批 次;
[0007] 步骤2、将所述瓷坯集合Η中的尺寸相同的瓷坯分为一类,并按照加工时间将同一 类中的瓷还进行降序排序,从而获得a个分类;记为W= {wdW;;,…,'^,-^wj,wz表示第ζ 个分类;所述第z个分类wz中的瓷坯总数记为fz;
[0008] 步骤3、初始化蚁群算法的各个参数,包括:m表示第m只蚂蚁,并初始化m= 1;M 表示蚂蚁总数、L表示迭代次数,并初始化L= 1 ;Lmax表示最大迭代次数;
[0009] 步骤4、定义变量为k,并初始化k= 1;定义第y个瓷还的标识符为flagy,并初始 化flagy= 0;
[0010] 步骤5、创建第L次迭代的第m只蚂蚁的第k个批次和与其对应的第k个候 选表;;并使得第L次迭代的第m只蚂蚁能将所述η个瓷坯分配到不同个批次中进行 煅烧;并计算第L次迭代的第m只蚂蚁分配完有批次进行煅烧的煅烧时间之和;
[0011] 步骤6、将m+1赋值给m,并返回步骤5执行,直到m=Μ为止,从而获得第L次迭 代的所有Μ只蚂蚁的所有批次的煅烧时间之和集合從(2),···, 7^叭·.·, 〇Λ/|};
[0012] 步骤7、从所述煅烧时间之和集合…,7^'·.·,:^,中选取最小值 作为第L次迭代的局部最优解,记为31 ^
[0013] 步骤8、利用式⑴更新第L次迭代的第i个候选瓷坯h'i和第j个已加入到第 k个批次中的候选瓷坯h',之间的信息素τ^(L),从而获得第L+1次迭代的信息素 τij(L+l) ·
[0014]
[0015] 式⑴中,p表示信息素的蒸发速率;π^α)表示第L次迭代中第i个候选瓷坯 h'i和第j个已加入到第k个批次中的候选瓷坯h',被分到同一批次的次数;并
有:
[0016]
[0017] 步骤9、利用式(3)和式(4)判断τ^α+l)是否满足信息素浓度限定区间 [τ_,τ _],若满足,则保留第L+1次迭代的信息素τ^ (L+1),并执行步骤11 ;否则,执行 步骤10 :
[0018]
[0019]
[0020] 式(3)和式⑷中,π$表示当前已获得的所有局部最优解中的最小值;
[0021] 步骤 10、若τ"(L+l)彡Tnax,则将τηΜ赋值给τ"(L+l);若τ"(L+l)彡τηιη, 则将τ_赋值给τu(L+l);
[0022] 步骤11 ;将L+l赋值给L,判断L<L_是否成立,若成立,返回步骤4执行,否则 完成1_次迭代,并获得全局最优解πtest,即SL_次迭代中的所有局部最优解的最小值; 以全局最优解πtest所对应的加工方案作为最优加工调度方案。
[0023] 本发明所述的基于蚁群优化的瓷器煅烧工艺的加工调度方法的特点也在于,所述 步骤5中,第L次迭代的第m只蚂蚁是按如下步骤将所述η个瓷坯分配到不同批次中进行 煅烧:
[0024] 步骤5. 1、定义变量f;
[0025] 步骤5. 2、初始化z= 1 ;
[0026] 步骤5· 3、初始化f= 1 ;
[0027] 步骤5. 4、判断所述第z个分类^中选出第f个瓷坯的标识符flagf是否为1 ;若 为1,则表示第f个瓷坯已经煅烧,并执行步骤5. 5 ;否则,将第z个分类^中选出第f个瓷 坯加入到所述第k个候选表;中,并执行步骤5. 6 ;
[0028] 步骤5. 5、将f+Ι赋值给f,并返回步骤5. 4执行,直到f=fz为止后,执行步骤 5. 6 ;
[0029] 步骤5. 6、将z+1赋值给z,并返回步骤5. 3执行;直到z=a为止后,从而获得 待更新的第k个候选表;记所述待更新的第k个候选表名(£)@中的候选瓷坯为 {hruh'J;l^i^a;
[0030] 步骤5.7、从所述待更新的候选表;中选择加工时间最长的瓷坯h' key作为 关键瓷坯加入到所述第k个批次并将关键瓷坯h'key的标识符flag'key置为1 ;然 后从候选表中删除关键瓷坯h'
[0031] 步骤5. 8、利用式(5)获得第m只蚂蚁将所述待更新的第k个候选表中第i 个候选瓷坯h' ^卩入到第k个批次的候选概率从而获得第m只蚂蚁将所有候选 瓷坯加入到第k个批次)?π?)的候选概率集合……,:
[0032]
[0033] 式(5)中,α为信息素的权重,β为启发式信息的权重;Θik表示第i个候选瓷坯 h'i能加入到第k个批次中煅烧的期望度;nlk表示将第i个候选瓷坯h'i能加入
[0036] 式(6)中,τ^表示第L次迭代的第i个候选瓷坯h'i和第j个已加入到第k个 批次Cl£l(H7)中的候选瓷坯h';之间的信息素,1彡i乒j彡a; 到第k个批次煅烧的启发式信息;并有:
[0034]
[0035]
[0037] 式(7)中,表示第k个批次d/)(m)的煅烧时间A表示第i个候选瓷坯h', 的加工时间;
[0038] 步骤5. 9、从所述候选概率集合…,€,···,$}中选出候选概率最大的 /^&所对应的最大候选瓷坯,记为h' _;则所述最大候选瓷坯h' _的尺寸,记为8_;
[0039] 步骤5. 10、将所述最大候选瓷坯h' _加入到所述第k个批次并将最大候 选瓷坯h' _的标识符flag' _置为1 ;
[0040] 步骤5. 11、获得所述最大候选瓷坯h' _所对应的分类,记为w
[0041] 步骤5. 12、判断所述最大候选瓷坯h' _在所对应的分类《_中是否为第fz个瓷 器;若是,则从第k个候选表中删除所述最大候选瓷坯h' _,并将所述对应的分类w_删除;否则,从第k个候选表;^)(m)中删除所述最大候选瓷坯h' _,并将所述最大候选 瓷坯V_所对应的分类《_中第f_+l个瓷器加入到所述更新的第k个候选表;ζ'(£)(?Μ)中, 从而获得更新的第k个候选表;;
[0042] 步骤5. 13、将所述窑炉尺寸S减去所述最大候选瓷坯h' _的尺寸8_,获得剩余 煅烧尺寸,记为
[0043] 步骤5. 14、根据所述剩余煅烧尺寸,从所述更新的第k个候选表Af)<?Η)中 删除尺寸大于所述剩余煅烧尺寸5^-)的候选瓷坯;从而获得再次更新的第k个候选表 八k;
[0044] 步骤5. 15、以所述再次更新的第k个候选表;作为待更新的第k个候选表 ;并返回步骤5. 8顺序执行,直到第k个候选表;为空为止,即将第L次迭代的第 m只蚂蚁的第k个批次加满;从而获得第L次迭代的第m只蚂蚁的第k个批次 的加工方案;
[0045] 步骤5. 16、将已加满的第L次迭代的第m只蚂蚁的第k个批次进行煅烧;并 以所述第k个批次中加工时间最长的候选瓷坯作为所述第k个批次的煅烧时 间f㈣;
[0046] 步骤5. 17、将k+Ι赋值给k,并返回步骤