zoukankan      html  css  js  c++  java
  • 智能算法---蚁群算法

    智能算法---蚁群算法

    1 蚁群算法及其基本思想
    蚁群算法是一种智能优化算法,通过蚁群优化求解复杂问题,ACO在离散优化问题方面有比较好的优越性。
     
     
    基本思想(以旅行商问题为例)
     
         设置多只蚂蚁,分头并行搜索。
         每只蚂蚁完成一次周游后,在行进的路上释放信息素,信息素量与解的质量成正比。
         蚂蚁路径的选择根据信息素强度大小(初始信息素量设为相等),同时考虑两点之间的距离,采用随机的局部搜索策略。这使得距离较       短的边,其上的信息素量较大,后来的蚂蚁选择该边的概率也较大。
         每只蚂蚁只能走合法路线(经过每个城市1次且仅1次),为此设置禁忌表来控制。
         所有蚂蚁都搜索完一次就是迭代一次,每迭代一次就对所有的边做一次信息素更新,原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索。
         更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加。
         达到预定的迭代步数,或出现停滞现象(所有蚂蚁都选择同样的路径,解不再变化),则算法结束,以当前最优解作为问题的最优解
     
     
    2 表示方式
     
    2.1 参数表示
     

    2.2 计算公式

     

     
     3 ACO算法步骤
     
     
     
    4 ACO算法解决旅行商问题
    4.1 问题提出
     4.2 参数设置
     

     
    4.3  计算结果
    首先对每个节点求对应的参数
    有如下图5个结果
     

     

    根据得到的结论,再次有蚂蚁从五个点出发时,走过的路径如下面五个表所示

     

     结论:当出现停止现象的时候,说明已经得到最优解,算法结束,最优解为:AEDCBA,目标函数值为9

    5 ACO的优缺点
    ACO的优点
         较强的鲁棒性——稍加修改即可应用于其他问题;
         分布式计算——本质上具有并行性;
         易于与其他启发式算法结合。
    PSO的缺点
         一般需要较长的搜索时间;
         容易出现停滞现象;
         只适用于离散问题
  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/tao-alex/p/6094483.html
Copyright © 2011-2022 走看看