为什么我的眼里常含泪水?因为我有一个算法不会。为了节约点眼泪,今天我们就来介绍著名的模拟退火算法(Simulated Annealing),它是一种基于蒙特卡洛思想设计的近似求解最优化问题的方法。

这是本系列文章的第二篇,我们通过一个实例来编程演示模拟退火的执行。特别地,我们这里所采用的实例是著名的“旅行商问题”(TSP,Traveling Salesman Problem),它是哈密尔顿回路的一个实例化问题,也是最早被提出的NP问题之一。

在你阅读本文前,希望你已经读过《模拟退火算法系列之(一):通俗理解》一文,因为本文我们主要讨论实现上的一些策略,对于那些基本的概念并不会过多涉及。

欢迎关注白马负金羁的博客 http://blog.csdn.net/baimafujinji,为保证公式、图表得以正确显示,强烈建议你从该地址上查看原版博文。本博客主要关注方向包括:数字图像处理、算法设计与分析、数据结构、机器学习、数据挖掘、统计分析方法、自然语言处理。


TSP是一个最常被用来解释模拟退火用法的问题,因为这个问题比较有名,我们这里不赘言重述,下面直接给出C++实现的代码:


<

模拟退火算法系列之(二):一个实例相关推荐

  1. 模拟退火算法详细讲解(含实例python代码)

    模拟退火算法详细讲解(含实例python代码) (一)模拟退火算法简介 (二)模拟退火算法原理 (三)退火过程中参数控制 (四)算法步骤 (五)实例分析 最近老师要求做模拟退火算法实验,看了很多博客之 ...

  2. 精通八大排序算法系列:二、堆排序算法

    精通八大排序算法系列:二.堆排序算法 作者:July .二零一一年二月二十日 本文参考:Introduction To Algorithms,second edition. ------------- ...

  3. BizTalk学习笔记系列之二:实例说明如何使用BizTalk

    BizTalk学习笔记系列之二:实例说明如何使用BizTalk --.BizTalk学习笔记系列之二<?XML:NAMESPACE PREFIX = O /> Aaron.Gao,2006 ...

  4. 算法系列之二:三只水桶等分水问题

    算法系列之二: 三只水桶等分水问题 有一个容积为8升的水桶里装满了水,另外还有一个容积为3升的空桶和一个容积为5升的空桶,如何利用这两个空桶等分8升水?附加条件是三个水桶都没有体积刻度,也不能使用其它 ...

  5. 机器学习算法系列(二十二)-近似k近邻算法-Annoy(Approximate Nearest Neighbor / ANN)

    阅读本文需要的背景知识点:k近邻算法.一丢丢编程知识 一.引言   前面一节我们学习了机器学习算法系列(二十一)-k近邻算法(k-Nearest Neighbor / kNN Algorithm),其 ...

  6. 算法系列之二十:计算中国农历(二)

    (接上篇) 所谓的"天文算法",就是利用经典力学定律推导行星运转轨道,对任意时刻的行星位置进行精确计算,从而获得某种天文现象发生时的时间,比如日月合朔这一天文现象就是太阳和月亮的地 ...

  7. [算法系列之二十六]字符串匹配之KMP算法

    一 简介 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特-莫里斯-普拉特操作(简称KMP算法).KMP算法的关键是利 ...

  8. 后向投影算法(BPA)-SAR成像算法系列(二)

    系列文章目录 <SAR学习笔记> <SAR学习笔记-代码部分> <SAR学习笔记后续-phased工具箱介绍> <SAR学习笔记-SAR成像算法系列(一)&g ...

  9. [算法系列之二十]字典树(Trie)

    一 概述 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计. 二 优点 利用字符串 ...

最新文章

  1. 独家 | Python 3.10发布——你应该知道的五大新特性
  2. Glide 源码分析与面试提问
  3. python基础代码-python基础知识和练习代码
  4. 学习响应式BootStrap来写融职教育网站,Bootsrtap第二天
  5. jquery中的ajax 网络请求
  6. 位置式PID与增量式PID区别浅析
  7. Visual studio 的教程
  8. java类的实例参数传递_获取我正在通过参数传递的相同Java类实例
  9. AESRijndael加密
  10. Python风格总结:循环语句
  11. luogu P2018 消息传递
  12. UITableView自动计算图片的高度 SDWebImage
  13. Java中的接口与抽象类的区别
  14. 实现键盘输入信息,按enter键调用摄像头自动拍照
  15. 2006年,谁是我们的博客之星?
  16. 【和76】龙头企业在区域市场中竞合关系分析样例(温微观察13-6)
  17. 软考高级证书考试--信息系统项目管理师--计算题(更新中)
  18. Unity 遮挡剔除
  19. 计算机网络_选择题(一)
  20. java mongo gte_java-如何操作$concat使用spring mongodb

热门文章

  1. play framework 提示:VerifyError错误
  2. 多维tensor/numpy array的拼接(np.stack, torch.cat)
  3. Silverlight视频语音聊天项目
  4. 浏览器会不会缓存html,浏览器缓存机制(一)
  5. 宜信:提升与反思——实习的意义并不止于其本身
  6. 多级列表关联到标题样式
  7. java中JAO_JVM内部细节之一:synchronized关键字及实现细节(轻量级锁Lightweight Locking)...
  8. Servlet+html+css+jsp+mysql实现用户登录
  9. linux 不同用户时间,Linux时间子系统之(一):时间的基本概念
  10. SqlServer数据库配置大小写敏感