遗传算法理论_第1页
遗传算法理论_第2页
遗传算法理论_第3页
遗传算法理论_第4页
遗传算法理论_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学建模工作室2023/1/12数学建模培训讲义

第1页

遗传算法简介数学建模工作室2023/1/12数学建模培训讲义

第2页

非线性规划的基本概念

定义

如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题.

一般形式:

(1)其中,是定义在En上的实值函数,简记:

其它情况:

求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数化为上述一般形式.数学建模工作室2023/1/12数学建模培训讲义

第3页

评注非线性规划的求解一般要比线性规划的求解困难的多,不像线性规划那样有适应于一般情况的单纯形法。我们知道线性规划的可行域一般是个凸集,其最优解在可行域的边界上达到;而非线性规划问题的可行域一般不是凸集,最优解也不一定在边界上达到。现在的各种各样的算法都是针对各自特定的适用范围的,这也是正处在研究发展中的学科领域。数学建模工作室2023/1/12数学建模培训讲义

第4页

罚函数法

罚函数法基本思想是通过构造罚函数把约束问题转化为一系列无约束最优化问题,进而用无约束最优化方法去求解.这类方法称为序列无约束最小化方法.简称为SUMT法.其一为SUMT外点法,其二为SUMT内点法.数学建模工作室2023/1/12数学建模培训讲义

第5页

其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项,这里的罚函数只对不满足约束条件的点实行惩罚:当时,满足各,故罚项=0,不受惩罚.当时,必有的约束条件,故罚项>0,要受惩罚.SUTM外点法数学建模工作室2023/1/12数学建模培训讲义

第6页

SUTM内点法(障碍函数法)数学建模工作室2023/1/12数学建模培训讲义

第7页

遗传算法传统的优化方法(局部优化)共轭梯度法、拟牛顿法、单纯形方法全局优化方法漫步法(RandomWalk)、模拟退火法、GA关于优化问题比较:传统的优化方法

1)依赖于初始条件。

2)与求解空间有紧密关系,促使较快地收敛到局部解,但同时对解域有约束,如可微或连续。利用这些约束,收敛快。

3)有些方法,如Davison-Fletcher-Powell直接依赖于至少一阶导数;共轭梯度法隐含地依赖于梯度。数学建模工作室2023/1/12数学建模培训讲义

第8页

全局优化方法1)不依赖于初始条件;2)不与求解空间有紧密关系,对解域,无可微或连续的要求。求解稳健,但收敛速度慢。能获得全局最优。适合于求解空间不知的情况数学建模工作室2023/1/12数学建模培训讲义

第9页

⑴选择运算⑵交换操作⑶变异遗传算法的基本运算遗传算法基本原理

模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传空间,把可能的解编码成一个向量——染色体,向量的每个元素称为基因。通过不断计算各染色体的适应值,选择最好的染色体,获得最优解。数学建模工作室2023/1/12数学建模培训讲义

第10页

●选择运算——从旧的种群中选择适应度高的染色体,放入匹配集(缓冲区),为以后染色体交换、变异,产生新的染色体作准备。选择方法——适应度比例法(转轮法)按各染色体适应度大小比例来决定其被选择数目的多少。某染色体被选的概率:Pcxi为种群中第i个染色体,数学建模工作室2023/1/12数学建模培训讲义

第11页

具体步骤1)计算各染色体适应度值2)累计所有染色体适应度值,记录中间累加值S-mid和最后累加值sum=∑f(xi)3)产生一个随机数N,0〈N〈sum4)选择对应中间累加值S-mid的第一个染色体进入交换集

5)重复(3)和(4),直到获得足够的染色体。(首个>=N的S-mid所对应的染色体被选中)举例:⒈具有6个染色体的二进制编码、适应度值、Pc累计值。数学建模工作室2023/1/12数学建模培训讲义

第12页

染色体的适应度和所占的比例用转轮方法进行选择数学建模工作室2023/1/12数学建模培训讲义

第13页

染色体编号12345678910适应度8217721211737被选概率0.10.020.220.090.090.030.09适应度累计8

10

273436

48

59

666976随机数2349761312757所选染色体号码37103137染色体被选的概率被选的染色体个数⒉10个染色体种群按比例的选择过程数学建模工作室2023/1/12数学建模培训讲义

第14页

●交换操作

方法:随机选择二个染色体(双亲染色体),随机指定一点或多点,进行交换,可得二个新的染色体(子辈染色体).新的子辈染色体:A’11010|001B’01011|110模拟生物在自然界环境变化,引起基因的突变.在染色体二进制编码中,1变成0;或0变成1.突变产生染色体的多样性,避免进化中早期成熟,陷入局部极值点,突变的概率很低.●变异复制不能创新,交换解决染色体的创新数学建模工作室2023/1/12数学建模培训讲义

第15页

GA的流程数学建模工作室2023/1/12数学建模培训讲义

第16页

简单遗传算法(GA)的基本参数①种群规模P:参与进化的染色体总数.②代沟G:二代之间不相同的染色体数目,无重叠G=1;

