一、遗传算法与模拟退火算法比较

分析模拟退火算法的基本原理可以看出,模拟退火算法是

通过温度的不断下降渐进产生出最优解的过程,

是一个列马尔科

夫链序列,在一定温度下不断重复

Metropolis

过程,目标函数值

满足

Boltzmann

概率分布。在温度下降足够慢的条件下,

Boltzmann

分布收敛于全局最小状态的均匀分布,从而保证模拟

退火算法以概率为

1

收敛到全局最优。另外,不难看出,模拟退

火算法还存在计算结构简单、

通用性好以及鲁棒性强等优点。

是,模拟退火算法存在如下缺陷:

1.

尽管温度参数下降缓慢时理论上可以保证算法以概率为

1

地收敛到最优值,但是需要的时间过长加之误差积累与时间长

度的限制,难以保证计算结果为最优;

2.

如果降温过程加快,很可能得不到全局最优解,因此,温

度的控制是一个需要解决的问题;

3.

在每一种温度下什么时候系统达到平衡状态,即需要多少

Metropolis

过程不易把握,

从而影响模拟退火算法的最终结果。

与模拟退火算法相比较,遗传算法具有如下典型特征:

这两种算法的相同点是都采用进化控制优化的过程。

主要不

同点是模拟退火是采用单个个体进行进化,

遗传算法是采用种群

进行进化。

模拟退火一般新解优于当前解才接受新解,

并且还需

要通过温度参数进行选择,

并通过变异操作产生新个体。

而遗传

算法新解是通过选择操作进行选择个体,

并通过交叉和变异产生

新个体。具体说来,遗传算法具有如下特点:

(

1

)

与自然界相似,

遗传算法对求解问题的本身一无所知,

对搜索空间没有任何要求(如函数可导、光滑性、连通性等),

只以决策编码变量作为运算对象并对算法所产生的染色体进行

评价,

可用于求解无数值概念或很难有数值概念的优化问题,

用范围广泛;

(

2

)

搜索过程不直接作用到变量上,

直接对参数集进行编

码操作,

操作对象可以是集合、

序列、

矩阵、

树、

图、

链和表等;

(

3

)搜索过程是一组解迭代到另一组解,采用同时处理群

体中多个个体的方法,因此,算法具有并行特性;

异同点 模拟退火 遗传算法 邻域搜索_遗传算法与模拟退火算法比较相关推荐

  1. 异同点 模拟退火 遗传算法 邻域搜索_智能算法浅介----模拟退火,遗传算法,禁忌搜索,神经网络等...

    本文讲的过于笼统,如果想真正理解,请参考: 智能算法浅介----By cooler 一个比方 在工程实践中,经常会接触到一些比较"新颖的算法"如模拟退火,遗传算法,禁忌搜索,神经网 ...

  2. 遗传算法 python包_遗传算法 (Genetic Algorithm)

    遗传算法( Genetic Algorithm )又叫基因进化算法,或进化算法.属于启发式搜索算法一种,这个算法比较有趣,并且弄明白后很简单,写个 100-200 行代码就可以实现.在某些场合下简单有 ...

  3. python遗传算法排课表_遗传算法与Python图解

    import matplotlib.pyplot as plt import numpy as np import random import pandas as pd 遗传算法求函数最值 遗传算法的 ...

  4. python遗传算法八皇后_遗传算法之:八皇后问题

    八皇后问题: 在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法.正确的解有很多个,遗传算法并不直接计算一共有多少个解,而是寻找满 ...

  5. python 遗传算法 排课_遗传算法实现自动排课

    暑期带了几个学生做自动排课系统.系统以高校为假想服务对象,要求安排好一所高校一学期的课表,包括公共必修课.专业必修课.公共选修课.专业选修课.系统要求在满足教室.老师.学生各自不存在冲突.教室资源符合 ...

  6. python遗传算法计算实例_遗传算法python简单例子(详解)

    # -*-coding:utf-8 -*- #目标求解sin(x)最大值 import random import math import matplotlib.pyplot as plt #初始化种 ...

  7. 广度优先搜索_计算机入门必备算法——广度优先遍历搜索

    1.  序言 又很久没有学习了,上次学到哈希表又称散列表的相关知识,这次我们学习一种新的数据结构来建立网络模型.这种数据结构被称作图.首先,我们先应该先了解一下什么是图,其次学习第一种图的算法,这种图 ...

  8. 代码 | 自适应大邻域搜索系列之(2) - ALNS算法主逻辑结构解析

    00 前言 在上一篇推文中,教大家利用了ALNS的lib库求解了一个TSP问题作为实例.不知道你萌把代码跑起来了没有.那么,今天咱们再接再厉.跑完代码以后,小编再给大家深入讲解具体的代码内容.大家快去 ...

  9. 随机邻域嵌入_诠释数据降维算法:一文讲尽t-分布邻域嵌入算法(t-SNE)如何有效利用-阿里云开发者社区...

    (文中所有截图,都有华丽的动态效果,详情请点击原文:http://distill.pub/2016/misread-tsne/ 查看) t-分布领域嵌入算法(t-SNE, t-distributed ...

最新文章

  1. 人工智能治理需用好“人工”
  2. 【平行驾驶】王飞跃 | 人工智能与智能汽车:在CPSS中驶向第三轴心时代
  3. 第一章 为什么使用单元测试
  4. [导入]24小时第六季 剧情
  5. 贝叶斯 定理_贝叶斯定理实际上是一个直观的分数
  6. 使用kibana客户端工具操作ElasticSearch(增删改查一)
  7. 浏览器的两种模式quirks mode 和strict mode
  8. sqlalchemy mysql教程_SQLAlchemy 教程 —— 基础入门篇
  9. 802.11 monitor模式
  10. 活动目录的物理结构逻辑结构
  11. 计算机网络 ——网络原理之初识
  12. 设计模式在项目中的应用案例_案例|P6软件在水电项目施工管理中的应用
  13. 速卖通热卖产品推荐—2021年速卖通家居行业厨房用品热卖产品趋势
  14. 计算机术语 gc 是什么意思,gc是什么意思的缩写
  15. Freemarker - 根据模板动态生成word文档
  16. 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力
  17. runC 严重漏洞,使用容器的快打补丁;辩论界人机大战,人类获胜
  18. Lesson 52 A pretty carpet 漂亮的地毯
  19. UML活动图与状态图
  20. PowerBI-日期和时间函数-EOMONTH

热门文章

  1. (推荐)(提供下载)ORACLE常见问题一千问(不怕学不成、就怕心不诚!)
  2. Linux 命令(92)—— locate 命令
  3. 不用加号实现两整数相加
  4. 什么是Java线程池
  5. LightOJ 1245 - Harmonic Number (II)
  6. ionic 侧栏菜单用法
  7. 编程序常用英语单词是什么
  8. 【MVC5】对MySql数据库使用EntityFramework
  9. Dynamics CRM2013 Server2012R2下IFD部署遇到There is already a listener on IP endpoint的解决方法...
  10. 在线VLOOKUP数据查找工具