精华内容
下载资源
问答
  • 你可以找到更关于的信息 LaTeX 数学表达式 here . 新的甘特图功能,丰富你的文章 Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid ...

    欢迎使用Markdown编辑器

    你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

    新的改变

    我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

    1. 全新的界面设计 ,将会带来全新的写作体验;
    2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
    3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
    4. 全新的 KaTeX数学公式 语法;
    5. 增加了支持甘特图的mermaid语法1 功能;
    6. 增加了 多屏幕编辑 Markdown文章功能;
    7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
    8. 增加了 检查列表 功能。

    功能快捷键

    撤销:Ctrl/Command + Z
    重做:Ctrl/Command + Y
    加粗:Ctrl/Command + B
    斜体:Ctrl/Command + I
    标题:Ctrl/Command + Shift + H
    无序列表:Ctrl/Command + Shift + U
    有序列表:Ctrl/Command + Shift + O
    检查列表:Ctrl/Command + Shift + C
    插入代码:Ctrl/Command + Shift + K
    插入链接:Ctrl/Command + Shift + L
    插入图片:Ctrl/Command + Shift + G

    合理的创建标题,有助于目录的生成

    直接输入1次#,并按下space后,将生成1级标题。
    输入2次#,并按下space后,将生成2级标题。
    以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

    如何改变文本的样式

    强调文本 强调文本

    加粗文本 加粗文本

    标记文本

    删除文本

    引用文本

    H2O is是液体。

    210 运算结果是 1024.

    插入链接与图片

    链接: link.

    图片: Alt

    带尺寸的图片: Alt

    居中的图片: Alt

    居中并且带尺寸的图片: Alt

    当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

    如何插入一段漂亮的代码片

    博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

    // An highlighted block
    var foo = 'bar';
    

    生成一个适合你的列表

    • 项目
      • 项目
        • 项目
    1. 项目1
    2. 项目2
    3. 项目3
    • 计划任务
    • 完成任务

    创建一个表格

    一个简单的表格是这么创建的:

    项目 Value
    电脑 $1600
    手机 $12
    导管 $1

    设定内容居中、居左、居右

    使用:---------:居中
    使用:----------居左
    使用----------:居右

    第一列 第二列 第三列
    第一列文本居中 第二列文本居右 第三列文本居左

    SmartyPants

    SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

    TYPE ASCII HTML
    Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
    Quotes "Isn't this fun?" “Isn’t this fun?”
    Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

    创建一个自定义列表

    Markdown
    Text-to-HTML conversion tool
    Authors
    John
    Luke

    如何创建一个注脚

    一个具有注脚的文本。2

    注释也是必不可少的

    Markdown将文本转换为 HTML

    KaTeX数学公式

    您可以使用渲染LaTeX数学表达式 KaTeX:

    Gamma公式展示 Γ(n)=(n1)!nN\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N 是通过欧拉积分

    Γ(z)=0tz1etdt . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.

    你可以找到更多关于的信息 LaTeX 数学表达式here.

    新的甘特图功能,丰富你的文章

    Mon 06Mon 13Mon 20已完成 进行中 计划一 计划二 现有任务Adding GANTT diagram functionality to mermaid
    • 关于 甘特图 语法,参考 这儿,

    UML 图表

    可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::

    张三李四王五你好!李四, 最近怎么样?你最近怎么样,王五?我很好,谢谢!我很好,谢谢!李四想了很长时间,文字太长了不适合放在一行.打量着王五...很好... 王五, 你怎么样?张三李四王五

    这将产生一个流程图。:

    链接
    长方形
    圆角长方形
    菱形
    • 关于 Mermaid 语法,参考 这儿,

    FLowchart流程图

    我们依旧会支持flowchart的流程图:

    Created with Raphaël 2.2.0开始我的操作确认?结束yesno
    • 关于 Flowchart流程图 语法,参考 这儿.

    导出与导入

    导出

    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

    导入

    如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    继续你的创作。


    1. mermaid语法说明 ↩︎

    2. 注脚的解释 ↩︎

    展开全文
  • 近年来,随着计算机技术的快速发展,为了在一定程度上解决大空间、非线性...本书介绍了8种经典智能优化算法的来源、原理、算法流程和关键参数说明,并给出了具体MATLAB仿真实例,包括:遗传算法、差分进化算法、免疫算.

    在这里插入图片描述
    近年来,随着计算机技术的快速发展,为了在一定程度上解决大空间、非线性、全局寻优、组合优化等复杂问题,不少智能优化方法不断涌现,例如:进化类算法、群智能算法、模拟退火算法、禁忌搜索算法和神经网络算法等。因其独特的优点和机制,这些算法得到了国内外学者的广泛关注,掀起了研究热潮,在信号处理、图像处理、生产调度、任务分配、模式识别、自动控制和机械设计等众多领域得到了成功应用。
    本书介绍了8种经典智能优化算法的来源、原理、算法流程和关键参数说明,并给出了具体MATLAB仿真实例,包括:遗传算法、差分进化算法、免疫算法、蚁群算法、粒子群算法、模拟退火算法、禁忌搜索算法和神经网络算法。全书分为9章:第1章为概述,综合介绍智能优化算法的功能和应用以及主要算法的来源、原理和特点;第2~9章对上述8种智能优化算法分别进行介绍,包括其算法简介、算法理论、算法主要种类、算法流程和关键参数说明,并给出MATLAB仿真实例,其中有的章节还介绍算法的改进方向和实现方法。
    智能优化算法可应用于电子、通信、计算机、自动化、机器人、经济学和管理学等众多学科;对于要用这些算法工具来解决具体问题的理论研究和工程技术人员来说,通过本书可以节省大量查询资料和编写程序的时间,通过MATLAB仿真实例可以更深入地理解、快速地掌握这些算法。由于每种算法的优化目标可以很多,对应的修正算法也很多,感兴趣的读者可以在此基础上进行深入研究。
    本书自第1版、第2版发行以来,得到广大读者的厚爱,并有幸被一些高校老师征订为学生教材,他们提出了很多中肯的意见和建议。此外,新版本的MATLAB软件针对一些MATLAB函数做了更新或替换。为此,在之前版本的基础上进行了一次全面的修订完善,对MATLAB程序版本进行了更新。为了便于读者的学习和参考,书中的实例程序可在华信教育资源网(https://www.hxedu.com.cn/)免费下载。

    展开全文
  • 群体智能动态优化算法及其应用综述[A survey of swarm intelligence for dynamic optimization: Algorithms and applications]摘要一.前言二.动态优化2.1动态优化问题2.2离散空间与连续空间2.3应用2.4测试2.5基准...

    A survey of swarm intelligence for dynamic optimization: Algorithms and applications

    摘要

    群体智能算法,包括蚁群优化、粒子群优化、蜜蜂启发算法、细菌觅食优化、萤火虫算法、鱼群优化等,已被证明是解决平稳环境下复杂优化问题的有效方法。大多数SI算法都是为了解决平稳优化问题而发展起来的,因此它们能有效地收敛于(近似)最优解。然而,现实世界中的许多问题都有一个随时间变化的动态环境。对于这种动态优化问题(DOPs),传统的SI算法一旦收敛到一个解,就很难跟踪到变化的最优解。在过去的二十年中,由于其自适应能力,使用SI算法对DOPs进行寻址的兴趣越来越大。本文综述了国际单位制动态优化(SIDO)的研究进展,主要集中在离散、连续、约束、多目标和分类问题以及实际应用中。此外,本文还重点研究了集成在SI算法中的动态变化增强策略、SIDO中使用的性能度量和基准生成器。最后,对该课题未来的发展方向提出了一些思考。
    关键词:群体智能,动态优化,蚁群优化,粒子群优化

    一.前言

    群体智能是一类重要的优化方法。SI是一个系统的性质,在这个系统中,与环境局部交互作用的主体的集体行为导致连贯的功能性全局模式的出现。与进化算法(EAs)不同,SI算法的灵感来源于简单的行为和智能体之间的自组织交互,如蚁群觅食、鸟类群集、动物放牧、细菌生长、蜜蜂、鱼类教育等。SI一词最早由Beni[1]在细胞机器人系统中使用,在该系统中,简单的智能体通过邻域交互来组织自己,后来在[2,3,4]中建立起来。
    目前主流的算法有蚁群算法(ACO)和粒子群算法(PSO)。较不流行的SI算法包括人工蜂群(ABC)[7]、细菌觅食优化(BFO)[8]、萤火虫算法(FA)[9,10]、人工鱼群优化(AFSO)[11]和许多其他算法。最初,SI算法是为平稳优化问题设计的。然而,现实世界中的许多优化问题都受到动态环境的影响。动态优化问题(DOP)可能会发生变化在目标函数、约束条件、问题实例中,Pareto前沿或集(在动态多目标优化问题中)引起最优值的变化。因此,DOPs比平稳优化问题更具挑战性,因为需要对变化的最优值进行重复优化[12]。
    动态优化领域与EAs、knownas进化动态优化(EDO)密切相关[12]。然而,在不同的dop上应用SI算法已经成为人们越来越感兴趣的问题。江户受到了广泛的关注,有几项调查[13,12,14,15]和几本书[16,17,18,19,20],而SI动态优化(SIDO)并没有受到太多的关注,除了一些在[14]中对PSO和在[15]中作为江户调查的子部分的ACO的非常简短的评论。本文的目的是扩展对蚁群算法和粒子群优化算法的这些评论,并对现有的与SIDO相关的工作进行全面的综述,其中也包括不太流行和最新的SI算法。本次调查的重点将是根据应用对SI算法进行分类,并回顾与SI算法集成以应对动态变化的策略。DOPs主要分为离散空间问题和连续空间问题,并对它们的应用作了进一步的分类。本文还回顾了SI所解决的实际问题,以及SIDO的性能测量和基准生成器。
    论文的其余部分安排如下。第二节简要介绍了DOPs的概念,描述了离散DOPs和连续DOPs的区别及其应用。此外,还描述了SIDO中常用的基准生成器和性能度量。第3节简要介绍了不同的SI算法。第4节回顾了SIDO的算法和应用,SIDO按问题的类别排列,即离散、连续、约束、多目标和分类问题。第5节回顾了使用SI算法的实际应用。第六部分对本文进行了总结,并对SIDO未来的研究问题和方向进行了总结。

    二.动态优化

    2.1动态优化问题

    DOP可以直观地定义为一系列需要优化的静态问题实例[21]。“动力性”的两个主要方面由环境变化的频率和幅度来定义。前者和后者的参数分别对应于问题环境变化的速度和程度。其他方面包括动态变化的可预测性、可探测性和时间联系[22,23]。前两个方面分别对应于在执行期间是否可以预测或检测动态变化,后一个方面对应于现在作出的处理动态变化的决策是否依赖于任何先前的决策。
    环境变化可能涉及目标函数(或考虑动态多目标问题时的函数[24,25])、输入变量、问题实例和约束(例如,动态约束优化[26])。形式上,DOP可以定义如下:
    DOP=optimizef(x,t)subject to X(t)⊆S,t∈T (1)
    其中S是搜索空间,t是时间,f:S×T→R是给每可能的解x∈S赋值(即R)的目标函数并且X(t)是在时间t时的x∈X(t)⊆S的可行解集。每个可行解x由优化变量x={x_1…,x_n}。每个解x∈X(t)有一组邻域N(x)⊆X(t),其中N(x)是一个将邻域赋给x的函数。局部最优解是最小化问题的f(x^’,t)≤f(x,t)),∀ x∈N(x)或最大化问题的f(x^’,t)≥f(x,t)),∀ x∈N(x)的可行解。

    2.2离散空间与连续空间

    在搜索空间X(t)的定义上有不同的优化问题类别。本文考虑了两类基本问题:
    (1)离散优化问题,其中所有的优化变量都是离散的,取值x∈D_i={v_i1,…,v_iD },i=1,…,n
    (2)连续优化问题,其中所有的优化变量都是连续的,取值x∈D_i⊆R,i=1,…,n
    离散优化问题与连续优化问题的主要区别在于离散优化问题具有有限的搜索空间。更准确地说,它们的特征是一组有限的变量值,例如,限制为值0和1的二进制值或从一组有限元素中提取的对象。不同的是,连续优化问题中的每一个变量值都可以假设无穷多个值,例如实数。由于计算机本质上是数字的,所以表示离散变量是直接的。相反,表示连续变量需要施加一定的限制,因为不可能表示无限多的值。
    在不提供免费午餐(NFL)的情况下,任何在计算机系统中运行的优化问题都包含一个有限域,因此,可以认为是离散的。NFL的另一种方法表明,理论如此成立用于任意域和共域。相比之下,其他的研究[29,30]表明NFL定理不适用于连续域,尽管它的软形式NFL适用于可数无限域。然而,在[31]中,证明了NFL确实在连续域中成立,因为[29,30]中作者的结论是从他们施加的人工约束中得出的,该人工约束考虑的函数是可测量的。附加的人工约束被施加,但可测量性足以使NFL变得微不足道。
    然而,处理离散和连续问题的方法通常不同。例如,在离散问题的情况下,在开始优化过程之前预先定义了可用值集。因此,适当的个体必须选择可能的最佳值组合以找到解决方案。在连续出现问题的情况下,这种方法可能没有效率。相反,求解器通常使用实值变量的灵活浮点表示。这样,就可以更有效地找到具有所需精度的解决方案。

    2.3应用

    离散优化问题和连续优化问题都有广泛的应用,稍后将分别在表2和表3中进行总结。在运输、调度、管理、生产、设施控制等领域,大多数实际问题都包含有限个可能的解。因此,它们可以表示为离散优化问题。
    例如,许多现实世界中的网络环境优化问题,如道路系统、社会网络、电信网络、铁路网络等,往往是用加权图来建模的。由加权图建模的基本离散优化问题是旅行商问题(TSP)。TSP在路径问题和调度问题中有着广泛的应用,如车辆路径问题(VRP),它在运输、货物配送和物流等领域有着密切的联系。VRP中的弧路由问题,即容量分配问题,在现实世界中也有许多应用,如盐路由优化问题、城市垃圾收集问题和除雪问题。
    不同的是,持续优化中的应用排除了计算金融中的实际问题,可以用于医学研究的人工神经网络诊断,道路系统交通预测,语音和面部识别,并预测天气或客户需求。而且,它可能包括最佳形状的设计,例如机翼,涡轮机,发动机,发电厂等。

    2.4测试

    跟踪运动最优(TMO)的目的是在任何时刻找到环境的最优解。研究人员在TMO中从不同的角度看待他们的算法[32]。一些研究者更关注系统的极端行为,特别是系统所能做的最好的,例如修改的离线性能[33,17],集体平均适应度[34],最好的变化前性能[35,36]。不同的是,其他研究人员希望观察“一个算法找到的解离移动最优值有多近”[37,38]。因此,测量要求在动态变化期间已知全局最优值,例如离线误差[39]、平均得分[40]、精度[41]和基于算法找到的解与全局最优值之间的距离的其他测量[42,43]。其他人则关注能够将总体描述为一个整体的度量,例如平均性能或平均健壮性[44]。
    最近,DOPs的一个新视角被建立,称为鲁棒优化超时(robust optimization over time,ROOT),其目标是找到随时间而鲁棒的解序列[45]。特别是,当一个解决方案的质量在给定的时间间隔内可以被环境变化所接受时,该解决方案是随时间而健壮的。关于SI算法,到目前为止,TMO主要用于所有这些算法。相比之下,ROOT只用于PSO算法[46]。当使用PSO[47]和ACO[48,49]处理问题不确定性时,鲁棒优化被认为是有用的,例如,减少计算工作量。
    除了涉及算法性能的度量之外,其他度量还涉及算法的行为。常见的例子有:解的多样性[50,51,52,39]、稳定性[53,41]、反应性[41]、稳健性[44]、交叉熵[54]、peakcover[17]和λ-分支[55]2。为了评价算法对可行区域的跟踪和定位能力,提出了其他性能指标,如:可行时间比、最优区域跟踪指标、局部搜索覆盖、约束条件评价次数等。此外,对现有的测量结果进行了修改动态约束优化问题,如:用峰值覆盖来计算每个周期中唯一可行区域的个数,用离线误差来将最优误差视为正态,但如果没有可行解,则考虑当前最差可能值[56]。
    当然,以上所有DOPs的测量都假设一个单一的目标。处理多个对象时使用不同的度量,例如:间距[57]、超体积比[58]、S-和FS度量[59]、精度[60]、稳定性[60]、可变空间世代距离[61]和最大传播[61]。

    截图来自A survey of swarm intelligence for dynamic optimization: Algorithms and applications

    2.5基准生成器

    基准生成器是DOPs中必不可少的工具,因为SIDO和动态优化中可用的理论工作有限[62,63]。它们使研究人员能够开发和评估DOPs的新算法,更重要的是将它们与现有算法进行比较。
    2.5.1动态的产生
    构造动态测试问题的一个简单方法是在会导致环境变化的不同静态实例之间切换[64]。按照此方法生成动态环境的基准问题是为单个问题指定的。在其他一些情况下,研究人员更喜欢创建自己定制的基准问题,这些问题的目标是模拟一些现实世界的场景(65、66、37、67、68、69),这些场景又是针对特定问题,甚至是问题的特定实例开发的。
    已经有人提出了几个能量曲线动态基准生成器,用于重新塑造适应度环境(对于连续问题)或将搜索过程移动到适应度环境的不同位置(对于离散问题)。综合调查见[13,14]。可能最常用的DOP基准生成器是:(1)移动峰值基准(MPB)[4];(2)广义动态基准生成器(GDBG)[40];(3)二进制编码问题的异或(XOR)DOP生成器[70];(4)置换编码问题的动态基准生成器(DBGP)[71]。前两个基准生成器在连续域中工作,它们使用参数可调的函数来模拟移动的地形。考虑到连续空间可以建模为“圆锥体场”[72],那么每个圆锥体可以单独调整以表示不同的动力学。图1显示了分别属于MPB和GDBG的两个案例的适应度景观。
    由于连续空间具有无穷多个变量值,因此在开发求解复杂数学函数的基准时会受到某些限制。MPB[4]是在连续空间中测试算法性能的主要基准之一。MPB问题中的每个峰值都是一个coneshape。这将是一个容易的算法,以开发一个局部的最佳健身景观。克服像MPB和DF1[72]这样的DOPs的限制(类似的带有MPB的基准生成器),GDBG基准由Li等人开发。[40],最初是为2009年IEEE DOPs进化计算竞赛而提出的。与MPB问题相比,GDBG有一个更复杂的适应度环境,这是因为搜索空间中存在大量的旋转优化。在GDBG基准测试中,有6个基本测试函数,每个测试函数有8种变化类型,分别是小步变化、大步变化、随机变化、混沌变化、递归变化、带噪声的递归变化、维数变化和峰数变化。在[45]中,修改了MPB以生成根问题。在TMO的原始MPB中,所有峰值都以相同的频率和严重性发生变化,而在根的改进MPB中,每个峰值都有自己的频率和严重性。
    在离散的空间中,景观是模糊的,并且不参考优化算法就无法定义[63]。通常,定义离散/组合优化问题的组件会被修改,并且专门针对该问题。对于动态TSP(DTSP),当发生更改时,可以替换/删除节点[66],或者可以增加/减少弧的权重[65、21]。动态VRP(DVRP)的动态变化可能会在弧线的重量上发生[33],或者可能会发现新客户[67]。当动态作业车间调度问题(DJSSP)执行期间有新作业到达时,动态变化就会发生[73,74]。动态背包问题(DKP)的变化可能发生在商品的价值和重量以及背包的容量上,或直接作用于目标函数[75]。通过根据二进制模板将值从“ 0”翻转为“ 1”,反之亦然,XOR DOP可以为任何二进制编码的问题生成DOP,这是离散问题的特殊情况。通过交换问题实例的节点,DBGP可以为任何经置换编码的路由问题生成DOP [55、76]。
    MPB,GDBG,DBGP,XOR DOP基准生成器和所有其他上述基准均假定无约束和单一目标优化问题。 最近,提出了用于连续动态约束优化[77、78、26、14]和连续动态多目标优化[25、61、79、80、81、82、83、84、85]的基准生成器。 但是,离散空间下的约束和多目标优化尚未引起人们的广泛关注并且值得将来考虑。
    2.5.2讨论
    对于连续空间中的基准,大多数基准采用以下形式来生成景观:f(x,t)=maxgi(x,t)。 这种方法简单明了。 但是,它有两个缺点。 首先,它在计算上效率低下。 为了评估解决方案,我们必须计算每g的目标值,然后找到最佳目标值作为解决方案的目标值。 其次,如果某些峰被较高的峰覆盖,则这些峰可能是不可见的。 此外,这些基准缺乏实际问题的方案。
    对于离散空间中的基准,通常会修改问题实例的变量,例如代表问题的加权图G=(C,L,t)的节点或弧。 尽管实际情况是使用大多数基准测试生成的,但是在动态变化期间,全局最优值尚不清楚。 因此,如果所有比较的算法都无法达到最佳效果,则将无法观察到。 一种解决方案是将搜索过程移到景观的其他位置,而不是更改它,例如,使用可以生成动态环境的DBGP(用于置换编码的问题)和XOR DOP(用于二进制编码的问题) 而不影响全局最优值。 基本上,修改了问题实例的编码,而不是搜索空间。 但是,为了进行基准测试,牺牲了真实场景的能力。

    三.群体智能算法

    3.1简要说明

    在国际单位制中,元启发式的领域是混乱的,因为有许多“新颖的”元启发式基本上是重复现有的元启发式[87]或甚至没有受到自然或群体的启发,例如烟花爆炸所激发的烟花算法[88]。然而,本文只关注表1中列出的应用于DOPs的SI元启发式方法。
    一般来说,所有的SI算法都是为表1中定义的不同优化问题域专门开发的。例如,ACO是为离散空间开发的,而表1中的其余算法是为连续空间开发的。这些算法的共同特点它们的灵感来源于自然、基于人口和迭代。他们的不同之处,除了他们的行为灵感,在于搜索空间被“代理人”探索和利用的方式[89]。
    在这里插入图片描述

    3.1.1 蚁群优化(ACO)

    蚁群算法的灵感来自真实蚂蚁的觅食行为。蚂蚁的目标是在它们的巢穴和食物来源之间找到最短的路径。ACO元启发式基于几个构造步骤和一个动态内存结构,该结构包含有关先前获得的结果质量的信息[90,91]。每只蚂蚁代表一个潜在的问题解决方案。一种基于已有信息素路径和先验启发信息的概率解构造方法。当所有蚂蚁完成前向模式时,它们会切换到后向模式,在后向模式中,共享的信息素表会相应地更新,也就是说,解的质量越好,信息素沉积的越多。
    有两个主要的ACO框架,即基于蒸发的[92,93]和基于人口的[66]。它们的区别在于信息素的更新方式。基于蒸发的框架将信息素路径逐渐减少一个恒定的量,以消除以前任何糟糕的老“决定”。基于种群的框架使用一个种群,当从种群中移除一个解决方案时,该种群直接移除信息素路径。

    3.1.2粒子群优化(PSO)

    PSO首先在[86]中被引入来解决连续优化问题。每个粒子代表问题的一个潜在解决方案。更准确地说,每个粒子分别由一个速度和位置向量组成,它们根据粒子的最佳迄今位置和群的最佳迄今位置进行更新。
    PSO算法主要有全局最优和局部最优两种模型。它们的区别在于每个粒子的邻域结构。在全局最优模型中,粒子的邻域由整体暖场中的粒子组成,它们之间共享信息。相反,在局部最优模型中,粒子的邻域由几个混合粒子定义。Poli等人。[94]指出,全局最优模型比局部最优模型收敛速度快,而前者陷入局部最优的概率比后者高。不同PSO变化的调查可以在[95,96]中找到。
    这两种模型都被使用,但由于它们的特点,使用的方式不同。全局最优模型通常用于多群算法[97、98、99],而局部最优模型通常用于单群算法[100、101、102]。

    3.1.3人工蜂群(ABC)

    蜜蜂启发算法的发展主要有:ABC算法、蜜蜂群体优化算法、蜜蜂系统、蜜蜂婚姻过程优化算法、蜜蜂交配优化算法、虚拟蜜蜂算法、蜜蜂算法和蜂巢算法。不同发展的调查可以在[103,104,105]中找到。在本文中,我们主要关注的是ABC算法,尤其是DOPs中的ABC算法[105]。特别是,ABC算法模拟了真实蜜蜂群体的行为[7]。传统的ABC算法由食物源组成,而每个食物源代表问题的潜在解决方案。食物来源由三组蜜蜂更新:雇佣的、旁观者的和侦察蜂。
    蜜蜂:雇佣的,旁观者和侦察蜂。在使用蜜蜂阶段,蜜蜂寻找新的解决方案。特别是,每只蜜蜂都会从原来的位置产生一个新的候选食物源位置。如果发现含有更多花蜜的食物来源,即新的解决方案比当前的解决方案更适合,则更新它们。接下来,在旁观者蜜蜂阶段,根据从所使用的蜜蜂阶段确定的适应度确定相对概率。然后,旁观者蜜蜂选择一个解决方案,其中最适合的解决方案有较高的概率被旁观者蜜蜂选择。在那之后,旁观者的蜜蜂和被雇佣的蜜蜂有同样的行为。最后,如果被抛弃,侦察蜂会随机重新分配解决方案,例如,它们已经有一段时间没有更新。

    3.1.4细菌觅食优化算法

    BFO算法的灵感来自于细菌觅食中复杂的有组织活动以及细菌在不同环境中的生存[8106107]。一个BFO算法由几个细菌组成,它们代表优化问题的解,由三个过程组成:趋化、繁殖和消除扩散。
    在趋化作用中,随机方向的细菌代表翻滚,与上一步相同方向的细菌代表奔跑。接下来在繁殖过程中,所有的细菌都被分类,只有一半的适者生存。然后,存活的细菌被分成两个相同的细菌,形成新的细菌。最后,在消除扩散过程中,随机选择一个细菌在搜索空间中移动到不同的随机位置。尽管此操作在执行期间保持多样性,但它可能会干扰优化过程,从而在复制过程的几个步骤之后执行。

    3.1.5人工鱼群优化(AFSO)

    鱼类启发算法有一些现有的发展。关于发展的详细描述见[108]。本文以应用于DOPs的真实鱼群在水体中的觅食行为为灵感,研究了AFSO。在AFSO中,每一条人工鱼通过三种主要行为寻找一个具有更多食物来源(更好的适应度)的位置(解决方案):猎物、鱼群和跟随。捕食行为是由人工鱼在不考虑其他群体成员的情况下完成的。更准确地说,在鱼的视觉范围内,比水流更好的目标位置被认为是随机的。
    群体行为是一种群体行为,在群体的所有成员中都有如下表现。每一条人工鱼在其视觉范围内由许多邻居组成。如果视野的中心位置更好,那么它会向中心位置移动;否则,猎物的行为会再次发生。类似地,执行跟随行为,但人工鱼将在其视觉范围内向更好的邻居位置移动,而不是向中心位置移动。否则,猎物的行为会再次发生。基本上,当人工鱼不能移动到一个更好的位置时,被捕食的行为被执行。如果算法达到停滞行为,则从整个人工鱼群中随机选择一些人工鱼并随机设置。记录到目前为止人工鱼的最佳位置(即溶液)。

    3.1.6萤火虫算法(FA)

    FA的灵感来自萤火虫的闪光模式和行为[9,10]。FA基于三个假设:
    1.所有的萤火虫都能被其他的萤火虫吸引;
    2.每只萤火虫的吸引力与其他萤火虫的亮度成正比;
    3.景观问题决定了萤火虫的亮度。
    因此,一只不太亮的萤火虫会向一只更亮的萤火虫移动。否则,如果萤火虫找不到更亮的萤火虫,它会随机移动。每只萤火虫的发光与其溶液的质量成比例,而溶液的质量和它的吸引力决定了它对群体中其他成员的吸引力。
    3.2适应不断变化的环境
    由于所有的SI算法最初都是为平稳优化问题设计的,所以它们有一个共同的特性:收敛性,即它们被设计成快速而精确地收敛到最优解。相比之下,DOPs需要重复优化和跟踪运动最优值。然而,当一个算法收敛时,由于分集丢失问题,它的自适应能力会丧失。因此,通过增加/保持分集来解决分集丢失问题是非常重要的。然而,这并不意味着高水平的多样性将导致更好的性能[12,55]。这是因为太多的随机化可能会干扰优化过程。
    在DOPs中,SI算法的另一个重要方面是促进知识转移。自然,知识可以通过使用SI算法从先前优化的环境中转移,例如,通过ACO的信息素跟踪,通过ABC和AFSO的食物源,通过FA和BFO分别定位萤火虫和细菌。然而,当发生动态变化时,可能不足以快速恢复。另一方面,如果传递过多的知识,可能会使优化过程接近于一个差的局部最优解而陷入困境。
    对于不同的dop,增强的SI算法已经被证明是有效的。集成到SI算法中的增强策略的主要思想是实现知识转移和多样性维护的良好平衡,如图2所示。此外,这两个因素也是相互冲突的,因为如果不保持多样性,那么算法将不会非常灵活地利用任何转移的知识。
    在这里插入图片描述

    四.群体智能动态优化

    在本节中,将针对各类问题审查处理动态变化的主要国际单位战略,具体如下:
    动态离散优化中的SI;
    动态连续优化中的SI;
    动态约束优化中SI;
    动态多目标优化中的SI;
    动态分类中的SI.
    由于前两类已经被广泛研究过,它们被进一步分类为应用程序(见表2和表3)和策略类型:(a)改变后增加多样性,(b)在执行期间保持多样性,(c)内存方案,(d)多重填充3方法和(e)杂交。剩下的课程是目前SIDO的趋势,他们的研究也很有限。

    4.1动态离散优化中的SI

    许多离散优化问题,无论是在平稳环境还是在动态环境中,都是NP难问题,也就是说,人们强烈认为它们在多项式计算时间内无法求解到最优性[109]。动态版本的几个流行的离散优化问题已经解决了使用国际单位制方法。
    从表2中可以看出,ACO主要用于离散/组合问题。通常,这些问题使用加权图G=(C,L)表示,其中C是一组组件,L是一组链接。例如,对于DTSP或DVRP,信息素路径τ_ij映射有问题的组成部分和链接,以表示在组成部分(节点)i之后访问组成部分(节点)j的可取性。类似地,DJSSP中的信息素线索是指在操作i之后直接选择操作j的可取性。对于二进制编码的问题,信息素线索与组件可以采取的两个可能的选择相关。对于DKP,信息素轨迹τ_i仅与组件相关联,并且指添加项i的可取性。因此,当发生动态变化时,一些当前的信息素踪迹将与新环境的特征不兼容,而另一些则将包含有用的信息,这些信息可用于将优化快速地引导到搜索空间的有希望的区域。
    为解决这一问题提出了几项战略,分类如下。

    4.1.1改变后增加多样性

    DOPs中的许多策略依赖于动态变化的检测。检测通常是通过重新评估一个解决方案来执行的,每当其适应度发生变化时,就会检测到动态变化。每当检测到变化以增加多样性时,该类别中的策略执行操作。

    1. 完全重新启动。每当检测到DTSP和DVRP的变化时,ACO算法的信息素轨迹都会以相等的量重新初始化[44、55、65]。这相当于完全重新启动算法,从头优化每个动态更改。由于算法的初始阶段具有很强的探索性,多样性显著增加。然而,所有先前获得的知识都被摧毁了。
    2. 部分重新启动。其他策略的目的只是简单地增加多样性,并在发生变化时保持所获得的知识。例如,Guntsch和Middendorf[54,111]提出了使用本地信息的部分重启策略,例如,考虑到实际发生动态变化的地方的η-策略和τ-策略,例如,为DTSP添加/删除哪些城市。这两种策略的目的都是为了使信息素路径在更靠近被攻击区域的地方得到更高程度的重新初始化。这对应于算法的部分重新启动,因为知识得到了维护,可以加快优化过程。然而,除了检测变化周期外,还需要检测变化的位置。它可能并不总是可用,或者需要大量的计算工作来检测它们。为djsp提出了一种类似的通过信息素路径的部分重启策略[136,73]。
      Angus和Hendtlass[110]使用了旧的信息素轨迹,并根据DTSP的最大信息素轨迹值按比例进行了修改。同样,Eyckelhof和Snoek[65]提出了一种“震动技术”来调节先前的信息素轨迹。利用对数公式对所有信息素路径进行修正,其中接近初始信息素值的信息素值被轻微地扣除,而较高的信息素值被严重地扣除。粒子群优化算法中也采用了同样的振荡技术,该算法使用信息素表作为粒子的通信拓扑[118,119]。然而,这些结果并不像ACO算法那样有希望,ACO算法对图问题更有效。
      上述策略直接通过信息素轨道进行修改。Incontrast,Rand andRiolo[75]使用解构主义技术修复了DKP之前环境的最佳解决方案,因为这种改变变得不可行。在修复过程中,信息素的路径会受到溶液变化的间接影响。这样,就保留了以前环境的部分知识。对于同一个问题,但不同类型的动态变化不影响问题的表现,Baykaso˘glu和Ozsoydan[137]通过在动态变化发生时部分重新启动一部分种群,增强了FA的多样性。
      Montemanni等人。[67]通过将工作日划分为时间片来处理DVRP。基本上,动态问题被分解为一系列静态问题,分别由蚁群算法优化。前一个静态问题的信息素守恒被用来防止从零开始下一个优化问题。使用时间切片,不需要检测变化。但是,算法的性能取决于预定义的时间片数。在[122]中提出了类似的ACO方法,在[135]中提出了PSO方法。Khouadjia等人提出了更多使用时间切片的PSO变化。[128129]。每一个粒子都会跟踪它的最佳解,然后用来形成下一个时间片的初始群。相比之下,[133]中的下一个时间片的初始群由给定半径内的上一个全局最优定义。
      在这里插入图片描述

    4.1.2执行期间保持多样性

    一些策略不一定需要检测变化来增加多样性。在执行过程中保持多样性。实际上,未经修改的ACO算法被应用于DJSSP[74]和二进制编码问题[138,76]。因为信息素蒸发有助于忘记未使用的信息素轨迹,所以当发生动态变化时,它有助于适应过程。另一种方法是从信息素路径中收集统计信息,以检测停滞并重新初始化信息素路径[139]。这种方法被用于上述带有DTSP信息素矩阵的PSO[121]。
    基于信息素蒸发效应,在优化过程中对DTSP和DVRP的信息素蒸发速率ρ进行了自适应[55],加快了自适应速度。其思想是在算法接近停滞行为时提高蒸发率,以更快地消除信息素痕迹。由于自适应方法需要固定的步长;后来提出了自适应蒸发率来解决这个问题[116]。特别地,蒸发率被离散为8个与信息素轨迹相关联的值。蚂蚁负责在每次迭代中选择适当的速率。
    Ankerl和H¨ammerle[125]分别自适应控制信息素路径和启发信息权重的α和β参数。每个蚂蚁使用一组不同的参数,这些参数最初是相同的。这种方法使蚂蚁能够探索搜索空间的不同位置,从而保持多样性。Liu[117]修改了蚁群算法的决策规则,而不是调整控制参数。将基于秩的非线性选择压力函数集成到决策规则中。虽然集成增强了多样性,但它会引入需要优化的新参数。
    与ACO相结合的一个非常流行的策略是移民计划[55,21,112,113,33,127]。一般的想法是引进外来蚂蚁,随机或利用以前环境中最好的蚂蚁来储存信息素的踪迹。这样,多样性得以保持。然而,如果有太多的随机移民被迁移,他们可能会干扰优化过程。

    4.1.3内存方案

    从以前的环境转移知识的另一种方法是使用外部存储器。通常,有希望的解决方案存储在内存中,并在发生动态更改时重用。同样,这种类型的策略需要检测变化来更新内存,甚至修复内存。
    DTSP最流行的ACO之一是基于种群的ACO(P-ACO)[66]。P-ACO保存了用于更新信息素的最佳蚂蚁的记忆。当一个动态变化发生时,记忆中的蚂蚁被启发式地修复,从而信息素值被修改。同样,对于上述的η-策略和τ-策略,启发式修复需要改变的位置。
    基于内存的移民者ACO[37,21,33]使用有限大小的内存来存储几个先前优化过的环境中的最佳代表性解决方案。这个想法是基于目前最好的记忆来产生移民蚂蚁,以同时传递知识和增加多样性。

    4.1.4多总体方法

    使用单独的种群可以自然地增加和保持多样性。其思想是将不同的种群分配到搜索空间的不同区域。
    针对DTSP[36]和DVRP[123,124]提出了一种多群体蚁群算法,其中每个群体使用一个单独的信息素表,试图最大化搜索区域。虽然没有采用显式的方法将菌落划分到不同的区域,但实验结果表明,该方法比单一菌落蚁群算法具有更好的性能。相比之下,在[114115]中提出了多克隆ACO,其中不同的群体(称为种姓)使用相同的信息素表。每个种姓使用不同的参数设置,这些参数设置对应于每个种姓的不同行为,可以覆盖搜索空间的不同位置。在粒子群优化算法中,DVRP采用了类似的思想[120]。
    对于粒子群算法,提出了一种基于岛模型的多群算法。来自不同群体的粒子有规律地迁移到其他群体以保持多样性。文献[134]中引入了一种不同的多群算法,这种算法只在新环境到来时才进行通信。

    4.1.5杂交

    这类策略更强调SI算法与局部搜索方法的混合。通常,由局部搜索增强的算法,称为模因算法,在增加计算时间的代价下,可以提供更好的解决方案。其思想是让主算法为局部搜索提供初始解进行优化。但是由于局部搜索算子产生了长时间的开发,算法需要保持多样性。
    上面描述的P-ACO在[44,126]中得到了改进,其中基于简单和自适应逆的几个局部搜索步骤被应用于迭代最佳蚂蚁。此外,当存储在内存中的所有蚂蚁都相同时,触发的随机移民进入内存会增强多样性。最近,在文献[35]中提出了另一种基于模因的蚁群算法,它在发现新的最优解时使用局部搜索。每当算法进入停滞行为时(通常是由于局部搜索),信息素轨迹被重新初始化为最大值以保持多样性。

    4.2动态连续优化中的SI

    第2.5节描述的MPB是连续空间中DOPs最广泛使用的问题。解决这一问题的关键思想(以及一般的多模态问题,如GDBP)是在搜索空间中定位和跟踪所有峰值(局部最优)。当发生变化时,其中一个局部最优可能成为全局最优。其他时变函数包括Sphere、Ackley、Griewanks、Rastrigin、Rosenbrock、Schwefel,其中从指数分布中选择的随机值在每个维度上加/减。球面和二维Rosenbrock函数是单峰的,而其余的函数是多模的,就像MPB和GDBP一样。其他时变单峰函数包括抛物线函数。
    从表3可以看出,PSO主要用于连续问题。群中的每个粒子都有自己的局部环境知识。如果知识有助于解决动态变化时的问题,它将通过粒子之间的简单相互作用在粒子之间快速传递。这样,粒子的位置将(本质上)更新为全局最优。类似地,其他的SI算法可以帮助解决这个问题,但是使用不同的交互。然而,所有的SI算法在某些方面可能需要一些改进,以摆脱以前的收敛最优,并有效地跟踪新的。
    为解决这一问题提出了若干战略,这些战略分为以下几节。

    4.2.1改变后增加多样性

    类似地,对于上面相应的离散优化范畴,这一范畴中的策略依赖于变化的检测。
    在[198199]中,一种传统的粒子群优化算法被应用于反映简单单峰适应度景观的时变抛物函数。当发生动态变化时,部分填充被随机初始化。

    4.2.2在执行过程中保持多样性

    这类策略使用不同的技术在执行过程中显式地保持多样性,这些技术进一步分组如下。

    1. 特殊机制。受到原子场的启发,Blackwell等人。[97]提出了一种多电荷点群优化算法(mCPSO)和多量子群优化算法(mQSO)。在mCPSO中,每个粒子群中的一部分粒子,称为“带电”粒子,相互排斥并围绕中性粒子旋转。在mQSO中,“量子”粒子在最佳粒子周围随机移动。两种算法都通过重新初始化性能最差的群来改进,只要所有群都收敛以保持多样性[164]。Li等人。[150]将量子粒子(来自mQSO)集成到SPSO以提高其适应能力。此后,SPSO和mQSO在检测到动态变化后通过将粒子转换为量子粒子进行一次迭代而得到进一步改进[146]。[164]中引入的量子原理也应用于物种形成FA(SFA)算法[179]和ACO的连续变化[190]。
      另一个例子是动态环境的BFO [174],其中,每重复执行一次趋化性,每重复执行f_r一次再现,并且每当发生动态变化时执行消除分散。这样,细菌将散布到搜索空间,例如进行探索。
    2. 个人选择。Daneshyari和Yen[145]修改了粒子选择和替换机制,以便选择最多样化的粒子(以Hamming距离测量),并替换位置相近的粒子。Tang等人。[173]提出了一种动态BFO(DBFO),它使用更灵活的选择方案来保持多样性,其中在繁殖期间的选择是以概率的方式进行的,其方式类似于oneusedinas。在[195]中,amodifiedABC(MABC)被提出,它将蜜蜂之间的通讯限制在只有更近的蜜蜂之间。
    3. 操作员选择。提出了一种基于粒子群算法的memetic算法[144],该算法通过自适应选择两个局部搜索算子来保持多样性。
    4. 随机化。Kojima等人。[196]将动态ABC(DABC)算法应用于动态Rastring函数和Rosenbrock函数,在每个搜索阶段使用独立的食物源,在使用阶段采用cauchy分布。
      相比之下,这一类的其他策略则侧重于在优化过程中调整个体的邻域以隐式地保持多样性。例如,由Parrott和Li[102165]提出的基于物种形成的粒子群优化算法(SPSO),在每次迭代中都根据其适应度和距离的某些原则对粒子群进行自适应。在SPSO中,粒子群的数量和大小通过构造一个有序的粒子列表进行自适应调整,并根据其适应度进行排序,空间上紧密的粒子加入到粒子群中。speciationschemewas在物种形成FA(SFA)算法[179]中选择创建子群。
      类似地,PSO[166,101]中引入了由物理学分支导出的复合概念。与SPSO中的“适者优先”原则不同,swarms是基于“最坏优先”原则构建的,但每个复合粒子由三个固定粒子组成。此后,提出了一个相反的版本,其中一个子群是根据“适者为本”原则生成的[167]。
      Janson和Middendorf[162]提出了一种基于动态树的邻域结构的分区层次PSO(PH-PSO)。每个粒子被放置在树的一个节点上,粒子根据它们的适应度按层次排列。Chen等人。[169]在优化过程中,使用蜜蜂生命周期方法根据局部适应度景观动态调整群体大小。Parsopoulos和Vrahatis[193]提出了一种具有收缩因子的统一PSO算法,该算法结合了全局和局部最优PSO变量。
      此外,ACO变量取代了传统的连续离散概率分布,应用于不同的时变函数[191]和GDBG[184185]。通过设置较高的蒸发率,ACO的变化可以适应第4.1节所述的变化。

    4.2.3内存方案

    如上所述,存储方案旨在从先前的搜索转移“有用”的知识,以加速当前的搜索。这种方案也有助于保持多样性。
    要实现内存方案,通常需要外部存档。当检测到动态变化或在三岛模型中发现峰值时,使用存档总体存储良好的解决方案[141]。当差分ABC算法[197]和改进的ABC算法[171]的所用bee阶段发生变化时,最佳解决方案保存在存档中。历史驱动的SFA(HdSFA)[180]算法使用两种类型的存储器:负责存储有关当前环境的信息的短期存储器和负责存储有关先前环境的信息的长期存储器。PSO[181]采用了相同的存储方案。最近,SPSO增强了存储不同物种粒子的记忆能力[168]。

    4.2.4多总体方法

    多群算法是一种分而治之的策略。对每个群体在不同的区域进行搜索意味着搜索空间被划分为多个子空间,每个群体负责搜索一个子空间。这样做,它有几个优点[200]。首先,由于群体在不同区域进行搜索,可以保持全球的多样性。其次,可以同时跟踪多个最优解。第三,任何基于单群方法的方案都可以很容易地扩展到多群方案。根据群的数量,多群策略可以分为以下几类。

    1. 群的静态(或固定)数量。这组策略可以进一步分为两类:竞争型和协作型。对于竞争类型,群体之间相互竞争,即不允许在同一区域内搜索。相反,在协作类型中,允许群在同一区域内搜索并相互协作,即它们可以共享信息。布莱克威尔的mCPSO和mQSO[164]属于竞争类型。每个群都有一个排除半径,以防止子群相互重叠。其他算法也采用了mQSO中排除原理的类似思想,如多swarmmodified AFSO(MAFSO)[176,177]、多swarm FA算法[178,182,183]、多BFO(MBFO)算法[175]、多swarm ABC[188]和k均值聚类ABC(CABC)[189]。一种典型的协同型多暖算法是协同进化群优化(CESO)[157],其中两个异构群相互协作。这两个群体分别遵循拥挤差分进化(CDE)[201]和PSO模型。前者负责保持多样性,后者负责跟踪全局最优解。类似地,在[192155]中采用了双群方法。文[154]中提出了一种带有附加群的进化群协作算法(ESCA)。在ESCA中,使用了三个群并在彼此之间共享信息。
    2. 群的动态数量。根据创建子群的方式,这类策略可以进一步分为两个模型:重组和拆分模型。重组模型通过特定的方式重组个体,每次迭代或当满足特定的标准时,例如基于物种形成的PSO(SPSO)[102,165]和随机重组的多群swarmPSO[194]。Li和Yang[14999]提出的聚类PSO(CPSO)算法在检测到变化时,采用层次聚类方法生成子群。为了避免变化检测,CPSO后来改进了一个新版本,称为CPSOR[98],当粒子总数下降到阈值比率时,随机粒子被引入并聚集成新的群。分裂模型通常在满足某一准则时,通过从一个主群分裂产生子群,例如快速多群优化(FMSO)算法[159]。FMSO从父群开始。每当最好的粒子变得更好时,就会生成一个子群,其中包含最好的粒子和与最好的粒子在给定距离内的粒子。在多群PSO群的自适应数量。为了通过多群方案有效地解决DOPs问题,一个关键问题是调整群的数目[200163164]。对于optima数量不断变化的DOPs来说,这个问题变得更具挑战性。基本思想是在当前群聚时增加群聚,在群聚过多时移除群聚。Blackwell[163]提出了自适应多群优化算法(SAMO),这是第一种基于种群数量的自适应方法。它开始于一个单独的自由群体(例如,一个不收敛的群体)。自由的蜂群逐渐转变成聚集的蜂群。当收敛群的半径小于给定的收敛半径rconv时,对其进行识别。如果没有自由群,则随机生成一个新的自由群。这样,种群数量就能够根据当前种群的状态自适应地变化。文[148]提出了一种自适应多群优化算法(AMSO),它根据两个连续的“检查点”之间的群数差异来调整群数。提出了一种多群AFSO算法[172],当父群发现新的峰值时,生成子群。这群孩子追踪山峰的位置。最近,使用一个收集算法行为变化的启发式信息的数据库对群的数量进行了调整,以更好地跟踪多个最优值。Nseef等人。[170]提出了一种多群体ABC算法。根据动态变化强度自适应地保持菌落数。
      群的自适应数量。为了通过多群方案有效地解决DOPs问题,一个关键问题是调整群的数目[200163164]。对于optima数量不断变化的DOPs来说,这个问题变得更具挑战性。基本思想是在当前群聚时增加群聚,在群聚过多时移除群聚。Blackwell[163]提出了自适应多群优化算法(SAMO),这是第一种基于种群数量的自适应方法。它开始于一个单独的自由群体(例如,一个不收敛的群体)。自由的蜂群逐渐转变成聚集的蜂群。当收敛群的半径小于给定的收敛半径rconv时,对其进行识别。如果没有自由群,则随机生成一个新的自由群。这样,种群数量就能够根据当前种群的状态自适应地变化。文[148]提出了一种自适应多群优化算法(AMSO),它根据两个连续的“检查点”之间的群数差异来调整群数。提出了一种多群AFSO算法[172],当父群发现新的峰值时,生成子群。这群孩子追踪山峰的位置。最近,使用一个收集算法行为变化的启发式信息的数据库对群的数量进行了调整,以更好地跟踪多个最优值。Nseef等人。[170]提出了一种多群体ABC算法。根据动态变化强度自适应地保持菌落数。
    3. 群的自适应数量。为了通过多群方案有效地解决DOPs问题,一个关键问题是调整群的数目[200163164]。对于optima数量不断变化的DOPs来说,这个问题变得更具挑战性。基本思想是在当前群聚时增加群聚,在群聚过多时移除群聚。Blackwell[163]提出了自适应多群优化算法(SAMO),这是第一种基于种群数量的自适应方法。它开始于一个单独的自由群体(例如,一个不收敛的群体)。自由的蜂群逐渐转变成聚集的蜂群。当收敛群的半径小于给定的收敛半径rconv时,对其进行识别。如果没有自由群,则随机生成一个新的自由群。这样,种群数量就能够根据当前种群的状态自适应地变化。文[148]提出了一种自适应多群优化算法(AMSO),它根据两个连续的“检查点”之间的群数差异来调整群数。提出了一种多群AFSO算法[172],当父群发现新的峰值时,生成子群。这群孩子追踪山峰的位置。最近,使用一个收集算法行为变化的启发式信息的数据库对群的数量进行了调整,以更好地跟踪多个最优值。Nseef等人。[170]提出了一种多群体ABC算法。根据动态变化强度自适应地保持菌落数。

    4.2.5杂交

    与不同领域知识的杂交,如遗传算法、差分进化或其他元启发式方法,如微生物生命、模糊、细胞自动机等,也是一个重要的研究课题。
    1.与其他领域知识的杂交。例如,多策略集成PSO(MEPSO)[161]使用高斯局部搜索和差分变异进行探索和开发。PSO算法中引入了动态宏变异算子[160]。基于PSO的memetic算法[142]使用了环形拓扑结构和模糊认知。在[143]中还使用了具有多个局部搜索的模糊认知。改进的mQSO算法(mQSOE)[186]使用ACO中使用的蒸发机制来惩罚每个文章过去创建的最佳位置的适应度值。
    2. 与其他元启发式方法的杂交。Hashemi和Meybodi[140156]提出了一种PSO与元胞自动机的混合模型来解决DOPs问题,其中搜索空间嵌入了元胞自动机并被分割成若干个单元。每个单元只允许包含指定数量的粒子,以防止多样性丢失。Rezazadeh等人。[153]提出了11种自适应PSO算法。该算法采用模糊C-均值机制对排除半径和惯性权重参数进行自适应。Karimi等人。从微生物生命中获得灵感的微粒,可以再生新的婴儿微粒来代替旧的微粒。
    4.3动态约束优化中的SI
    动态约束优化问题具有挑战性,因为它们常常影响算法解的可行性。刘[77]将该问题转化为一系列不同时期的静态约束优化问题。每一个设计的静态问题都基于原始目标及其约束条件,分配一个个体适应度函数。然后将粒子群优化算法应用于每个设计问题,而无需考虑粒子的可行性。实验结果表明,该算法能够在一组基准问题上找到最优解。
    不同的是,Dewan和Nayak[202]使用基于惩罚的函数和PSO来处理不可行的粒子,而针对可行粒子引入了新类型的粒子进行局部搜索。该算法在已知的基准集上进行了测试,并与其他算法的结果进行了比较。PSO算法的结果与EAs算法相比具有很强的竞争力。
    Yin和Sun[203]提出了一种基于广义动态约束满足策略的自适应变异PSO(AMPSO)算法。AMPSO中的变异算子根据一个自适应变化的变异概率,应用于群体的活动粒子(例如,在多次迭代中没有进展的粒子)或不太适合的粒子。
    Bu等人。[56]应用SPSO的变量和一组策略来定位和跟踪可行区域。这些策略包括:基于梯度的修复、自适应局部搜索、约束处理、记忆和预测策略。

    4.4动态多目标优化中的SI

    动态多目标优化问题比单目标优化问题更具挑战性,因为需要跟踪一组Pareto最优解,而不是一个单一的最优解。Wei和Wang[204]提出了一种基于超矩形搜索的PSO算法。该算法利用超矩形搜索来近似预测下一个最优解。在一个已知的基准集上的实验结果表明,PSO能够有效地定位和跟踪Pareto最优解集。
    不同的是,Wei和Jia[205]将一种新的点选择策略与PSO相结合,生成下一个时间间隔的初始群,作为一种重启策略。此外,还引入了一种基于吸引的局部搜索算子来利用群体的信息。
    提出了一种多群PSO算法,其中每个群独立求解单个目标函数,并与其他群通信以传递知识[206207]。为了保持多样性,每当哨兵粒子检测到动态变化时,一定比例的蜂群会重新初始化。

    4.5动态分类中的SI

    将动态连续优化中提出的几种PSO算法,如QPSO、CPSO和CCPSO,应用于训练分类问题中的有监督前馈神经网络[208209]。动态变化训练发生在决策边界,称为概念漂移。由于神经网络的训练是一个连续优化问题,因此直接应用了上述算法。实验结果表明,QPSO、CPSO和CCPSO算法的分类误差比采用重启和梯度下降算法(如反向传播算法)的PSO算法好。

    4.6讨论

    每一种适应动态环境的策略都有其优点和局限性。例如,分集保持/增加策略可以很好地解决分集丢失问题,但分集增加的最佳频率很难确定,也很难设计有效的分集保持机制。内存方案能够帮助算法快速适应新的环境,但在发生重大变化的环境中却没有帮助。多群策略能够保持全局水平上的多样性,但最优群数和每个群的搜索区域很难配置。
    由于上述不同策略的优势和局限性,在大多数研究中通常会考虑多种策略。例如,在许多多群算法中,通常使用分集保持和存储策略来提高性能。无论采用何种策略,在处理环境变化时都应考虑知识转移与多样性保持的平衡。

    五.SI在动态环境中的实际应用

    在本节中,将对SIDO中出现的实际应用程序进行回顾,并将其分为离散应用程序和连续应用程序。“现实世界的应用程序”与表2和表3中讨论的应用程序之间的区别是相当任意的[210]。在本文中,表2和表3中讨论的应用集中在那些旨在模拟现实世界问题或环境(例如,多目标或约束处理)的著名模型上。这样的模型可以提供这样的应用程序是否可以在现实世界中工作的指示。另一方面,下面几节讨论的实际应用程序侧重于在某些行业中使用的应用程序或在实际数据上进行测试的应用程序。

    5.1离散应用

    蚁群算法在网络路由领域得到了广泛的研究。通常,网络中的路由问题被定义为定义路径流以转发传入的数据流量,从而使整个网络性能最大化的问题。根据12个网络的处理和传输组件的特性、业务流模式和预期交付的性能,可以定义不同类型的路由问题。主要有两类已应用ACO的网络路由问题:有线,例如有线尽力而为网络[211、212、213、214、215]和有线服务质量(QoS)网络[216、217、218、214、219、220]以及无线,例如移动自组织网络[221、222、223、224、225]。通信算法仅仅依赖于蚁群算法的自适应能力。
    Liu等人。[226]提出了一种基于AFSO的组播路由协议,解决了QoS网络的时延和带宽约束问题。仿真结果表明,AFSO在实时多媒体传输网络中具有良好的性能和鲁棒性。还研究了移动ad hoc网络的ABC算法[227,228]和对等网络的PSO算法[229,230]。
    Vogel等人。[231]提出了一种ACO算法来处理生产系统中的动态变化。维护位置操作信息素矩阵以存储操作。每当新作业到达时,信息素值都会重新初始化。他们在实际数据采集上的实验表明,所提出的ACO方法优于手动方法和传统的优先级规则方法。相比之下,ACO方法的性能优于EA方法。
    Silva和Runkler[68]使用传统的ACO算法解决了提款机问题。基本上,问题是,一家现金物流公司需要根据其资金水平为法兰克福一家特定银行的多台提款机装满现金容器。结果表明,考虑到取款机与取款机之间的距离,蚁群算法能够在最短的运行时间内自动调用解。但是,没有与任何其他自动或手动方法进行比较。
    Nakrani和Tovey[232]使用了一种新的bee算法(例如,蜜蜂算法开发)在internet服务器群中进行动态服务器分配。在他们的模型中,觅食蜜蜂和花朵补丁分别表示internet服务器群中的服务器和HTTP动态请求队列。他们在一个拥有两台和三台虚拟服务器的主机中心(hosting center)的案例中的实验结果表明,蜜蜂算法由于其自适应能力,比其他传统算法表现得更好,特别是在高度动态和不可预测的互联网环境中。
    Triwate和Luangpaiboon[233]应用了bee算法(例如,bee算法开发)来最小化动态多区域调度系统的不平衡,其中每个bee代表一个调度模式。模拟研究基于泰国当地运输公司的真实数据。作者的结论是,bee算法在小问题上很快达到最优,但在中、大问题上需要更多的时间。
    韦德等人。[234]使用bee算法(例如,BeeHive算法开发)在交通堵塞和拥挤程度较低的道路上对车辆进行路线规划,以最小化运输时间。考虑了德国东部鲁尔区的拓扑道路数据,生成了几个交通场景。与传统的最短路径算法(如Dijkstra算法)的比较表明,蜂窝算法具有更好的拥塞处理能力。这是因为蜂巢算法考虑了问题的时间链接,动态地在不同的路径上选择车辆,而Dijkstra算法总是选择最短的路径。作者表明,经过一段时间后,基于Dijkstra的路由会出现严重的拥塞,而基于Bee的路由仍然是无拥塞的。
    Sulaiman等人。[235]用FA求解了配电网中分布式发电机组的最优配置和规模问题。实验采用IEEE 69总线分布式测试系统。研究结果表明,确定分布式发电机组的最佳位置和尺寸,可以降低系统的功率损耗,改善系统的电压分布。此外,将所提出的FA与EA进行比较,结果具有可比性。
    Teodorovi’c和Dell’Orco[236]将带有模糊逻辑的bee算法(例如,蜂群优化开发)应用于骑乘匹配问题。问题是在给定的时间段内优化车辆和乘客的路线和调度。这种应用中的不确定性是由乘客可能造成的延误或交通拥挤引起的。作者考虑了来自意大利小城市特兰尼的97名旅行者的乘车需求。该算法的结果是非常有前途的。
    加西亚等人。[237]利用蚁群算法解决了具有避障功能的移动机器人的路径规划问题。工作空间(搜索空间)被离散为50×50个节点的矩阵,移动机器人可以在其中导航和建立路径。粒子群算法用于移动障碍物的相同问题[238]。
    Li等人。[239]将离散型粒子群算法应用于协作OFDMA系统中的资源分配问题,以最大化多业务下所有移动台的平均效用。利用相邻帧之间的相关性来传递知识。结果表明,知识转移显著降低了计算复杂度,在效用最大化方面取得了较好的效果。
    Hsu[240]将粒子群优化算法与基于事件的启发式算法相结合,同时解决了两个重要的海滨作业规划问题,即泊位分配和码头起重机分配问题。该方法的核心思想是支持起重机内部变量的分配,而不是时不变的。这样,就可以利用码头起重机的分配,因为它们可以进行相应的调整。
    伊顿等人。[241]当列车发生延误时,使用ACO在交叉口和车站重新安排列车。在原不可行调度的基础上,利用路径保持算法生成了一个新的可行调度。

    5.2连续应用

    动态经济调度问题已被BFO[242]、PSO[243、244、245、246]、FA[247]、AFSO[248]和ABC算法[249、250、251、252、253]等SI算法广泛研究。此外,混合SFLA算法[254]的性能优于基于PSO和ABC的算法。DED问题的主要目标是在不同时违反一系列安全和效率约束的情况下降低电力系统的运行成本。
    Niknam等人。[255]使用蜜蜂算法(例如蜜蜂交配优化开发)来求解动态最优功率流4,并最小化系统总发电成本。提出的bee算法不同于bee算法的原始发展,因为它使用变异算子来增加种群多样性。在14、30和118总线测试系统上的实验结果表明,这种变异提高了传统bee算法的质量。
    Tang等人。[256257]提出了一种求解动态负荷下最优潮流问题的BFO算法。BFO的复制过程使用基于轮盘赌方法的选择方案来保持多样性。为了避免太多的随机性,没有考虑分散和消除过程。实验采用IEEE 30和118总线测试系统。将该算法与传统的BFO算法和PSO算法在三种不同的负载变化水平上进行了比较,显示了良好的性能。
    Takano等人。[258]使用ABC算法在动态灾害环境中协调救援人员,例如地震发生后的城市。算法被修改为只与附近的蜜蜂通信。在机器人对焦模拟系统上的实验表明,ABC可以快速地救出所有的受害者。
    采用FA[259]和PSO[260]对自动调压系统的比例积分微分控制器进行了整定。控制器的优化整定是基于实际电力系统运行的时变性。通过比较最近的FA算法和PSO算法,发现前者比后者更具鲁棒性。BFO[261]也被用于控制器的调谐,比EA更加健壮和高效。
    Gomes[262263]使用PSO和FA算法作为结构质量优化的引擎。形状和尺寸的结构优化被认为是高度非线性的。该问题包含可能影响适应度函数的动态约束。因此,惩罚函数技术被用来处理违规行为。考虑了三个10、37和128桁架杆结构的算例,结果表明FA算法的性能略低于PSO算法,但这两种SI算法的性能都优于传统的优化方法。
    ACO和ABC被应用于动态负载平衡问题[264]。该问题的主要目标是在系统之间找到工作负载的最佳分配,例如减少繁忙资源的负载并将其转移到空闲资源。在一个由四台机器组成的集群和Amazon EC2云上的实验研究表明,ABC比ACO和其他传统算法更快。
    应用BFO算法确定了二维移动障碍物空间中从当前位置到目标位置的最短可行路径[265]。该算法能够避开障碍物并找到一条通向目标位置的路径。类似地,PSO算法也证明了它们能够通过避开移动障碍物来规划机器人的最优路径[266267268]。
    给水管网污染源辨识问题是一个非线性规划问题。该问题的目的是根据到目前为止的观测数据来寻找污染物的位置和时间历程。Liu等人。[269]使用基于多群的PSO算法来解决这个问题。

    六.结论和今后的工作

    本文试图对SIDO在多个web搜索引擎中的相关工作进行综述。SIDO最重要的应用分为连续问题和离散问题。对用于增强SI算法以应对动态变化的策略进行了分组和广泛讨论。此外,本文还回顾了SIDO的现实问题。
    本文的综述如下。搜索是从五个公认的科学数据库进行的,即IEEExplore5、科学指导6、SpringerLink 7,scopus8和Google scholar9为ACO使用“蚁群优化”和(“动态环境”或“动态优化”或“动态函数”或“时变”或“动态问题”或“动态路由”或“动态调度”或“动态多目标”或“动态约束”)等术语。同样的搜索格式被用在粒子群优化的粒子群优化算法中,同样的搜索格式也被用在其他的粒子群优化算法中。检索到的书目包括期刊文章、会议论文、书籍章节和技术报告。然后,将结果分类为:(a)图3中的SI算法和(b)图4中的发布年份。
    从图3可以看出,与SIDO中的其他SI算法相比,ACO和PSO引起了更多的关注。这是很自然的,因为它们比其他SI算法提出得更早。这也可能是他们比最近提出的SI算法更有效的情况。这是因为在许多情况下,SI算法使用这些算法的核心组件。例如,在ABC、AFSO、FA和BFO算法中,粒子群优化算法引入的粒子局部最优位置分量在许多情况下被用作增强策略。从图4可以看出,SIDO领域大致在2001年开始增长,到2009年逐渐增长。从那时起,这一领域在出版物数量上有起有落。
    一般来说,所有的SI算法都主要应用于它们最初发展起来的相应平稳优化问题的动态版本。例如,ACO主要用于建模的动态离散问题因为它是一个图搜索算法。此外,当环境变化相似时,集成到不同SI算法中的增强策略通常会提高它们的性能。最后,在处理DOPs时,局部搜索算子是SI算法的核心组成部分。SI算法执行全局优化,并且它们的输出不精确。因此,局部搜索算子可以显著提高输出的质量。然而,在SI算法中集成局部搜索的方式必须不会显著增加计算时间或浪费评估[35]。
    在这里插入图片描述

    虽然SIDO的研究显示出了显著的增长,但它仍有几个方面可以为进一步发展SIDO领域做出贡献,总结如下:
    1.实验协议:由于目前还没有达成一致的计算实验协议,可能有必要为不同的问题类别定义不同的实验协议,例如连续、离散和约束问题,因为所用方法和搜索空间的不同特点。
    2. 基准生成器:动态多目标和动态约束优化领域还很年轻。使用的大多数基准生成器只是静态实例的扩展。可能有必要开发基准生成器,特别是针对这些最新领域,以比较开发的新算法。
    3. 避免变化检测:通过重新评估个体的变化检测方法不能总是保证成功检测,特别是在变化不影响适应度环境中当前解决方案的情况下。这种情况可能发生在动态环境中,其中一部分健身景观发生变化。此外,这种检测方法永远不会在有噪声的动态环境中工作,因为噪声会被误解为每次重新评估操作中的变化。因此,为了更有效地处理变更,需要避免变更检测。
    4. 模拟现实世界的情景:考虑动态优化中吸引较少兴趣的其他研究领域,并模拟许多现实世界的情景,如约束DOPs、动态多目标问题甚至动态约束多目标问题,将是有趣的。
    5. 考虑到其他的前瞻性:跟踪移动最优(TMO)框架通常用于SIDO来处理DOPs。最近,一种新的DOPs视角被建立,称为随时间鲁棒优化(robust optimization over time,ROOT),其目标是找到随时间鲁棒的解链[46]。特别是,当一个解决方案的质量在预定义的时间间隔内可以被不断变化的环境所接受时,该解决方案是健壮的。实际上,调度问题和车辆路径问题都具有时间链接性。因此,TMO框架可能不是最好的选择,因为当前提高性能的决策可能会影响将来的性能。因此,从长远来看,整体性能可能会降低。到目前为止,ROOT只与PSO集成。
    6. 算法选择:到目前为止,在过去的30年里,已经有很多SI算法被提出。对于一个具体的问题,大多数读者都不知道该选择什么样的算法。这是因为做出正确的选择又是一个优化问题。经验、线索和基于错误的选择仍然是做出选择的主要方式。因此,寻找最适合于给定问题或具有某种性质的问题的正确算法,也是SIDO未来感兴趣的课题。
    7. 理论发展:通常,由于SI算法或一般的元启发式算法的数学挑战,DOPs中算法的性能是通过经验而不是理论来分析的。虽然已有理论研究,但研究领域还很有限。为了深入了解SI算法在DOPs中工作的原因和方式,SIDO的理论发展应该得到显著的提高。

    展开全文
  • 智能优化算法

    万次阅读 多人点赞 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实例,包子阳,余继周 编著. 电子工业出版社。

    展开全文
  • 摘要:鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提出的一种新的群体智能优化算法,其优点在于操作简单,调整的参数少以及跳出局部 最优的能力强。 1.算法...
  • 本篇笔记对数学建模中常见的多目标规划问题提供了解法:在建立传统的多目标规划的常用模型的基础上,使用智能优化算法多目标规划问题进行求解,通过Pareto Front直观展现非劣解的分布情况,以解决传统的多目标规划...
  • 智能优化算法:生物地理学优化算法-附代码 文章目录智能优化算法:生物地理学优化算法-附代码1.算法原理2.算法结果3.参考文献4.Matlab代码 摘要:Alfred Wallace和Charles Darwin在19世纪提出了生物地理学理论,研究...
  • 人工智能:智能优化算法

    千次阅读 2020-06-30 09:05:25
    人工智能:智能优化算法 优化问题是指在满足一定条件下,在众多方案或参数值中寻找最优方案或参数值,以使得某个或个功能指标达到最优,或使系统的某些性能指标达到最大值或最小值。优化问题广泛地存在于信号处理...
  • 文章目录鲸鱼优化算法(Whale Optimization Algorithm,WOA)1.1 灵感1.2 数学建模和优化算法1.2.1 包围捕食(Encircling prey)1.2.2 气泡网攻击方式(Bubble-net attacking method)(利用阶段)1.2.3搜索猎物...
  • 文章目录第五章 蚁群优化算法5.1 介绍5.2 人工蚂蚁的概念5.2.1 真实蚂蚁如何工作5.2.2 蚂蚁如何优化食物搜索5.2.3 什么是人工蚂蚁5.2.3.1 相同5.2.3.2 不同5.3 蚂蚁系统5.4 三种模型5.4.1 蚁密系统模型5.4.2 蚁量...
  • 多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码 前沿:最近太忙,这个系列已经很久没有更新了,本次就更新一个Deb大神的NSGA2的“升级版”算法NSGA3。因为multi-objective optimization已经被...
  • 睿智的智能优化算法2——遗传算法的python实现什么是遗传算法求解过程整体代码分解1、编码解码部分2、求取适应度部分3、自然选择部分4、组合交叉5、基因突变实现代码GITHUB下载连接 睿智的智能优化算法小课堂再次...
  • 由于最近新参与了一个与智能优化相关的科研课题,所以需要了解一些计算智能的算法知识。经老师推荐,从网上购买了张军老师的这本《计算智能》,尽管出版年份距今已有一些年日,但因该领域多年来并未有太新的大改变...
  • 粒子滤波算法及其应用

    热门讨论 2013-10-28 10:01:41
    针对标准粒子滤波算法存在的粒子退化、计算量大的缺点介绍了多种改进的粒子滤波算法,包括基于重要性密度函数选择的粒子滤波算法、基于重采样技术的粒子滤波算法、基于智能优化思想的粒子滤波算法、自适应粒子滤波...
  • 函数优化(遗传算法的经典应用领域);组合优化(实践证明,遗传算法对于组合优化中的NP完全问题,如0-1背包问题,TSP等,非常有效);自动控制;机器人智能控制;组合图像处理和模式识别;人工生命;遗传
  • 系统优化方法与智能优化算法

    千次阅读 2009-11-02 18:26:00
    系统优化方法与智能优化算法系统优化方法在各种工程系统、经济系统,乃至社会系统中得到了广泛的应用。最优化理论的研究也一直是一个十分活跃的领域,出版了许多最优化理论、方法和应用的著作和译作。梯度为基础的...
  • 本文简介数学建模常用的智能优化算法:神经网络算法。
  • MOPSO 多目标粒子群优化算法

    千次阅读 多人点赞 2016-03-06 14:22:00
    有代表性的多目标优化算法主要有NSGA、NSGA-II、SPEA、SPEA2、PAES和PESA等。粒子群优化(PSO)算法是一种模拟社会行为的、基于群体智能的进化技术,以其独特的搜索机理、出色的收敛性能、方便的计算机实现,在工程...
  • 各种智能优化算法比较与实现(matlab版)

    万次阅读 多人点赞 2020-05-05 10:13:46
    各种智能优化算法比较与实现(matlab版) 一、 方法介绍 1免疫算法(Immune Algorithm,IA) 1.1算法基本思想 免疫算法是受生物免疫系统的启发而推出的一种新型的智能搜索算法。它是一种确定性和随机性选择相结合并...
  • (自己写的,需要转载请联系作者,或者标明出处呀,欢迎加微信交流:wx604954) ...本文介绍了目前发展迅猛的深度学习方法在目标检测中的最新应用进展,然后介绍了基于深度学习的目标检测算法在医学图像领域的应...
  • 智能优化算法小结

    千次阅读 2015-10-09 11:15:40
    1.书籍《智能算法三十个案例分析》 包含传算法,免疫算法,粒子群算法,鱼群算法多目标pareto算法,模拟退火算法,蚁群算法,神经网络,SVM等Matlab代码。 http://www.matlabsky.com/thread-9207-1-1.html ...
  • 获取更资讯,赶快关注上面的公众号吧!...本章将介绍模拟退火算法,它是受冶金中退火过程的启发而提出的一种元启发式优化算法。首先回顾退火算法的发展和应用,然后描述物理退火的过程及其与退火算法的映射关系...
  • 一、简介 ...智能电网由很部分组成,可分为:智能变电站,智能配电网,智能电能表,智能交互终端,智能调度,智能家电,智能用电楼宇,智能城市用电网,智能发电系统,新型储能系统。 它是建立在集成的
  • 深度学习算法及其应用

    万次阅读 2018-03-25 23:01:25
    5)使用BP算法优化参数 损失函数就是我们的目标函数,要找到目标函数的最小值,就是对参数求偏导等于0.我们可以使用优化器去不断地降低损失寻找最优参数。比如说最常用的是梯度下降法。代码如下: train_step ...
  • 智能优化算法求解TSP问题--遗传算法

    千次阅读 2018-06-18 23:55:47
    TSP问题基本概念TSP问题即旅行商问题(TravelingSalesperson Problem)。该问题给定n个城市和两两城市之间的距离,要求确定一条经过各城市当且仅当一次的最短路线。其图论描述为:给定图G=...遗传算法的基本原理遗传...
  • 遗传算法及其应用——遗传算法的基本概念&遗传算法的基本算法(编码&群体设定&适应度函数&选择&交叉&变异&遗传算法步骤)&解决带约束的函数优化问题&多目标的遗传算法&遗传...
  • 自从上三篇博客详细讲解了Python遗传和进化算法工具箱及其在带约束的单目标函数值优化中的应用、利用遗传算法求解有向图的最短路径、利用进化算法优化SVM参数之后,这篇不再局限于单一的进化算法工具箱的讲解,相反...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,838
精华内容 9,535
关键字:

多目标智能优化算法及其应用