综合能源系统优化求解

完整程序:

%% 请先确保YALMIP工具箱和CPLEX正确安装,MATLAB导入对应文件,否则无法运行程序!!
%CPLEX免费试用版对求解规模有限制,如出现规模过大无法求解,请购买正式版或申请教育版!!!
%本程序已在yalmip version:20171121 CPLEX version::12.8教育版 验证成功

%% 初始化
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)%费用
value(Pcha)
value(Pdis)
%% 画图
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求解器,可用于求解MILP问题,适合于综合能源系统优化求解(完整程序分享)相关推荐

  1. MATLAB中安装YALMIP及CPLEX详细步骤

    一.MATLAB中安装YALMIP (YALMIP压缩包下载链接:链接:百度网盘 请输入提取码 密码:ujfp) 1.下载YALMIP-master工具压缩包,YALMIP-master工具压缩包解压 ...

  2. 路径调度问题(CVRP)后续之如何在MATLAB中安装YALMIP及CPLEX包

    订阅博主专栏的用户可私信博主获取安装包,不用额外再付费下载安装包. 安装包下载地址:https://download.csdn.net/download/wenyusuran/14954633 一.M ...

  3. MATLAB中安装Yalmip及Cplex

    注意点!! Yalmip及Cplex安装对版本匹配要求很高 推荐使用与自己安装的MATLAB相匹配的安装版本 Yalmip安装 各版本Yalmip下载地址 1. 下载所需版本后,将解压后的文件夹保存至 ...

  4. matlab 中的 yalmip安装方法

    matlab 中的 yalmip安装方法 在 https://yalmip.github.io/download/ 网站上下载 yalmip ,根据自己的需求下载想要的版本 . 将下载好的文件解压后, ...

  5. 【微电网优化】基于matlab粒子群算法求解综合能源系统优化问题【含Matlab源码 1969期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解综合能源系统优化问题[含Matlab源码 1969期] 点击上面蓝色字体,直接付费下载,即可. ...

  6. 【智能优化求解】基于粒子群算法实现综合能源系统优化附matlab代码

    1 简介 为了解决现有冷热电联供型综合能源系统大多只单一考虑系统机组投资成本或系统环境污染,影响系统整体优化运行的问题,以系统经济性和环保性为目标,对冷热电联供系统进行研究分析.构建含燃气轮机.燃气锅 ...

  7. MATLAB代码:电-气-热综合能源系统耦合优化调度 代码主要做的是一个考虑电网、热网以及气网耦合调度的综合能源系统优化调度模型

    MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 仿真平台:MATLAB YALMIP+cplex/gurobi 主要内容:代码主要做的是一个考虑电网. ...

  8. MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳交易机制和氢能,具有一定的创新。

    MATLAB程序:综合能源系统优化调度,考虑了阶梯型碳交易机制和氢能,具有一定的创新. 采用CPLEX+Yalmip求解,基本复现. ID:6990667995938854

  9. MATLAB代码:考虑用户舒适度的冷热电多能互补综合能源系统优化调度

    MATLAB代码:考虑用户舒适度的冷热电多能互补综合能源系统优化调度 关键词:用户舒适度 综合能源 PMV 优化调度 仿真平台:MATLAB+yalmip+cplex 主要内容:代码主要做的是考虑用户 ...

最新文章

  1. 互联网1分钟 | 0124 抖音社交产品“多闪”登顶苹果商店总排行榜;王欣或将推出新社交产品丸子视频...
  2. android中可口的吐司,一种信息提示机制——Toast
  3. 总线接口与计算机通信(五)CAN总线
  4. Oracle数据库中序列(SEQUENCE)的用法详解
  5. 【sqlserver】在没有数据库备份的情况下,获得操作记录信息【code】
  6. opencv 平面法向量_在OpenCV中绘制平面的法向量
  7. 计算机二级考试题 花纹,练习五(计算机二级考试OFFICE高级应用考试卷).doc
  8. java类与对象(属性,方法)的使用
  9. leetcode944. Delete Columns to Make Sorted
  10. cocos2d-x安装
  11. poj 1503 Integer Inquiry高精度
  12. MFC(6)点击按钮弹出新的对话框源码
  13. 单片机c语言串口中断函数,12手把手教你学单片机的C语言程序设计_中断服务函数.pdf...
  14. 0712CF解题报告
  15. 拼多多如何拉到足够的人去砍价,砍成一台iPhone12需要多少人?
  16. python 学生编程--3 多彩同心圆
  17. JAVA联机版五子棋——源码(一个类一个main暴力开发)
  18. 利用Vant完成登录页面!
  19. 创建Direct3D9设备-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(5)
  20. 1、Basic4android简介

热门文章

  1. 关于Stanza工具包的使用
  2. mysql 视图删除单条记录_从视图中删除行会从MySQL的基表中删除行吗?
  3. 精品特价商标【湖山泉海】湖山四面争气色,泉海关头山海明,风光如此最多情。可用做餐饮酒店,接纳五湖四海的朋友,消费者如置身于风光旖旎的湖山泉海之中,宁静淡泊,舒心豁然。
  4. 《神之惩戒——MMORPG的困局》
  5. Embedded Linux 技术与概念解析
  6. 初探使用iOS 7 Sprite Kit与Cocos2d开发游戏的对比
  7. P111 摩斯密码翻译器
  8. 简历里列写的一些专业技能
  9. 漫画Kubernetes
  10. 分享一个小工具 Boast:如何从服务端跟踪所有 HTTP 请求,并方便回放?