- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab遺传算法学习和全局化算法
1 遗传算法步骤
1 根据具体问题选择编码方式,随机产生初始种群,个体数目一定,每个个体表现为染色体的基因编码
2 选择合适的适应度函数,计算并评价群体中各个体的适应。
3 选择(selection)。根据各个个体的适应度,按照一定的规则或方法,从当前群体中选择出一些优良的个体遗传到下一代群体
4 交叉(crossover)。将选择过后的群体内的各个个体随机搭配成对,对每一对个体,以一定概率(交叉概率)交换它们中的部分基因。
5 变异(mutation)。对交叉过后的群体中的每一个个体,以某个概率(称为变异概率)改n 变某一个或某一些基因位上的基因值为其他的等位基因
6 终止条件判断。若满足终止条件,则以进化过程中得到的具有最大适应度的个体作为最优解输出,终止运算。否则,迭代执行Step2 至Step5。
适应度是评价群体中染色体个体好坏的标准,是算法进化的驱动力,是自然选择的唯一依据,改变种群结构的操作皆通过适应度函数来控制。在遗传算法中,以个体适应度的大小来确定该个体被遗传到下一代群体中的概率。个体的适应度越大,被遗传到下一代的概率就越大,相反,被遗传到下一代的概率就越小。
1 [a,b,c]=gaopt(bound,fun)其中,bound=[xm,xM]为求解区间上届和下届构成的矩阵。Fun为用户编写的函数。a为有哪些信誉好的足球投注网站的结果向量,由有哪些信誉好的足球投注网站的出的最优x向量与目标函数构成,b为最终有哪些信誉好的足球投注网站种群,c为中间有哪些信誉好的足球投注网站过程变参数,其第一列为代数,后边列分别为该代最好的的个体与目标函数的值,可以认为寻优的中间结果。
2 ga函数。[X,F, FLAG,OUTPUT] = GA(fun, n,opts).n为自变量个数,opts为遗传算法控制选项,用gaoptimset()函数设置各种选项,InitialPopulation可以设置初始种群,用PopulationSize可以设置种群规模,SelectionFcn可以定义选择函数,
3 gatool 函数用于打开,GATOOL is now included in OPTIMTOOL。
2.2 通过GUI 使用遗传算法
在Matlab 工作窗口键入下列命令gatool, 或通过Start 打开其下子菜单Genetic Algorithm Tool,如图1。只要在相应的窗格选择相应的选项便可进行遗传算法的计算。其中fitnessfun 窗格为适应度函数, 填写形式为@fitnessfun,Number of variable 窗格为变量个数。其它窗格参数根据情况填入。填好各窗格内容,单击Start 按钮,便可运行遗传算法
例子1 应用实例
已知某一生物的总量y(单位:万个)与时间t(月)之间的关系为y=k0(1-exp(-k1*t)),
统计十个月得到数据见表1,试求关系式中的k0,k1。先编写目标函数,并以文件名myfung.m 存盘。
function y=myfung(x)
TOT=[2.0567 3.6904 4.9881 6.0189 6.8371 7.4881 8.0047 8.4151 8.7411 9.0000];
t=1:10;[r,s]=size(TOT);y=0;
for i=1:s
y=y+(TOT(i)-x(:,1)*(1-exp(-x(:,2)*t(i))))^2 %最小估计原则
end
打开遗传算法的GUI,在Fitness function 窗格中输入@myfung,在Number of variables 窗格中输入数字2,在Stopping criteria 选项中设置generations 为300,fitness limit 为0.001,stall generations 为100,其它参数为缺省值,然后单击Start 运行遗传算法得到k0=9.99559,k1=0.23018,即
例子2
2 matlab 7 GA工具箱_木子一车(转载)
例子1求的最大值;也就是求负函数的最小值
最大值为-38.8503,在点 xmin=[11.6255 5.7250];
clear
f=@(x1,x2)(-(21.5+x1.*sin(4*pi*x1)+x2.*sin(20*pi*x2)))
t1=-3:0.1:12.1; t2=4:1.8/(length(t1)-1):5.8;
[x,y]=meshgrid(t1,t2);
mesh(x,y,f(x,y))
方法1 遗传算法
f=@(x)-(21.5+x(1)*sin(4*pi*x(1))+x(2)*sin(20*pi*x(2)));
opt1 = gaoptimset;
opt1.PopInitRange = [[-3.0 4.1];[12.1 5.8]];
opt1.PopulationSize = 100
您可能关注的文档
最近下载
- PRS-7000_220KV型数字变电站自动化系统技术使用说明书.pdf VIP
- 国开电大《个人与团队管理》(试卷号22269)机试试题.pdf
- 2024广东统招专升本《大学语文》全书知识点汇总课件.pdf
- 虫害控制程序(SSOP).doc VIP
- 2025届【九省联考】全国高三10月联考数学答案.docx
- 滥竽充数-完整版PPT课件.ppt
- 2024华医网继续教育护理多学科协作,为老年外科患者保驾护航题库答案.docx VIP
- 冀教版小学数学五年级上册7.3《土地资源问题》说课PPT(共21张PPT).pptx VIP
- 嵌入式技术入门与实战(基于STM32)全套教学课件.pptx
- 2024年煤炭销售绩效考核办法.pdf VIP
文档评论(0)