龙空技术网

粒子群优化算法,在工程问题中,优化算法有哪些?

清月夜话 60

前言:

今天小伙伴们对“多目标粒子群算法流程图”大概比较注意,各位老铁们都想要了解一些“多目标粒子群算法流程图”的相关知识。那么小编也在网上汇集了一些对于“多目标粒子群算法流程图””的相关文章,希望兄弟们能喜欢,大家快快来学习一下吧!

阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。

文/清月夜话

编辑/清月夜话

在工程问题中,最大化收益或最小化损失一直是一个关注的焦点。随着科学和技术的发展,各种领域的优化问题复杂性不断增加。通常,需要优化方法的工程问题的例子包括能源转换和分配、机械设计、物流和核反应堆的重新装载。

为了寻找最优解而最大化或最小化函数,有几种方法可以采用。尽管有各种各样的优化算法可以使用,但并没有一种被认为是适用于所有情况的主要方法。一个适用于某个问题的优化方法可能对另一个问题并不适用;这取决于一些特征,例如函数是否可微分以及其凹凸性。

为了解决问题,必须了解不同的优化方法,以便能够选择最适合问题特征的算法。

粒子群优化算法是肯尼迪和埃伯哈特提出的一种元启发式算法,它基于群体智能的概念,能够解决工程中存在的复杂数学问题。值得注意的是,与其他优化算法相比,PSO在处理上有一些优势,因为它需要调整的参数较少,并且必须设置的参数在文献中广泛讨论过。

粒子群优化

在上世纪90年代初,关于动物群体社会行为的研究得到了发展。这些研究表明,某些动物能够在群体之间共享信息,这种能力赋予了这些动物极大的生存优势。受这些研究的启发,肯尼迪和埃伯哈特在1995年提出了粒子群优化算法,这是一种适用于优化非线性连续函数的元启发式算法。

科研人员通过借鉴群体智能的概念,通常在动物群体中看到,例如鸟群和鱼群,来推导出这个算法。为了解释PSO如何启发了一个优化算法的制定,以解决复杂的数学问题,科研人员可以讨论一个鸟群的行为。

一群鸟在空中飞行时必须找到一个着陆点,这个问题很复杂,因为它涉及到很多问题,比如最大化食物的可获得性,最小化存在捕食者的风险。在这种情况下,我们可以将鸟群的移动看作是一种编舞;鸟群在一段时间内同步移动,直到最佳着陆点被确定,然后整个群体一起着陆。

在给定的例子中,只有当整个群体的所有成员都能够相互共享信息时,鸟群才会按照上述描述的方式移动;否则,每个动物很可能会在不同的点和不同的时间着陆。

上世纪90年代初关于动物社会行为的研究中指出,寻找一个好的着陆点的整个鸟群中的所有鸟都能够知道最佳点,直到其中一个群体成员找到为止。

通过这种方式,群体的每个成员都能平衡个体知识和群体知识的经验,也就是所谓的社会知识。在这种情况下,评估一个点是否好的标准是在可能的着陆点上找到的生存条件,就像本文前面提到的那些条件一样。

这个问题描述了一个优化问题。鸟群必须找到最佳的着陆点,比如纬度和经度,以最大化其成员的生存条件。为了做到这一点,每只鸟都在不同的点上飞行,并同时使用多种生存标准进行评估。每个鸟都有一个优势,即知道最佳位置点在被整个群体知道之前找到的位置。

肯尼迪和埃伯哈特受到鸟类社会行为的启发,这使得它们在解决寻找安全着陆点的问题时具有很大的生存优势,提出了一种称为PSO的算法,可以模仿这种行为。

惯性版本,也被称为经典版本的算法,于1995年提出。自那时以来,已经提出了其他版本,作为经典形式的变体,例如线性减小惯性权重,约束因子权重,动态惯性和最大速度减小,以及混合模型,甚至是可以应用于PSO的量子启发式优化技术。

PSO的惯性模型,因为它是最先进的算法,并且为了更好地理解PSO的推导,首先应该理解其经典版本。

