《智能优化算法解析》 课件 第4、5章-基于化学原理的智能优化算法、基于人类行为的智能优化算法_第1页
《智能优化算法解析》 课件 第4、5章-基于化学原理的智能优化算法、基于人类行为的智能优化算法_第2页
《智能优化算法解析》 课件 第4、5章-基于化学原理的智能优化算法、基于人类行为的智能优化算法_第3页
《智能优化算法解析》 课件 第4、5章-基于化学原理的智能优化算法、基于人类行为的智能优化算法_第4页
《智能优化算法解析》 课件 第4、5章-基于化学原理的智能优化算法、基于人类行为的智能优化算法_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能优化算法解析第4章基于化学原理的智能优化算法4.1化学反应优化算法4.2人工化学反应优化算法4.3材料生成算法主要内容CONTENTS4.1化学反应优化算法44.1.1

算法原理化学反应优化算法的核心思想是借鉴了化学反应的原理。化学反应的本质是系统不断寻找更稳定的状态,这个过程伴随着能量的释放。而优化问题的目标也是找到最优解,也就是目标函数的最小值。所以受此启发,2009年,Lam等人提出了化学反应优化(ChemicalReactionOptimization,CRO)算法,用于解决非确定性的优化问题。算法的实现是通过模拟化学反应中的分子运动、碰撞和反应过程,逐步逼近最优解。算法背景54.1.2

算法描述CRO算法本质上是模拟容器中分子发生化学反应的过程。算法通过模拟化学反应中分子的碰撞、分解、合成等过程,来搜索解空间并寻找最优解。主要组成部分为分子和基本反应。其中,分子包括分子结构、势能和动能。基本反应包括壁面无效碰撞、分解反应、分子间无效碰撞和合成反应。算法描述64.1.2

算法描述

分子74.1.2

算法描述在化学反应过程中,分子之间会发生一系列碰撞。分子可以彼此碰撞,也可以与容器的壁面发生碰撞。不同条件下的碰撞会引发不同的基本反应,每种反应都有其独特的方式来操纵涉及的分子能量。在CRO中实现了四种类型的基本反应(如图示)包括:壁面无效碰撞、分解反应、分子间无效碰撞和合成反应。基本反应84.1.2

算法描述

壁面无效碰撞

94.1.2

算法描述

分解反应104.1.2

算法描述

分解反应

114.1.2

算法描述

分解反应124.1.2

算法描述

分子间无效碰撞134.1.2

算法描述

合成反应144.1.2

算法描述壁面无效碰撞和分子间无效碰撞是单分子反应,前者在分子与容器壁碰撞时发生,后者则在分子间碰撞时发生。分解和合成反应涉及多个分子,且分解和合成的反应活性较高。无效碰撞通常导致小的势能变化,而分解和合成则可能导致显著的势能变化。在优化算法中,强化搜索(如壁面无效碰撞和分子间无效碰撞)侧重于已知的高质量区域,多样化搜索(如分解和合成)则允许算法探索新的、可能较远的区域,从而优化搜索过程。总结154.1.3

算法流程步骤1:初始化基本参数。步骤2:随机生成初始化种群。步骤3:决定是否发生碰撞。步骤4:决定执行分解或合成。步骤5:保存最优解。步骤6:判断是否达到最大迭代次数,若达到,则输出最优解,否则重复步骤2-6。算法流程图164.1.3

算法流程CRO是一种元启发式搜索算法,能够通过分解和合成操作来动态调整解的数量。分解将一个分子拆分为多个,而合成将多个分子合并为一个。算法基于能量守恒的原则,利用不同的操作在分子间重新分配能量。具体来说,壁面无效碰撞和分子间无效碰撞用于局部搜索,通过引入buffer来减少分子逃离局部最小值的能力;而分解和合成操作则提供全局搜索,帮助避免陷入局部最小值。CRO算法的基本单位是分子,适合使用面向对象的编程语言实现,如C++和Java,通过创建和管理分子对象来执行不同的基本反应。总的来说,CRO算法通过组合和扩展不同的元启发式组件,为各种优化问题提供了一个灵活且有效的解决框架。算法特点174.1.3

