`
xidajiancun
  • 浏览: 492166 次
文章分类
社区版块
存档分类
最新评论

遗传算法解决单变量函数值得优化问题

 
阅读更多

最近稍微学习一下智能算法的设计,就满Internet搜索,最终发现遗传算法是大家学习最多的,也是在各个领域内进行函数优化,解析解求解过程中很重要的一种方法!

学习遗传算法,首先为了上手较快,我推荐大家先使用Matlab,这个工具进行矩阵分析有应用,真的很管用,而且上手特别快!

http://bbs.pinggu.org/biaoqian/matlabbb/ 这个是Matlab相关下载的地方!

http://www.ilovematlab.cn/forum.php 这个网址链接是很多初学者和专业人士都在这里进行讨论交流的地方!我就在这上面学习到好多知识!

http://baike.soso.com/v100038.htm 这个网页上面有很详细的关于遗传只能算法的讲解,内容很详细,是我们学习的好帮手!希望对这个算法不是很熟悉的同学,要好好了解一下这个背景!

个人理解:其实简单的来说,就是使用一个种有效的编码方式,将有效空间中的解集,按照编码方式排布,在代价函数的作用下,不断的有目的的迭代,去寻找最后解,当然这是把这个问题给简化好多!这几其中自然包括如何去选择,如何去进化,如何避免局部最优解,对于种群进化来说应该如何避免种群的进化速度,如何去交叉!如何寻找到一个比较好的代价函数!

现在我们使用英国的谢菲尔德工具箱进行简单遗传算法的设计:下载地址:http://ishare.iask.sina.com.cn/f/7561185.html?sudaref=www.sogou.com&retcode=0

简单的一元函数的优化:

y = sin(10*pi*x)/x 1<=x<=2

参数的设置:

种群大小:40

最大遗传代数:20

个体长度:20

代沟:0.95

交叉遗传:0.7

变异概率:0.01

lb=1;ub=2;
ezplot('sin(10*pi*X)/X',[lb,ub]);
xlabel('自变量/X')
ylabel('函数值/y')



创建一个初始的种群,并用十进制数进行标示,便于计算

trace = zeros(2,MAXGEN);
FieldD = [PRECI;lb;ub;1;0;1;1];
Chrom = crtbp(NIND,PRECI);
gen = 0;
X = bs2rv(Chrom,FieldD);

代价函数:

ObjV = sin(10*pi*X)./X;


下面是主要的迭代过程:

while gen < MAXGEN
    FitnV = ranking(ObjV);
    Selch = select('sus',Chrom,FitnV,GGAP);
    Selch = recombin('xovsp',Selch,px);
    Selch = mut(Selch,pm);
    X = bs2rv(Selch,FieldD);
    ObjvSel = sin(10*pi*X)./X;
    [Chrom,ObjV] = reins(Chrom,Selch,1,1,ObjV,ObjvSel);
    X = bs2rv(Chrom,FieldD);
    gen = gen + 1;
    
    [Y,I] = min(ObjV);
    trace(1,gen) = X(I);
    trace(2,gen) = Y;
end

还有就是一些图片的显示工作!这个对于有matlab基础的同学来说是很easy的事情!在这个方向有什么要的建议我们一起讨论!



分享到:
评论

相关推荐

    基于解决最优化问题的遗传算法实例

    遗传算法是一种借鉴生物界自然选择和遗传机制的搜索启发式算法,自20世纪70年代提出以来,已经成为解决最优化问题的一种有力工具。这种算法模拟了自然界中生物的进化过程,通过选择、交叉(杂交)、变异等操作不断...

    自适应遗传算法matlab程序

    遗传算法(Genetic Algorithm, GA)是一种基于自然选择和遗传学机理的全局优化概率搜索算法,通过模拟生物进化过程中的遗传、变异等操作来寻找最优解或近似最优解。而自适应遗传算法则是遗传算法的一种改进形式,它...

    遗传算法解决非线性规划问题的Matlab程序.pdf

    为了解决这类问题,遗传算法(Genetic Algorithm, GA)作为一种全局优化方法,被广泛应用于非线性整数规划的求解。本文将详细介绍如何使用MATLAB来编写遗传算法程序,并通过一个具体的实例进行解析。 遗传算法模拟...

    并行遗传算法的程序源代码

    值得注意的是,在实际应用中,遗传算法的具体实现可能会更加复杂,包括但不限于更复杂的适应度函数设计、更高效的并行策略等。此外,对于大规模问题或复杂优化问题,还需进一步考虑算法的收敛性和效率等问题。

    仿生智能算法 机器学习技术 遗传算法 基础入门算法知识讲解 共22页.ppt

    同时,结合其他优化算法,如粒子群优化、模拟退火等,形成混合算法,可以进一步增强其解决问题的能力。 总的来说,遗传算法作为仿生智能算法的一种,以其独特的生物进化灵感,提供了一种有效处理复杂优化问题的途径...

    基于遗传算法的超静定液压支架顶梁优化设计

    《基于遗传算法的超静定液压支架顶梁优化设计》一文主要探讨了如何运用遗传算法来优化超静定液压支架顶梁的设计,以达到在保证结构强度的同时降低材料消耗和重量的目的。文章中提到的超静定液压支架是煤炭开采中广泛...

    遗传算法代码

    ### 遗传算法概述与应用实例 遗传算法(Genetic Algorithm, GA)是一种启发式搜索...尽管在特定情况下可能不如专业算法高效,但在面对难以建模或具有高维度复杂性的优化问题时,遗传算法无疑是值得尝试的重要方法。

    基于SpringBoot3+Vue3的智能排课系统,采用遗传算法设计智能排课,你值得拥有!.zip

    遗传算法通常用于优化和搜索问题,例如函数优化、调度问题、机器学习等。 遗传算法包括以下几个步骤: 1. 初始化种群:生成一个包含一定数量个体的种群,每个个体代表问题的一个可能解。个体通常由染色体组成,...

    VC编写的遗传算法的程序代码

    该程序是用C++语言(通常在Visual C++环境下,简称VC)编写的,实现了一个基本的遗传算法,用于函数的最优化问题。遗传算法是一种模拟自然选择和遗传学机制的搜索算法,常用于解决复杂优化问题。 在这个程序中,...

    基于元胞遗传算法的机器人路径规划研究.pdf

    为了解决这些优化问题,研究者们提出了多种算法,元胞遗传算法是其中较为有效的一种。元胞遗传算法,顾名思义,是结合了元胞自动机和遗传算法特点的一种算法。元胞自动机的特点是具有时间和空间的离散性,每个变量...

    演化策略求解多维实值函数优化问题(Ackley函数极小化)

    演化策略是一种基于自然选择和遗传原理的全局优化算法,尤其适用于解决复杂的多维实值函数优化问题。在本文中,我们将深入探讨如何运用(μ,λ)演化策略来解决 Ackley 函数的极小化问题。 Ackley 函数是常用的测试...

    matlab遗传算法工具箱实例讲解.docx

    遗传算法(Genetic Algorithm, GA)是一种模拟自然界生物进化过程的全局优化方法,广泛应用于解决各种复杂的优化问题。MATLAB作为一种强大的数值计算软件,提供了丰富的工具箱支持,其中包括遗传算法工具箱。本文将...

    C实现GA的数学函数问题

    根据给定的信息,本文将详细解释“C实现GA的数学函数问题”,重点在于利用遗传算法(Genetic Algorithm, GA)解决Rosenbrock函数的最大值问题,并通过C语言实现。 ### 一、Rosenbrock函数简介 Rosenbrock函数是一...

    怎么写zemax 优化函数

    1. **选择优化算法**:ZEMAX提供了多种优化算法,如梯度下降法、遗传算法等,选择最适合当前问题的算法。 2. **设置迭代次数**:定义优化过程中允许的最大迭代次数。 3. **运行优化**:点击“Run”按钮开始优化过程...

    MATLAB工具箱-常用函数工具箱GA_for_Matlab5.rar

    "GA_for_Matlab5" 是一个针对MATLAB的遗传算法(Genetic Algorithm, GA)工具箱,它提供了实现优化问题求解的遗传算法框架。在MATLAB中,有许多内置的工具箱,如信号处理、图像处理、控制系统等,而GA工具箱则是专门...

    2019最新伪谱法动态优化

    "pops"可能表示“Population-based”,意味着该算法基于种群或群体,这通常是进化算法(如遗传算法)的一个特征。这样的设计使得算法能够在全球搜索空间中探索多种可能的解决方案,从而更好地逼近全局最优。 使用这...

    喷漆机器人喷漆工艺分析及优化研究.pdf

    研究中使用了遗传算法来解决多目标优化问题,结果表明我们可以通过控制相关参数来达到最小时间消耗和最小材料厚度偏差的目标。 关键词包括喷漆机器人、贝塔分布、多目标优化以及遗传算法。在本文研究中,通过将材料...

    AdapGA.rar_AdapGA

    《自适应遗传算法在求解一维无约束优化问题中的应用》 自适应遗传算法(Adaptive Genetic Algorithm,简称AdapGA)是一种基于生物进化原理的优化算法,它在传统遗传算法的基础上,引入了自适应机制,使得算法能更好...

Global site tag (gtag.js) - Google Analytics