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

相关推荐
-dzk-4 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
风筝在晴天搁浅4 小时前
hot100 78.子集
java·算法
Jasmine_llq4 小时前
《P4587 [FJOI2016] 神秘数》
算法·倍增思想·稀疏表(st 表)·前缀和数组(解决静态区间和查询·st表核心实现高效预处理和查询·预处理优化(提前计算所需信息·快速io提升大规模数据读写效率
超级大只老咪4 小时前
快速进制转换
笔记·算法
m0_706653235 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你915 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
qq_423233905 小时前
C++与Python混合编程实战
开发语言·c++·算法
TracyCoder1235 小时前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
m0_715575345 小时前
分布式任务调度系统
开发语言·c++·算法