算法流程CRO算法的灵感来自化学反应的“基本原理”,这与SA算法的“冶金退火”物理过程不同。CRO算法从微观上考察事物,而SA算法模仿的是宏观系统。CRO算法主要关注的是在不同分子之间从PE到KE的能量重新分配问题。而SA算法的核心是Metropolis条件。CRO算法是一种特殊的元启发式算法,其获得的最优解数量可能不止一个,并且解能够根据优化问题进行变化。然而,SA算法一次只保留一个最优解。与模拟退火算法的差异184.1.4

典型问题求解案例

求解最小值194.1.4

典型问题求解案例求解过程(1)分解操作函数(1)非有效碰撞操作函数204.1.4

典型问题求解案例求解过程(3)合成操作函数(4)间接非有效碰撞操作函数及非线性函数214.1.4

典型问题求解案例求解过程(5)参数初始化设置224.1.4

典型问题求解案例求解过程(6)CRO算法主循环234.1.4

典型问题求解案例求解过程244.1.4

典型问题求解案例求解过程(7)绘制收敛曲线254.3.4

典型问题求解案例

求解过程实验结果如图所示。从收敛曲线可以看出,CRO算法在迭代初期,目标函数值先增加,然后迅速降低,并在后续迭代中保持了较好的稳定性264.1.5

前沿进展2014年,Bechikh等人提出了一种非支配排序化学反应优化算法,通过结合非支配排序和化学反应优化来解决多目标优化问题,设计了一个准线性时间复杂度的快速非支配排序算法以提高计算效率。2020年,Arijit等人开发了一种基于化学反应优化的动态船舶泊位分配算法,结合混合整数线性规划考虑了等待时间和燃料成本,有效地解决了船舶在锚地等待的问题。前沿进展274.1.5

前沿进展2021年,Kiani等人利用化学反应优化算法实现了虚拟机到物理机的高效功耗映射,采用了基于排列和分组的编码方式,并为每种编码方式设计了特有的操作算子。2023年,Islam等人提出了一种基于化学反应优化的最大覆盖选址算法,通过重新设计CRO的基本反应并添加修复算子,提升了算法跳出局部极大值点的能力,从而提高了找到全局最优解的概率。前沿进展4.2人工化学反应优化算法294.2.1

基本概念与原理人工化学反应优化算法的灵感来自化学反应的类型和过程。化学反应是反应物转化为生成物的过程,速度因反应类型不同而异。常见的反应类型包括连续反应和竞争反应,涉及化学键的形成与断裂。反应物是参与反应的物质,生成物是通过反应产生的新物质。人工化学反应优化算法304.2.1

基本概念与原理化学反应中几常见的基本过程包括:合成、单置换、双置换和分解人工化学反应优化算法314.2.1

基本概念与原理

常见化学反应324.2.1

基本概念与原理单置换反应:单置换反应是指一个元素与化合物中的另一个元素交换位置的过程。Cl2+2KBr→2KCl+Br2氧化还原反应:氧化还原反应是从一种反应物向另一种反应物转移(失去或获得)电子的过程。Fe+Cu+2→Fe+2+Cu常见化学反应334.2.1

基本概念与原理

常见化学反应344.2.2

算法描述在二维粘性流体中,原子和分子通过移动和碰撞进行相互作用,化学反应是原子间的互动。人工化学反应优化(ACROA)模拟了反应物在固定体积容器内的化学反应过程。ACROA通过编码反应物(可为二进制、实数等),根据化学反应规则迭代消耗反应物并生成新的反应物,目标是寻找焓更低的新解,直到达到终止条件,算法结束。算法的主要机制354.2.2

算法描述ACROA算法可大致分为以下几个步骤:首先根据所需求解的问题,对反应物进行编码。然后初始反应物根据化学反应规则,消耗反应物并产生新的反应物。此过程不断迭代,算法不断搜索具有更低焓的新反应物。当算法达到终止条件时,算法结束。算法的主要机制364.2.2

算法描述在执行算法之前,首先需要明确要解决的问题,例如:单目标优化或多目标优化问题。接下来,设定ACROA的唯一参数,即反应物数量(ReacNum)。问题定义和算法参数初始化设置反应物和评估在此步骤中,初始反应物在可行解空间内均匀初始化。一般来说,空间中的所有解可以通过决策变量的线性组合获得。ACROA中采用基于分割和生成范式的方法来生成初始反应物,以获得高质量的初始解。374.2.2

算法描述

设置初始反应物和评估384.2.2

