综合能源系统多目标粒子群优化代码!

综合能源系统多目标粒子群优化是一种应用于能源系统优化的进化算法方法,旨在解决多个相互竞争的优化目标。这种方法结合了综合能源系统的多个性能指标,以寻找一组最佳解决方案,这些解决方案在多个目标下都具有较好的性能。这些目标可以包括能源系统的效率、经济性、环境友好性等。

以下是综合能源系统多目标粒子群优化的基本步骤:

问题定义:首先,明确定义综合能源系统的多个目标。这可以包括能源系统的能源效率、成本、二氧化碳排放等方面的指标。还需要考虑每个目标的权重和约束条件。

粒子编码:将每个可能的解决方案表示为一个粒子,需要为每个粒子定义一个编码,以便算法能够操作它们。这可以是一组参数的向量,每个参数代表综合能源系统的某个决策变量。

目标函数:为每个目标定义一个适应度函数。这些函数用于评估每个粒子的性能。通常,对于最小化的目标,适应度函数可以是目标函数的负值。

初始化群体:随机生成一组粒子,作为初始解的群体。

迭代优化:通过不断迭代来逐步改进粒子的位置。在每一代,粒子根据其适应度值以及邻居粒子的信息来更新其位置。多目标粒子群算法会维护一个种群,其中每个粒子都有多个适应度值,代表其在不同目标下的性能。

非支配排序:在每一代中,进行非支配排序,将粒子分为不同的前沿(Pareto前沿),其中每个前沿包含一组不相互支配的解。这些解代表了在不同目标下的最佳权衡。

选择和更新:从前沿中选择粒子,以构建下一代的种群。常见的选择策略包括锦标赛选择、拥挤度距离等。

终止条件:设定终止算法的条件,例如达到最大迭代次数或达到一定的收敛标准。

结果分析:最后,从 Pareto 前沿中选择适合特定需求的解决方案,这通常需要进一步的决策分析。

综合能源系统多目标粒子群优化是一种有效的方法,可用于处理多目标性能优化的能源系统问题,它可以帮助决策者在不同的目标之间找到最佳的权衡。

代码组成:

代码结果:

部分代码:

for i=1:nn
   xx(i)= mm.swarm(1,i).cost(1);
  yy(i)= mm.swarm(1,i).cost(2);
   zz(i)=mm.swarm(1,i).cost(3);
end

m1=max( xx);
m2=max( yy);
m3=max( zz);
for i=1:nn
    object(i)= mm.swarm(1,i).cost(1)./m1+ mm.swarm(1,i).cost(2)./m2+ mm.swarm(1,i).cost(3)./m3;
  
end
[m,p]=min(object);
pg=mm.swarm(1,p).x;


P_gas_G=pg(1:24)*ngas_G;
P_gas_H=pg(1:24)*ngas_h;
P_gas_C=pg(1:24)*ngas_c;
P_gas=pg(1:24); %天然气出力
P_mh=pg(25:48);  %电热锅炉出力
P_mc=pg(49:72);  %电制冷机出力
P_GBh=pg(25:48)*nGB_h;
P_EC=pg(49:72)*COP_EC;
G_PV=pg(97:120);  %光伏
G_WT=pg(121:144);  %风电
G_grid=pg(73:96);  %电网
response_L=pg(145:168); %冷热电负荷的变化量
response_R=pg(169:192);
response_P=pg(193:216);
dload_L=(L_load+response_L)-(P_EC+P_gas_C);  %冷负荷的功率不平衡量 可以看做储能的出力
dload_R=(R_load+response_R)-(P_GBh+P_gas_H);  %热负荷的功率不平衡量
dload_P=(P_load+response_P)-(G_PV+G_WT+P_gas_G+G_grid-P_mh-P_mc);  %电负荷的功率不平衡量  认为G_grid  正为买电  负为卖电
 for i=1:24
    profit(i)=(0.86-0.23)*1000*G_PV(i)+(0.53-0.16)*1000*G_WT(i); %光伏收益  卖价-成本
 end 
 cost_buy=0;
 cost_sell=0;
  for i=1:24
  CCHP_benefit(i)=price_G(i)*1000*P_gas_G(i)+price_H(i)*1000*P_gas_H(i)+price_C(i)*1000*P_gas_C(i); %CCHP  供冷热电收益
  if G_grid(i)>0
      cost_buy= cost_buy+G_grid(i)* G_price_buy(i);
  else 
   cost_sell=cost_sell+G_grid(i)* G_price_sell(i);
  end 
 cost_device(i)=0.02*P_mh(i)+0.023*P_mc(i)+0.075*P_gas(i);  %设备成本
 benefit_grid(i)=G_price_sell(i)*(P_mc(i)+P_mh(i));
 
  end
 
  for i=1:24
  uesrs_buy(i)=price_G(i)*1000*(P_load(i)+response_P(i))+price_H(i)*1000*(R_load(i)+response_R(i))+price_C(i)*1000*(L_load(i)+response_L(i)); %CCHP  供冷热电收益

  end

y(1) =sum( profit);
y(2) = sum(CCHP_benefit)+cost_sell+sum( benefit_grid)-cost_buy-sum(cost_device);  %CCHP 收益+卖电收益-各种成本
y(3)=sum(  uesrs_buy); %用户购电热冷的成本

欢迎感兴趣的小伙伴关注并获得完整版代码哦!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值