遗传算法求解函数极值的应用

开发研究与设计技术

本栏目责任编辑:谢媛媛

遗传算法求解函数极值的应用

周丽

1,2

,张智顺

(1.湖南农业大学理学院信息科学系,湖南长沙410128;2.湖南师范大学数学与计算机科学学院,湖南长沙410081;

3.贵州大学电子科学与信息技术学院,贵州贵阳550003)摘要:通过用遗传算法求高等数学中的函数极值问题,说明了遗传算法对连续、可导等条件的放宽,同时,也体现了遗传算法在求解高等数学中函数极值的良好应用。

关键词:遗传算法;编码;选择;杂交;变异中图分类号:TP18

文献标识码:A

文章编号:1009-3044(2007)21-40802-02

GeneticAlgorithmsfortheApplicationFunctionExtremum

ZHOULi1,2,ZHANGZhi-shun3

(1.Hu'nanAgriculturalUniversityCollegeofInformationScience,Changsha410128,China;2.Hu'nanNormalUniversityMathematicsandComputerScience,ChangSha410081;

3.GuizhouUniversityofElectronicScienceandInformationTechnologyInstitute,Guiyang550003,China)

Abstract:Byusinggeneticalgorithmsforhighermathematicsoffunctionoptimization,thegeneticalgorithmtocontinuous,derivativeandotherconditionsrelaxed.italsodemonstratedthegeneticalgorithmfortheHigherMathematicsfunctionextremumgoodapplication.

keywords:GeneticAlgorithms;Coding;Choice;Hybrid;Variation

遗传算法(geneticalgorithms,简称GA)是根据自然

现象而提出来的一种随机搜界的“物竞天择,适者生存”索算法,是霍兰德(Holland)于1975年在他的著作

中首次提出来《AdaptioninNaturalandartificialSystems》

的。此算法将优化问题看作是自然界中生物的进化过程,通过模拟大自然中生物进化过程中的遗传规律,来达到寻优的目的。

根据达尔文的进化论,在生物进化的过程中,生物的发展进化主要有3个原因,即遗传、变异、和选择。遗传是指子代总是和亲代相似,变异却是指那些不相似的现象,选择是指具有精选的能力,它决定生物进化的方向,适者生存,不适者淘汰。

下面我们用一个实例来说明遗传算法的选择、杂交、变异的三个生物进化过程。

设函数f(X)=18X-X^2其中X为[0,15]间的整数,求

此函数的最大值。

如果此问题用数学知识求解,很容易,如果把此函数看作是[0,15]的连续函数的话,

此函数的图象就是一条开口向下的抛物线,对称轴为

如果是不连续,又不可导呢?那样,我数,十分容易解出。

们就可以用遗传达算法来解决,为了方便演示遗传算法的如果编码、作出适应函数、选择初始种群、选择、杂交、变异等过程,为方便起见,我现在还是以上面那个函数为例:

现在我们用遗传算法来解答:

1遗传编码

由于X的定义域是[0,15]的整数,15<2^4,所以可以用四位的二进制来表示此问题。如:0000表示X=0,1111表示

X=15,其中0,1为基因,而此四位的二进制串就是染色体。

2做出适应函数

这里因为是求f(X)的最大值,所以可以直接用f(X)作为适应函数。

3选择初始种群

假设群体的规模N=4,交配概率P=100%,变异概率P=1%,且设初始群体为:1110、1001、0101、0011,则第为代群体的总体情况由下表1可知:

表1第0代情况表

X=-b/2a=9,因此,最大值在X=9处。

当然,也可以用求导的方法,先可出此函数的导数,再令导数为O,确定函数的极值点,但如果用求导的方法,须要求此函数可导。当然,这里因为是给出的初等函

收稿日期:2007-08-20

作者简介:周丽(1980-),女,湖南郴州人,硕士研究生,研究方向为数理统计;张智顺(1980-),男,湖南郴州人,硕士研究生,研究方向为信息系统的研究与开发。

802

电脑知识与技术

本栏目责任编辑:谢媛媛

从上表中可知:最大适应值为80,最小适应值为45,平均值为59.25,适应值总和为237。

开发研究与设计技术

表3第0代变异情况表

4选择

根据生物进化论,适应度越强的,适应值越大,选择概率越大,越可能被选上,期望次数也越大,而选择概率越小的就越有可能被淘汰,所以表1的群体经选择后,染色体

1110被选择一次,染色体1000被选择两次,染色体0100被选择一次,而染色体0011却被淘汰了。因此,得到第0代的种群为:1110、1000、1000、0100

这样就可以得到新群体(第1代群体)。第1代群体为:在此群体下的选择情况如表4所示:

1100、1010、1001、0100。

表4第1代情况表

5杂交