算法描述假设种群规模为|P|,生成的反应物集合R中的决策变量数量为|R|。如果|R|<|P|,则k的值增加1,并且R0和R1被分成三部分,此时生成6个反应物,并且这些反应物不在R中。以上是ACROA设置初始反应物的具体方法,接下来将介绍反应物通过应用化学反应,获得生成物的过程。设置初始反应物和评估394.2.2

算法描述

应用化学反应-双分子反应404.2.2

算法描述合成反应:首先,确定两个反应物的不匹配位。然后,依次从第一个反应物的不匹配位和第二个反应物的不匹配位中选择一个位,以形成新的反应物。应用化学反应-双分子反应414.2.2

算法描述置换反应:根据一个随机生成的掩码,类似于均匀交叉掩码,考虑两个反应物字符串的每个位位置进行信息交换。如果字符串中相应位位置的掩码值为1,则反应物的位不交换。应用化学反应-双分子反应424.2.2

算法描述氧化还原2反应:随机选择两点,并交换这两点之间反应物的位,类似于遗传算法中使用的二点交叉。应用化学反应-双分子反应434.2.2

算法描述分解反应:

在反应物字符串中随机选择两个点,然后反转这两点之间的位。应用化学反应-单分子反应氧化还原1反应:随机选择一个位,并将其从0变为1或从1变为0。双分子和单分子的反应考虑了算法局部利用和全局勘探的搜索平衡,具有一定跳出局部最优解的能力。444.2.2

算法描述反应物更新:如果新生成的反应物具有更低的焓,则将其加入最优解集。反之,执行可逆反应,还原初始具有更低焓的反应物。算法通过反应物更新过程,能够有效保留高质量解,进而获得满意解或最优解。判断终止条件:当算法满足终止条件(例如达到最大迭代次数)时,人工化学反应优化算法将终止。否则,将重复执行步骤应用化学反应和反应物更新。反应物更新与判断终止条件454.2.3

算法流程算法流程图464.2.3

算法流程算法流程图步骤1:初始化问题和算法参数。步骤2:设置初始反应物和评估。步骤3:应用化学反应:先判断单分子还是双分子反应,再判断化学反应类型。步骤4:反应物更新,判断焓是否降低。步骤5:判断终止条件,如果不满足则重复步骤3和步骤4。474.2.4

典型问题求解案例

求解最小值484.1.4

典型问题求解案例求解过程(1)参数初始化设置494.1.4

典型问题求解案例求解过程(2)ACROA主循环504.1.4

典型问题求解案例求解过程514.1.4

典型问题求解案例求解过程(3)绘制收敛曲线(4)计算分子的焓值(5)分解反应524.1.4

典型问题求解案例求解过程(6)氧化还原1反应(7)合成反应(8)取代反应(9)取代反应534.3.4

典型问题求解案例

求解过程实验结果如图所示。从收敛曲线可以看出,ACROA在迭代初期目标函数值就迅速降低了,并在后续迭代中保持了较好的稳定性。544.2.5

前沿进展2020年,王建辉等人提出了一种混合人工化学反应优化算法,用于有效地求解0-1背包问题。该方法首先把化学反应分成单分子和双分子两种反应类型,并对这两种类型中的不同化学反应进行二进制编码。接着,该方法引入一个贪婪算子来修正反应过程的随机选择所产生的非可行解,并通过局部和全局搜索来获得问题的最优解。2020年,Singh等人提出了一种混合人工化学反应优化算法用于解决传统人工化学反应优化算法收敛速度较慢的问题。此外,该方法还使用了遗传算法的交叉和变异算子来平衡收敛速度与搜索范围。2021年,张亚钏等人提出了一种将人工化学反应优化算法与狼群算法相结合的特征选择算法。该方法先模拟狼群的群体智能行为,然后使用人工化学反应优化算法改变人工狼的位置,进而使算法快速找到最优解。前沿进展554.2.5

前沿进展2020年,

Singh等人提出了一种混合人工化学反应优化算法用于解决传统人工化学反应优化算法收敛速度较慢的问题。此外,该方法还使用了遗传算法的交叉和变异算子来平衡收敛速度与搜索范围。2021年,张亚钏等人提出了一种将人工化学反应优化算法与狼群算法相结合的特征选择算法。该方法先模拟狼群的群体智能行为,然后使用人工化学反应优化算法改变人工狼的位置,进而使算法快速找到最优解。前沿进展4.3材料生成算法574.3.1