有重叠0<G<1③选择方法:转轮法,精英选择法,竞争法.④交换率:Pc一般为60~100%.⑤变异率:Pm一般为0.1~10%举例:变异概率取0.001数学建模工作室2023/1/12数学建模培训讲义

第17页

初始种群和它的适应度值染色体的交换操纵数学建模工作室2023/1/12数学建模培训讲义

第18页

举例:数学建模工作室2023/1/12数学建模培训讲义

第19页

步骤1)编码:确定二进制的位数;组成个体(染色体)步骤2)选择种群数P和初始个体,计算适应度值,

P=20;数学建模工作室2023/1/12数学建模培训讲义

第20页

遗传算法工具箱数学建模工作室2023/1/12数学建模培训讲义

第21页

主要函数GAGeneticalgorithmsolver.X=GA(FITNESSFCN,NVARS)findstheminimumofFITNESSFCNusingGA.NVARSisthedimension(numberofdesignvariables)oftheFITNESSFCN.FITNESSFCNacceptsavectorXofsize1-by-NAVRS,andreturnsascalarevaluatedatX.

X=GA(FITNESSFCN,NAVRS,OPTIONS)findstheminimumforFITNESSFCNwiththedefaultoptimizationparametersreplacedbyvaluesinthestructureOPTIONS.OPTIONScanbecreatedwiththeGAOPTIMSETfunction.数学建模工作室2023/1/12数学建模培训讲义

第22页

GAX=GA(PROBLEM)findstheminimumforPROBLEM.PROBLEMisastructurethathasthefollowingfields:fitnessfcn:<FitnessFunction>nvars:<Numberofdesignvariables>options:<OptionsstructurecreatedwithGAOPTIMSET>randstate:<Optionalfieldtoresetrandstate>randnstate:<Optionalfieldtoresetrandnstate>

[X,FVAL]=GA(FITNESSFCN,...)returnsFVAL,thevalueofthefitnessfunctionFITNESSFCNatthesolutionX. [X,FVAL,REASON]=GA(FITNESSFCN,...)returnstheREASONforstopping.数学建模工作室2023/1/12数学建模培训讲义

第23页

GA[X,FVAL,REASON,OUTPUT]=GA(FITNESSFCN,...)returnsastructureOUTPUTwiththefollowinginformation:randstate:<StateofthefunctionRANDusedbeforeGAstarted>randnstate:<StateofthefunctionRANDNusedbeforeGAstarted>generations:<Totalgenerations,excludingHybridFcniterations>funccount:<Totalfunctionevaluations>message:<GAterminationmessage>[X,FVAL,REASON,OUTPUT,POPULATION]=GA(FITNESSFCN,...)returnsthefinalPOPULATIONattermination. [X,FVAL,REASON,OUTPUT,POPULATION,SCORES]=GA(FITNESSFCN,...)returnstheSCORESofthefinalPOPULATION.数学建模工作室2023/1/12数学建模培训讲义

第24页

例子(寻找最小值)函数:functiony=two_min(x)ifx<20y=-exp(-(x/20).^2);elsey=-exp(-1)+(x-20)*(x-22);end数学建模工作室2023/1/12数学建模培训讲义

第25页

数学建模工作室2023/1/12数学建模培训讲义

第26页

求解最小值程序options=gaoptimset;options.PopulationType='doubleVector';options.PopulationSize=100;options.StallGenLimit=inf;options.StallTimeLimit=inf;options.PlotFcns=@gaplotbestf;options.Generations=50;[x,fval,reason]=ga(@two_min,1,options)数学建模工作室2023/1/12数学建模培训讲义

第27页

计算结果x=-0.0014fval=-1.0000reason=Optimizationterminated:maximumnumberofgenerationsexceeded.数学建模工作室2023/1/12数学建模培训讲义

第28页

数学建模工作室2023/1/12数学建模培训讲义

第29页

数学建模工作室2023/1/12数学建模培训讲义

第30页

进一步分析options=

PopulationType:'doubleVector'PopInitRange:[2x1double]PopulationSize:100EliteCount:2CrossoverFraction:0.8000MigrationDirection:'forward'MigrationInterval:20MigrationFraction:0.2000Generations:50TimeLimit:Inf

FitnessLimit:-InfStallGenLimit:InfStallTimeLimit:InfInitialPopulation:[]InitialScores:[]PlotInterval:1CreationFcn:@gacreationuniformFitnessScalingFcn:@fitscalingrankSelectionFcn:@selectionstochunifCrossoverFcn:@crossoverscatteredMutationFcn:@mutationgaussianHybridFcn:[]Display:'final'PlotFcns:@gaplotbestfOutputFcns:[]Vectorized:'off'数学建模工作室2023/1/12数学建模培训讲义

第31页

指定变量的上、下界options.PopInitRange=[-11;26]options.PopulationSize=300;%扩大人口[x,fval,reason]=ga(@two_min,1,options)数学建模工作室2023/1/12数学建模培训讲义

第32页

数学建模工作室2023/1/12数学建模培训讲义

第33页

数学建模工作室2023/1/12数学建模培训讲义

第34页

遗传算法工具菜单GATOOLGeneticAlgorithmT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论