📄 fitness.m
字号:
% FTR Market Bid-Clearing(考虑组对组FTR,启用FACTS相应文献的投标数据)
% GA适应度函数
function C=fitness(x)
%%用标幺值进行计算%%
xmin=[0,0,90,0,0,25,0]; %FTR出清数量下限
xmax=[40,25,120,25,25,70,10]; %FTR出清上限
% xmin=zeros(1,7);
% xmax=[100,75,120,90,80,70,100];
n=2000; %选取随机样本数目
b1=0.97; %线路传输约束的置信度水平可修改
counter=0; %计数器初始置0
sum_delta_P=zeros(41,1); %各线路容量越限值之和初始值
ave_delta_P=zeros(41,1); %各线路容量越限均值初始值
num=zeros(41,1); %n种随机情况下各条线路越限情况记数器
k=10000; %惩罚因子赋值
Pw=windpower_weibull(n); %调用产生风机随机功率样本函数
[B,D]=gsdf_ieee30_1; %调用产生GSDF函数
[b0,P_base,T2,T3]=FTRbid_data; %调用存放FTR拍卖数据文件
f=[-13,-10,-12,-11,-9,12.5,10.5]; %FTR投标者报价数据
%判断FTR出清数量是否满足上下限(采用严格惩罚策略对约束条件进行处理)
for i=1:7
if (x(i)>xmax(i)|x(i)<xmin(i))
C=1000000000;
return;
end
end
for i=1:n
Pline = D*(P_base + T2 * x' + T3 * Pw(i)); %线路传输容量向量
if Pline <= (b0'+0.1) & Pline >= -(b0'+0.1) %判断条件允许有一定的误差
counter=counter+1; %满足条件则计数器加1
else
for j=1:41
if Pline(j)> b0(j) | Pline(j) < -b0(j)
num(j)=num(j)+1; %n种随机情况下第j条线路越限情况记数器
delta_P(j) = abs(Pline(j))- b0(j); %第n种随即情况下第j条线路容量越限值
sum_delta_P(j) = sum_delta_P(j) + delta_P(j);
end
end
end
end
if (counter/2000) >= b1
C = x * f'; %该个体满足约束条件,则计算相应目标函数值
else
%%用线路容量越限均值表示其罚函数惩罚项部分%%
p=0; %惩罚项初值置0
for j=1:41
if sum_delta_P(j)>0
ave_delta_P(j) = sum_delta_P(j) / num(j);
% ave_delta_P(j) = sum_delta_P(j) / 2000; %每条线路容量越限均值
p= p + k * ave_delta_P(j)^2;
end
end
C= x * f' + p;
return
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -