2Matlab+YALMIP+CPLEX解决带储能的微电网优化调度问题

请先确保YALMIP工具箱和CPLEX正确安装,MATLAB导入对应文件,否则无法运行程序!!

如果对你有用,请给博主点歌赞!!

程序:

%% 初始化
clc;
clear;
yalmip;
Cplex;
%% 各变量及常量定义
%------------------------变量定义-----------------------%
Pw=sdpvar(1,24,'full'); %风机出力
Ppv=sdpvar(1,24,'full');%光伏出力
Pbat=sdpvar(1,24,'full');%蓄电池出力
% Pde=Power(4,:);%柴油机组出力
% Lshift=zeros(1,24);
Pnet=sdpvar(1,24,'full');%交换功率
Pbuy=sdpvar(1,24,'full');%从电网购电电量
Psell=sdpvar(1,24,'full');%向电网售电电量
Temp_net=binvar(1,24,'full'); % 购|售电标志
Temp_cha=binvar(1,24,'full'); %充电标志
Temp_dis=binvar(1,24,'full'); %放电标志
Temp_static=binvar(1,24,'full'); %电池静置标志
Pcha=sdpvar(1,24);
Pdis=sdpvar(1,24);
Constraints = [];
%-------------------------常量定义-----------------------%
Load=[88.24     83.01     80.15     79.01     76.07     78.39     89.95     128.85     155.45     176.35     193.71     182.57     179.64     166.31     164.61     164.61     174.48     203.93     218.99     238.11     216.14     173.87     131.07     94.04];
%风机预测出力
Pw=[66.9    68.2    71.9    72    78.8    94.8    114.3    145.1    155.5    142.1    115.9    127.1    141.8    145.6...
    145.3    150    206.9    225.5    236.1    210.8    198.6    177.9    147.2    58.7];
%光伏预测出力
Ppv=[0    0    0    0    0.06    6.54    20.19    39.61    49.64    88.62    101.59    66.78    110.46    67.41    31.53...
    50.76    20.6    22.08    2.07    0    0    0    0    0];
%分时电价
C_buy=[0.25    0.25    0.25    0.25    0.25    0.25    0.25    0.53    0.53    0.53    0.82    0.82...
    0.82    0.82    0.82    0.53    0.53    0.53    0.82    0.82    0.82    0.53    0.53    0.53];
C_sell=[0.22    0.22    0.22    0.22    0.22    0.22    0.22    0.42    0.42    0.42    0.65    0.65...
    0.65    0.65    0.65    0.42    0.42    0.42    0.65    0.65    0.65    0.42    0.42    0.42];

%% 约束
for k = 1:24
  Constraints = [Constraints, -160<=Pnet(1,k)<=160,0<=Pbuy(1,k)<=160, -160<=Psell(1,k)<=0]; %主网功率交换约束
  Constraints =[Constraints,Pnet(1,k)+Pw(1,k)+Ppv(1,k)==Load(1,k)+Pbat(1,k)]; %功率平衡约束
  Constraints = [Constraints, implies(Temp_net(1,k),[Pnet(1,k)>=0,Pbuy(1,k)==Pnet(1,k),Psell(1,k)==0])]; %购电情况约束
  Constraints = [Constraints, implies(1-Temp_net(1,k),[Pnet(1,k)<=0,Psell(1,k)==Pnet(1,k),Pbuy(1,k)==0])]; %售电情况约束
%----------------------蓄电池约束--------------------%
% sum_bat=zeros(1,24);
  Constraints = [Constraints, -40<=Pbat(1,k)<=40,0<=Pcha(1,k)<=40,-40<=Pdis(1,k)<=0];%电池充放电约束
  Constraints = [Constraints, implies(Temp_cha(1,k),[Pbat(1,k)>=0,Pcha(1,k)==Pbat(1,k),Pdis(1,k)==0])];%充电情况约束
  Constraints = [Constraints, implies(Temp_dis(1,k),[Pbat(1,k)<=0,Pdis(1,k)==Pbat(1,k),Pcha(1,k)==0])];%放电情况约束
  Constraints = [Constraints, implies(Temp_static(1,k),[Pbat(1,k)==0,Pdis(1,k)==0,Pcha(1,k)==0])];%静置情况约束
  Constraints = [Constraints,Temp_cha(1,k)+Temp_dis(1,k)+Temp_static(1,k)==1];
%    sum_bat(1,k+1)=sum_bat(1,k)+Pcha(1,k)+Pdis(1,k);%计算SOC
  Constraints=[Constraints,-30<=sum(Pdis(1,1:k)+Pcha(1,1:k))<=165] ;%SOC约束,电池容量300kwh,初始S0C为0.4,0.3<=SOC<=0.95
end
  Constraints=[Constraints,sum(Pdis+Pcha)==0] ;%ST=S0,始末SOC相等约束
%% 目标函数
 F=0;
%------------------总费用--------------------%
for k = 1:24
  F = F + 0.52*Pw(:,k)+0.72*Ppv(:,k)+C_buy(:,k)*Pbuy(:,k)+C_sell(:,k)*Psell(1,k)+0.2*Pdis(1,k);