优化问题的目标是确定由向量X=[x1x2x3…xn]X=x1x2x3…xn表示的变量,根据函数f(X)fX的优化形式,最小化或最大化。变量向量XX被称为位置向量;这个向量表示一个变量模型,是一个nn维的向量,其中nn表示在一个问题中可能确定的变量的数量。

例如在寻找鸟群着陆点的问题中,这些变量就是纬度和经度。另一方面,函数f(X)fX被称为适应度函数或目标函数,它是一个函数,可以评估位置向量XX的好坏,也就是说,一只鸟在找到一个着陆点后认为它有多好,这种评估在这种情况下是通过多种生存标准来进行的。

在迭代中,一个粒子的运动有三个不同的贡献,所以在公式中有三个项将进一步讨论。同时,公式更新粒子的位置。参数w是惯性权重常数,在经典的PSO版本中,它是一个正的常数值。

该参数对于平衡全局搜索和局部搜索非常重要。就这个参数而言,可以注意到这是经典PSO版本和其他从它衍生出来的版本之间的主要区别之一。

速度更新方程的第一个项是参数w和粒子先前速度的乘积,这是它表示粒子的先前运动对当前运动的影响的原因。因此,例如,如果w=1,粒子的运动完全受到其先前运动的影响,所以粒子可能会沿着同一方向继续运动。

另一方面,如果0≤w<1,这种影响就会减小,这意味着粒子更愿意去搜索域中的其他区域。因此,当惯性权重参数减小时,群体可能会在搜索域中探索更多的区域,这意味着找到全局最优解的机会可能会增加。然而,使用较低的w值也有一个代价,即模拟会更耗时。

它通过粒子自己的最佳位置和当前位置Xtij之间的差异来计算。可以注意到,这个项背后的思想是随着粒子离pbestij位置越来越远,差值将增加;因此,这个项增加,将粒子吸引到它的最佳位置。

该项中的参数c1是一个正常数,它是个体认知参数,它衡量了粒子自己以前的经验的重要性。组成第二项乘积的另一个参数是r1,它是一个取值范围为的随机值参数。这个随机参数起着重要的作用,因为它避免了过早的收敛,增加了最有可能的全局最优解。

最后,第三项是社会学习项。由于它,群体中的所有粒子都能够共享已经找到的最佳位置的信息,不管是哪个粒子找到的,例如gbestj。它的格式就像第二项,即个体学习项。因此,差值(gbestj−Xtij)起到将粒子吸引到在某个迭代t时找到的最佳位置的作用。

同样,c2是一个社会学习参数,它衡量了群体的全局学习的重要性。而r2扮演的角色与r1完全相同。

最后,PSO算法的流程图,可以注意到其中的优化逻辑是搜索最小值,所有位置向量都通过函数f(X)进行评估。此外,在二维问题中,即具有变量x1和x2的问题,在第t次迭代中粒子速度和位置的更新。

混合方法

一般来说,优化方法可以分为确定性方法和启发式方法。确定性方法旨在建立一个涉及梯度的迭代过程,在一定数量的迭代后,将收敛到目标函数的最小值。这类方法的迭代过程可以写成以下形式。

其中,xx是变量向量,α是步长,dd是下降方向,kk是迭代次数。对于任何确定性梯度方法,最好的结果是其收敛到一个驻点,通常是一个局部最小值。

相比之下,启发式方法不使用目标函数梯度作为下降方向。它的目标是通过以优雅有序的方式选择计算该函数的点来模拟自然,从而找到目标函数的最小值或最大值。

混合方法是确定性方法和启发式方法的结合,以充分利用两种方法的优势。混合方法通常使用启发式方法来定位全局最小值可能的区域。一旦确定了该区域,混合算法将切换到确定性方法,以便更接近和更快地接近最小点。

通常,这种混合方法的常见做法是使用启发式方法生成最优解的候选点,然后使用找到的最佳点作为确定性方法的起始点,以便收敛到局部最小值。

在过去的几年里,已经发表了大量关于混合方法效率和有效性的论文。在过去的十年里,关于优化的混合方法的论文数量也在不断增加。

