没有合适的资源?快使用搜索试试~ 我知道了~
0Array 16 (2022) 1002490article under the CC BY license(http://creativecommons.org/licenses/by/4.0/)0ScienceDirect提供的内容列表0Array0期刊主页:www.elsevier.com/locate/array0共享目标函数数据的协同优化0I Gusti Agung Gede Angga a,Mathias Bellout a,Per Eirik Strand Bergmo b,Per Arne Slotte a,Carl Fredrik Berg a,�0a挪威科技大学(NTNU)地球科学与石油系,特隆赫姆7031号S. P. Andersens veg 15A b挪威工业研究院石油系,特隆赫姆7031号S. P. Andersens veg 15B0文章信息0关键词:协同优化算法,多任务优化,基于仿真的优化,遗传算法,粒子群优化,梯度下降0摘要0本文提出了一种协同算法框架,用于解决多任务优化场景,其中评估目标包括两部分:第一部分涉及一个常见的计算密集型函数,例如数值模拟,而第二部分通过进行额外的、计算量明显较少的计算来进一步评估目标。协同框架的思想是(i)同时解决所有优化问题,(ii)在每次迭代时执行同步的“协同”操作。这种独特的操作包括在所有搜索过程之间共享重要部分的结果。目标是通过利用其他搜索的已计算出的解决方案的重要部分来改善每个单独过程的性能。提出了几个问题集。就解决方案质量、一致性和收敛速度而言,我们观察到我们的协同算法比传统优化技术表现更好。信息共享在优化的早期阶段被最积极地利用。尽管协同算法需要额外的计算时间,但随着昂贵部分和轻部分的计算成本之间的差异增加,额外成本正在减少。01. 引言0优化问题有两种常见类别:单目标优化(SOO)和多目标优化(MOO)。SOO旨在仅确定单个目标函数的最佳解,而MOO的目标是找到两个或更多(通常是相互矛盾的)目标的一组非支配(帕累托最优)解。近年来,出现了一种称为多任务优化(MTO)的新型优化问题类别,并引起了研究界的关注。MTO的目标是同时解决一组优化问题,通常称为“任务”,以便利用任务之间的协同作用(即通过任务间的知识转移)来改进每个任务的搜索过程[1,2]。MTO由 � �个不同的优化问题组成,其中每个问题在搜索空间 � �上定义了一个唯一的目标函数 � �。在此我们定义所有问题都是最大化问题,没有一般性损失。对于最小化问题,我们可以通过使用负目标函数将其转化为最大化问题。MTO的目的是确定一组最优解 { �� � 1 , �� � 2 , … , �� � � � } ,其中 �� � � = argmax �� � ∈ � � � � (。因此,MTO的最终产品与MOO不同。MTO和MOO之间的区别是0� 通讯作者。邮箱地址:i.g.a.g.angga@ntnu.no(I G.A.G. Angga),mathias.bellout@gmail.com(M. Bellout),per.bergmo@sintef.no(P.E.S. Bergmo)0paslotte@gmail.com (P.A. Slotte), carl.f.berg@ntnu.no (C.F. Berg).0进一步讨论见[1,3,4]。尽管存在差异,多目标优化问题的帕累托最优解可以通过重新构造多目标优化问题为一组单目标优化问题(例如,通过[5,6]中提出的方法),然后将这组问题作为MTO场景进行求解来获得。解决MTO的一种直接和传统的方法是独立解决每个问题。然而,随着优化问题变得更加复杂,这种方法可能存在局限性。此外,现实世界的优化问题通常具有高度的相似性(即在其适应度景观或最优解中具有共性)[1,7,8]。这两个方面激励了科学界提出MTO算法,旨在通过单个搜索过程同时解决所有优化问题,以便从解决一个问题中获得的知识可以被利用来帮助解决其他问题。MTO算法通常使用从进化计算(例如,[3,7,9])、群体智能(例如,[10-12])或贝叶斯优化(例如,[13])中提取的概念来开发。以下段落将简要解释其中一些MTO算法。采用进化计算的进化MTO(EMTO)算法,可以分类0https://doi.org/10.1016/j.array.2022.100249收到日期:2022年7月12日;收到修订稿日期:2022年8月28日;接受日期:2022年9月12日20Array 16(2022)1002490I G.A.G. Angga等0命名0首字母缩略词0CO 2 二氧化碳0C-GA 协作遗传算法0C-GD 协作梯度下降0C-GD-I 协作梯度下降第一版0C-GD-II 协作梯度下降第二版0C-PSO 协作粒子群优化0CCEA 合作协同进化算法0DEMTO 差分进化多任务优化0EMTO 进化多任务优化0GA & NC-GA 传统的非协作遗传算法0GD & NC-GD 传统的非协作梯度下降0MFEA 多因素进化算法0MM 基于多种群的多任务处理0MOO 多目标优化0MPEF 多种群进化框架0MTO 多任务优化0NSGA-II 非支配排序遗传算法第二版0OFV 目标函数值0P10 10th百分位0P50 50th百分位或中位数0P90 90th百分位0PSO & NC-PSO 传统的非协作粒子群优化0SM 基于单种群的多任务处理0SOO 单目标优化0USD 美元0符号0◦ 函数组合0R 实数集0� � 问题 � 的搜索空间0� � 用于解决问题 � 的种群0� � 从种群 � � , � ≠ � 中收集的有前途的解决方案候选人,以克隆并引入到 � � 中0�� � 问题 � 的全局最佳位置0�� � 问题目标函数中的系数集0�� � 问题目标函数中的常数集0分为两大类算法; 其中一种是基于单种群的多任务处理(SM)。SM的一个早期例子是由Gupta等人提出的多因素进化算法(MFEA)[3]。MFEA的发展受到多因素遗传概念的启发,该概念解释了后代之间的特征受到“许多因素”的影响,例如遗传和文化因素[14,15]。MFEA中的搜索过程是使用包含所有问题解决方案的一个种群来执行的。种群中的每个个体都有一个技能因子,指示其分配的一个任务,并且种群中的两个随机选择的个体如果具有相同的技能,则可以自由执行交叉操作0�� �问题 � 的解决方案候选0�� �与 �� � 相关的计算重函数的输出0�� � �问题 � 的最优解0� ( �� )与模拟结果 �� 相关的油气生产成本0�目标函数中的系数0� �问题 � 的目标函数0� �计算重函数0� ( � )与交换方案 � 相关的聚合目标函数值0� �,�为问题 � 的计算轻函数0� �优化问题的维度0� CO 2 ( �� )与模拟结果 �� 相关的碳排放量0� �,��传统非协作算法中的目标函数评估次数0� �,�协作算法中的目标函数评估次数0� �优化问题的数量0� �每个种群的大小0� �迭代次数0� �交换方案的数量0� CO 2 CO 2 税率0� ( �� )与模拟结果 �� 相关的碳排放量0� �计算重函数 � � 的计算时间0� �协作算法的运行时间0� ��传统非协作算法的运行时间0� �为问题 � 的计算轻函数的输出, � �,�0然而,如果技能因素不同,两个个体只能以一定的概率进行交叉。0另一类EMTO算法是基于多种群的0任务(MM)。与SM相反,MM算法使用多个种群,其中每个种群包含MTO设置中优化问题的所有解决方案候选。MM的优势有两个:(i)MM可以轻松采用任何现有的基于种群的优化算法,(ii)种群之间的信息传递可以有效进行[16]。MM算法的一个例子是最初由Li等人提出的多种群进化框架(MPEF),后来在[17,18]中进行了扩展。在MPEF中,每个种群都有自己利用其他种群知识的概率,并且这个概率是自适应调整的,以防止所谓的负迁移现象。由于个体对于不相关的任务进行交叉,SM中可能会出现这种现象,最终可能导致性能下降。MM算法的另一个例子是Zheng等人提出的差分进化多任务优化(DEMTO)[7]。还有一种基于岛模型的MM算法是由Hashimoto等人开发的[19]。DEMTO和岛模型都实现了显式的知识传递,这意味着个体(完整解决方案)从一个种群或任务迁移到另一个种群。DEMTO和岛模型之间的一个共同点是从其他种群中随机选择要迁移的个体。这可能导致负迁移。相比之下,我们的协作算法3castraditional optimization algorithms, such as gradient descent (GD) [29],pattern search [30], genetic algorithm (GA) [31], particle swarm op-timization (PSO) [32,33], or Bayesian optimization [34,35]. Betteroptimal solutions can obtained by employing MTO algorithms discussedearlier which have the capabilities to transfer and exploit the knowl-edge gathered while solving the optimization problems simultaneously.However, the MTO algorithms are sub-optimal for tackling our specialMTO cases because the results of heavy function 𝑓ℎ will be used onlyonce. For example in EMTO algorithms, an offspring will be evaluatedonly for one problem (depending on the skill factor or populationof the offspring). Similarly in multitask Bayesian optimization, thenext data point (that is obtained from the maximization of acquisitionfunction) will be observed only for the relevant problem. This practiceis inefficient as the results of heavy function 𝑓ℎ can actually be utilizedto compute other light functions 𝑓𝑙,𝑖 and those computed objectivevalues are potentially helpful for the overall optimization processes.For instance in multitask Bayesian optimization, additional observeddata points (coming from the reuse of heavy function outputs) canco0Array 16(2022)1002490除了进化计算,转移知识的想法0在任务之间转移知识的不同程序,即仅利用或迁移对特定种群或任务最有用的个体(来自其他种群)。0G.A.G. Angga等0在解决优化问题时收集到的边缘信息也被Swersky等人纳入到多任务贝叶斯优化框架中[13]。这种算法的一个重要组成部分是多任务高斯过程模型(例如,[20]),它们被用来逐渐捕捉MTO中不同任务之间的相关性程度。利用这种相关性,对其他任务的观察将作为对感兴趣任务的额外观察,而不需要额外的函数评估[13]。如果任务相关,这些额外的观察可以帮助代理模型(即高斯过程模型)更好地表示这些任务中实施的目标函数,这意味着模型变得更准确(更接近真实的目标函数)和更精确(具有更少的不确定性)。采集函数的响应曲面,这对于决定下一个采样点是必需的,然后受到代理模型的改进的影响[21]。因此,我们可能会获得更好的采样点或解决方案候选进行评估。另一方面,如果任务不相关,额外的观察将不被考虑,因此不会影响优化性能[20]。0在这里,我们提出了有效的协作算法,用于0解决特殊MTO案例。与正常的MTO一样,特殊MTO案例由几个优化问题或任务组成,其中每个任务使用唯一的目标函数。特殊MTO案例的独特之处在于所有的目标函数必须具有以下特征:0-每个目标的评估包括两个阶段,� � =0� �,� ◦ � �,其中◦表示重� �和轻� �,�函数的函数组合。0-在第一阶段,评估过程涉及计算-0通常的重函数��,比如解决一组非线性偏微分方程的模拟。重要的是,所有的优化问题都有相同的重函数��,例如,使用完全相同的模型进行模拟,得到相同类型的输出。0-在第二阶段,对目标的后续评估是-0基于模拟结果,即重函数� �的输出,并且在计算方面相对较轻。这个轻函数��,�是问题特定的,意味着每个优化问题都有自己独特的轻函数。0最后,所有任务都优化相同的变量类型,并且具有相同的搜索空间。0工程中这种特殊MTO案例的一个例子是为了优化-0优化机翼设计。机翼的几何形状影响机翼所受的升力和阻力。优化问题包括确定最大化升力、最小化阻力或最大化升阻比(例如,[22-24])。然而,工程师可能希望找到并比较与这些不同目标函数相对应的所有最佳机翼设计。这意味着他们需要解决几个优化问题。这里的主要兴趣是为不同的目标函数找到不同的最优解,而不是像MOO中那样确定目标函数之间的权衡。请注意,为了评估这些问题目标,我们需要进行计算流体力学模拟(即重函数��)来确定机翼周围流体压力和速度的空间分布。然后,使用相应的轻函数��,�计算模拟结果来计算目标函数值。显然,在所有这些问题中,模拟工作是相对于后续计算目标函数值而言计算要求较高的部分。这里的目标函数评估的两个阶段反映了特殊MTO案例的独特性。0另一个特殊MTO案例的例子出现在发展中-0碳氢化合物田的开发阶段。要优化的变量包括井位、井完井和/或井生产策略[25]。文献中大多数优化研究讨论的是要么最大化利润、要么最大化田地产量、要么最小化能源消耗[26-28]的优化问题。与之前一样,人们可能希望为不同的目标函数识别和比较所有最佳的开发方案,这意味着必须解决一系列优化问题。还有兴趣研究市场价格的变化如石油和钢铁价格如何改变最佳的开发方案。对于这样的敏感性分析,我们必须解决多个优化问题,每个问题使用不同的市场价格。这些优化问题的共同点是一些参数,例如市场价格或特定的目标函数选择,不会进入模拟(即重函数� �)并且只需要使用模拟输出进行轻量级计算(即轻函数��,�)。例如,最终的净现值计算包括单个函数评估。另一方面,完全模拟,例如多孔介质中的流体位移,依赖于对一组非线性偏微分方程的计算昂贵的解决方案。0此外,MTO算法严重依赖优化-0被考虑的优化问题之间存在共性,或者可以利用这些共性来促进整体搜索过程[7]。然而,如果一些优化任务不相关,并且在这些不相关任务之间发生知识转移(在[1]中称为负转移),MTO算法可能会经历性能下降[38]。0基于上述原理,我们在此提出协同优化-0有效解决特殊MTO案例的协同优化算法,包括在其目标函数计算中具有共同重要部分和个体轻部分。在我们提出的协同算法中,所有定义的问题都是同时解决和通信的,而不是独立解决而没有相互通信。此外,通过考虑前面提到的MM的优势,提出的协同算法采用基于多种群的框架,并实施显式的知识转移策略。通信是通过每次迭代中的“协同”操作实现的,这是提出的算法的一个区别特征。“协同”操作意味着重函数��的结果分布到所有问题。通过在共享结果数据上评估相应的轻函数��,�,每个优化问题能够评估额外的解决方案候选。因此,所提出的协同算法有潜力(i)为其相应的优化问题产生更好的解决方案,并且(ii)收敛更快。额外的轻函数计算会增加计算时间,但是当问题的重函数在计算上比轻函数要求更多时,这额外成本变得微不足道。根据我们的文献综述,我们无法确定现有的算法是否利用了在上述特殊MTO案例的目标函数评估中的重/轻函数结构特征。还要注意,我们提出的协同算法不是多保真度优化;协同算法利用目标函数计算的两个级别,即重要部分和轻部分,并不使用或创建任何低保真度模型。这些问题特征和协同算法的特点将在本文中更深入地讨论。40数组16(2022)1002490I G.A.G. Angga等0图1.在一组��优化问题中,计算目标函数值��,没有任何不同问题之间的协作。���:问题�的解决方案候选进行评估。���:相对于���的计算密集函数��的输出。��:问题�的计算轻函数的输出,��,�。0为其相应的优化问题产生更好的解决方案,并且(ii)收敛更快。额外的轻函数计算会增加计算时间,但是当问题的重函数在计算上比轻函数要求更多时,这额外成本变得微不足道。根据我们的文献综述,我们无法确定现有的算法是否利用了在上述特殊MTO案例的目标函数评估中的重/轻函数结构特征。还要注意,我们提出的协同算法不是多保真度优化;协同算法利用目标函数计算的两个级别,即重要部分和轻部分,并不使用或创建任何低保真度模型。这些问题特征和协同算法的特点将在本文中更深入地讨论。0本文结构如下。第2节定义了优化问题0协同算法所开发的优化问题。第3节描述了协同算法中的两个关键和独特的特征,并介绍了这些特征在几种传统优化技术中的应用。第4节提供了我们用于测试协同算法的四个问题集的描述。优化结果,包括与传统优化方法和MFEA的性能比较,将在第5节中呈现和讨论。为了避免与一些现有算法的命名混淆,第6节进一步澄清了术语“协同”的使用。最后,在第7节和第8节中给出了结论和未来工作。02. 优化问题的特征0我们的协同算法旨在解决一个特殊的MTO案例0具有第1节中描述的属性。在这个MTO案例中,我们有一系列不同目标函数的 � �优化问题。每个问题旨在优化一组变量, ��,以满足其目标。一个关键的特征是,对于所有考虑的问题, ��的搜索空间是相同的。0另一个重要的问题特征是目标评估0� 问题的评估过程包括两个步骤; � � = � �,� ◦ � �。每个目标函数的个体评估如图1所示。在这个图中,红色框表示了如何获得第 �个问题的目标函数值, � � = � �,� ( �� � ) = � �,� ( � � ( �� � )) , 对于一个解决。每个目标评估过程的第一步涉及解决一个计算量大的函数, � �,例如,一个真实系统的数值解。请注意,这个第一步中的重函数,� �,对于所有优化问题 � 都是完全相同的,因此模拟输出, �� � = � � ( �� � ),包含相同的组件。第二步涉及解决一个计算量小的函数,� �,�,其输入是在第一步计算得到的模拟结果, �� �。一个主要的区别是,与重函数不同,轻函数对于每个优化问题 �都是不同的。也就是说,� �,� 表示了唯一定义问题 � 的轻函数。0图2. 我们协同优化算法中目标函数值 � � 的计算。03. 协同优化算法03.1. 主要概念0在许多传统的优化技术中,所有解决方案候选者0在当前或先前迭代中已经评估的个体提供了生成新解决方案候选者的信息。这些信息对优化例程的进展具有重要影响。对于GA,当前种群中的个体将把它们的基因传递给它们的后代,而继承的基因将决定新种群的适应度。对于PSO,全局最佳粒子的位置(从当前种群更新)将影响其他种群成员的速度(即大小加方向)。对于GD,搜索方向或梯度是在当前解决方案确定的。0本文中提出的协同算法改进了0通过增强下一个解决方案候选者的开发所需的信息来改进搜索过程。这些算法通过两个独特的特征实现了这一目标。首先,第2节中指定的所有优化问题都是同时解决的。在这里,“同时”一词意味着每个问题的搜索过程(生成和评估新解决方案候选者)在算法的每次迭代中都会前进。这与一个直接(顺序)方法不同,在顺序方法中,每个优化问题在转移到下一个问题之前都会完全解决。0其次,在每个单独的迭代中进行协同操作0其中所有问题共享重函数评估的输出, �� � 。在使用传统方法时(见图1), �� �仅用于量化问题 � 的轻函数, � � = � �,� ( �� � ) 。协同操作扩展了 �� �的使用,它还用于评估与其他问题相关的轻函数,即 � 1 = � �, 1 ( �� � ); … ; � � −1 = ��,� −1 ( �� � ); � � +1 = � �,� +1 ( �� � ); … ; � � � = � �,� � ( �� �)(见图2)。一个明显的结果是,任何单个优化问题都能在每次迭代中评估许多额外的解决方案候选,从而增强了用于决定下一个解决方案候选的信息。例如,问题 � 的下一个解决方案候选传统上仅基于 � � = � �,� ( �� � )。50Array 16(2022)1002490I G.A.G. Angga等人0(见图2中的红色框)。这与协同算法中发生的情况形成对比,我们决定下一个解决方案候选不仅来自 � � = � �,� ( �� � ) ,还来自其他问题的当前解决方案候选,� �,� ( �� 1 ); … ; � � = � �,� ( �� � −1 ); � � = � �,� ( �� � +1 ); � � = � 0在像GA或PSO这样的基于种群的优化方法中0附加信息可能会引导整体搜索朝着更有前景的领域。在像GD或PS这样的局部搜索方法中,附加信息可能会防止我们陷入局部最优解。因此,信息的增强可以实现:(i)改进任何优化问题的最终解,以及(ii)更快的收敛。本文对这两个方面进行了研究。在接下来的三个小节中,我们将介绍协同概念在三种传统优化技术上的实现,即GA、PSO和GD。但需要注意的是,协同方法完全取决于问题的计算特性,因此也可以在其他搜索方法上实现。03.2. 协同遗传算法(C-GA)0遗传算法(GA)是一种众所周知的搜索方法类0在文献中报道了许多实现[39-41]。这种算法最初是由Holland[31]在70年代开发的,是一种随机的基于种群的算法。GA的成功可能源于其模拟生物进化中的自然选择过程的简单而清晰的概念。为了实现这一抽象,GA包括四个基本操作,即选择、交叉、变异和替换:01. 选择过程从种群中选择一些优质个体0种群。02. 选定的个体(父母)经历交叉(配0操作,并产生新个体(后代)。这些后代具有从选定的父母那里继承的基因(特征)。03. 为防止种群过早收敛0收敛,会实施变异过程,在基因上引入随机扰动。04. 一个代(迭代)将以替换操作结束0操作,其中后代与其父母进行比较。具有更好适应度的个体将存活,而其余的将消失。0在本小节中,我们介绍了一种协同遗传算法(C-0GA),并描述其与传统GA的主要区别。正如名称所显示的,C-GA是基于遗传算法构建的,这意味着所有标准的GA操作仍将参与其中。GA有许多变体。在这项工作中,我们采用了Chuang等人建议的变体[42]。我们期望其他版本同样适合于整合协同部分,并且不会改变本研究的发现。0C-GA的伪代码如算法1所示。算法开始0初始化几个种群。每个种群负责找到一个特定问题的最优解。例如,��反映了一个种群(一组解决方案候选人),其目标是解决问题�。初始化所有解决方案候选人后,我们评估每个候选人的计算密集型函数��(算法1中的第4-6行)。因此,解决方案候选人��及其对应的��输出��被视为一个实体(对象)。这意味着从一个种群复制��到另一个种群也将复制相应的��。算法1中的“while”循环(第7-22行)表示优化迭代过程。参考这个循环,很明显C-GA中所有指定的问题都在同时解决,这意味着在一个迭代中我们更新每个种群的成员(解决方案候选人)。这是C-GA的第一个独特特征。0从GA的基本思想出发,我们推测一个种群0具有更好的遗传信息将产生更强大的后代,并最终提高优化性能,例如找到的最优解的质量和收敛速度。为了提高所有种群的质量,我们在每次迭代中执行协同操作(算法1中的第9-13行)。这个操作是G-GA的另一个独特属性。如果忽略协同操作,代码就变成了传统的GA。操作的本质是用其他种群中更好的个体克隆来替换种群的一些成员。C-GA中的协同操作包括两个函数(参见算法2)。第一个函数将定义一组有前途的个体��,以克隆并引入到种群��中。这些有前途的个体必须来自于除��之外的任何种群。此外,��中的有前途的个体是基于问题�的轻函数��,�来选择的。算法2中的第二个函数将用有前途的个体替换��的一些最差成员。替换的一个条件是有前途的个体的适应度比被替换的个体更好。可能出现这样一种情况,即��中的有前途的个体没有比��现有成员更好的适应度。在这种情况下,将不会替换��的任何成员(不克隆)。最后,注意协同操作保持种群大小恒定。60数组16(2022)1002490I G.A.G. Angga等人。03.3. 协同粒子群优化(C-PSO)0粒子群优化(PSO)是另一种类型的随机0基于种群的优化技术。这个算法最初是由肯尼迪和埃伯哈特[32]提出的,自那以后就引起了很多关注。文献中存在大量的修改提案[43-45]和应用[46-49]。PSO中的搜索机制受到动物的社会行为的启发,特别是那些显示出群体行为的动物,如鸟类或鱼类。动物群体有自己的一套操作来作为一个群体定位食物来源。群体中的每个个体(在PSO中,个体被称为粒子)根据自己和群体中其他成员的学习经验不断更新其搜索方向(速度)。正如[50]中所报道的,PSO有四个基本操作:01.确定粒子遇到的最佳位置;0‘‘粒子最佳位置’’.02.确定群体迄今为止找到的最佳位置;0‘‘全局最佳位置’’.03.更新群体中每个粒子的速度。0新速度由三个因素控制,即当前速度,粒子最佳位置和全局最佳位置。04. 根据当前位置更新每个粒子的位置0和更新后的速度。0在PSO中群体行为的关键之一是全局最佳位置0这些数据在粒子之间共享。在多群体环境中,协同算法的一个自然扩展是通过群体之间共享信息来增强全局最佳。也可以介绍在群体之间克隆或交换粒子,类似于前一小节中的C-GA算法。在这里,我们将介绍一种协同粒子群优化(C-PSO),其中PSO只是通过共享全局最佳位置进行了扩展。C-PSO的伪代码在算法3中提供。像C-GA一样,该算法从初始化群体开始,其中每个群体解决问题集中的一个特定问题。然后算法继续完成由算法3中的“while”循环语句指示的迭代例程(第11-26行)。正如这个循环所反映的那样,我们同时解决所有定义的问题,即每次迭代我们更新所有群体中每个个体的位置。C-PSO使用四个标准的PSO操作来更新粒子位置。文献中可以找到几种速度更新公式。在这项工作中,我们使用Shi和Eberhart建议的速度更新公式[33],因为它经常被认为是标准的PSO公式[56],但是C-PSO中可以实现任何其他更新速度的公式。0提出的C-PSO算法涉及协同操作0在迭代过程中(算法3中的第17-19行),这个额外的操作旨在通过共享目标函数数据来增强全局最佳位置。为了更好地理解这个操作,让我们集中在改进代表问题� 的全局最佳位置的 � � �上。协同操作是通过算法4中详细介绍的函数来执行的。这个函数用任何粒子在任何群体中找到的最佳位置替换群体全局最佳位置。省略这个协同操作将使C-PSO代码与常规PSO相同。03.4. 协同梯度下降(C-GD)7thehaving a multi-modal objective function, the search process using GDmight get stuck in a local optima. The presented C-GD-I algorithmextends the traditional GD by the collaborative operation (line 8–11in Algorithm 5). This operation helps preventing the search processfrom getting trapped at local optima, particularly in the early iterations,and thus provides an opportunity to improve the search performance.In essence, through the utilization of shared objective function data,the collaborative operation will upgrade the current solution, ⃗𝑥 𝑖, witha better replacement candidate. The procedure for deciding the bestreplacement candidates is elaborated in Algorithm 6. Again, the C-GD-I algorithm is equivalent to the traditional GD when we exclude thecol𝑁𝑓,𝑛𝑐 = 𝑁𝑡 ⋅ 𝑁𝑚 ⋅ 𝑁𝑝(1)𝑁𝑓,𝑐 = 𝑁𝑡 ⋅ 𝑁𝑚 ⋅ (𝑁𝑝)2(2)𝑁𝑓,𝑐𝑁𝑓= 𝑁𝑝(3)𝑇𝑛𝑐 = 𝑁𝑡 ⋅ 𝑁𝑚 ⋅ 𝑁𝑝 ⋅ (𝑇ℎ + 𝑇𝑙)(4)𝑇𝑐 = 𝑁𝑡 ⋅ 𝑁𝑚 ⋅ 𝑁𝑝 ⋅ (𝑇ℎ + 𝑁𝑝 ⋅ 𝑇𝑙)(5)𝑇𝑐𝑇𝑛𝑐=𝑇ℎ𝑁𝑝 ⋅ 𝑇𝑙𝑇ℎ + 𝑇𝑙= 1 +𝑁𝑝⋅ 𝑇𝑙𝑇ℎ + 𝑇𝑙= 1 +𝑁𝑝𝑇ℎ𝑇𝑙 + 1(6)The relation betweenthe additional computing time needed by the collaborative algorithmsis negligible. Despite the limited increase in computational cost, theincrease i0Array 16(2022)1002490I G.A.G. Angga等0梯度下降(GD)是领域中最简单的算法之一0数值优化的一种。该算法被归类为局部搜索方法,因为它返回可微分目标函数的局部最优解。GD背后的思想是在给定的搜索空间内重复移动,移动本身由响应曲面的斜率引导。GD执行两个主要操作:01. 评估目标函数的梯度。2. 根据预定的梯度方向更新位置0位置。0本小节介绍了协同梯度下降(C-GD)0建立在传统的GD算法基础上。尽管GD在基于模拟的优化中很少被使用,因为它只能找到局部最优解,但我们在这里提出C-GD来举例说明协同概念的适用性,不仅在基于群体的优化上,也在基于梯度的优化方法上。C-GD的第一个版本的伪代码,简称为C-GD-I,见算法5。优化过程从定义一组起始点开始。这些点中的每一个都反映了问题集中特定成员的初始解,例如,�� � 表示问题 �的解候选。初始化后,优化迭代例程开始(算法5中的第6-18行)。与传统方法相反,C-GD同时寻求所有定义问题的最佳解,意味着我们在每次迭代中将所有点向更好的位置推进。在更新点位置时,我们仍然使用传统的GD操作。0从算法产生的替换方案可能的一个缺点是0算法6的一个可能缺点是一些替换候选者可能是相同的。这意味着替换候选者的多样性较低,这可能导致过早收敛。为了保持替换候选者的多样性,从而保持搜索空间内的探索程度,我们引入并研究了GD的另一个协同版本C-GD-II。该算法与C-GD-I类似,只是在决定替换候选者的策略上有所不同(在算法7中详细说明)。在这种替换策略中,我们只交换一个问题的当前解与另一个问题的当前解,以便交换方案将最大化聚合目标函数 � ( � ) 。最大化 � ( � ) 是决定交换方案的最直接的方法。0然而,其他程序,例如添加一些随机性的程序,可能更有效。参考算法7,我们实施穷举搜索以找到最佳的交换方案。请注意,算法7中寻找最佳交换方案可能成为一个计算需求量很大的任务,因为要评估的交换方案数量随问题数量的增加呈阶乘增长,即 � � = � � !。可以将搜索任务视为类似于旅行推销员问题的组合问题,然后使用可以有效解决这种组合问题的算法,如动态规划[ 57 , 58 ],分支定界[ 59 , 60 ]或分支定界[ 61]算法。这些工作超出了本文的范围。03.5. 目标函数评估次数和计算成本0参考 图1 ,传统非协同方法中的目标函数评估次数 � �,�� 表示为:0传统非协同方法中的目标函数评估次数 � �,�� 表示为:0其中 � � 和 � � 分别表示迭代次数和问题数量。对于GA和PSO, � � ≥ 1表示每个种群中解决方案候选者的数量,而对于GD, � � = 1,因为每次迭代中每个问题只有一个解决方案候选者要评估。上述方程也可以反映MTO算法中发生的目标评估次数。此外,参考 图2,协同算法中的目标函数评估次数 � �,� 表示为:0� � 的二阶指数来自于事实,即0协同算法中,重函数(模拟)的结果被共享并用于计算嵌入问题中的不同轻函数 � �。然后 � �,� 和 � �,�� 之间的比率变为:0这个比率意味着与非协作方法或MTO算法相比,协作算法的搜索受更多解决方案候选者的0算法受到更多解决方案候选者的指导,与非协作方法或MTO算法进行的采样相比。因此,我们可以期望协作算法将胜过非协作方法以及MTO算法。0一方面,传统的非协作技术的运行时间0技术, � �� ,可以估计如下:0其中 � � 和 � �分别表示重函数和轻函数的计算时间。这个方程对MTO算法也是有效的。另一方面,协作算法的运行时间 � � ,近似地给出为:0 � � 的乘数再次来自于更多地利用0重函数评估的结果。将 � � 除以 � �� ,我们得到:0图3中说明了 � � 和 � � � �� 的关系。0根据关系,当 � � � � 增加时, � � � �� 单调减小,并且它在 � � � � → +∞于1。0当 � � � � → +∞ 时,它渐近于1。换句话说,如果重函数的计算时间 � � � � → +∞,则 � � 与 � �� 的关系渐近于1。0协作特征使得 � � 具有更大的采样大小0与非协作方法或MTO算法具有类似的计算成本。84.1. Problem Sets #1, #2, and #3,2𝑥𝑖,𝑁𝑑R𝑁𝑑𝑓𝑙,𝑖(⃗𝑥𝑖) = − 𝐴 ⋅ 𝑁𝑑 +𝑁𝑑∑𝑘=1(𝐴 ⋅ cos (2𝜋 (𝑥𝑖,𝑘 + 𝑠𝑖,𝑘)) − (𝑥𝑖,𝑘 + 𝑠𝑖,𝑘)2)+𝑁𝑑∑𝑘=1(𝑚𝑖,𝑘(𝑥𝑖,𝑘 + 𝑠𝑖,𝑘))(7)𝑁𝑑Problem 𝑖𝑁𝑑𝐴⃗𝑠𝑖⃗𝑚𝑖1210[0, 0][10, 10]2210[0.125, 0.125][10, 7.5]3210[0.25, 0.25][10, 5]4210[0.375, 0.375][10, 2.5]5210[0.5, 0.5][10, 0]6210[0.625, 0.625][10, −2.5]7210[0.75, 0.75][10, −5]8210[0.875, 0.875][10, −7.5]9210[1, 1][10, −10]Problem 𝑖𝑁𝑑𝐴⃗𝑠𝑖⃗𝑚𝑖1310[0, 0, 0][10, 1
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功