end
ops=sdpsettings('solver', 'cplex');%参数指定程序用cplex求解器
optimize(Constraints,F,ops)
value(F)%费用
%% 画图
x=1:24;
PP=[Pbuy;-Pdis;Pw;Ppv];
PP_neg=[Psell;-Pcha];
figure
bar(PP','stack');
h=legend('交换功率','蓄电池','风机出力','光伏出力','Location','NorthWest');
set(h,'Orientation','horizon')
hold on
bar(PP_neg','stack');
plot(x,value(Load),'r','linewidth',2);
xlabel('时段');ylabel('功率/kW');
hold off
for k=1:24
s(k)=value(sum(Pdis(1,1:k)+Pcha(1,1:k)))/300+0.4;
soc(k+1)=s(k);
end
soc(1)=0.4;
xx=0:24;
figure
plot(xx,soc,'r');
xlabel('时段');ylabel('SOC值');
title('蓄电池SOC状态');

Matlab+YALMIP+CPLEX解决带储能的微电网优化调度问题(完整代码分享)相关推荐

  1. 【电力系统】基于matlab YALMIP+CPLEX求解带储能的微电网优化调度问题【含Matlab源码 2175期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[电力系统]基于matlab YALMIP+CPLEX求解带储能的微电网优化调度问题[含Matlab源码 2175期] 点击上面蓝色字体, ...

  2. Matlab+YALMIP+CPLEX解决带储能的微电网调度优化

    Matlab+YALMIP+CPLEX解决带储能的微电网优化调度问题,以微电网运行成本最小为目标函数,能量设备包含风电.光伏以及蓄电池,同时考虑到电价和与电网的交互,约束条件包含蓄电池SOC约束.交换 ...

  3. matlab yalmip在微电网优化调度中的应用(一)

    matlab & yalmip在微电网优化调度中的应用(一)--基础模型 基础模型 组成 目的 建模 编程实现 1.决策变量 2.约束条件 3.目标函数 4.优化设置 5.结果可视化 结果与分 ...

  4. 基于粒子群算法的微电网优化调度应用研究(一、摘要及绪论)

    摘 要 在能源与环境的双重压力下,微电网技术受到了越来越多的关注,由于可再生能源的不确定性,微电网的优化调度是现阶段需要解决的首要问题,微电网的优化调度关系到微电网体系内的能源利用率.承担负荷的可靠性 ...

  5. 风光柴储微电网最优化经济调度模型(Matlab+Yalmip+Cplex)——附代码

    目录 摘要: 1.微电网模型 2.微电网经济调度的目标函数 3.微电网经济调度的约束条件 3.1设备自身约束: 3.2功率平衡约束: 4.Yalmip+Cplex 4.1 Yalmip 4.2 Cpl ...

  6. 基于MATLAB/yalmip/cplex 的机组最优组合

    文章目录 一.绪论 1.研究目的 2.背景概述 二.机组组合优化数学模型 2.1.问题分析 2.2.符号说明 2.3.模型建立 2.4.模型简化 三.算例介绍 总结 一.绪论 1.研究目的 (1).熟 ...

  7. MATLAB+yalmip+cplex 整数规划

      整数规划问题的解决实践.本文将简单介绍整数规划问题是什么,如何配置环境以及如何在MATLAB上通过工具箱yalmip调用外部解析器cplex解决整数规划问题. 文章目录 1. 整数规划问题 2. ...

  8. 基于MATLAB yalmip/cplex/gurobi编程实现综合能源系统规划、优化调度等。 含风电、光伏、热电联产、电锅炉等各种设备模型

    基于MATLAB yalmip/cplex/gurobi编程实现综合能源系统规划.优化调度等. 含风电.光伏.热电联产.电锅炉等各种设备模型,适合初学者学习,没有涉及复杂的调度或规划原则,是个有一定基 ...

  9. 【微电网优化】基于matlab YALMIP求解微网(光伏+风电+蓄电池+微电网+柴油机)优化调度问题【含Matlab源码 2266期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab YALMIP求解微网(光伏+风电+蓄电池+微电网+柴油机)优化调度问题[含Matlab源码 2266期] ...

最新文章

  1. Server2003PDC迁移到Server2008R2BDC
  2. 侧滑抽屉菜单 FlowingDrawer
  3. javascript json_JavaScript 之 JSON.parse 导致大数精度丢失问题的解决方案
  4. maven的三种packaging方式
  5. 为什么jupyterlab运行程序的时候会自动停止_气象人的JupyterLab
  6. vi编辑器服务器维护,vi编辑器有哪几种工作模式及如何转换_网站服务器运行维护,vi编辑器,工作模式...
  7. ELK 使用小技巧(第 5 期)
  8. system32文件夹里的文件详解
  9. 速达软件登录远程客户端总提示检查卡号密码
  10. Tcpip协议详解----动态选路
  11. 轻量级web api_API接口管理,这15种开源工具助你管理API
  12. 51单片机学习历程——建立新的工程
  13. 2021-01-01 中国公务员级别
  14. 网上体育商城的设计与实现
  15. Mysql-04-DQL-基础查询-条件查询-模糊查询-UNION和UNION ALL-排序-数量限制-分组查询-子查询
  16. 各种设计模式应用场景
  17. 好看的table css样式
  18. 什么是IOC/DI?
  19. “联创黔线”杯大数据应用创新大赛
  20. 打开转盘锁 ,易懂的BFS解法

热门文章

  1. 远程桌面出现身份验证错误
  2. MySQL双主结构优缺点
  3. linux停用用户账号的命令,Linux 系统中用户/组账号的基本常用命令备忘录
  4. jQuery删除元素方法remove(),detach(),empty()
  5. java单元测试service时候_spring service层单元测试
  6. 记多年回归.....
  7. 一副图片带来的声望和恶意
  8. 微信公众号接入java
  9. WireShark提取天猫魔盒请求链接
  10. Laravel项目IP黑名单,IP白名单,IP访问频率控制中间件