zoukankan      html  css  js  c++  java
  • 算法——遗传算法基础

    1.遗传算法的概念

    遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法。

    2.遗传算法的特点

    2.1遗传算法的优点

      (1)对可行解的表示具有广泛性

      (2)具有较好的全局搜索性能,使得遗传算法本身易于并行化

      (3)不需要辅助信息

      (4)内在启发式随机搜索特性

      (5)在搜索过程中不容易陷入局部最优,即使在所定义的适应度函数是不连续的、非规则的或者有噪声的情况下,也能以很大的概率找到全局最优解

      (6)遗传算法采用自然进化机制来表现复杂的现象,能够快速可靠地解决求解非常困难的问题

      (7)遗传算法具有固定的并行性和并行计算的能力

      (8)遗传算法具有可扩展性,易于同别的技术混合

    2.2遗传算法的不足之处

      (1)编码不规范及编码存在表示的不确定性

      (2)单一的遗传算法编码不能全面地将优化问题的约束表示出来。考虑约束的一个方法就是对不可行解采用阈值,这样,计算时间必然增加

      (3)效率比其他传统的优化方法低

      (4)容易出现过早收敛

      (5)对算法的精度、可信度、计算复杂性等方面,还没有有效的定量分析方法

    1.3遗传算法基本术语

     

    3.遗传算法运算流程

    4.针对实际问题,效果比较好的遗传算法的运算流程如下:

    注意:

    选择运算一般为轮盘赌选择

    交叉运算一般为单点交叉

    变异运算一般为基本位变异

    种群大小一般为20-100

    迭代次数一般为100-500

    交叉概率一般为0.4-0.99

    变异概率一般为0.001%-0.1%           

    增大变异概率可以防止早熟

    交叉运算决定了遗传算法的全局搜索能力

    变异运算决定了遗传算法的局部搜索能力

    5.参考程序:

    简单函数优化的遗传算法MATLAB源程序  下载地址:https://pan.baidu.com/s/1HEh-PqCQtZxwslfUWUbBWg

  • 相关阅读:
    Vue中父子组件的通讯
    字符串svg代码转 base64 url
    Vue 中封装 websocket
    vue中使用Echarts,销毁原有的图表进行重新赋值
    Vue中常用表格(增删改查)
    刷新组件
    hdu1272小希的迷宫(并查集+判环)
    九余数定理
    Runtime Error可能的情况
    hdu2035 人见人爱A^B题解
  • 原文地址:https://www.cnblogs.com/FHC1994/p/8504795.html
Copyright © 2011-2022 走看看