- 积分
- 5
- 注册时间
- 2006-4-4
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-7-7 22:12:50
|
显示全部楼层
来自 陕西西安
下面是3个目标优化的例子
%首先将下面存为一个m文件
function y = schaffer2(x) % y has two columns
% Initialize y for two objectives and for all x
y = zeros(length(x),3);
% Evaluate first objective.
% This objective is piecewise continuous.
for i = 1:length(x)
if x(i) <= 1
y(i,1) = -x(i);
elseif x(i) <=3
y(i,1) = x(i) -2;
elseif x(i) <=4
y(i,1) = 4 - x(i);
else
y(i,1) = x(i) - 4;
end
end
% Evaluate second objective
y(:,2) = (x -5).^2;
y(:,3)=x+3;
%下面存为一个m文件和上面的同一个文件夹下,或者将下面直接命令窗口运行
x = -1:0.1:8;
y = schaffer2(x);
plot(x,y(:,1),'.r'); hold on
plot(x,y(:,2),'.b');
lb = -5;
ub = 10;
options = gaoptimset('PopulationSize',60,'PlotFcns',@gaplotpareto);
[x,f,exitflag] = gamultiobj(@schaffer2,1,[],[],[],[],lb,ub,options);
%第一个目标和第二个目标的pareto曲线
figure (1)
scatter(f(:,1)',f(:,2)')
grid on
%第二个目标和第三个目标的pareto曲线
figure (2)
scatter(f(:,2)',f(:,3)')
grid on
%第一个目标和第三个目标的pareto曲线
figure (3)
scatter(f(:,1)',f(:,3)')
grid on |
评分
-
1
查看全部评分
-
|