- 8
- 0
- 约2.66千字
- 约 4页
- 2020-11-29 发布于甘肃
- 举报
编程实现利用遗传算法求解方程最值
函数为:
求函数y=x+3*sin(2*x)-7*cos(x) 在【-4 4】的最大值
MATLAB 程序如下:
1.主控制程序
GA.m
%求函数y=x+3*sin(2*x)-7*cos(x) 在【-4 4】的最大值
%
function main()
clear
clc
popsize=100
chromlength=10
pc=0.6
pm=0.01
%%
pop=initpop(popsize,chromlength)
for i=1:100
[objvalue]=calobjvalue(pop)
fitvalue=calfitvalue(objvalue)
[newpop]=selection(pop,fitvalue)%选择操作
[newpop]=crossover(pop,pc)%交叉操作
[newpop]=mutation(pop,pm)%变异操作
[bestindividaul,bestfit]=best(pop,fitvalue)%求出群体中适应值最大的个体及其适应值
y(i)=max(bestfit)
n(i)=i
pop5=bestindividaul
x(i)=decodechrom(pop5,
原创力文档

文档评论(0)