温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
改进
粒子
算法
陶瓷
配方
问题
应用
贺楚寒
第 39 卷 第 7 期 福 建 电 脑 Vol.39 No.7 2023 年 7 月 Journal of Fujian Computer Jul.2023 本文得到演化计算方法在多模态优化问题中的应用研究(No.GJJ211331)资助。贺楚寒,男,1997年生,主要研究领域为智能优化。E-mail:。刘宇娇,女,1996年生,主要研究领域为进化计算。E-mail:。汤可宗(通信作者),男,1978年生,主要研究领域为智能信息处理、智能优化。E-mail:。改进粒子群算法在陶瓷配方问题上的应用 贺楚寒 刘宇娇 汤可宗 (景德镇陶瓷大学信息工程学院 江西 景德镇 333403)摘 要 为更好地求解陶瓷配方设计问题,本文提出一种改进的自适应粒子群优化算法。该算法采用一种新的自适应惯性权重策略及设置学习因子随迭代次数非线性变化,有效平衡了粒子种群的全局和局部搜索性能。在一组陶瓷配方设计问题的仿真实验的结果表明,该算法比其他测试算法在收敛速度、配方精度上有均有明显的优势,能有效应用于陶瓷配方设计问题。关键词 粒子群算法;陶瓷配方设计;最优化问题 中图法分类号 TP3-05 DOI:10.16707/ki.fjpc.2023.07.006 Application of Improved Particle Swarm Optimization Algorithm to Ceramic Formula Problem HE Chuhan,LIU Yujiao,TANG Kezong (Department of Information Technology,Jingdezhen Ceramic University,Jingdezhen,China,333403)Abstract In order to better solve the ceramic formula design problem,this paper proposes an improved adaptive particle swarm optimization algorithm APSO.The algorithm adopts a new adaptive inertia weight strategy and sets a learning factor that varies nonlinearly with the number of iterations,effectively balancing the global and local search performance of the particle population.The results of simulation experiments on a group of ceramic formula design problems show that the APSO algorithm has significant advantages over other test algorithms in terms of convergence speed and formula accuracy,and can be effectively applied to ceramic formula design problems.Keywords Particle Swarm Optimization;Ceramic Formula;Optimal Design 1 引言 陶瓷配方是指对陶瓷制品的坯料进行化学成分分析,从而得到坯料的化学组成及百分含量的方案。实际陶瓷制品烧制陶瓷坯料的原料来源于不同矿石,化学成分也各有差异。因此,陶瓷配方设计问题是在已知陶瓷配方的情况下,如何合理选择矿石原料及其占比来进行陶瓷制品的烧制生产问题。陶瓷制品的生产中,原材料配比的设计决定了陶瓷制品的物理、化学性等性能。由于生产原料所用矿物品类繁多,且品质和稳定性不一,以往的陶瓷配方设计往往是通过经验性方法,设计过程十分繁琐且效率低下,不利于陶瓷制品的大规模生产1。为了提高陶瓷配方的效率与准确性,有研究提出最优化设计思想来对陶瓷配方设计问题进行求解,建立陶瓷配方设计的数学模型2。有学者通过将 Excel 中的“规划求解”功能应用于陶瓷配方设计问题,得到优化结果3。该方法使用方便、操作简单、有一定实用价值,但在配方精度上有所不足。还有研究提出将单纯形法应用于陶瓷配方设计问题,虽然提高了配方精度,但只能在局部找到最优解4。通过从种群设定、编码方式、操作算子等方面对遗传算法作改进,虽然能获得较好的配方精26 贺楚寒等:改进粒子群算法在陶瓷配方问题上的应用 第 7 期 度,但易于出现早熟现象且算法时间复杂度较高5。采用组合模拟退火算法与遗传算法改进模拟退火遗传算法,尽管 Metropolis 准则在一定程度上能跳出局部最优解区域,但同样存在收敛速度慢、配方精度低等问题6。传统的时变惯性权重粒子算法对于一些全局最优问题的求解有着较好的效果,但随着问题维度的提升,在面对高维多峰的问题上容易陷入局部最优、收敛速度慢等问题。为有效提高算法的全局搜索能力,增强种群跳出局部最优区域的能力,本文提出一种改进的自适应粒子群优化算法(an adaptive particle swarm optimization algorithm,APSO)。通过引入全局极差值来对粒子种群中每个粒子的惯性权重进行自适应变化。当粒子适应度值越接近全局最优值时,可以判断此粒子更需要对其邻近区域进行探索;当粒子适应度值越接近全局极差值时,可以判断此粒子更需要扩大搜索范围。将 APSO 算法应用于陶瓷配方设计问题,根据最终获得的配方组成对配方结果的精度进行优化比较,从而验证所提出算法的优化设计效果。2 陶瓷配方模型 2.1 目标变量 通常,陶瓷的坯料和原料的化学成分主要由八种氧化物构成,分别是 SiO2、Al2O3、Fe2O3、MgO、Na2O、CaO、K2O、TiO2。坯料及原料中含有的一些其他化学成分的占比非常小且对陶瓷制品的性能影响较小,在此不进行讨论。根据给出的原料与目标配方化学成分占比,设计的陶瓷配方应该使坯料的化学组成尽可能地贴近目标配方。假定有目标配方A,配方中含有 n 类化学组成,Ai表示配方中第 i 类化学成分所占质量百分比,现给定原料 D,包含有 m 种子原料,Dij表示第 j 种子原料中,第 i 类化学成分所占质量百分比,所求的配方为 X,Xj表示在所求配方中第 j 种子原料占总原料 D 的质量百分比。2.2 目标函数 针对陶瓷配方设计问题求解,目标函数为所求配方的化学组成与目标配方的化学组成之间的误差。对于误差计算的常用方式:(1)计算各化学成分的绝对误差。(2)计算各化学成分的相对误差。考虑到陶瓷配方设计过程,不同种化学成分含量占比可能相差较大,且各种成分对产品的性能与其成分占比不成线性关系,即使占比很小的化学成分改变对最终产品的性能影响也很大。在此,目标函数设定为配方中各种化学成分的相对误差为最小值。f(x)=min(DijXiAimj=1Ai)ni=1 (1)S.t.Aini=1=1(i=1,2,n)Xjmj=1=1(j=1,2,m)Dijni=1=1(i=1,2,n)3 算法改进与流程 3.1 粒子群算法 粒子群优化(Particle Swarm Optimization,PSO)算法是 Kennedy 和 Eberhart 在 1995 年提出的一种模拟鸟群和鱼群等动物觅食过程的群智能优化算法7-9。由于 PSO 算法具有参数少、易实现、操作简单等优点,受到国内外不同领域学者的广泛研究。PSO 算法中,搜索空间中的每个粒子被看作一个潜在的可行解,每个粒子拥有两个特征:位置和速度。假设探索空间为 D 维空间,首先,随机产生N 个粒子的位置和速度,构成初始群体;然后每个粒子根据自身飞行的经验和群体的飞行经验在搜索空间内飞行,从而获得全局最优或邻近位置。设t时 刻 第i个 粒 子 的 位 置、速 度 分 别 为Xit=(Xi1t,Xi2t,XiDt)和Vit=(Vi1t,Vi2t,ViDt),第 i个粒子历史最好位置为Pit=(Pi1t,Pi2t,PiDt),群体历史最好位置为Pgt=(Pg1t,Pg2t,PgDt)。第 i 个粒子在 t 时刻速度和位置的更新公式如下:Vidt+1=wVidt+c1r1(Pidt Xidt)+c2r2(Pgdt Xidt)(2)Xidt+1=Xidt+Vidt+1 (3)其中,w称为惯性权重,c1和c2是学习因子,r1和r2是0,1之间的随机数。3.2 惯性权重 惯性权重决定着粒子先前的飞行速度对于当前飞行速度的影响程度,能有效平衡粒子群体的全局搜索和局部搜索的性能10。粒子群体飞行过程,适应度值越好的粒子,越有可能搜索到最优解或其邻近区域,此时粒子更新速度应当受粒子原有速度的影响越小,从而增强其局部搜索能力;而适应度值越差的粒子,搜索到最优解或其邻近区域的可能性小,此时粒子更新速度应当受粒子原有速度的影响越大,应当增强其全局搜索能力。在此,给出一2023 年 福 建 电 脑 27 种新的自适应惯性权重改进策略:在粒子群体搜索过程中,记录当前迭代过程中种群适应度的最好值为fbest,适应度的最差值为fworst,当前粒子适应度值为fit(i)。则对于该粒子的惯性权重计算公式为:w=wmin+(wmax wmin)fit(i)fbestfworstfbest (4)根据公式(4)可知,对于 t 时刻第 i 个粒子,其适应度值为fit(i),越接近全局极值fbest时,其惯性权重w越接近设定的惯性权重最小值wmin;当其适应度值fit(i)越接近全局极差值fworst时,其惯性权重w越接近设定的惯性权重最大值wmax。3.3 学习因子 学习因子c1体现了粒子具有自我学习的能力,是个体自我经验的认知程度。学习因子c2表现了粒子向种群中更好粒子学习的能力,代表的是粒子的社会认知。王东风对c1、c2的 9 种不同调整策略11,通过 12 个测试函数测试算法寻优成功率,得出对于c1在迭代过程中由 2.5 线性减小到 0.5,c2由 0.5线性增加到 2.5,是一种很好的参数设置方式。由于粒子种群搜索时,初期要关注个体自我认识的能力,后期需注重个体获取社会信息的能力,设置非线性变化的c1、c2有利于粒子的全局搜索与局部勘探过程。在此,设置学习因子随迭代次数非线性变化改进策略公式为:c1=sin(1 iteritermax)2)+c2=cos(1 iteritermax)2)+(5)式(5)中:iter 为当前迭代次数;itermax为最大迭代次数;取值为 2,取值为 0.5。当迭代次数较小时,学习因子c1的值接近最大取值 2.5,学习因子c2的值接近最小取值 0.5,此时的搜索更看重粒子个体自我认知能力;当迭代次数较大时,学习因子c1的值接近最小取值 0.5,学习因子c2的值接近最大取值 2.5,此时的搜索更倾向于获取粒子种群的整体搜索信息。3.4 算法流程 APSO 算法应用于陶瓷配方设计问题时,步骤如下:Step1:参数设置初始化,输入目标配方 A 与原料化学组成 B。Step2:初始化所有粒子,初始化粒子的速度与位置。此时每个粒子代表陶瓷配方问题中一个潜在的可行解,将所有粒子的历史最优pbest设为当前位置,公式(1)作为适应度函数,种群中最优的粒子位置的适应度为fbest,种群中最差的粒子的适应度为fworst。Step3:根据公式(4)和公式(5)计算惯性权重w和学习因子c1和c2。Step4:对每个粒子的速度与位置按照公式(2)与(3)进行更新。Step5:在每一次迭代中,计算每个粒子 i 的适应度。如果粒子 i 的适应度fit(i)比历史最优位置Pi好,则当前位置 Pi被替代;如果该粒子的历史最优位置 Pi比全局最优位置Pg好,则全局最优位置Pg被该粒子 i 的历史最优位置 Pi所替代;如果