考虑区域多能源系统集群协同优化的联合需求侧响应模型(matlab代码)

该程序复现《考虑区域多能源系统集群协同优化的联合需求侧响应模型》文献模型,程序的核心是对多个区域级多能源系统互联系统进行多目标优化,并且考虑联合需求侧响应,以多个区域多能源系统运行总成本最小、碳排放最小为目标,建立多区域电气热(冷)互联系统多目标优化模型,和原文的区别是:多目标求解原文献用的是NSGA_Ⅱ算法,但是程序采用的是混合整数规划算法,即直接采用yalmip求解器进行求解,程序步骤清晰,不仅给出了多目标求解代码,同时给出了单目标求解代码,采用matlab+yalmip(cplex或gurobi)进行求解,必要注释清晰,方便学习!

  • 区域多能源系统用户激励模型

该部分用户激励模型和常规的需求侧响应区别不大,采用可削减、可转移和可替代负荷作为需求响应变量,并且该三类负荷满足调节比例限制,该部分成本在程序中以约束的形式表达,但是实际上尽量选取变量直接计算的方式更为妥当。对应的程序代码如下:

复制代码
C=[C,  0<=Ekexuejian1,Ekexuejian1<=0.1*E_load1D ];%需求响应  公式(2)
C=[C,  0<=Ekexuejian2,Ekexuejian2<=0.1*E_load2D ]; 
C=[C,  0<=Ekexuejian3,Ekexuejian3<=0.1*E_load3D ];
C=[C,  -0.1*E_load1D<=Ekepingyi1,Ekepingyi1<=0.1*E_load1D ];
C=[C,  -0.1*E_load2D<=Ekepingyi2,Ekepingyi2<=0.1*E_load2D ];
C=[C,  -0.1*E_load3D<=Ekepingyi3,Ekepingyi3<=0.1*E_load3D ];
C=[C,  sum(Ekepingyi1)==0 ];
C=[C,  sum(Ekepingyi2)==0 ];
C=[C,  sum(Ekepingyi3)==0 ];
C=[C,  0<=Eketidai1,Eketidai1<=0.1*E_load1D ];
C=[C,  0<=Eketidai2,Eketidai2<=0.1*E_load2D ];
C=[C,  0<=Eketidai3,Eketidai3<=0.1*E_load3D ];
C=[C,  Eketidai1==Gketidai1*10 ];  %10是单位m3体积的天然气热值36MJ
C=[C,  Eketidai2==Gketidai2*10 ];  %10是单位m3体积的天然气热值36MJ
C=[C,  Eketidai3==Gketidai3*10 ];  %10是单位m3体积的天然气热值36MJ
​
%%  需求侧响应补偿成本  公式(1)
F_IDSR = sdpvar(1,1);           
C=[C,F_IDSR==0.432*sum(abs(Ekexuejian1)+abs(Ekexuejian2)+abs(Ekexuejian3))+0.060*sum(abs(Ekepingyi1)+abs(Ekepingyi2)+abs(Ekepingyi3))/2+0.120*sum(abs(Eketidai1)+abs(Eketidai2)+abs(Eketidai3)) ];
​
  • 目标函数

3 程序结果

相关推荐
IronMurphy10 分钟前
【算法四十三】279. 完全平方数
算法
墨染天姬16 分钟前
【AI】Hermes的GEPA算法
人工智能·算法
papership35 分钟前
【入门级-数据结构-3、特殊树:完全二叉树的数组表示法】
数据结构·算法·链表
smj2302_7968265238 分钟前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
Beginner x_u1 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
_深海凉_4 小时前
LeetCode热题100-寻找两个正序数组的中位数
算法·leetcode·职场和发展
旖-旎5 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
谭欣辰5 小时前
C++快速幂完整实战讲解
算法·决策树·机器学习
Mr_pyx5 小时前
【LeetHOT100】随机链表的复制——Java多解法详解
算法·深度优先
AIFarmer6 小时前
【无标题】
开发语言·c++·算法