在这种背景下,PSO算法可以与确定性方法相结合,增加找到函数的最可能全局最优解的机会。PSO与确定性方法相结合的方法:共轭梯度法、牛顿法和拟牛顿法。

共轭梯度法

共轭梯度法通过选择下降方向为梯度方向与前几次迭代的下降方向的线性组合,改善了最速下降法的收敛速度。因此,它们的方程式是。

PSO在科学的各个领域可以应用于许多类型的问题。例如,PSO已经应用于医疗保健领域,在显微成像中诊断某种类型的白血病问题。在经济学领域,PSO已被用来测试受限和不受限的风险投资组合,以实现最优风险组合。

在工程领域,应用非常广泛。在文献中可以找到许多应用PSO来增加系统传热性能的优化问题,甚至用于预测传热系数的算法。在热力学领域,可以找到一些涉及优化热系统的研究,比如柴油发动机 - 有机朗肯循环,混合柴油-有机朗肯循环/光伏系统,以及集成太阳能联合循环发电厂。

PSO还被用于几何优化问题,以找到最佳的系统配置,以满足设计约束条件。在这方面,可以提到涉及太阳能聚光器的光学几何优化研究以及满足温度分布和热流的辐射闭合几何优化研究。

通过不同版本的PSO算法,如第一部分提到的那些,PSO可以处理各种问题,从少量目标和连续变量的问题到复杂的多目标问题,涉及许多离散和/或连续变量。

除了潜力,用户必须意识到,只有当实现一个能够同时反映所有目标的目标函数时,PSO才能取得令人满意的结果。导出这样的函数可能是一个具有挑战性的任务,需要对要解决的物理问题有很好的理解,以及将想法抽象成数学方程的能力。提供了能够扮演这个角色的目标函数的示例问题。

对于使用PSO的人来说,另一个挑战是如何处理当粒子移动超出搜索域限制时的情况。在PSO经典版本提出了许多受欢迎的策略进行了回顾和比较。用户可以回顾和理解这些策略,以选择最适合优化问题特征的策略。

一个涉及核电厂燃料元件,另一个涉及热能联产系统。在第一个问题中,传统的PSO算法被用来找到最佳的燃料元件间距。

使用混合优化算法来寻找最佳的热能联产系统运行条件,以最小化总体运营成本。核燃料束格栅的弹簧和凹点 对核燃料束格栅中存在的凹点和弹簧的优化进行了研究。

核燃料束是一组结构化的燃料棒,也被称为燃料组件。而FR则是一种长而细的锆金属管,其中装有可裂变材料的颗粒,为核反应堆提供燃料。束格栅是核燃料束的一部分,可以看到燃料棒和束格栅是如何组装在一起的。

此外,束格栅的弹簧和凹点是如何抓住燃料棒的,束格栅中弹簧和凹点与燃料棒可能接触的部分。为了进行这项工作,使用了MATLAB®开发的PSO算法,并使用ANSYS 15.0软件进行了有限元分析。

弹簧和凹点充当支撑物,因为燃料棒在运行中会释放大量的能量,这是由其中的核反应引起的。因此,燃料棒的材料必须在操作时面对广泛的温度范围,例如在300°C的变化范围内,这对于弹簧和凹点来说是一个重要问题,因为它们不能对燃料棒施加过大的夹紧力,从而允许它在轴向上进行热膨胀。

另一方面,由于燃料棒内部的核裂变释放了大量热量,导致上升的水流产生振动,因此弹簧和凹点还必须限制燃料棒的横向位移。此外,在地震和运输过程中,束格栅还必须通过其凹点和弹簧来支撑燃料棒。

在核反应堆中安全支撑燃料是一个重要问题,因为由于设计不良可能会导致燃料棒释放裂变产物并导致反应堆安全关机。

标签: #多目标粒子群算法流程图 #粒子群优化算法的应用范围 #最优化算法数据结构 #自适应权重粒子群算法优化多核支持向量机 #算法算力流程优化研究