精华内容
下载资源
问答
  • 智能优化算法

    万次阅读 多人点赞 2018-09-03 21:27:12
    智能优化算法 目录 智能优化算法 目录 遗传算法(Genetic Algorithm) 理论 特点 领域 算法流程 差分进化算法(Differential Evolution Algorithm) 理论 特点 领域 算法流程 免疫算法(Immune Algorithm,...

    智能优化算法

    目录

    遗传算法(Genetic Algorithm)

    遗传算法是模拟生物在自然环境中的遗传和进化的过程而形成的自适应全局最优化搜索算法。

    理论

    达尔文的自然选择学说表明,遗传和变异是决定生物进化的内在因素。遗传是指父代和子代之间,在性状上存在相似现象;变异是指父代和子代之间,以及子代的个体之间,在性状上存在差异的现象。在生物体内,遗传和变异的关系十分密切。一个生物的遗传往往会发生变异,而变异的性状有的可以遗传。

    遗传物质的主要载体是染色体,基因是有遗传效应的片段,他储存着遗传信息,可以准确的复制,也可以发生突变。生物自身通过对基因的复制和交叉,是其性状的遗传得到选择和控制。同时,通过基因重组、基因变异和染色体在结构和数目上的便宜发生丰富多彩的变异现象。总结生物遗传和进化的规律有:

    1,生物的所有遗传信息都包含在其染色体中,染色体决定了生物的性状,染色体是由基因及其有规律的排列所构成。
    2,生物的繁殖过程是由其基因的复制过程完成的。同源染色体的交叉或变异会产生新的物种,使生物呈现新的性状。
    3,对环境适应能力强的基因或染色体,比适应能力差的基因或染色体有更多的机会遗传到下一代。
    

    遗传学与遗传算法术语对应关系

    遗传学术语 遗传算法术语
    群体 可行解集
    个体 可行解
    染色体 可行解编码
    基因 可行解编码的分量
    基因形式 遗传编码
    适应度 评价函数值
    选择 选择操作
    交叉 交叉操作
    变异 变异操作

    特点

    算法是模拟生物在自然环境中的遗传和进化的过程形成的一种并行、高效、全局搜索的方法,他有几下特点:

    1,遗传算法以决策变量的编码作为运算的对象;
    2,直接以目标函数值作为搜索信息;
    3,同时使用多个搜索点的搜索信息;
    4,是一种基于概率的搜索技术;
    5,具有自组织、自适应和自学习等特性。
    

    领域

    20世纪90年代以后,它作为一种高效、实用、鲁棒性强的优化技术,发展极为迅速,在机器学习、模式识别、神经网络、控制系统优化及社会科学等领域广泛应用。

    算法流程

    1. 初始化。设置进化代数计数器g=0,设置最大进化代数G,随机生成NP个个体作为初始群体P(0);
    2. 个体评价。计算群体P(t)中各个个体的适应度。
    3. 选择运算。将选择算子作用于群体,根据个体的适应度,按照一定的规则或方法,选择一些优良的个体遗传到下一代群体。
    4. 交叉运算。将交叉算子作用于群体,对选中的成对个体,以某一概率交换他们之间的部分染色体,产生新的个体。
    5. 变异运算。将变异算子作用于群体,对选中的个体,以某一概率改变某一个或某一些基因值为其他的等位基因。群体P(t)经过选择、交叉和变异运算之后得到下一代群体P(t+1)。计算适应度值,并根据适应度值进行排序,准备进行下一次遗传操作。
    6. 终止条件判断:若g<=G,则g=g+1,转到第2步;若g>G,则输出最大适应度的个体作为最优解,终止计算。

    差分进化算法(Differential Evolution Algorithm)

    理论

    同其他进化算法一样,差分算法也是对候选解的种群进行操作,但其种群繁殖方案不同:它通过把种群中两个成员之间加权向量加到第三个成员上来产生新的参数向量,称“变异”;然后将变异向量的参数与另外预先确定的目标向量参数按一定的规则混合来产生新的试验向量,称“交叉”;最后,若试验向量的代价函数比目标向量的代价函数低,试验向量就在下一代中代替目标向量,称“选择”。种群中所有的成员必须当作目标向量进行一次这样的操作,以便在下一代中出现相同个数竞争者。在进化过程中对每一代的最佳参数向量进行评价,记录最小化过程。

    这样利用随机偏差扰动产生新个体的方式,可以获得一个收敛性非常好的结果,引导搜索过程向全局最优解逼近。

    特点

    1. 结构简单,容易使用;
    2. 性能优越。具有较好的可靠性、高效性和鲁棒性。
    3. 自适应性。
    4. 具有内在的并行性,可协同搜索,具有利用个体局部信息和群体全局信息知道算法进一步搜索的能力。在同样的精度下,查分进化算法具有更快的收敛速度。
    5. 算法通用,可直接对结构对象进行操作,不依赖于问题信息,不存在对目标函数的限定。

    领域

    在人工神经元网络、电力、机械设计、机器人、信号处理、生物信息、经济学、现代农业和运筹学等。然而,尽管该算法获得了广泛研究,但相对于其他进化算法而言,研究成果相当分散,缺乏系统性,尤其在理论方面还没有重大的突破。

    算法流程

    操作流程如下:

    1,初始化
    2,变异
    3,交叉
    4,选择
    5,边界条件处理
    

    上述的是最基本的差分进化算法操作程序,实际应用中还发展了几个变形形式,用符号:DE/x/y/z加以区分,其中x限定当前被变异的向量是“随机的”还是“最佳的”;y是所利用的差向量的个数;z指示交叉程序的操作方法,用bin表示。则基本的差分进化算法策略可描述为:DE/rand/1/bin.

    还有其他形式:
    1. DE/best/1/bin,其中

    Vi,G+1=Xbest,G+F(Xr1,GXr2,G)

    2. DE/rand-to-best/1/bin,其中
    Vi,G+1=Xi,G+λ(Xbest,G+Xi,G)+F(Xr1,GXr2,G)

    3. DE/best/2/bin,其中
    Vi,G+1=Xbest,G+F(Xr1,GXr2,G+Xr2,GXr4,G)

    4. DE/rand/2/bin,其中
    Vi,G+1=X5,G+F(Xr1,GXr2,G+Xr2,GXr4,G)

    还有交叉操作利用指数交叉的情况:DE/rand/1/exp…

    免疫算法(Immune Algorithm, IA)

    理论

    生物免疫系统是一个复杂的自适应系统。免疫系统能够识别出病原体,具有学习、记忆和模式识别能力,因此可以借鉴其信息处理机制来解决科学和工程问题。免疫算法正式基于生物免疫系统识别外部病原体并产生抗体对抗原的学习机制而提出的。

    传统的免疫是指机体抗感染的防御能力,而现代免疫则指机体免疫系统识别和排除抗原性异物,从而维持机体生理平衡和稳定的功能。免疫是机体的一种生理反应,当病原体(抗原)进入人体时,这些抗原将刺激免疫细胞(淋巴B细胞、T细胞)产生一种抵抗该病原生物的特殊蛋白质——抗体。抗体能将病原生物消灭,并在将病原生物消灭之后,仍留在人体内,当同样的病原生物再次侵入人体时,该病原生物就会很快地被体内存留的抗体消灭。

    免疫算法算子:亲和度评价算子、抗体浓度评价算子、激励度计算算子、免疫选择算子、克隆算子、变异算子、克隆抑制算子和种群刷新算子。由于算法的编码方式可能为实数编码、离散编码,不同编码方式下的算法算子也会有所不同。
    免疫算法的种类:克隆选择算法、免疫遗传算法、反向选择算法、疫苗免疫算法等。

    特点

    自适应性、随机性、鲁棒性强、并行搜索机制、全局收敛性、种群多样保持性等优点。

    领域

    非线性最优化、组合优化、控制工程、机器人、故障诊断、图像处理等诸多领域。

    算法流程

    1. 首先进行抗原识别,即理解待优化问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件;
    2. 产生初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。
    3. 对种群中的每一个可行解进行亲和度评价。
    4. 判断是否满足算法终止条件,满足,则终止寻优过程,输出最优结果,否则,继续寻优。
    5. 计算抗体浓度和激励度。
    6. 进行免疫处理,包括免疫处理、克隆、变异和克隆抑制。
      免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化;
      克隆:对活化的抗体进行克隆复制,得到若干副本;
      变异:对克隆得到的副本进行变异操作,使其发生亲和度变异;
      克隆抑制:对变异结果进行在选择,抑制亲和度低的抗体,保留高的变异结果。
    7. 种群刷新:以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代的抗体,转步骤3。

    蚁群算法(Ant Colony Optimization)

    理论

    蚁群算法是一种源于大自然生物世界的新的仿生进化算法,它是通过模拟自然界中蚂蚁集体寻径行为提出的一种基于种群的启发式随机搜索算法。蚂蚁有能力在没有任何提示的情形下找到从巢穴到食物源的最短途径,并且能随环境变化,适应性地搜索新的路径,产生新的选择。其根本原因是蚂蚁在寻找食物的时候,能在其走过的路经上释放一种特殊的分泌物——信息素,随着时间的推移该物质会逐渐挥发,后来的蚂蚁选择该路径的概率与当时这条路径上的信息素的强度成正比。当一条路径上通过的蚂蚁越来越多时,其留下来的信息素也越来越多,后来的蚂蚁选择该路径的概率也就越高,从更增加了该路径上的信息素强度。而强大的信息素会吸引更多的蚂蚁,从而形成一种正反馈机制通过这种正反馈机制,蚂蚁最终可以发现最短的路径。
    后续有改进的蚁群算法:
    精英蚂蚁系统,额外的添加人工信息素;最大最小蚂蚁系统;基于排序的蚁群算法;自适应蚁群算法。

    特点

    具有分布式计算、无中心控制和分布式个体之间间接通信等特征。易于与其他优化算法相结合。
    1. 一种本质上的并行算法;
    2. 一种自组织算法。所谓自组织,就是组织力或组织指令来自于系统的内部,以区别其他组织。如果系统在获得空间、时间或功能结构的过程中,没有外界的特定干涉,就可以说系统是自组织的。简单的说,自组织就是系统从无序到有序的变化过程;
    3. 具有较强的鲁棒性。
    4. 一种正反馈算法。

    领域

    旅行商(TSP)问题、分配问题、车间作业调度(job-shop)问题等。

    算法流程

    1. 参数初始化。令时间t=0和循环次数Nc=0,设置最大循环次数G,将m个蚂蚁置于n个元素上,令有向图上每条边(i,j)的初始化信息量tij(t)=c表示常数,且初始时刻δij(0)=0;
    2. 循环次数Nc=Nc+1;
    3. 蚂蚁的禁忌表索引号k=1;
    4. 蚂蚁数目k=k+1;
    5. 蚂蚁个数根据状态转移概率公式计算的概率选择元素j并前进;
    6. 修改禁忌表指针,及选择好之后将蚂蚁移动到新的元素,并把该元素移动到蚂蚁个体的禁忌表中;
    7. 若集合C中元素为遍历完,即k<m,则调到第4步;否则执行下一步;
    8. 记录本次最佳路线;
    9. 根据公式更新路径上的信息量;
    10. 若满足结束条件,退出循环,输出最佳路线;否则清空禁忌表转到第2步。

    粒子群算法(Particle Swarm Optimization,PSO)

    理论

    鸟类在捕食过程中,鸟群成员可以通过个体间的信息交流与共享获得其他成员的发现与飞行经历。在食物源零星分布并且不可预测的条件下,这种协作机制所带来的优势是决定性的,远远大于对食物的竞争所引起的劣势。该算法受鸟类捕食行为的启发并对这种行为进行模仿,将优化问题的搜索空间类比于鸟类的飞行空间,将每只鸟抽象为一个粒子,粒子无质量、无体积,用以表征问题的一个可行解,优化问题所要搜索的最优解等同于鸟类寻找的食物源。
    粒子群算法的信息共享机制可以解释为一种共生合作的行为,即每个粒子都在不停的搜索,并且其搜索行为在不同的程度上受到群体中其他个体的影响,同时这些粒子还具备对所经历最佳位置的记忆能力,即其搜索行为在受其他个体影响的同时,还受到自身经验的引导。基于独特的搜索机制,粒子群算法首先生成初始种群,即在可行解空间和速度空间随机制初始化粒子的速度与位置,其中粒子的位置用于表征问题的可行解,然后通过种群间粒子个体的合作与竞争来求解优化问题。

    算法:

    假设在一个D维空间中,有N个粒子组成的一个群落,其中第i个粒子表示为一个D维空间的向量:
    Xi=(xi1,xi2,xi3,...,xiD),i=1,2,...,N
    第i个粒子的“飞行”速度也是一个D维的向量,记为:

    Vi=(υi1,υi2,υi3,...,υiD),i=1,2,..,N

    第i个粒子迄今为止搜索到的最优位置称为个体极值,记为:
    Pbest=(pi1,pi2,pi3,...,piD),i=1,2,3,...,N

    整个粒子群迄今为止搜索到的最有位置为全局极值,记为:
    Gbest=(g1,g2,g3,...,gD)

    在找到这两个最优值时,粒子根据如下两式更新自己的速度和位置
    υij(t+1)=υij(t)+c1r1(t)[pij(t)xij(t)]+c2r2(t)[pgj(t)xgj(t)]

    Xij(t+1)=Xij(t)+υij(t+1)

    其中c1,c2为学习因子,也称加速常数;r1,r2为[0,1]范围内的均匀随机数。更新速度的式子有三部分组成:第一部分为“惯性”或“动量”部分,反映了粒子的运动“习惯”,代表例子有维持自己先前速度的趋势;第二部分为“认知”部分,反映了粒子对自身历史经验的记忆或回忆,代表粒子有向自身历史最佳位置逼近的趋势;第三部分为“社会”部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向群体或领域历史最佳位置逼近的趋势。

    标准的粒子群算法由Y.H.Shi改进得到,加入了惯性权重 ,由于其能保证收敛较好的收敛结果,所以被默认为标准粒子群算法。

    υij(t+1)=ωυij(t)+c1r1(t)[pij(t)xij(t)]+c2r2(t)[pgj(t)xij(t)]

    试验结果表明: 在0.8~1.2之间,粒子群算法有较快的收敛速度;而当 >1.2时,算法容易陷入局部极值。另外,搜索过程中可以对 进行动态调整:在算法开始时,可给 赋予较大正值,随着搜索的进行,可以线性地使 逐渐减小,这样在保证算法在刚开始各粒子都有较大的速度步长在全局范围内探测到较好的区域;而在后期,较小的 则保证粒子能够在极值点周围做精细的搜索,从而使算法有较大的概率向全局最优解位置收敛。对 调整,可以权衡全局搜索和局部搜索能力,目前,采用较多动态惯性权重值是Shi提出的线性递减权值策略,表达式如下:
    ω=ωmax(ωmaxωmin)tTmax

    其中,Tmax表示最大进化代数; ωmin表示最小惯性权重;ωmax 表示最大权重;t当前迭代次数,大多数应用中ωmax=0.9,ωmin=0.4.

    特点

    该算法本质上是一种随机搜索算法,它能以较大概率收敛与全局最优解。实践表明,它适合在动态、多目标优化环境中的寻优,与传统优化算法相比,具有较快的计算速度和更好的全局搜索能力。

    1. 基于群智能理论的优化算法;
    2. 和遗传算法都是随机初始化种群,使用适应值来评价个体的优劣程度和进行一定的随机搜索。但粒子群算法根据自己的速度来决定搜索,没有遗传算法的交叉和变异。与进化算法相比,粒子群算法博爱留了基于种群的全局搜索策略,但是其采用的速度—位移模型操作简单,避免了复杂的遗传操作。
    3. 由于每个粒子在算法结束都保留了其个体的极值,即粒子群算法除了可以找到问题的最优解外,还会得到若干较好的次优解,因此将粒子群算法用于调度和决策问题可以给出多种有意义的方案。
    4. 算法特有的记忆使其可以动态的跟踪当前搜索情况并调整策略。粒子群算法对种群的大小不敏感,即使种群数目下降,性能下降也不是很大。

    领域

    目前算法已广泛应用于函数优化、神经网络训练、模式分类、模糊控制等领域。

    算法流程

    1. 初始化粒子群,包括群体规模N,每个粒子的位置Xi,速度Vi
    2. 计算每个粒子的适应度值fit[i]
    3. 对每一个粒子,用它的适应度值和个体极值Pbest(i)做比较,如果fit[i]<Pbest(i),则用fit[i]替换掉Pbest(i)
    4. 对每一个粒子,用它的适应度值和全局极值Gbest(i)做比较,如果fit[i]<Gbest(i),则用fit[i]替换掉Gbest(i)
    5. 迭代更新粒子的速度Vi和位置Xi
    6. 进行边界条件处理;
    7. 判断算法终止条件是否满足,若是,结束算法,输出最优解,否则,返回步骤2。

    模拟退火算法(Simulated Annealing, SA)

    理论

    算法最早由Metopolis提出,它以优化问题求解过程与物理退火过程之间的相似性为基础,优化的目标函数相当于金属的内能,优化问题的自变量组合状态空间相当于金属的内能状态空间,问题的求解过程就是找一个组合状态,是目标函数值最小。利用Metopolis算法并适当的控制温度的下降过程实现模拟退火,从而达到求解全局优化问题的目的。

    高温下,液体的大量分子彼此之间进行着相对自由流动,如果该液体慢慢的冷却,热能原子分子可动性就会消失。大量原子常常能够自行排列长行,形成一个纯净的晶体,该晶体在个方向上都完全有序地排列在几百万倍于单个原子的距离之内。对于这个系统来说,晶体的状态是能量最低状态,而所有缓慢冷却的系统都可以自达到这个最低能量状态。实际上,如果液态金属被迅速冷却,则他不会达到这一状态,而只能形成一种较高能量状态的多晶体状态。因此,这一过程的本质在于缓慢的冷却,以争取足够的时间,让大量原子在丧失可动性之前进行重新分布。简单而言,物理退火过程有以下几个过程组成:加温过程、等温过程和冷却过程。

    相似关系表

    物理退火 模拟退火
    粒子状态
    能量最低态 最优解
    溶解过程 设定初温
    等温过程 Metropolis采样过程

    冷却 控制参数的下降
    能量 目标函数

    特点

    该算法适用范围广,可靠性高,算法简单,便于实现,算法的策略有利于避免陷于局部最优解,具有十分强的鲁棒性,比起普通的优化搜索方法,有以下独特的方面:

    1,以一定的概率接受恶化解;
    2,引进算法控制参数;
    3,对目标函数要求少。
    

    领域

    工程中已广泛的应用到生产调度、控制工程、机器学习、神经网络、模式识别、图像处理、离散/连续变量的结构优化问题等领域。

    算法流程

    1. 初始化:设置初始温度T0(充分大)、初始解状态X0(是迭代的起点)、每个T值的迭代次数L;
    2. 对k=1,…,L做第3至6步;
    3. 产生新解X’;
    4. 计算增量detaE=E(X’)-E(X),其中E(X)为评价函数;
    5. 若detaE<0,则接受X’为新的当前解,否则以概率exp(-detaE/T接受X’作为新的当前解;
    6. 如果满足终止条件,则输出当前解作为最优解,结束程序。
    7. T逐渐减小,T->0然后转到第2步。

    禁忌搜索算法(Tabu Search or Taboo Search,TS)

    所谓禁忌,就是禁止重复前面的操作。为了改进局部领域搜索容易陷入局部最优点的不足,禁忌搜索算法引入了一个禁忌表,记录下已经搜索过的局部最优点,在下次搜索中,对禁忌表中的信息不再搜索或有选择的搜索,从而实现全局最优化。

    理论

    对于一个初始解,在一种领域范围内对其进行一些列变化,从而得到许多候选解。从这些候选解中选出最优候选解,将候选解对应的目标值与“best so far”状态进行比较。若其目标值优于“best so far”状态,就将该候选解解禁,用来替代当前最优解及其“best so far”状态,然后将其加入禁忌表,再讲禁忌表中相应对象的禁忌长度改变;如果所有的候选解中所对应的目标值都不存在优于“best so far”状态,就从这些候选解中选出不属于禁忌对象的最佳状态,并将其作为新的当前解,不用与当前最优解进行比较,直接将其所对应的对象作为禁忌对象,并将禁忌表中相应的晋级长度进行修改。

    特点

    与传统优化算法相比,主要特点:
    1. 算法的新解不是在当前解得领域中随机产生,它要么是优于“best so far”的解,要么是非禁忌的最佳解,因此选取优良的概率远远大于其他劣质解得概率。
    2. 具有灵活的记忆功能和藐视准则,并且在搜索过程中可以接受劣质解,所以具有较强的“爬山”能力,搜索时能够跳出局部最优解,转向解空间的其他区域,从而增大获得更好的全局最优解的概率。因此,禁忌搜索算法是一种拒不搜索能力很强的全局迭代寻优算法。

    领域

    迄今为止,禁忌搜索算法在组合优化、生产调度、机器学习、电路设计和神经网络等领域取得很大成功,近年来在函数全局优化得到较多的研究,并迅速发展。

    算法流程

    1. 给定禁忌搜索算法参数,随机产生初始解x,置禁忌表为空。
    2. 判断算法终止条件是否满足,是,结束算法,输出最优解,否则,继续
    3. 利用当前解的领域函数产生其所有(或若干)领域解,并从中确定若干候选解。
    4. 对候选解判断藐视准则是否满则,是,用满足藐视准则的最佳状态y替代x,应用于y对应的禁忌对象替换最早进入禁忌表的禁忌对象,同时用y替换“best so far”状态,然后转步骤6;否则,继续
    5. 判断候选解对应的个对象的禁忌属性,选择候选解集中非禁忌对象对应的最佳状态为新的当前解,同事用与之对应的禁忌对象替换最早进入禁忌表的禁忌对象。
    6. 判断算法终止条件是否满足,是,结束算法,否则转步骤3.

    神经网络算法(Neural Network, NN)

    神经网络或人工神经网络,是指用大量的简单计算单元(即神经元)构成的非线性系统,它在一定程度上模仿了人脑神经系统的信息处理、储存和检索功能,是对人脑神经玩过的某种简化、抽象和模拟。其工作方式分为学习和工作两种状态。

    理论

    神经网路的结构和基础原理是以人脑的组织结构和活动规律为背景的,它反映了人脑的某些基本特征,是人脑的某些抽象、简化和模仿。它由许多并行运算的简单功能单元——神经元组成,每个神经元有一个输出,他可以连接到许多其他神经元,每个神经元输入有多个连接通路,每个连接通路对应一个连接权系数。

    领域

    模式识别、故障检测、智能机器人、非线性系统辨识和控制、市场分析、决策优化、智能接口、知识处理、认知科学等。

    特点

    具有非线性映射能力;不需要精确的数学模型;擅长从输入输出数据中学习有用知识;容易实现并行计算;有大量的简单计算单元组成,易于用软硬件实现等。
    1. 与传统的参数模型方法最大的不同在于它是数据驱动的自适应技术,不需要对问题做任何先验假设。
    2. 具备泛化能力,泛化能力是指经训练后的学习模型对未来训练集中出现的样本作出正确反应的能力。
    3. 是一个具有普遍适用性的函数逼近器。
    4. 是非线性的方法。

    模型

    根据连接方式分为3类:
    前馈神经网路:也称前向网络,他只在训练过程有反馈信号,而在分类过程中数据只能向前反馈。直到到达输出层,层间没有向后的反馈信号。BP神经网络属于前馈网络。
    反馈神经网络:是一种从输入到输出具有反馈连接的神经网络,其结构比前馈网络要复杂得多,典型的有:Elman网路和Hopfield网络。
    自组织网络:是一种无导师学习网路。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。

    学习

    主要是指使用学习算法来调整神经元间的连接权,使得网络输出更符合实际。学习分为有导师学习和无导师学习两类。有导师学习是将一组训练集送入网络,根据网络的实际输出与期望输出间的差别来调整连接权。无导师学习抽取样本集合中文翰的统计特性,并以神经元之间的连接权的形式储存在网络中。

    有导师学习算法的主要步骤:
    1. 从样本集合中取一个样本(Ai,Bi),其中Ai是输入,Bi是期望输出;
    2. 计算网络的实际输出O;
    3. 求D=Bi-O;
    4. 根据D调整权矩阵W;
    5. 对每个样本重复上述过程,知道对整个样本集来说,误差不超过规定范围为止。
    Delta学习规则是一种简单的有导师学习算法,该算法根据神经元的实际输出与期望输出差别来调整连接权,气数学表示:

    Wij(t+1)=Wij(t)+α(diyi)xj(t)

    简单来讲就是:若神经元实际输出比期望输出大,则减小所有输入为正的连接权的权重,增大所有输入为负的连接权重;反之一样。
    工作
    神经元间的连接权保持不变,神经网路处于工作状态,作为分类器、预测器等使用。

    []引于文献:智能优化算法及其Matlab实例,包子阳,余继周 编著. 电子工业出版社。

    展开全文
  • 智能优化算法:麻雀搜索算法-附代码

    万次阅读 多人点赞 2020-09-27 16:34:00
    2020智能优化算法:麻雀搜索算法-附代码 文章目录2020智能优化算法:麻雀搜索算法-附代码1.算法原理2.算法结果3.参考文献4.Matlab代码 摘要:麻雀搜索算法(Sparrow Search Algorithm, SSA)是于2020年提出的。SSA ...

    2020智能优化算法:麻雀搜索算法


    摘要:麻雀搜索算法(Sparrow Search Algorithm, SSA)是于2020年提出的。SSA 主要是受麻雀的觅食行为和反捕食行为的启发而提出的。该算法比较新颖,具有寻优能力强,收敛速度快的优点

    1.算法原理

    建立麻雀搜索算法的数学模型,主要规则如下所述:

    1. 发现者通常拥有较高的能源储备并且在整个种群中负责搜索到具有丰富食物的区域,为所有的加入者提供觅食的区域和方向。在模型建立中能量储备的高低取决于麻雀个体所对应的适应度值(Fitness Value)的好坏。
    2. 一旦麻雀发现了捕食者,个体开始发出鸣叫作为报警信号。当报警值大于安全值时,发现者会将加入者带到其它安全区域进行觅食。
    3. 发现者和加入者的身份是动态变化的。只要能够寻找到更好的食物来源,每只麻雀都可以成为发现者,但是发现者和加入者所占整个种群数量的比重是不变的。也就是说,有一只麻雀变成发现者必然有另一只麻雀变成加入者。
    4. 加入者的能量越低,它们在整个种群中所处的觅食位置就越差。一些饥肠辘辘的加入者更有可能飞往其它地方觅食,以获得更多的能量。
    5. 在觅食过程中,加入者总是能够搜索到提供最好食物的发现者,然后从最好的食物中获取食物或者在该发现者周围觅食。与此同时,一些加入者为了增加自己的捕食率可能会不断地监控发现者进而去争夺食物资源。
    6. 当意识到危险时,群体边缘的麻雀会迅速向安全区域移动,以获得更好的位置,位于种群中间的麻雀则会随机走动,以靠近其它麻雀。

    在模拟实验中,我们需要使用虚拟麻雀进行食物的寻找,由n只麻雀组成的种群可表示为如下形式:
    X=[x11x12...x1dx21x22...x2d............xn1xn2...xnd](1) X=\left[\begin{matrix} x_1^1&x_1^2&...&x_1^d\\ x_2^1&x_2^2&...&x_2^d\\ ...&...&...&... \\ x_n^1&x_n^2&...&x_n^d\\ \end{matrix}\right]\tag{1}
    其中,dd 表示待优化问题变量的维数,nn 则是麻雀的数量。那么,所有麻雀的适应度值可以表示为如下形式:
    Fx=[f([x11x12...x1d])f([x21x22...x2d])...f([xn1xn2...xnd])](2) F_x =\left[\begin{matrix} f([x_1^1&x_1^2&...&x_1^d])\\ f([x_2^1&x_2^2&...&x_2^d])\\ ... f([x_n^1&x_n^2&...&x_n^d]) \end{matrix}\right]\tag{2}
    其中,f 表示适应度值。

    在 SSA 中,具有较好适应度值的发现者在搜索过程中会优先获取食物。此外,因为发现者负责为整个麻雀种群寻找食物并为所有加入者提供觅食的方向。因此,发现者可以获得比加入者更大的觅食搜索范围。根据规则(1)和规则(2),在每次迭代的过程中,发现者的位置更新描述如下:
    Xi,jt+1={Xi,j.exp(iα.itermax),ifR2<STXi,j+Q.L,ifR2ST(3) X_{i,j}^{t+1}=\begin{cases} X_{i,j}.exp(-\frac{i}{\alpha.iter_{max}}),if\, R_2<ST\\ X_{i,j} + Q.L,if\, R_2\geq ST \end{cases}\tag{3}
    其中,tt 代表当前迭代数,j=1,2,3,...,dj =1, 2, 3, . . . , ditemmaxitem_{max}
    是一个常数,表示最大的迭代次数。XijX_{ij}表示第 ii 个麻雀在第jj 维中的位置信息。α(0,1]α∈(0, 1]是一个随机数。R2(R2[0,1])R_2(R_2∈[0,1])ST(ST[0.5,1])ST(ST∈[0.5,1])分别表示预警值和安全值。QQ 是服从正态分布的随机数。LL 表示一个 1×d1×d 的矩阵,其中该矩阵内每个元素全部为 1。

    R2<STR2< ST 时,这意味着此时的觅食环境周围没有捕食者,发现者可以执行广泛的搜索操作。如果 R2STR2≥ ST,这表示种群中的一些麻雀已经发现了捕食者,并向种群中其它麻雀发出了警报,此时所有麻雀都需要迅速飞到其它安全的地方进行觅食。

    对于加入者,它们需要执行规则(3)和规则(4)。如前面所描述,在觅食过程中,一些加入者会时刻监视着发现者。一旦它们察觉到发现者已经找到了更好的食物,它们会立即离开现在的位置去争夺食物。如果它们赢了,它们可以立即获得该发现者的食物,否则需要继续执行规则(4)。加入者的位置更新描述如下:
    Xi,jt+1={Q.exp(XworstXi,jti2),ifi>n/2XPt+1+Xi,jXPt+1.A+.L,otherwise(4) X_{i,j}^{t+1}=\begin{cases} Q.exp(\frac{X_{worst}-X_{i,j}^t}{i^2}),if\, i>n/2\\ X_P^{t+1}+ |X_{i,j} - X_P^{t+1}|.A^{+}.L,otherwise \end{cases}\tag{4}
    其中,XpX_p是目前发现者所占据的最优位置,XworstX_{worst}则表示当前全局最差的位置。AA表示一个 1×d1×d 的矩阵,其中每个元素随机赋值为 1 或-1,并且 A+=AT(AAT)1A^+=A^T(AA^T)^{-1}。当i >n/2 时,这表明,适应度值较低的第 i 个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其它地方觅食,以获得更多的能量。

    在模拟实验中,我们假设这些意识到危险的麻雀占总数量的 10% 到 20%。这些麻雀的初始位置是在种群中随机产生的。根据规则(5),其数学表达式可以表示为如下形式:
    Xi,jt+1={Xbestt+β.Xi,jtXbestt,iffi>fgXi,jt+K.(Xi,jtXworstt(fifw)+ε),iffi=fg(5) X_{i,j}^{t+1}=\begin{cases} X_{best}^t + \beta.|X_{i,j}^t - X_{best}^t|,if\, f_i>f_g\\ X_{i,j}^t + K.(\frac{|X_{i,j}^t - X_{worst}^t|}{(f_i -f_w)+\varepsilon}), if\, f_i =f_g \end{cases}\tag{5}
    其中,其中 XbestX_{best}是当前的全局最优位置。ββ 作为步长控制参数,是服从均值为 0,方差为 1 的正态分布的随机数。K[1,1]K∈[-1,1]是一个随机数,fi则是当前麻雀个体的适应度值。fgf_gfwf_w分别是当前全局最佳和最差的适应度值。ε\varepsilon 的常数,以避免分母出现零。

    为简单起见,当 fi>fgf_i >f_g表示此时的麻雀正处于种群的边缘,极其容易受到捕食者的攻击。XbestX_{best}表示这个位置的麻雀是种群中最好的位置也是十分安全的。fi=fgf_i = f_g时,这表明处于种群中间的麻雀意识到了危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险。KK 表示麻雀移动的方向同时也是步长控制参数。

    算法流程

    Step1: 初始化种群,迭代次数,初始化捕食者和加入者比列。

    Step2:计算适应度值,并排序。

    Step3:利用式(3)更新捕食者位置。

    Step4:利用式(4)更新加入者位置。

    Step5:利用式(5)更新警戒者位置。

    Step6:计算适应度值并更新麻雀位置。

    Step7:是否满足停止条件,满足则退出,输出结果,否则,重复执行Step2-6;

    2.算法结果

    在这里插入图片描述

    3.参考文献

    [1] Xue J , Shen B . A novel swarm intelligence optimization approach: sparrow search algorithm[J]. Systems ence & Control Engineering An Open Access Journal, 2020, 8(1):22-34.

    4.Matlab代码

    麻雀搜索算法
    改进算法:
    1.基于反向策略的麻雀搜索算法
    2.基于Tent混沌映射的麻雀搜索算法
    3.基于Logistic混沌映射的麻雀搜索算法
    4.基于Circle混沌映射的麻雀搜索算法
    5.基于Piecewise混沌映射的麻雀搜索算法
    6.基于Chebyshev混沌映射的麻雀搜索算法
    7.基于Sine混沌映射的麻雀搜索算法
    8.基于Singer混沌映射的麻雀搜索算法
    9.基于迭代混沌映射的麻雀搜索算法
    10.基于Sinusoidal混沌映射的麻雀搜索算法
    11.基于随机游走改进的麻雀搜索算法
    12.基于萤火虫改进的麻雀搜索算法
    13.基于精英反向策略的麻雀搜索算法1
    14.基于levy飞行改进的麻雀搜索算法
    15.基于自适应t分布的麻雀算法
    改进麻雀文献复现代码:
    1.混沌麻雀。
    参考文献:[1]吕鑫,慕晓冬,张钧,王震.混沌麻雀搜索优化算法[J/OL].北京航空航天大学学报:1-10[2020-11-16].https://doi.org/10.13700/j.bh.1001-5965.2020.0298.

    2.融合柯西变异和反向学习的改进麻雀算法
    [1]毛清华,张强.融合柯西变异和反向学习的改进麻雀算法[J/OL].计算机科学与探索:1-12[2020-12-16].http://kns.cnki.net/kcms/detail/11.5602.tp.20201203.1601.006.html.

    [3. 混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA)]
    [1]毛清华,张强,毛承成,柏嘉旋.混合正弦余弦算法和Lévy飞行的麻雀算法[J/OL].山西大学学报(自然科学版):1-6[2021-04-09].https://doi.org/10.13451/j.sxu.ns.2020135.

    [4.基于 Sobol 序列和纵横交叉策略的麻雀搜索算法(SSASC)]
    [1]段玉先,刘昌云.基于 Sobol 序列和纵横交叉策略的麻雀搜索算法[J/OL].计算机应用. https://kns.cnki.net/kcms/detail/51.1307.TP.20210525.1453.002.html

    5.Python代码

    麻雀搜索算法
    改进算法:
    基于Sinusoidal混沌映射的麻雀搜索算法 python 代码
    基于迭代混沌映射的麻雀搜索算法 python 代码
    基于Singer混沌映射的麻雀搜索算法 python 代码
    基于Sine混沌映射的麻雀搜索算法 python代码
    基于Piecewise混沌映射的麻雀搜索算法 python代码
    基于Logistic混沌映射的麻雀搜索算法 python 代码
    基于Circle混沌映射的麻雀搜索算法 python 代码
    基于Chebyshev混沌映射的麻雀搜索算法 python代码
    基于Tent混沌映射的麻雀搜索算法 python代码
    基于反向策略的麻雀搜索算法 python代码
    基于精英反向策略的麻雀搜索算法1 python代码
    基于精英反向策略的麻雀搜索算法2 python 代码
    基于萤火虫改进的麻雀搜索算法 python代码
    基于levy飞行改进的麻雀搜索算法 python 代码
    基于随机游走改进的麻雀搜索算法
    基于自适应t分布的麻雀搜索算法
    改进麻雀文献复现代码:
    1.混沌麻雀
    参考文献:[1]吕鑫,慕晓冬,张钧,王震.混沌麻雀搜索优化算法[J/OL].北京航空航天大学学报:1-10[2020-11-16].https://doi.org/10.13700/j.bh.1001-5965.2020.0298.

    2.混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA)
    [1]毛清华,张强,毛承成,柏嘉旋.混合正弦余弦算法和Lévy飞行的麻雀算法[J/OL].山西大学学报(自然科学版):1-6[2021-04-09].https://doi.org/10.13451/j.sxu.ns.2020135.

    上述代码见个人资料介绍

    展开全文
  • 群体智能优化算法

    万次阅读 多人点赞 2018-11-20 08:32:51
    群体智能优化算法介绍什么是群体智能优化算法群体智能优化算法的定义群体智能优化算法的原则常见的群体智能优化算法挖坑蚁群算法粒子群优化算法菌群算法蛙跳算法人工蜂群算法总结 由于在研究生期间一直研究粒子群...


    由于在研究生期间一直研究粒子群优化算法(Particle Swarm Optimization),所以对其他的一些群体智能优化算法(Swarm Intelligence)也是有一定的了解的,既然自己在这方面还算有一些自己的见解,所以,就把这些内容分享出来,让更多的人了解这方面的内容,在需要用到这方面内容去做研究或者写毕设或者做项目的过程中,能够快速的入门。

    什么是群体智能优化算法

    在研究生期间我研究的是粒子群优化算法,主要将其用在目标跟踪等方面,所以,有了介绍粒子群优化算法的想法,但是,在介绍粒子群优化算法之前,有必要先介绍一下群体智能优化算法,因为粒子群优化算法是属于群体智能优化算法中的一种比较常用的算法。

    群体智能优化算法的定义

    定义:群体智能优化算法主要模拟了昆虫、兽群、鸟群和鱼群的群体行为,这些群体按照一种合作的方式寻找食物,群体中的每个成员通过学习它自身的经验和其他成员的经验来不断地改变搜索的方向。任何一种由昆虫群体或者其他动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群体智能(Swarm Intelligence)
    白话解释:模仿昆虫或者一些动物的觅食或者其他行为,这些动物群体按照一中合作的方式寻找食物,不断的交流食物信息,能够很快的找到更多的食物。通过对他们的行为的研究抽象出来的一种算法,就是群体智能优化算法。(例如,一个个体找到了食物,就会通知其他个体来这个有食物的地方,这就是一种行为)

    群体智能优化算法的原则

    • 邻近原则:群体能够进行简单的空间和时间计算;
    • 品质原则:群体能够响应环境中的品质因子;
    • 多样性反应原则:群体的行动范围不应该太窄;
    • 稳定性原则:群体不应在每次环境变化时都改变自身的行为;
    • 适应性原则:在所需代价不太高的情况下,群体能够在适当的时候改变自身的行为。

    常见的群体智能优化算法

    群体智能优化算法出现后,可以说是非常的受欢迎,很多研究学者也都提出了一些自己的群体智能优化算法,但是,受到大家认可(应用较为广泛)的算法大致为:

    • 蚁群算法-------------1992年提出
    • 粒子群优化算法----1995年提出
    • 菌群算法-------------2002年提出
    • 蛙跳算法-------------2003年提出
    • 人工蜂群算法-------2005年提出
    • 花朵授粉算法-------2012年提出

    除了几种常见的算法之外,还有很多很多被提出的群体智能优化算法,例如:萤火虫算法、布谷鸟算法、蝙蝠算法、狼群算法、烟花算法、合同网协议算法等等。

    挖坑

    后续会对一下几种算法进行详细的介绍(先挖个坑-_-)。

    蚁群算法

    未完待续

    粒子群优化算法

    粒子群优化算法在1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。已填坑,点击查看

    菌群算法

    菌群优化算法(BFO)是近些年来发展起来的,基于大肠杆菌觅食行为模型的一种新型群智能算法。它是一种简单有效的随机全局优化技术。已填坑,点击查看

    蛙跳算法

    蛙跳算法的思想是:在一片湿地中生活着一群青蛙。湿地内离散的分布着许多石头,青蛙通过寻找不同的石头进行跳跃去找到食物较多的地方。每只青蛙个体之间通过文化的交流实现信息的交换。每只青蛙都具有自己的文化。每只青蛙的文化被定义为问题的一个解。湿地的整个青蛙群体被分为不同的子群体,每个子群体有着自己的文化,执行局部搜索策略。在子群体中的每个个体有着自己的文化,并且影响着其他个体,也受其他个体的影响,并随着子群体的进化而进化。当子群体进化到一定阶段以后,各个子群体之间再进行思想的交流(全局信息交换)实现子群体间的混合运算,一直到所设置的条件满足为止。未完待续(会单独写一篇文章详细介绍)

    人工蜂群算法

    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。未完待续(会单独写一篇文章详细介绍)

    总结

    本博文对群体智能优化算法进行了简单的介绍,并对几种群体智能优化算法进行了简单的描述,留着后续填坑。
    如果您有任何需要,都可以加我微信,进行讨论。
    在这里插入图片描述

    展开全文
  • 智能优化算法:灰狼优化算法-附代码

    万次阅读 多人点赞 2020-07-31 16:31:41
    摘要:受 灰 狼 群 体 捕 食 行 为 的 启 发,Mirjalili等[1]于 2014年提出了一种新型群体智能优化算法:灰狼优化算法。GWO通过模拟灰狼群体捕食行为,基于狼群群体协作的机制来达到优化的目的。 GWO算法具有结构...

    智能优化算法:灰狼优化算法-附代码


    摘要:受 灰 狼 群 体 捕 食 行 为 的 启 发,Mirjalili等[1]于 2014年提出了一种新型群体智能优化算法:灰狼优化算法。GWO通过模拟灰狼群体捕食行为,基于狼群群体协作的机制来达到优化的目的。 GWO算法具有结构简单、需要调节的参数少,容易实现等特点,其中存在能够自适应调整的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索之间实现平衡,因此在对问题的求解精度和收敛速度方面都有良好的性能。

    1.算法原理

    灰狼属于犬科动物,被认为是顶级的掠食者,它们处于生物圈食物链的顶端。灰狼大多喜欢群居,每个群体中平均有5-12只狼。特别令人感兴趣的是,它们具有非常严格的社会等级层次制度,如图1所示。金字塔第一层为种群中的领导者,称为 α 。在狼群中 α 是具有管理能力的个体,主要负责关于狩猎、睡觉的时间和地方、食物分配等群体中各项决策的事务。金字塔第二层是 α 的智囊团队,称为 β 。 β 主要负责协助α 进行决策。当整个狼群的 α 出现空缺时,β 将接替 α 的位置。 β 在狼群中的支配权仅次于 α,它将 α 的命令下达给其他成员,并将其他成员的执行情况反馈给 α 起着桥梁的作用。金字塔第三层是 δ ,δ 听从 α 和 β 的决策命令,主要负责侦查、放哨、看护等事务。适应度不好的 α 和 β 也会降为 δ 。金字塔最底层是 ω ,主要负责种群内部关系的平衡。

    在这里插入图片描述

    图1.灰狼的社会等级制度

    此外,集体狩猎是灰狼的另一个迷人的社会行为。灰狼的社会等级在群体狩猎过程中发挥着重要的作用,捕食的过程在 α 的带领下完成。灰狼的狩猎包括以下 3个主要部分:
    1)跟踪、追逐和接近猎物;
    2)追捕、包围和骚扰猎物,直到它停止移动;
    3)攻击猎物

    1.1 包围猎物

    在狩猎过程中,将灰狼围捕猎物的行为定义如下:

    D=C.Xp(t)X(t)(1)\vec{D}=|\vec{C}.\vec{X_{p}}(t)-\vec{X}(t) \tag{1}

    X(t+1)=Xp(t)A.D(2)\vec{X}(t+1)=\vec{X_{p}}(t)-\vec{A}.\vec{D}\tag{2}

    式(1)表示个体与猎物间的距离,式(2)是灰狼的位置更新公式。其中,tt 是目前的迭代代数,A\vec{A}C\vec{C}是系数向量,Xp\vec{X_{p}}X\vec{X}分别是猎物的位置向量和灰狼的位置向量。A\vec{A}C\vec{C}的计算公式如下:

    A=2a.r1a(3)\vec{A} = 2\vec{a}.\vec{r_{1}}-\vec{a}\tag{3}
    C=2.r2(4)\vec{C}=2.\vec{r_{2}}\tag{4}

    其中,a\vec{a}是收敛因子,随着迭代次数从2线性减小到0,r1\vec{r_{1}}r2\vec{r_{2}}的模取[0,1]之间的随机数。

    1.2 狩猎

    灰狼能够识别猎物的位置并包围它们。当灰狼识别出猎物的位置后,β 和 δ 在 α 的带领下指导狼群包围猎物。在优化问题的决策空间中,我们对最佳解决方案(猎物的位置)并不了解。因此,为了模拟灰狼的狩猎行为,我们假设 α ,β 和 δ 更了解猎物的潜在位置。我们保存迄今为止取得的3个最优解决方案,并利用这三者的位置来判断猎物所在的位置,同时强迫其他灰狼个体(包括 ω )依据最优灰狼个体的位置来更新其位置,逐渐逼近猎物。狼群内个体跟踪猎物位置的机制如图2所示。

    在这里插入图片描述

    图2.GWO 算法中灰狼位置更新示意图

    灰狼个体跟踪猎物位置的数学模型描述如下:

    {Dα=C1.XαXDβ=C2.XβXDδ=C1.XδX(5) \begin{cases}\vec{D_{\alpha}}=|\vec{C_{1}}.\vec{X_{\alpha}}-\vec{X}|\\ \vec{D_{\beta}} = |\vec{C_{2}}.\vec{X_{\beta}}-\vec{X}|\\ \vec{D_{\delta}}=|\vec{C_{1}}.\vec{X_{\delta}}-\vec{X}|\end{cases}\tag{5}

    其中,Dα,Dβ,Dδ\vec{D_{\alpha}},\vec{D_{\beta}},\vec{D_{\delta}}分别表示分别表示 α , β 和 δ 与其他个体间的距离。Xα,Xβ,Xδ\vec{X_{\alpha}},\vec{X_{\beta}},\vec{X_{\delta}}分别代表 α , β 和 δ 的当前位置;C1,C2,C3\vec{C_{1}},\vec{C_{2}},\vec{C_{3}}是随机向量,X\vec{X}是当前灰狼的位置。

    {X1=XaA1.DαX2=XβA2.DβX3=XδA3.Dδ(6) \begin{cases}\vec{X_{1}}=\vec{X_{a}}-A_{1}.\vec{D_{\alpha}}\\ \vec{X_{2}}=\vec{X_{\beta}}-A_{2}.\vec{D_{\beta}}\\\vec{X_{3}}=\vec{X_{\delta}}-A_{3}.\vec{D_{\delta}} \end{cases}\tag{6}

    X(t+1)=X1+X2+X33(7)\vec{X}(t+1)=\frac {\vec{X_{1}}+\vec{X_{2}}+\vec{X_{3}}}{3}\tag{7}

    式(6)分别定义了狼群中 ω 个体朝向 α ,β 和 δ 前进的步长和方向,式(7)定义了 ω 的最终位置。

    1.3 攻击猎物(开发)

    当猎物停止移动时,灰狼通过攻击来完成狩猎过程。为了模拟逼近猎物,a\vec{a} 的值被逐渐减小,因此 A\vec{A}的波动范围也随之减小。换句话说,在迭代过程中,当 a\vec{a}的值从2线性下降到0时,其对应的 A\vec{A}的值也在区间[-a,a]内变化。如图3a所示,当 A\vec{A}的值位于区间内时,灰狼的下一位置可以位于其当前位置和猎物位置之间的任意位置。当A<1|\vec{A}|<1 时,狼群向猎物发起攻击(陷入局部最优)。
    在这里插入图片描述

    图3.攻击猎物和寻找猎物

    1.4 搜索猎物(勘探)

    灰狼根据 α ,β 和 δ 的位置来搜索猎物。灰狼在寻找猎物时彼此分开,然后聚集在一起攻击猎物。基于数学建模的散度,可以用 A\vec{A}大于1 或小于-1 的随机值来迫使灰狼与猎物分离,这强调了勘探(探索)并允许 GWO 算法全局搜索最优解。如图3b所示,A>1|\vec{A}|>1 强迫灰狼与猎物(局部最优)分离,希望找到更合适的猎物(全局最优)。GWO 算法还有另一个组件 C\vec{C}来帮助发现新的解决方案。由式(4)可知,C\vec{C}是[0,2]之间的随机值。 表示狼所在的位置对猎物影响的随机权重,C>1C>1表示影响权重大,反之,表示影响权重小。这有助于 GWO算法更随机地表现并支持探索,同时可在优化过程中避免陷入局部最优。另外,与 AA不同CC是非线性减小的。这样,从最初的迭代到最终的迭代中,它都提供了决策空间中的全局搜索。在算法陷入了局部最优并且不易跳出时,CC的随机性在避免局部最优方面发挥了非常重要的作用,尤其是在最后需要获得全局最优解的迭代中。

    2.算法流程图

    在这里插入图片描述

    图4.算法流程图

    3.算法结果

    在这里插入图片描述

    4.参考文献

    [1] Seyedali Mirjalili,Seyed Mohammad Mirjalili,Andrew Lewis. Grey Wolf Optimizer[J]. Advances in Engineering Software,2014,69.

    [2] 张晓凤,王秀英.灰狼优化算法研究综述[J].计算机科学,2019,46(03):30-38.

    5.Matlab 代码

    灰狼优化算法
    文献复现:
    文献复现:基于翻筋斗觅食策略的灰狼优化算法(DSFGWO)
    [1]王正通,程凤芹,尤文,李双.基于翻筋斗觅食策略的灰狼优化算法[J/OL].计算机应用研究:1-5[2021-02-01].https://doi.org/10.19734/j.issn.1001-3695.2020.04.0102.

    文献复现:基于透镜成像学习策略的灰狼优化算法(LIS-GWO)
    [1]龙文,伍铁斌,唐明珠,徐明,蔡绍洪.基于透镜成像学习策略的灰狼优化算法[J].自动化学报,2020,46(10):2148-2164.

    文献复现:一种优化局部搜索能力的灰狼算法(IGWO)
    [1]王习涛.一种优化局部搜索能力的灰狼算法[J].计算机时代,2020(12):53-55.

    文献复现:基于自适应头狼的灰狼优化算法(ALGWO)
    [1]郭阳,张涛,胡玉蝶,杜航.基于自适应头狼的灰狼优化算法[J].成都大学学报(自然科学版),2020,39(01):60-63+73.

    文献复现:基于自适应正态云模型的灰狼优化算法 (CGWO)
    [1]张铸,饶盛华,张仕杰.基于自适应正态云模型的灰狼优化算法[J/OL].控制与决策:1-6[2021-02-08].https://doi.org/10.13195/j.kzyjc.2020.0233.

    文献复现:改进非线性收敛因子灰狼优化算法
    [1]王正通,尤文,李双.改进非线性收敛因子灰狼优化算法[J].长春工业大学学报,2020,41(02):122-127.

    文献复现:一种基于收敛因子改进的灰狼优化算法
    [1]邢燕祯,王东辉.一种基于收敛因子改进的灰狼优化算法[J].网络新媒体技术,2020,9(03):28-34.

    文献复现:基于莱维飞行和随机游动策略的灰狼算法(GWOM)
    [1]李阳,李维刚,赵云涛,刘翱.基于莱维飞行和随机游动策略的灰狼算法[J].计算机科学,2020,47(08):291-296.

    文献复现:一种改进的灰狼优化算法(EGWO)
    [1]龙文,蔡绍洪,焦建军,伍铁斌.一种改进的灰狼优化算法[J].电子学报,2019,47(01):169-175.

    文献复现:改进收敛因子和比例权重的灰狼优化算法(CGWO)
    [1]王秋萍,王梦娜,王晓峰.改进收敛因子和比例权重的灰狼优化算法[J].计算机工程与应用,2019,55(21):60-65+98.

    文献复现:一种改进非线性收敛方式的灰狼优化算法研究(CGWO)
    [1]谈发明,赵俊杰,王琪.一种改进非线性收敛方式的灰狼优化算法研究[J].微电子学与计算机,2019,36(05):89-95.

    文献复现:一种基于Tent 映射的混合灰狼优化的改进算法(PSOGWO)
    [1]滕志军,吕金玲,郭力文,许媛媛.一种基于Tent映射的混合灰狼优化的改进算法[J].哈尔滨工业大学学报,2018,50(11):40-49.

    文献复现:基于差分进化与优胜劣汰策略的灰狼优化算法(IGWO)
    [1]朱海波,张勇.基于差分进化与优胜劣汰策略的灰狼优化算法[J].南京理工大学学报,2018,42(06):678-686.

    文献复现:基于 Iterative 映射和单纯形法的改进灰狼优化算法(SMIGWO)
    [1]王梦娜,王秋萍,王晓峰.基于Iterative映射和单纯形法的改进灰狼优化算法[J].计算机应用,2018,38(S2):16-20+54.

    文献复现:一种基于混合策略的灰狼优化算法(EPDGWO)
    [1]牛家彬,王辉.一种基于混合策略的灰狼优化算法[J].齐齐哈尔大学学报(自然科学版),2018,34(01):16-19+32.

    文献复现:基于随机收敛因子和差分变异的改进灰狼优化算法(IGWO)
    [1]徐松金,龙文.基于随机收敛因子和差分变异的改进灰狼优化算法[J].科学技术与工程,2018,18(23):252-256.

    文献复现:一种基于差分进化和灰狼算法的混合优化算法(DEGWO)
    [1]金星,邵珠超,王盛慧.一种基于差分进化和灰狼算法的混合优化算法[J].科学技术与工程,2017,17(16):266-269.

    文献复现:协调探索和开发能力的改进灰狼优化算法(IGWO)
    [1]龙文,伍铁斌.协调探索和开发能力的改进灰狼优化算法[J].控制与决策,2017,32(10):1749-1757.

    文献复现:基于Cat混沌与高斯变异的改进灰狼优化算法(IGWO)
    [1]徐辰华,李成县,喻昕,黄清宝.基于Cat混沌与高斯变异的改进灰狼优化算法[J].计算机工程与应用,2017,53(04):1-9+50.

    文献复现:具有自适应搜索策略的灰狼优化算法(SAGWO)
    [1]魏政磊,赵辉,韩邦杰,孙楚,李牧东.具有自适应搜索策略的灰狼优化算法[J].计算机科学,2017,44(03):259-263.

    文献复现:采用动态权重和概率扰动策略改进的灰狼优化算法(IGWO)
    [1]陈闯,Ryad Chellali,邢尹.采用动态权重和概率扰动策略改进的灰狼优化算法[J].计算机应用,2017,37(12):3493-3497+3508.

    文献复现:具有自适应调整策略的混沌灰狼优化算法(CLSGWO)
    [1]张悦,孙惠香,魏政磊,韩博.具有自适应调整策略的混沌灰狼优化算法[J].计算机科学,2017,44(S2):119-122+159.

    文献复现:强化狼群等级制度的灰狼优化算法(GWOSH)
    [1]张新明,涂强,康强,程金凤.强化狼群等级制度的灰狼优化算法[J].数据采集与处理,2017,32(05):879-889.

    文献复现:一种新型非线性收敛因子的灰狼优化算法(NGWO)
    [1]王敏,唐明珠.一种新型非线性收敛因子的灰狼优化算法[J].计算机应用研究,2016,33(12):3648-3653.

    文献复现:重选精英个体的非线性收敛灰狼优化算法(EGWO)
    [1]黎素涵,叶春明.重选精英个体的非线性收敛灰狼优化算法[J].计算机工程与应用,2021,57(01):62-68.

    6.Python代码

    个人资料介绍

    展开全文
  • 摘要:鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提出的一种新的群体智能优化算法,其优点在于操作简单,调整的参数少以及跳出局部 最优的能力强。 1.算法...
  • 智能优化算法:蜻蜓优化算法-附代码 文章目录智能优化算法:蜻蜓优化算法-附代码1.算法原理1.1分离2.2 排队2.3 结盟2.4 寻找猎物2.5 躲避天敌2.算法流程3.算法结果4.参考文献5.MATALAB代码 摘要:蜻蜓优化算法( ...
  • 智能优化算法:蝴蝶优化算法-附代码

    千次阅读 热门讨论 2020-08-07 09:58:08
    智能优化算法:蝴蝶优化算法-附代码 文章目录智能优化算法:蝴蝶优化算法-附代码1.算法原理2.算法流程:3.算法结果4.参考文献:5.MATLAB代码 摘要:蝴蝶优化算法 (Butterfly optimization algorithm,BOA)是由 ...
  • 传统优化算法VS智能优化算法

    千次阅读 2020-12-20 11:05:40
    智能优化算法针对的绝大多数是多极值问题,如何防止陷入局部最优而尽可能找到全局最优是采纳智能优化算法的根本原因: 对于单极值问题,传统算法大部分时候已足够好,而智能算法没有任何优势;对多极值问题,智能...
  • 智能优化算法:鸽群优化算法-附代码 文章目录智能优化算法:鸽群优化算法-附代码1.算法原理1.1 指南针算子1.2 地标算子2.算法结果3.参考文献4.Matlab代码5.Python代码 摘要:2014 年 段 海 滨 教 授 通 过 归 纳 总 ...
  • 智能优化算法:飞蛾扑火优化算法-附代码 文章目录智能优化算法:飞蛾扑火优化算法-附代码1.算法原理2.算法流程3.算法结果4.参考文献5.MATLAB代码 摘要:飞饿扑火优 化 算 法 ( Moth-flame optimization algorithm,...
  • 智能优化算法:海鸥优化算法-附代码

    千次阅读 2020-07-23 14:24:01
    摘要:本文简单介绍智能优化算法-海鸥优化算法 1.原理 海鸥是遍布全球的海鸟,海鸥种类繁多且大小和身长各不相同。 海鸥是杂食动物,吃昆虫、鱼、爬行动物、两栖动物和蚯蚓等。 大多数海鸥的身体覆盖着白色的羽毛,...
  • 智能优化算法:狮群优化算法 文章目录智能优化算法:狮群优化算法1.狮群算法原理1.1参数定义1.2算法原理2.实验结果3.参考文献4.Matlab代码5.python代码 摘要:狮群优化算法(Loin Swarm Optimization, LSO),是于...
  • 智能优化算法:基于Powell优化的鸽群优化算法

    千次阅读 多人点赞 2020-11-19 14:39:09
    智能优化算法:基于Powell优化的鸽群优化算法前言一、鸽群优化算法(Pigeon-inspired Optimization)原理二、Powell算法1. 原理2. 算法流程三、组合策略四、仿真实验五、总结六、附件 前言     &...
  • 智能优化算法:樽海鞘群优化算法-附代码 文章目录智能优化算法:樽海鞘群优化算法-附代码1.算法原理1.1种群初始化1.2 领导者位置更新1.3 追随者位置更新2.算法流程:3.算法结果4.参考文献5.MATLAB 代码 摘要:樽海鞘...
  • 智能优化算法:黏菌优化算法 文章目录智能优化算法:黏菌优化算法1.算法原理2.实验结果3.参考文献4.Matlab代码5.python代码 摘要:黏菌优化算法(Slime mould algorithm,SMA)由 Li等于 2020 年提出,其灵感来自于...
  • 智能优化算法:旗鱼优化算法-附代码

    千次阅读 热门讨论 2020-10-24 11:30:56
    2019智能优化算法:旗鱼优化算法-附代码 文章目录2019智能优化算法:旗鱼优化算法-附代码1.算法原理1.2 旗鱼位置更新1.3 沙丁鱼的位置更新1.4 综合考虑旗鱼和沙丁鱼的位置2.算法结果3.参考文献4.Matlab代码 摘要:...
  • 智能优化算法:多元宇宙优化算法-附代码 文章目录智能优化算法:多元宇宙优化算法-附代码1.算法原理2.算法流程图3.算法结果4.参考文献5.MATLAB代码 摘要:多元宇宙优化算法(Multi-Verse Optimizer,MVO)是Seyedali...
  • 智能优化算法:天牛须搜索算法

    千次阅读 多人点赞 2020-11-23 16:51:25
    智能优化算法(一):海鸥算法原理及Matlab代码 智能优化算法(二):海鸥算法之改进篇 智能优化算法(三):基于量子的鸽群优化算法 智能优化算法(四):基于Powell优化的鸽群优化算法 智能优化算法:天牛须搜索...
  • 智能优化算法:鸡群优化算法-附代码 文章目录智能优化算法:鸡群优化算法-附代码1.算法原理1.1 鸡群优化算法简介1.2 位置更新策略1.2.1公鸡的位置更新策略1.2.2 母鸡的位置更新策略2.2.3 小鸡的位置更新策略2.算法...
  • 智能优化算法:果蝇优化算法 文章目录智能优化算法:果蝇优化算法1.算法原理2.算法结果4.参考文献5.Matlab代码 摘要:Pan 于 2011 年受果蝇觅食行为启发,提出了果蝇优化算法 (FOA)。虽然其出现时间不长,但因其具有...
  • 智能优化算法:探路者优化算法 文章目录智能优化算法:探路者优化算法1.算法原理2.实验结果3.参考文献4.Matlab代码 摘要:探路者算法(Pathfinder Algorithm, PFA)是 2019年由 Yapici 提出的一种新的元启发式算法 。...
  • 智能优化算法:教与学优化算法-附代码 文章目录智能优化算法:教与学优化算法-附代码1.算法原理1.1“教”阶段1.2 “学”阶段1.3 更新2.算法流程3.算法结果4.参考文献5.MATLAB代码 摘要:教与学优化算法(Teaching-...
  • 智能优化算法改进算法 -附代码

    千次阅读 多人点赞 2020-11-23 16:59:57
    智能优化算法改进算法 摘要:为了方便大家对智能优化算法进行改进,复现多种智能优化改进算法供大家参考。所有代码均根据已经发表的文章,来复现方便大家参考别人的原理,代码会不定时更新。 1.文献复现:基于变因子...
  • 2019智能优化算法:乌燕鸥优化算法 文章目录2019智能优化算法:乌燕鸥优化算法1.算法原理1.1 迁移行为(全局探索)1.2 攻击行为(局部探索)2.实验结果3.参考文献4.Matlab代码 摘要:乌燕鸥优化算法是由 G. Dhiman 和 A....
  • 智能优化算法:郊狼优化算法-附代码 摘要:郊狼优化算法[1](Coyote Optimization Algorithm ,COA)是2018年Juliano所提出的一种智能仿生优化算法, 与其他元启发式算法相比,COA具有独特的算法结构,该结构为优化...
  • 智能优化算法:蝠鲼觅食优化算法 文章目录智能优化算法:蝠鲼觅食优化算法1.算法原理1.1 链式觅食1.2 螺旋觅食1.3 翻滚觅食2.实验结果3.参考文献4.Matlab代码 摘要:蝠鲼觅食优化 (Manta ray foraging optimization...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,399
精华内容 67,359
关键字:

智能优化算法