我有一个名为loadflow
的主程序,它使用嵌套函数计算数量a,b,c and d
。我必须使用matlab中的简单GA来最小化loadflow
。如何将计算a,b,c and d
作为约束的嵌套函数传递给GA?
function [ main ] = cost( DGvect )
%load variables like cap_factor,puload1 etc here
DGmat=reshape(10000*DGvect,6,[]);
CDG=sum((100*500*[1 2 3 7 9 10])*DGmat);
ODG=sum(87600*[4.5 4 5 5 1 0.5]*(DGmat.*repmat([.35 .55 .35 .4 .2 .25]',1,32)));
[Vbus,Il,Ploss]=loadflow((1.04^10)*puload1,cap_factor(2,:),DGmat);
CPE=CPV*abs(real(Il(1,1)))*8760*10.4e3;
CEL=Ploss*(10.4e3)*CPV*8760;
main=CDG+ODG+CPE+CEL;
end
有一个带有输入参数(Vbus,Il,Ploss)的函数,它返回RIv,RIloss,RIflow和RIscc。我需要对候选DGvect的RI为< 1(约束)是有效的解决方案。