nlp.m

来自「在电力系统中」· M 代码 · 共 35 行

M
35
字号
function result=nlp(SwarmX)
[SwarmSize, SwarmDim] = size(SwarmX);

result=zeros(SwarmSize,1);
x1=SwarmX(:,1);
x2=SwarmX(:,2);
x3=SwarmX(:,3);
x4=SwarmX(:,4);
x5=SwarmX(:,5);
u=100000;
%e=1e-6;
fx=5.3578547*(x3.^2)+0.8356891*(x1.*x5)+37.293239*x1-40792.141;
%hx=0;
gx=zeros(SwarmSize,16);
gx(:,1)=-(85.334407+0.0056858*(x2.*x5)+0.00026*(x1.*x4)-0.0022053*(x3.*x5)-0);
gx(:,2)=  85.334407+0.0056858*(x2.*x5)+0.00026*(x1.*x4)-0.0022053*(x3.*x5)-92;
gx(:,3)=-(80.51249+0.0071317*(x2.*x5)+0.0029955*(x1.*x2)+0.0021813*(x3.^2)-90);
gx(:,4)=  80.51249+0.0071317*(x2.*x5)+0.0029955*(x1.*x2)+0.0021813*(x3.^2)-110;
gx(:,5)=-(9.30096+0.0047026*(x3.*x5)+0.0012547*(x1.*x3)+0.0019085*(x3.*x4)-20);
gx(:,6)=  9.30096+0.0047026*(x3.*x5)+0.0012547*(x1.*x3)+0.0019085*(x3.*x4)-25;
gx(:,7) =-(x1-78) ;
gx(:,8) = (x1-102);
gx(:,9) =-(x2-33) ;
gx(:,10)= (x2-45) ;
gx(:,11)=-(x3-27) ;
gx(:,12)= (x3-45) ;
gx(:,13)=-(x4-27) ;
gx(:,14)= (x4-45) ;
gx(:,15)=-(x5-27) ;
gx(:,16)= (x5-45) ;
gx(gx<=0)=0;
gx_sum=sum(gx'.^2)';

result=fx+gx_sum*u;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?