由于假定了交配概率是100%,所以种群中所有的染色体都参与杂交。假定种群中的染色体是按顺序两两配对杂交。可得下表2:

表2第0代种群的交配情况表

从上表中可知:最大适应值为81,最小适应值为56,平均值为59.25,适应值总和为289。

此时,刚好是问题的适应函数的最大值,对应染色体为

1001,故得到最优解为

X=(1001)的二进制为9。所以函数的最大值为81。

经过交配后,新群体为:1100、1010、1000、0100,其中最大的适应值仍为80,没有发生变化,但平均适应值为72,适应值总和为288。与第0代相比,最大适应值没有提高,平均适应值由61.5提高到了72,适应值总和由237提高到了

上述的交配到何时才能停止呢?一般可以通过规定的最大代数来定义,在达到了指定的进化代后,算法停止。或是如果经过连续进化后,得到的最优解没有任何变化,此时也可以停止交配。

通过上例求函数的极大值问题,说明了遗传算法是一种很好的方法,它可以不需要适应函数的连续性,可导性。放宽了高等数学中求极值时的条件。同时,经过编码后,只可见,遗传算法,在高数求解需做适应值的计算,操作简单。极值问题中发挥了良好的作用。

288。

我们可以发现,上面的群体:1100、1010、1000、0100,不管怎么杂交都无法得到最后最后一位基因为1。因此,已经不可能通过交配达到最优解了。这种过早的陷入局部最优解的早熟现象。

6变异

扩大群体的规模可以防止早熟现象的发生,因此遗传算法一般要求具有一定的群体规模。变异也可以提高群体的多样性,从而为防止出现早熟起到一定的作用。比如:我们在表2所示的子代中染色体1000的第四位基因发生变

异,变成为1001,如表3所示:

(上接第801页)

参考文献:

[1]马少平,朱小燕.人工智能[M].清华大学出版社,2004.[2]曹承志.智能技术[M].清华大学出版社,2004.

[3]蔡自兴,徐光佑.人工智能及其应用[M].清华大学出版社,2004.

[4]朱福喜,杜友福.人工智能引论[M].武汉大学出版社,2006.

6结束语

本文给出了Timer控件的几种用法,起抛砖引玉的作用。Timer控件的作用还有待进一步挖掘。

Case4,5,6

P1.Picture=LoadPicture("绿灯.ico")fbThenTimer2.Enabled=bEndSelect

(10)设置Timer2的Timer事件代码如下:

If(a<4)And(P2.Left>P1.LeftAndP2.Left<P1.Left+P1.Width)OrP2.Left<=100Then

Timer2.Enabled=FalseElse

P2.MoveP2.Left-10,P2.Top,P2.Width,P2.HeightEndIf

运行程序即可完成信号灯指挥交通的功能。

参考文献:

[1]刘瑞新,文成林,汪远征.VisualFoxPro程序设计教程[M].机械工业出版社,2004.86-89.

[2]龚沛曾,陆尉民,杨志强.VisualBasic程序设计简明教程[M].高等教育出版社,2001.154-156.

[3]张毅,王晓强,等.VisualBasic应用技巧与常见问题你问我答[M].北京机械工业出版社,2003.206-210.

[4]申石磊,张东生.VisualBasic程序设计[M].中国科学技术出版社,2007.31-32.

803

开发研究与设计技术

本栏目责任编辑:谢媛媛

遗传算法求解函数极值的应用

周丽

1,2

,张智顺

(1.湖南农业大学理学院信息科学系,湖南长沙410128;2.湖南师范大学数学与计算机科学学院,湖南长沙410081;

3.贵州大学电子科学与信息技术学院,贵州贵阳550003)摘要:通过用遗传算法求高等数学中的函数极值问题,说明了遗传算法对连续、可导等条件的放宽,同时,也体现了遗传算法在求解高等数学中函数极值的良好应用。

关键词:遗传算法;编码;选择;杂交;变异中图分类号:TP18

文献标识码:A

文章编号:1009-3044(2007)21-40802-02

GeneticAlgorithmsfortheApplicationFunctionExtremum

ZHOULi1,2,ZHANGZhi-shun3

(1.Hu'nanAgriculturalUniversityCollegeofInformationScience,Changsha410128,China;2.Hu'nanNormalUniversityMathematicsandComputerScience,ChangSha410081;

3.GuizhouUniversityofElectronicScienceandInformationTechnologyInstitute,Guiyang550003,China)

Abstract:Byusinggeneticalgorithmsforhighermathematicsoffunctionoptimization,thegeneticalgorithmtocontinuous,derivativeandotherconditionsrelaxed.italsodemonstratedthegeneticalgorithmfortheHigherMathematicsfunctionextremumgoodapplication.

