• 退火算法研究分析


    一、退火算法

    模拟退火算法采用类似于模拟退火的过程。先在一个高温状态下,逐渐退火,在每个温度下慢慢冷却,最终达到物理基态(相当于算法找到最优解)

    模拟退火算法属于贪心算法,在其过程中引入随机因素,以一定概率接收一个比当前解要差的解(避免进入局部最优的情况)

     模拟退火在某一初温下,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。即在局部最优解的空间内能概率性地跳出并趋于全局最优

    算法流程:

     

     算法流程图:

     冷却进度表:

    退火过程由一组初始参数,即冷却进度表控制,即冷却进度表控制。它地目的是尽量使得系统达到平衡,以让算法在有限时间内逼近最优解

    冷却进度表包括:

    1、控制温度参数的初值T0

    2、控制温度T的衰减函数(温度的更新)

    3、马尔科夫链的长度Lk(迭代次数)

    4、控制参数T的终值(停止准则)

    参数讲解: 

    控制温度参数的初值T0:

    马尔可夫链的长度Lk:任意温度的迭代次数 

     控制参数T的终值Tf(停止准则)

     控制温度T的衰减函数:

    二、遗传算法

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

    基本原理和概念

     

     

     

     

     

     算法实现:

    粒子群算法:

    经典案例:

     

     

    Vij表示惯性速度,Pi为个体极值所在的位置,Pg为全局极值所在的位置,w,c1,c2为参数,r1,r2为随机数

     算法流程:

     

     

  • 相关阅读:
    通过删除字母匹配到字典里最长单词
    UE5实现PS图层样式投影效果
    ServletConfig、ServletContext概述、配置及ServletContext的三个作用
    Typora免费版下载【Mac、Windows】
    Springboot 全局异常、返回实体配置
    shell编程中的流程控制
    Responder的使用
    JDBC的基本使用(mysql与java)
    SpringCloud&Eureka理论与入门
    Linux 进程线程
  • 原文地址:https://blog.csdn.net/WC949464367/article/details/127987794