基本概念与原理算法背景材料生成算法(MaterialGenerationAlgorithm,MGA)是近年来提出的一种新的元启发式算法,通过模拟材料生成过程来解决工程优化问题。MGA的灵感来源于材料化学,特别是化学化合物的配置和化学反应的过程。MGA借鉴了化学材料生成过程中的元素配置、化学反应和稳定性等原理,使得算法能够在解空间中进行全面搜索,从而使其在处理复杂优化问题时,具有更高的效率和稳定性。其中材料化学包含三个核心部分:化学化合物、化学反应和化学反应稳定性。584.3.1

基本概念与原理化学化合物元素通过化学键及电子的转移或共享来结合多种化学物质,形成化合物,其结果可能是以下之一:1.当电子从一个元素的原子转移到另一个元素的原子时,会形成离子化合物。2.当不同元素的原子之间共享电子时,形成共价化合物。594.3.1

基本概念与原理化学反应化学反应是将一种材料转化为另一种材料的过程,通常用化学方程式来表示化学反应,其中生成物与反应物一般情况下具有不同的性质。在开发新材料时,需确保初始材料的电子转移或共享过程稳定进行,以生成在特定时间内性质稳定的产物,从而保障材料的化学稳定性。化学反应的稳定性604.3.2

算法描述基本原理

614.3.2

算法描述基本原理

624.3.2

算法描述化学化合物

634.3.2

算法描述化学化合物

接着,全局候选解可以更新为:644.3.2

算法描述化学化合物

654.3.2

算法描述化学反应

664.3.2

算法描述化学反应稳定性

算法将新产生材料的候选解的质量与初始材料进行比较,若新产生的材料稳定性更好,则其将代替初始材料候选解中适应度值最差的材料。674.3.3

算法流程算法流程图步骤1:随机初始化材料的位置并确定适应度值步骤2:利用化学化合物根据元素周期表随机选择元素生成新材料步骤3:利用化学反应随机选择材料生成新材料步骤4:根据化学反应稳定性原理计算新材料的适应度值步骤5:新材料替代最差适应度值的初始材料并更新全局最优解步骤6:判断是否满足终止条件,若达到,则输出最优解,否则重复步骤2-6684.3.4

典型问题求解案例

求解最小值694.3.4

典型问题求解案例(1)获取所需问题信息(2)进行初始化参数设置求解过程704.3.4

典型问题求解案例(3)初始步骤

求解过程714.3.4

典型问题求解案例(4)MGA主循环求解过程724.3.4

典型问题求解案例(4)MGA主循环求解过程734.3.4

典型问题求解案例(5)绘制算法运行图形(6)目标函数

求解过程744.3.4

典型问题求解案例

求解过程从图中的收敛曲线可以看出,材料生成算法在迭代初期,目标函数值就开始迅速下降,并在后续迭代中保持了较好的稳定性。75本章小结基于化学原理的智能优化算法CRO:模拟化学反应中分子的相互作用,广泛应用于求解非确定性的组合优化问题ACROA:模拟化学反应中的单分子和双分子反应,具备较好的全局搜索和局部搜索能力,可以在较短的时间内获得最优或满意解MGA:感来源于材料化学,能够在解空间中进行全面搜索,在处理复杂优化问题时具有更高的效率和稳定性感谢聆听!智能优化算法解析第5章

基于人类行为的智能优化算法5.1人工神经网络算法5.2禁忌搜索算法5.3头脑风暴优化算法主要内容CONTENTS79基于人类行为的智能优化算法在人工智能和信息科学领域,对人类行为的借鉴与模拟已成为推动智能优化方法发展的重要动力。导读人工神经网络算法:模拟大脑神经元的交互、学习与记忆过程禁忌搜索算法:避免重复错误,基于“试错”行为搜索全局最优解头脑风暴优化算法:模拟集体讨论,激发创新解决方案5.1人工神经网络算法815.1.1

算法原理人工神经网络的基本概念人工神经网络(简称神经网络)是由一些简单处理单元构成的大规模分布式处理器,具有存储和复用经验知识的特性,是对人脑神经网络的某种简化、抽象和模拟。神经网络与人脑的相似性:通过学习过程从外界环境中获取知识利用互连神经元的连接强度(突触权值)存储获取的知识神经网络的主要目标是设计一个学习算法,通过调整网络中突触权值,实现既定任务。825.1.1

