考虑区域多能源系统集群协同优化的联合需求侧响应模型(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 程序结果

相关推荐
超级大咸鱼6 小时前
verilog利用线性插值实现正弦波生成器(dds)
matlab·fpga·dds·线性插值
算AI17 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh18 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之19 小时前
选择排序笔记
java·算法·排序算法
烂蜻蜓19 小时前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf19 小时前
图论----拓扑排序
算法·图论
我要昵称干什么20 小时前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ20 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl20 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦20 小时前
日期类的实现
数据结构·c++·算法