两阶段鲁棒优化—微电网两阶段鲁棒优化经济调度方法_刘一欣(完美复现)matlab-yalmip-cplex/gurobi

程序名称:两阶段鲁棒优化—微电网两阶段鲁棒优化经济调度方法_刘一欣

实现平台:matlab-yalmip-cplex/gurobi

简介:针对微电网内可再生能源和负荷的不确定性,建立了 min-max-min 结构的两阶段鲁棒优化模型,可得到最恶劣场 景下运行成本最低的调度方案。模型中考虑了储能、需求侧 负荷及可控分布式电源等的运行约束和协调控制,并引入了 不确定性调节参数,可灵活调整调度方案的保守性。基于列 约束生成算法和强对偶理论,可将原问题分解为具有混合整 数线性特征的主问题和子问题进行交替求解,从而得到原问 题的最优解。最终通过仿真分析验证了所建模型和求解算法 的有效性,同时给出了分时电价机制下微电网对储能进行调 度的边界条件,可为微电网投资商规划储能及配电网运营商 设计激励机制提供参考。

具体细节可参考电机工程学报论文《微电网两阶段鲁棒优化经济调度方法》

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

代码创新点:原创代码,非烂大家的版本!!!注释十分详细,且将目标函数与约束写成紧凑形式,简洁工整,易于拓展修改。引入鲁棒调节系数,根据需要可以修改两阶段鲁棒模型的保守程度。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

模型收敛良好 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

寻找负荷最恶劣场景 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

寻找光伏最恶劣场景 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

可转移负荷调度情况 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

储能设施充放电情况 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LyK6LGG55qE5q2m5aWz,size_20,color_FFFFFF,t_70,g_se,x_16

汽轮机发电功率与微网购售电功率 

 

%%设置对偶变量
W1=sdpvar(288,1,'full');
W2=sdpvar(26,1,'full');
W3=sdpvar(96,1,'full');
W4=sdpvar(24,1,'full');

%二元变量B设置
%B=binvar(48,1);           %B为子问题初始二元变量,取到1即为最坏情况 
%BB=sdpvar(48,1);        %引入的辅助变量B’,记为BB
%%KKT
%max-min问题,将内层min转换成max,并与外层max合并

%约束条件
C=[D'*W1+K'*W2+G'*W3+L'*W4<=c'];
C=C+[W1>=0,W3>=0,W4>=0];
BB_1=sdpvar(24,1);        %引入的辅助变量B’,记为BB
BB_2=sdpvar(24,1);        %引入的辅助变量B’,记为BB

%不确定集合
BPV=binvar(24,1,'full');
BL=binvar(24,1,'full');



%p_pv=p_pvpre-BPV.*Dp_pv_max;
%PL=PLpre+BL.*DPL_max;

upre=[p_pvpre,PLpre]';

%设置不确定调节参数
C=C+[sum(BPV)<=6,sum(BL)<=12];


Du=[Dp_pv_max,DPL_max]';
%引入连续的辅助变量转换双线性项,将其线性化

%BBPV=sdpvar(1,24,'full');
%BBL=sdpvar(1,24,'full');

MM=99;
C=C+[0<=BB_1,BB_1<=MM*BPV];
C=C+[W4-MM*(1-BPV)<=BB_1,BB_1<=W4];

C=C+[0<=BB_2,BB_2<=MM*BL];
C=C+[W4-MM*(1-BL)<=BB_2,BB_2<=W4];

  • 3
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
### 回答1: 原创代码是指在开发过程中自行设计和编写的代码,而非借用他人代码的部分或全部内容。完美复现是指在复现过程中,能够完全还原原始代码的功能和效果。电网阶段鲁棒优化是指运用鲁棒优化方法电网进行优化设计的过程,将不确定性因素考虑在内,以提高系统的鲁棒性和稳定性。 基于MATLABYALMIPCPLEX实现的电网阶段鲁棒优化,可以采用以下步骤: 1. 首先,需要在MATLAB中安装并配置好YALMIPCPLEX工具箱。 2. 接下来,根据电网的具体特点和需求,设计电网阶段鲁棒优化模型,并编写MATLAB代码来表达该模型。 3. 在编写代码时,可以使用YALMIP来定义优化问题的变量、约束条件和目标函数。YALMIP提供了一种方便的方式来描述和求解优化问题。 4. 在定义完优化问题后,可以使用CPLEX求解引擎来求解该优化问题。CPLEX是一个高效的求解器,可以处理大规模的优化问题。 5. 在代码中,可以使用MATLAB的相关函数和工具箱来完成对电网模型的建模、数据处理和结果分析。 通过以上步骤,可以实现基于MATLABYALMIPCPLEX电网阶段鲁棒优化。与传统的优化方法相比,鲁棒优化考虑到了不确定性因素,可以使得系统更具鲁棒性和稳定性,提高了系统的可靠性和性能。 总结起来,基于MATLABYALMIPCPLEX实现的电网阶段鲁棒优化方案,可以通过自行编写和设计的原创代码来完美复现原始模型,并通过鲁棒优化方法来改善电网的性能和鲁棒性。这种方法不仅可以提高电网系统的可靠性和稳定性,还可以为电网的实际应用提供一种有效的优化设计手段。 ### 回答2: 电网是一种由多种分布式能源资源组成的小型电力系统,具有自主运行和可靠供电的特点。为了提高电网经济性和能源利用效率,我们可以对其进行优化调度。这里,我将介绍基于MATLABYALMIPCPLEX阶段鲁棒优化方法。 首先,在问题数学建模方面,我们需要考虑电网的各种能源资源和负荷需求之间的关系。我们可以使用线性约束和非线性约束来描述电网的运行条件和限制。例如,我们可以定义发电机的燃料成本和发电能力之间的关系,以及存储系统的充放电速率和能量容量之间的关系。 然后,我们可以使用MATLABYALMIP插件来实现数学建模。YALMIP是一个用于优化问题建模和求解的工具箱,它提供了方便的高级接口,能够将问题转化为标准的优化模型。我们可以使用YALMIP定义变量、目标函数和约束,将问题转化为线性规划或混合整数线性规划问题。 最后,我们可以使用CPLEX求解器来求解优化问题。CPLEX是一个强大的数学优化求解器,能够高效地求解线性规划和混合整数线性规划问题。我们可以将YALMIP生成的优化模型输入到CPLEX中,通过求解器获得最优的优化调度方案。 通过使用MATLABYALMIPCPLEX,我们可以实现电网阶段鲁棒优化。这种方法可以在保证电网可靠性和运行约束条件的前提下,最小化成本并提高能源利用效率。同时,由于YALMIPCPLEX具有良好的用户界面和求解性能,我们可以方便地实现和调试优化算法,进一步提高优化算法的可行性和效率。 总之,基于MATLABYALMIPCPLEX阶段鲁棒优化方法电网经济性和能源利用效率提供了有效的解决方案。这种方法不仅能够实现原创的代码和完美复现,还能够为电网的可持续发展和智能化管理提供支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉子(代码分享版)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值