算法原理神经网络的优势及发展神经网络算法的主要优势:拥有能够存储信息的大规模并行分布式结构具有学习能力和泛化能力(对不曾学习过的数据进行预测并得到合理输出)这些优势让神经网络具有学习更新并获得复杂问题近似解的能力。835.1.1

算法原理神经网络的优势及发展历史发展:1943年:McCulloch和Pitts提出了神经元的数学模型,开创了神经科学理论研究的时代1957年:Rosenblatt提出了感知机模型,模拟动物和人脑的感知和学习能力1982年:Hopfield提出了具有联想记忆功能的Hopfield神经网络,引入了能量函数,给出了网络的稳定性判据。845.1.1

算法原理人工神经元人脑神经元由细胞体、轴突、突触和树突组成信息传递通过电信号和神经递质完成人工神经元结构模拟人脑神经元输入信号、权值、触发阈值、总输入、激活函数、输出根据人脑神经细胞的基本结构,人工神经网络由人工神经元、对应的连接权值和实现信号转换的激活函数组成。855.1.1

算法原理激活函数激活函数限制神经元输出的振幅模拟人脑神经元的线性或非线性特性构建神经网络的重要环节激活函数的选择激活函数的选择对神经网络的性能有重要影响不同任务和网络结构可能需要不同的激活函数多层感知机具有一个或多个隐含层的神经网络每层的输入是上一层的输出865.1.1

算法原理感知机模型单层感知机前馈神经网络的一种简单形式仅由输入层和一个神经元层构成人工神经网络是将神经元模型以某种方式组合起来的网络结构,通过学习的方式来模拟人脑的某些功能,用以解决不同的实际问题。875.1.2反向传播神经网络算法反向传播神经网络算法神经网络设计结构设计:选择适合的神经网络结构,如多层感知机参数学习:确定网络权值和阈值重点解决问题:通过调整权值使网络输出尽可能接近预期值BP(BackPropagation,简称BP)算法:Rumelhart于1985年提出,解决了多层感知机中隐含层神经元连接权值的学习问题,广泛用于函数拟合、信息处理、模式识别和智能控制。885.1.2反向传播神经网络算法BP神经网络参数学习方法训练多层感知机的一个经典方法是BP算法,其训练过程主要分为两个阶段前向阶段:输入信号在网络中逐层传播信号流动直到抵达输出端网络中的权值在此阶段保持不变反向阶段:比较网络输出与预期输出,生成误差信号误差信号从输出端向输入端逐层反向传播调整网络权值以减小误差895.1.2反向传播神经网络算法BP神经网络参数学习方法选择具有一个隐含层的多层感知机为例,说明BP算法权值学习过程。首先,将神经网络的输入层变量表示为输出层的变量表示为隐含层的权值矩阵可表示为905.1.2反向传播神经网络算法BP神经网络参数学习方法若选取所有神经元激活函数均为f(.),且触发阈值为零,则隐含层第l个神经元的输出可表示为输出层的权值矩阵可表示为神经网络输出层第j个神经元的输出表示为915.1.2反向传播神经网络算法BP神经网络参数学习方法对于给定的预期输出

,根据神经网络的实际输出可定义第

