当前位置:文档之家› 数学建模上机实验3

数学建模上机实验3

options = gaoptimset('PlotFcns',{@gaplotbestf,@gaplotmaxconstr},'Display','iter');%画出每代群体的最优适应度、适应度均值图像。
[x,fval] = ga(ObjectiveFunction,nvars,[],[],[],[],...
(ii)用遗传算法工具箱求解该优化问题,给出求解结果,画出每代群体的最优适应度、适应度均值图像。
问题的分析和假设:
1,首先,通过help或demos帮助文档,查出mesh()画图函数的用ቤተ መጻሕፍቲ ባይዱ;
2,其次,查看GA遗传工具箱的用法,以及画出画出每代群体的最优适应度、适应度均值图像的方法。
建模:
1,先用meshgrid函数产生网格:meshgrid(-3:0.1:3,-2:0.1:2);
z=(4-2.1*x.^2+(x.^4)/3).*x.^2+x.*y+(-4+4*y.^2).*(y.^2)+ 20103432;
mesh(x,y,z)%画图
%定义目标函数并保存为:m_fitness.m
function y = m_fitness(x)
y=(4-2.1*x(1)^2+(x(1)^4)/3)*x(1)^2+x(1)*x(2)+(-4+4*x(2)^2)*(x(2)^2)+20103432;
5,画出每代群体的最优适应度、适应度均值图像:options = gaoptimset('PlotFcns',{@gaplotbestf,@gaplotmaxconstr},'Display','iter')
求解的Matlab程序代码:
[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
数学建模上机实验(三)
姓名
学号
班级
问题:(非线性规划)
设每位同学自己的学号为n,采用非线性规划求解下面优化问题:
函数 为六峰值驼背函数(Six-hump Camel Back Function),要求如下:
(i)mesh()为Matlab中常用的画图函数,请查阅相关书籍或help,掌握mesh用法,画出 的三维图像;
LB,UB,[],options)
计算结果与问题分析讨论:
求解结果:
Optimization terminated: average change in the fitness value less than options.TolFun.
x =
-8.986636249384461e-002 7.126798497072406e-001
2,定义目标函数,并调用mesh函数画出三维图像:z=(4-2.1*x.^2+(x.^4)/3).*x.^2+x.*y+(-4+4*y.^2).*(y.^2)+ 20103432;mesh(x,y,z)
3,设置上下界:LB = [-3 -2]; UB = [3 2];
4,调用GA遗传算法求解:[x,fval] = ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB);
fval =
2.010343096837155e+007
图1:画出 的三维图像;
图2:每代群体的最优适应度、适应度均值图像
ObjectiveFunction = @m_fitness;
nvars = 2; %设置变量个数
LB = [-3 -2]; %设置下界
UB = [3 2]; %设置上界
[x,fval] = ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB)%调用GA遗传算法求解
相关主题