运用MATLAB遗传算法工具箱求解非线性多目标优化问题,

问题描述:

运用MATLAB遗传算法工具箱求解非线性多目标优化问题,
编程过程如下:
function f1=func(x) %第一目标函数
f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;
function f2=func(x) %第二目标函数
f2=x(:,1).*(1-x(:,2))+10;
NIND=100; %个体数目
MAXGEN=50; %最大遗传代数
NVAR=2; %变量个数
PRECI=20; %变量的二进制位数
GGAP=0.9; %代沟
trace1=[];trace2=[];trace3=[]; %性能跟踪
%建立区域描述器
FieldD=[rep([PRECI],[1,NVAR]);[1,1:4,2];rep([1;0;1;1],[1,NVAR])];
Chrom=crtbp(NIND,NVAR*PRECI); %初始种群
v=bs2rv(Chrom.FieldD); %初始种群十进制转换
gen=1;
while gen Duomubiaoyouhua at 2
f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;
怎样修改呢
运行出错:
Undefined command/function 'rep'.
Error in ==> GA at 10
FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];
1个回答 分类:综合 2014-11-12

问题解答:

我来补答
将下属两个目标函数分别保存在两个m文件中
function f1=func1(x) %第一目标函数
f1=x(:,1).*x(:,1)./4+x(:,2).*x(:,2)./4;
function f2=func2(x) %第二目标函数
f2=x(:,1).*(1-x(:,2))+10;
function GA()
clear;clc;close all
NIND=100; %个体数目
MAXGEN=50; %最大遗传代数
NVAR=2; %变量个数
PRECI=20; %变量的二进制位数
GGAP=0.9; %代沟
trace1=[];trace2=[];trace3=[]; %性能跟踪
%建立区域描述器
% rep([PRECI],[1,NVAR])
FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];
Chrom=crtbp(NIND,NVAR*PRECI); %初始种群
v=bs2rv(Chrom,FieldD) ; %初始种群十进制转换
gen=1;
while gen
 
 
展开全文阅读
剩余:2000