j个神经元误差信号进一步地,总误差信号为神经网络的学习过程是通过修改各层神经元的连接权值,使得误差信号e趋向最小。925.1.2反向传播神经网络算法BP神经网络参数学习方法在BP算法中,采用误差信号反向传播,故先考虑输出层的权值调整。根据梯度下降方法,取误差函数的负梯度方向作为权值的调整方向,即对于输出层权值系数,可按照如下方向调整输出层权值系数迭代公式为按照上式经过多次调整,直至寻找到满意的权值。935.1.2反向传播神经网络算法BP神经网络参数学习方法当神经元位于隐含层时,没有与该神经元层直接对应的预期输出。因此,隐含层神经元的误差信号要根据与隐含层相连的神经元向后反传决定。对于隐含层的权值系数需按照如下方向调整由于隐含层第u个神经元与输出层的神经元都有连接,因此综上,隐含层权值系数的迭代公式为对于具有多个隐含层的BP网络,其他的隐含层权值调整可通过类似方法给出。945.1.2反向传播神经网络算法BP神经网络参数学习流程前向传播输入信号逐层传递至输出端,计算每层神经元的输出误差计算比较网络输出与预期输出,计算误差信号反向传播误差信号从输出层反向传播,逐层调整权值以减小误差取误差函数的负梯度方向作为权值的调整方向,逐步逼近最优解955.1.2反向传播神经网络算法BP神经网络的不足及改进收敛缓慢及改进原因:学习率设置不当、网络结构简单、数据质量差改进:调整学习率、优化结构、数据预处理局部最优问题及改进原因:误差曲面复杂,多个局部最优点改进:多组初始值训练、采用随机梯度下降泛化性能差及改进原因:过拟合、数据质量问题改进:增加数据量、数据预处理、优化超参数选择965.1.3径向基函数神经网络算法网络概述定义与结构:径向基函数(RadialBasisFunction,RBF)神经网络是一种基于核函数的神经网络算法。组成:输入层:连接外部输入隐含层:利用非线性激活函数对输入空间进行非线性变换输出层:进行线性变换,提供网络的输出响应特点:隐含层通常为一层,区别于多层感知机模型应用领域:非线性函数逼近时间序列分析系统建模控制和故障诊断975.1.3径向基函数神经网络算法参数学习方法RBF是一种沿着径向对称的标量函数。定义RBF为径向基函数中心径向基函数半径输入信号利用RBF作为激活函数,构建隐含层具有个

神经元和

m个输出节点的RBF神经网络。为了简单说明,本节输入层到隐含层的权值系数均取1,则第

