基于matlab软件遗传算法的目标函数优化问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于matlab 软件遗传算法的目标函数优化问题

问题:基于试验结果,对理论方程进行优化调整,先假定两个未知量1η和2η,对理论公式e V 进行修正。修正后的公式模型为:

()()()211231cot cot 1cot tan 2e sv sv e sw sw e c sv sv sw sw V f bj f bj vf f f bh ρϕηρϕρηρϕθηη⎧⎫⎡⎤=++-++⋅⎨⎬⎣⎦⎩⎭

利用matlab 软件中遗传算法(ga )进行优化分析 ,得出未知量1η和2η的最优解。

Fitness :

function y = fitness(x)

global test_v para_v

idx=[1;2;3;4;5;6;7;8;9;10;11;12;13;14;15];

n = length(idx);

fv=zeros(n,1);

for i=1:n

p=para_v(idx(i),:);

fv(i) = ((p(1)*p(2)+p(6)*p(7))*prod(p(3:5))+ 0.5*(p(8)*p(9) - (p(1)*p(2)+p(6)*p(7))*(1+p(5)^2)) *p(3)*p(10)*p(11))*0.91*x(1); fv(i) =fv(i)/1000;

end

y=norm(test_v(idx)-fv);

% y = sum((test_v(idx) -fv).^2);

其中:idx=[1;2;3;4;5;6;7;8;9;10;11;12;13;14;15]; 为:公式模型e V 的各项因子具体数值,在para_v 中,而test_v 为试验值。 main_ga :

clear

clc

global test_v para_v

load para_value1

load V

test_v=V;

para_v=para_value;

ObjectiveFunction = @fitness;

options =

gaoptimset('Display','iter','PlotFcns',{@gaplotbestf,@gaplotstopping} ,'PlotInterval', 1, 'Generations', 100,'PopulationSize', 100,...

'PopInitRange',[0.5 0.5;1 1],

'CrossoverFraction',0.8, 'StallGenLimit', 100, 'TolFun', 1e-100); nvars = 1;

LB = [0.1 0.1];

UB = [2 2];

[x,fval] = ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB,[], options)

相关文档
最新文档