keywords:GeneticAlgorithms;Coding;Choice;Hybrid;Variation

遗传算法(geneticalgorithms,简称GA)是根据自然

现象而提出来的一种随机搜界的“物竞天择,适者生存”索算法,是霍兰德(Holland)于1975年在他的著作

中首次提出来《AdaptioninNaturalandartificialSystems》

的。此算法将优化问题看作是自然界中生物的进化过程,通过模拟大自然中生物进化过程中的遗传规律,来达到寻优的目的。

根据达尔文的进化论,在生物进化的过程中,生物的发展进化主要有3个原因,即遗传、变异、和选择。遗传是指子代总是和亲代相似,变异却是指那些不相似的现象,选择是指具有精选的能力,它决定生物进化的方向,适者生存,不适者淘汰。

下面我们用一个实例来说明遗传算法的选择、杂交、变异的三个生物进化过程。

设函数f(X)=18X-X^2其中X为[0,15]间的整数,求

此函数的最大值。

如果此问题用数学知识求解,很容易,如果把此函数看作是[0,15]的连续函数的话,

此函数的图象就是一条开口向下的抛物线,对称轴为

如果是不连续,又不可导呢?那样,我数,十分容易解出。

们就可以用遗传达算法来解决,为了方便演示遗传算法的如果编码、作出适应函数、选择初始种群、选择、杂交、变异等过程,为方便起见,我现在还是以上面那个函数为例:

现在我们用遗传算法来解答:

1遗传编码

由于X的定义域是[0,15]的整数,15<2^4,所以可以用四位的二进制来表示此问题。如:0000表示X=0,1111表示

X=15,其中0,1为基因,而此四位的二进制串就是染色体。

2做出适应函数

这里因为是求f(X)的最大值,所以可以直接用f(X)作为适应函数。

3选择初始种群

假设群体的规模N=4,交配概率P=100%,变异概率P=1%,且设初始群体为:1110、1001、0101、0011,则第为代群体的总体情况由下表1可知:

表1第0代情况表

X=-b/2a=9,因此,最大值在X=9处。

当然,也可以用求导的方法,先可出此函数的导数,再令导数为O,确定函数的极值点,但如果用求导的方法,须要求此函数可导。当然,这里因为是给出的初等函

收稿日期:2007-08-20

作者简介:周丽(1980-),女,湖南郴州人,硕士研究生,研究方向为数理统计;张智顺(1980-),男,湖南郴州人,硕士研究生,研究方向为信息系统的研究与开发。

802

电脑知识与技术

本栏目责任编辑:谢媛媛

从上表中可知:最大适应值为80,最小适应值为45,平均值为59.25,适应值总和为237。

开发研究与设计技术

表3第0代变异情况表

4选择

根据生物进化论,适应度越强的,适应值越大,选择概率越大,越可能被选上,期望次数也越大,而选择概率越小的就越有可能被淘汰,所以表1的群体经选择后,染色体

1110被选择一次,染色体1000被选择两次,染色体0100被选择一次,而染色体0011却被淘汰了。因此,得到第0代的种群为:1110、1000、1000、0100

这样就可以得到新群体(第1代群体)。第1代群体为:在此群体下的选择情况如表4所示:

1100、1010、1001、0100。

表4第1代情况表

5杂交

由于假定了交配概率是100%,所以种群中所有的染色体都参与杂交。假定种群中的染色体是按顺序两两配对杂交。可得下表2:

表2第0代种群的交配情况表

从上表中可知:最大适应值为81,最小适应值为56,平均值为59.25,适应值总和为289。

此时,刚好是问题的适应函数的最大值,对应染色体为

1001,故得到最优解为

X=(1001)的二进制为9。所以函数的最大值为81。

经过交配后,新群体为:1100、1010、1000、0100,其中最大的适应值仍为80,没有发生变化,但平均适应值为72,适应值总和为288。与第0代相比,最大适应值没有提高,平均适应值由61.5提高到了72,适应值总和由237提高到了

上述的交配到何时才能停止呢?一般可以通过规定的最大代数来定义,在达到了指定的进化代后,算法停止。或是如果经过连续进化后,得到的最优解没有任何变化,此时也可以停止交配。

通过上例求函数的极大值问题,说明了遗传算法是一种很好的方法,它可以不需要适应函数的连续性,可导性。放宽了高等数学中求极值时的条件。同时,经过编码后,只可见,遗传算法,在高数求解需做适应值的计算,操作简单。极值问题中发挥了良好的作用。

288。

我们可以发现,上面的群体:1100、1010、1000、0100,不管怎么杂交都无法得到最后最后一位基因为1。因此,已经不可能通过交配达到最优解了。这种过早的陷入局部最优解的早熟现象。

6变异

