为什么初始和最终人口没有相同的数量级?

时间:2016-05-30 17:00:09

标签: matlab optimization genetic-algorithm

我最小化了MATLAB中的目标函数y = abs(x-1),我观察到了 计算输出结果。我定义了一个包含一组值的初始种群。 例如initialPopulation = [100;70;100;200;200]populationSize等于5。 MATLAB输出了最佳populationscore,即...的值 目标函数 - fval和目标函数变量的值 - x

主要功能

function [x,fval,exitflag,output,population,score] = opt_001()  
%% This is an auto generated MATLAB file from Optimization Tool.  
nvars = 1;  
%% Start with the default options  
a = [100;70;100;200;200];  
options = gaoptimset;  
%% Modify options setting  
options = gaoptimset(options,'Display','iter');  
options = gaoptimset(options,'Generations', 61,'StallGenLimit',60);  
options = gaoptimset(options,'InitialPopulation',a,'PopulationSize',5);  
[x,fval,exitflag,output,population,score] = ...  
ga(@opt,nvars,[],[],[],[],[],[],[],[],options);  

目标函数

function [y] = opt(t)  
y = abs( t - 1 )  

输出

x = 1.1472
fval = 0.1472
output = 
  problemtype: 'unconst…'
     rngstate: [1x1 struct]
  generations: 61
    funccount: 310
      message: 'Optimiz…'
maxconstraint: []

population =
1.1472
1.2929
1.2929
1.1472
1.2929
score =
0.1472
0.2929
0.2929
0.1472
0.2929

我希望初始和最终人口具有相同的值空间。 相比之下看结果,似乎是最好的价值了 最终总体收敛于目标函数的变量值x。 分数值与目标函数fval

相同

我认为这很奇怪,我想 谈论这个是个好主意。 初始和最终都不奇怪 人口没有相同的数量级? 有什么想法吗?提前谢谢!

0 个答案:

没有答案