j个神经元的输出可表示为输出层的权值矩阵可表示为985.1.3径向基函数神经网络算法参数学习方法RBF神经网络输出层采用线性累加,网络的第l个输出可表示为RBF神经网络需要学习的参数:径向基函数的中心,半径,以及输出层权值W。学习过程:无监督自学习:确定样本中心和半径方法:K-means法、自组织选取法有监督学习:计算输出层权值方法:最小二乘法995.1.4典型问题求解案例例题例题5-1利用BP和RBF神经网络分别拟合如下非线性函数这里选取63个样本,输入变量为,预期的输出由如下命令生成:1005.1.4典型问题求解案例求解过程其中,y_gd为BP神经网络的输出,netgd为训练后的BP神经网络。(1)利用Matlab工具箱,实现BP神经网络拟合非线性函数1015.1.4典型问题求解案例求解过程其中,y_rbf为RBF神经网络的输出,netrbf为训练后的RBF神经网络。(2)利用Matlab工具箱,实现RBF神经网络拟合非线性函数(3)通过绘制两个神经网络的学习曲线,观察拟合结果1025.1.4典型问题求解案例求解过程RBF神经网络和BP神经网络输出结果1035.1.5前沿进展进展概述人工神经网络领域迎来黄金时代,深度学习框架的飞跃性突破,引领复杂任务处理迈向高效精准新纪元构建复杂网络结构,融合先进优化算法,训练高性能神经网络从AlphaGo到ChatGPT,见证神经网络领域的飞速发展1045.1.5前沿进展案例分析:长短期记忆网络长短期记忆(Longshort-termmemory,LSTM)网络是一种特殊的递归神经网络,通过其特有的门控机制,能够有效地捕获和存储序列中的依赖关系。遗忘门:基于历史信息,筛选旧状态,控制信息保留与遗忘输入门:综合多种输入,通过非线性映射,精准选择信息更新输出门:调控记忆信息输出比例,平衡新旧信息贡献,优化长序列处理1055.1.5前沿进展LSTM前沿LSTM神经网络具有强大的自学习能力、鲁棒性和容错性、并行处理能力、逼近非线性关系的能力,使其能灵活应对多种实际问题,展现出卓越的应用性能。在自然语言处理任务中,捕捉上下文信息、对语言序列的理解能力增强在长时间依赖的复杂模型中,模型的收敛速度和稳定性显著提高在视频分析、动作识别、天气预测等涉及时空序列问题的领域中,对时空信息的捕捉能力有所提升5.2禁忌搜索算法1075.2.1典型搜索算法概述禁忌搜索算法禁忌搜索(TabuSearch,TS)算法基本思想:模拟人类的智力过程,避免重复错误可行解向目标函数变化最多的方向移动,通过灵活的“记忆”技术更新目标是找到使适应度函数值最优的解禁忌搜索算法在组合优化等领域取得了显著进展,并应用到调度和规划等问题中局部邻域搜索算法(非梯度法)算法选定一个可行解,并产生邻域解,逐一比较其目标函数值,不断选择最优解进行更新1085.2.1典型搜索算法概述典型搜索算法梯度下降法从当前解出发,沿着目标函数变化最大方向前进,直到达到局部最优解梯度下降算法易陷入局部最优,且不适用于梯度信息未知的目标函数局部邻域搜索算法搜索性能依赖于初始解和邻域结构。若初始解不合适或邻域结构设置不当,依然可能导致陷入局部最优1095.2.1典型搜索算法概述禁忌搜索算法原理禁忌搜索算法由于引入接受劣质解的机制,禁忌算法能够向其他方向寻优,实现目标函数值先降后升,最终搜索到全局最优局部邻域搜索算法算法在邻域寻优使目标函数最终走向x(1),导致求解陷入局部最优,且无法跳出,无法到全局最优禁忌搜索算法核心思想通过设立禁忌表来避免算法陷入局部最优解利用记忆功能在搜索过程中接受劣解以扩大搜索范围通过特赦准则避免错过优质解通过不断迭代和优化搜索策略,禁忌搜索算法结合了局部邻域搜索和全局优化的思想1105.2.2基本概念禁忌搜索基本概念禁忌搜索算法是一种迭代启发式搜索算法,靠“记忆”引导算法的搜索过程,其中很多构成要素极大地影响搜索的速度与效果。禁忌对象和禁忌长度禁忌对象是指禁忌表中被禁止的某些变化元素。禁忌长度是禁忌对象不能被选取的周期。邻域移动邻域移动是解更新的关键,本质是一个函数,根据当前解的移动产生其相应的邻居解集合,进而产生合适的候选解集合。目标函数目标函数用于评价邻域中的邻居,是判断解优劣的衡量指标。禁忌表禁忌表用于记录被禁止的变化元素,以防出现搜索循环、陷入局部最优。111禁忌搜索基本概念禁忌搜索算法是一种迭代启发式搜索算法,靠“记忆”引导算法的搜索过程,其中很多构成要素极大地影响搜索的速度与效果。解的初始化禁忌搜索算法可以随机给出初始解,也可以使用其它启发式算法给出一个较好的初始解。但针对复杂约束的优化问题,如果随机选取初始解,可能经过多次搜索也无法确定一个可行解。特赦准则在禁忌搜索算法中,可能会出现候选解全部被禁忌,或者存在一个优于当前最优目标值的禁忌候选解,此时特赦准则将某些可行解进行解禁,以实现更高效的优化。终止规则禁忌搜索算法中常用的终止规则有:最大迭代次数原则、禁忌频率控制原则、目标值变化控制原则。5.2.2基本概念112禁忌搜索算法流程禁忌对象、最大迭代数领域解不优于当前最优解达到最大迭代数领域解优于当前最优解5.2.3算法流程113禁忌搜索算法不足及改进算法对初始解有较强依赖性好的初始解可使禁忌搜索算法在解空间中搜索到优质的解,而较差的初始解则会降低禁忌搜索的收敛速度改进:可以与遗传算法、模拟退火算法等优化算法形成组合算法迭代搜索过程是串行的仅是单个解层面的移动,而非并行搜索改进:可以针对算法的初始化、参数设置等方面实施并行策略,向群体智能方向改善禁忌搜索5.2.3算法流程114例题例题5-2利用禁忌搜索算法,求解如下目标函数的最大值,其中且图中蓝色标记为当前解的搜索过程,红色标记为迭代过程最优解目标函数图像解空间搜索过程5.2.4典型问题求解案例115例题优化后最终结果为和,函数的最大值为3.9000,得到全局最优。当前解迭代变化曲线当前最优解迭代变化曲线由图可知,禁忌搜索的过程中当前解可接受劣解,存在暂时降低目标函数的情况,以增强算法搜索能力,保证当前最优解不断优化。5.2.4典型问题求解案例116求解过程(1)初始化各个参数和各类解变量,并置空禁忌表5.2.4典型问题求解案例117求解过程5.2.4典型问题求解案例(2)定义算法主循环中核心功能函数。定义生成函数,用于产生邻域解作为候选解118求解过程5.2.4典型问题求解案例定义目标函数定义更新函数,用于更新禁忌表定义判断函数,用于判断候选解是否在禁忌表中119求解过程5.2.4典型问题求解案例(3)实施禁忌搜索算法程序主循环,包含产生邻域解和候选解,对其判断藐视准则,以进行当前解和当前最优解的更新120求解过程5.2.4典型问题求解案例(4)绘制算法运行图形1215.2.5前沿进展案例分析:禁忌搜索算法优化BP神经网络BP神经网络存在收敛速度慢和易陷入局部最优的问题,导致网络参数优化困难。因此,可以通过结合禁忌算法的全局优化能力,实现BP神经网络参数的全局优化。初始化BP神经网络初始化禁忌算法进行网络训练禁忌算法寻优,通过藐视准则和禁忌表,更新当前解和当前最优解判断停止准则5.3头脑风暴优化算法1235.3.1

