xianyiming01 2018-04-13 07:56 采纳率: 0%
浏览 1036
已结题

请问P_BA_sum_delt、deltp_sum以及r,d等变量分别代表什么?懂微网优化的来

function result=fitness(x,k)%判断粒子的适应度,x是一个行向量,适应度就是问题的解,每一个粒子算一次
C_MT=0;
C_GRID=0;
C_BA=0;
P_BA_sum=0;%储能
deltp_sum=0;
P_BA_sum_delt=0;
%储能荷电状态%
BAsocMax=200;%soc:核电状态
P_load=[11.7 12.4 11.7 12.4 11.7 22.4 81.9 122.4 241.3 242.0 241.3 241.3 241.3 240.7 241.3 240.7 241.3 161.0 122.2 121.1 102.9 101.2 23.0 11.1];%负荷
P_pv=[0 0 0 0 0 0 0 0.0391 19.5244 40.0204 50.1010 73.3946 74.3511 76.3489 72.8004 53.1185 4.6258 0 0 0 0 0 0 0];%光伏
G_price=[0 0 0 0 0 0 0 0 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0.0931 0 0 0];%有可能是高峰电价

for i=1:72%相当于之前的j
if i C_MT=C_MT+0.04*x(i);%第i个粒子的值
elseif i>24&&i<49
C_GRID= C_GRID+G_price(i-24)*x(i);
else
C_BA=C_BA+8*abs(x(i));%绝对值
end
end

for i=49:72
P_BA_sum=P_BA_sum+(-x(i));
P_BA_sum_delt= P_BA_sum_delt+max(0,P_BA_sum-BAsocMax);
end

if(P_BA_sum_delt<=0)
d=0;
elseif(P_BA_sum_delt>0&&P_BA_sum_delt<=0.001)
d=10;%%%%%迭代次数
elseif(P_BA_sum_delt>0.001&&P_BA_sum_delt<=0.1)
d=20;
elseif(P_BA_sum_delt>0.1&&P_BA_sum_delt<=1.0)
d=100;
else
d=1000;
end

%电功率平衡约束处理
for i=1:24
deltp(i)=abs(P_pv(i)+x(i)+x(i+24)+x(i+48)-P_load(i));
deltp_sum=deltp_sum+deltp(i);
end

if(deltp_sum==0)
r=0.0;
elseif(deltp_sum>0&&deltp_sum<=0.001)
% r=10*sqrt(k);%%%%迭代次数
r=10;
elseif(deltp_sum>0.001&&deltp_sum<=0.1)
r=20;
elseif(deltp_sum>0.1&&deltp_sum<=1.0)
r=100;
else
r=2000;
end
%电功率平衡约束处理

result=C_MT+C_GRID+C_BA+d*P_BA_sum_delt+r*deltp_sum;

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-02-19 12:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程