首页 > 编程语言 >退火算法学习笔记

退火算法学习笔记

时间:2023-01-09 13:00:28浏览次数:61  
标签:RAND 概率 退火 笔记 算法 代价 温度

初创建于 2022-02-09 00:29

前段时间学习了一下退火算法。

这里简单记一下踩过的坑~

退火算法是一种搜索算法,我认为其核心思想便是”以一定的概率接受一个更差的解“,这样可以避免过早陷入局部最优解,有更大的概率找到全局最优解。

首先,是”温度“,在算法执行过程中,温度会不断降低,当温度降低到一个值时算法结束,而随着温度的降低接受更差的解的概率会不断减小

如果当前的温度为T,计算当前的解的代价为C(i),新解的的代价为C(i+1)z,则

当C(i+1)<C(i)时,接受新的解

当C(i+1)>C(i)时,以exp( ( C(i+1)-C(i) )/T )的概率接受新的解

/**
 * 退火算法框架
 */
while (T>Tmin) {
    // 计算当前解的代价C(i)
    // 获新的解,计算其代价C(i+1)
    
    dE = C(i)-C(i+1); // 计算代价之差
    if (dE>0) {
        // 接受新的解
    } else {
        if ((double)(rand()%RAND_MAX)/RAND_MAX<exp( dE/T ))
    }
    
    T *= r; // r是降温速率,是一个小于 1 的实数
}

例题

吊打XXX

退火算法十分玄学,有时候需要反复调试参数才能得到预期结果,因此需要谨慎选用。

标签:RAND,概率,退火,笔记,算法,代价,温度
From: https://www.cnblogs.com/Corona09/p/17036720.html

相关文章

  • 【车间调度】基于GA/PSO/SA/ACO/TS优化算法的车间调度比较(Matlab代码实现)
    目录1概述2 FJSP描述3运行结果3.1main1运行结果3.2main2运行结果4Matlab代码 5参考文献6写在最后1概述柔性作业车间调度问题(FlexibleJobshopSched-ulingPro......
  • 深度强化学习专栏 —— 2.手撕DQN算法实现CartPole控制
    我将文章发表在了古月居,一起来看看吧!​​戳这里​​......
  • fabric2.2学习笔记1
    fabric2.2学习笔记120201303张奕博2023年1月9日hyperledgerfabric结构分析每个Server作用:AdminServer:控制该节点的命运,可以删除该节点所在的进程。(StartStopGet......
  • CCSP学习笔记-NIST 800-145
    本文英文版来自美国国家标准与技术实验室的文档SpecialPublication800-145《TheNISTDefinitionofCloudComputing》September2011版本。一 云计算概念定义Clo......
  • Linux学习笔记:终端删除键失效解决办法
    一、删除键变空格近日在安装vi时遇到报错,遂卸载了部分包进行重新安装。安装后出现终端乱序,输错命令按Backspace删除键进行删除时不能删除反而添加空格,并且导致某些快......
  • 关于快速排序算法最多比较次数与最少比较次数的问题
    关于快速排序算法最多比较次数与最少比较次数的问题最常见的快速排序算法的衡量标准是时间复杂度,即最坏情况\(O(n)\),最优与平均情况均为\(O(n\log_2^n)\)。最近看到......
  • wps 笔记
    table.Cell(arr[3].length/2+3+num00,1).Range.ParagraphFormat.Alignment=0 //文字居左对齐table.Range.Cells.VerticalAlignment=1;//文字垂直居中 ......
  • React面试:谈谈虚拟DOM,Diff算法与Key机制
    1.虚拟dom原生的JSDOM操作非常消耗性能,而React把真实原生JSDOM转换成了JavaScript对象。这就是虚拟Dom(VirtualDom)每次数据更新后,重新计算虚拟Dom,并和上一次生成的虚拟......
  • 回溯算法
    回溯法解决的问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N......
  • 近几日的算法学习(背包问题+回溯递归算法)附例题
    最近两天都没有更新博客力(其实是去学了些算法,算是对计算机科学有了全新的认识吧(我之前在课本学的是什么勾八玩意儿)CP1055  有多少个数的和是素数(经典的回溯算法,暴力枚......