头脑风暴法概述头脑风暴优化算法的起源受人类开会过程集思广益的启发,2011年史玉回教授在第二届AdvancesinSwarmIntelligence国际会议中提出了一种新的头脑风暴优化(BrainStormOptimization,BSO)算法。该算法采用聚类思想搜索局部最优,再通过比较局部最优得到全局最优。首次发表在TheSecondInternationalConferenceonSwarmIntelligence1245.3.1

头脑风暴法概述头脑风暴法的基本概念头脑风暴法是一种激发人类思维,以寻找问题最优解的方法。头脑风暴法的核心是,让参会人员围绕中心话题畅所欲言,通过思想碰撞、观念融合,得到问题的最优解。头脑风暴法所蕴含的开放性和协作精神为BSO算法的设计提供了宝贵的启示,有助于在算法研究中实现高效的优化和创新1255.3.1头脑风暴法概述头脑风暴法的组成从明确问题到会后评价,头脑风暴法一般分为三个阶段。第一阶段为明确阐述问题,主持人介绍问题。如果专家对问题感到困惑,主持人应该利用案例形式对问题进行分析。第二阶段为主持人记录专家提出的所有见解,并积极鼓励专家自由提出见解。第三阶段为专家以鉴别眼光讨论所有列出的见解,也可以让另一组专家来进行评价。头脑风暴法遵循的四个原则:庭外判决原则(延迟评判原则),对各种意见的评判必须放到最后阶段自由畅想原则,鼓励各抒己见,创造一种自由、活跃的气氛以量求质,意见越多,产生好意见的可能性越大综合改善原则,强调相互启发、相互补充和相互完善1265.3.2

算法原理头脑风暴优化算法的主要构成BSO算法中的每一个体都代表一个问题的解,利用个体的演化和融合进行更新,通过反复迭代求得问题的最优值。BSO算法主要由聚类和变异两部分组成,利用聚与散相辅相承的搜索机制来搜索最优解。聚类BSO算法采用K-means聚类机制,将相同领域或者相似领域的成员分为一组。所有个体可以聚集成几个集群,每个集群的中心可以是该集群中目标函数最优的个体,也可以是距离空间的中间个体1275.3.2

算法原理头脑风暴优化算法的主要构成K-means聚类K-means聚类是一种经典的无监督聚类算法,用于将数据集划分为K类。该算法的目标是使得数据点与其所属聚类中心之间距离的平方和达到最小。K-means聚类算法具体操作步骤如下:初始化。随机选择K个初始聚类中心点分配数据点。对于每个数据点,计算其与各个聚类中心的距离,并将其分配到距离最近的聚类中心所对应的类更新聚类中心。对于每个类,计算所有属于该类的数据点的均值,将该均值作为新的聚类中心重复步骤2和3,直到聚类中心满足停止误差准则,或达到预定的迭代次数输出结果。最终得到K个聚类中心,以及每个数据点所属的类1285.3.2

算法原理头脑风暴优化算法的主要构成变异为了避免BSO算法陷入局部最优,采用变异思想增加算法解的多样性,从而有助于得到全局最优解。变异过程主要由个体生成、个体变异构成个体生成个体生成用于从集群中选择临时个体,定义生成的临时解个体为: 。根据概率选择如下方式生成临时个体A,即:随机选中一个类,选择此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论