扩大群体的规模可以防止早熟现象的发生,因此遗传算法一般要求具有一定的群体规模。变异也可以提高群体的多样性,从而为防止出现早熟起到一定的作用。比如:我们在表2所示的子代中染色体1000的第四位基因发生变

异,变成为1001,如表3所示:

(上接第801页)

参考文献:

[1]马少平,朱小燕.人工智能[M].清华大学出版社,2004.[2]曹承志.智能技术[M].清华大学出版社,2004.

[3]蔡自兴,徐光佑.人工智能及其应用[M].清华大学出版社,2004.

[4]朱福喜,杜友福.人工智能引论[M].武汉大学出版社,2006.

6结束语

本文给出了Timer控件的几种用法,起抛砖引玉的作用。Timer控件的作用还有待进一步挖掘。

Case4,5,6

P1.Picture=LoadPicture("绿灯.ico")fbThenTimer2.Enabled=bEndSelect

(10)设置Timer2的Timer事件代码如下:

If(a<4)And(P2.Left>P1.LeftAndP2.Left<P1.Left+P1.Width)OrP2.Left<=100Then

Timer2.Enabled=FalseElse

P2.MoveP2.Left-10,P2.Top,P2.Width,P2.HeightEndIf

运行程序即可完成信号灯指挥交通的功能。

参考文献:

[1]刘瑞新,文成林,汪远征.VisualFoxPro程序设计教程[M].机械工业出版社,2004.86-89.

[2]龚沛曾,陆尉民,杨志强.VisualBasic程序设计简明教程[M].高等教育出版社,2001.154-156.

[3]张毅,王晓强,等.VisualBasic应用技巧与常见问题你问我答[M].北京机械工业出版社,2003.206-210.

[4]申石磊,张东生.VisualBasic程序设计[M].中国科学技术出版社,2007.31-32.

803


相关文章

  • 求解约束优化的改进粒子群优化算法
  • 万方数据 Jo唧al ofComputerApplications ISSN1001-908l 2012一12一Ol 计算机应用,2012,32(12):3319-3321 CODENJYIIDU ht'p://www.joca.cn 文章 ...查看


  • 粒子群优化算法及其应用
  • 2006年第1期信息技术 InformationTechnology 中图分类号:TP391.9 文献标识码:A 文章编号:1009-2552(2006)01-0053-04 粒子群优化算法及其应用 范 娜,云庆夏 (西安建筑科技大学管理科 ...查看


  • 非线性规划的粒子群算法
  • XX 大学 智能优化算法课内实验报告书 院系名称 : 学生姓名 : 专业名称 : 班 级 : 学 时号 : 间 : 非线性规划问题的粒子群算法 1.1 背景介绍 1.1.1 非线性规划简介 具有非线性约束条件或目标函数的数学规划,是运筹学的 ...查看


  • 二元函数极值充分条件的简单证法
  • 2008 NO.24 教育教学方法 China Education Innovation Herald 中国科教创新导刊 二元函数极值充分条件 关键词:二元函数 极值 充分条件 简单证法 中图分类号:G632 文献标识码:A 文章编号:16 ...查看


  • 基于MATLAB的粒子群优化算法及其应用
  • 第20卷 第10期 文章编号:1006-9348(2003)10-0068-03 计 算 机 仿 真 2003年10月 基于MATLAB的粒子群优化算法及其应用 侯志荣,吕振肃 (兰州大学信息科学与工程学院,甘肃兰州730000) 摘要:该 ...查看


  • 求解非线性规划问题的遗传算法设计与实现
  • 摘 要 非线性规划在工程.管理.经济.科研.军事等方面都有广泛的应用.传统的解决非线性规划问题的方法,如梯度法.罚函数法.拉格朗日乘子法等,稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解. 遗传算法是模拟达尔文的遗传选择和自然 ...查看


  • 一种快速红外图像分割方法
  • 第24卷第3期红外与毫米波学报 V01.24.No.3 2005年6月 J.InfraredMillim.Waves June.2005 文章编号:1001-9014(2005)05一0370一04 一种快速红外图像分割方法 杜峰1, 施文 ...查看


  • 遗传算法编码方案比较
  • 第28卷第3期2011年3月 计算机应用研究ApplicationResearchofComputers Vo.l28No.3 Mar.2011 遗传算法编码方案比较 张超群,郑建国,钱 洁 1,2 1 1 * (1.东华大学旭日工商管理学 ...查看


  • 混合智能算法及其在供水水库群优化调度中的应用
  • 水 2007年12月利SHUILI学XUEBAO报第38卷第12期文章编号:0559.9350(2007)12-1437一07 混合智能算法及其在供水水库群优化调度中的应用 刘卫林1'2,董增川1,王德智3 (1.河海大学水文水资源与水利工 ...查看


热门内容