实验五、遗传算法
- 格式:doc
- 大小:79.50 KB
- 文档页数:3
实验五遗传算法求解优化问题
一、实验目的
熟悉遗传算法的用法。
二、实验内容:
求解函数f(x1,x2,x3)=x1*x1+x2*x2+x3*x3的最小值,其中-5.12<=Xi<=5.12.
三、实验步骤
1. 设定种群规模为50,交叉概率为0.8,变异概率为0.15.
(1)编写适应度函数为:
文件名为fun_u .m,文件内容:
function y= fun_u.m (x)
y= x(1).^2 + x(2).^2 + x(3).^2;
(2)调用遗传算法函数求解各代种群中的个体的适应度
[x fval]=ga(@fun_u 1,1)
得到优化结果:
x = -0.655,
fval = 2.741
2.图形用户界面下应用遗传算法求解优化问题
(1)设置参数和调用遗传算法的程序主体部分如下:main.m
p0=[0 0 0];
A=[];
b=[];
Aeq=[];
beq=[];
vlb=[-5.12;-5.12;-5.12];
vub=[5.12;5.12;5.12];
[x,fval]=fmincon('fun_u',p0,A,b,Aeq,beq,vlb,vub,'confun_u')
(2)编写适应度函数文件名为:confun_u.m,文件内容:
function [g,ceq]=confun_u(x)
g=-1;
ceq=-1;
(2)在图形用户界面窗口下运行遗传算法函数:在MATLAB的命令窗口中输入命令:gatool,回车后即可进入遗传算法图形用户界面窗口。
输入适应度函数名:@ confun_u、设置变量个数为:3,其他未默认值。
按start按钮,运行遗传算法,得到如下结果:
x =-0.655 1.516 0.123
fval =2.741
适应度函数曲线图为:
四.实验总结:
通过这次这次实验,我们更深一步了解了遗传算法求解优化问题。
由上面实验可得,通过遗
传算法求优法,很好地找到最好的结果。