?? fvalue.m
字號:
function value=fvalue(p,t)
%功率的上下限
%pmin=[-200 -80 -50 -30 -30 -40];
pmin=[40 60 80 24 26 68 110 135 135 130 94 94 125 125 125 125 125 220 220 242 242 254 254 254 254 254 254 10 10 10 20 20 20 20 18 18 20 25 25 25 ];
pmax=[80 120 190 42 42 140 300 300 300 300 375 375 500 500 500 500 500 500 500 550 550 550 550 550 550 550 550 150 150 150 70 70 70 70 60 60 60 60 60 60];
%功率懲罰系數(shù)
PENISH_COEFFICIENT=100*t;
%總功率
P_REQUIRE=8550;
%功率越界懲罰系數(shù)
puppunish=[100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0]*t;
pdownpunish=[100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0]*t;
%系數(shù)矩陣
a=[170.44,309.54,369.03,135.48,135.19 ,222.33,287.71,391.98,455.76,722.82 ,635.20,654.69,913.40,1760.4,1728.3 ,1728.3,1728.3,647.85,649.69,647.83 ,647.81,785.96,785.96,794.53,794.53 ,801.32,801.32,1055.1,1055.1,1055.1 ,1207.8,810.79,1247.7,1219.2,641.43 ,1112.8,1044.4,832.24,834.24,1035.2];
b=[8.336,7.0706,8.1817,6.9467,6.5595 ,8.0543,8.0323,6.999,6.602,12.908 ,12.986,12.796,12.501,8.8412,9.1575 ,9.1575,9.1575,7.9691,7.955,7.9691 ,7.9691,6.6313,6.6313,6.6611,6.6611 ,7.1032,7.1032,3.3353,3.3353,3.3353 ,13.051,21.887,10.244,8.3707,26.258 ,9.6956,7.1633,16.339,16.339,16.339];
c=[0.03073,0.02028,0.00942,0.08482,0.09693 ,0.01142,0.00357,0.00492,0.00573,0.00605 ,0.00515,0.00569,0.00421,0.00752,0.00708 ,0.00708,0.00708,0.00313,0.00313,0.00313 ,0.00313,0.00298,0.00298,0.00284,0.00284 ,0.00277,0.00277,0.52124,0.52124,0.52124 ,0.25098,0.16766,0.26530,0.30575,0.18362 ,0.32563,0.33722,0.23915,0.23915,0.23915];
%維度
d=length(p);
value=0;
for i=1 : d
if p(i)>pmax(i)
% value=value+puppunish(i)*(p(i)-pmax(i));
p(i)=p(i)-rand(1,1)*(pmax(i)-pmin(i));
end
if p(i)<pmin(i)
% value=value+pdownpunish(i)*(pmin(i)-p(i));
p(i)=p(i)+rand(1,1)*(pmax(i)-pmin(i));
end
value=value+a(i)+b(i)*p(i)+c(i)*p(i)*p(i);
end
%總共產(chǎn)生的功率
power_product=0;
for i=1 : d
power_product=power_product+p(i);
end;
%總功的懲罰*0.01
value=value+abs(P_REQUIRE-power_product)*PENISH_COEFFICIENT;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -