电力系统中机组组合强大的Yalmip+Cplex(入门学习+机组组合问题Matlab实现)

目录

1、概述

(1)电力调度优化理论及其应用

(2)电力调度的机组组合UC 

(3)组合模型及算法 

2、人性化的Yalmip+Cplex 

(1)热身运动——线性规划

3、Yalmip+Cplex 解决机组组合(YYDS)

3.1 算例

3.2 目标函数

 3.3 约束条件

3.4 模型约束条件处理

3.5 Matlab代码实现

1、概述

(1)电力调度优化理论及其应用

(2)电力调度的机组组合UC 

(3)组合模型及算法 

2、人性化的Yalmip+Cplex 

(1)热身运动——线性规划

         尽管 python 比较火,cplex 对 python 的支持目前还不是太全,相关的学习资料比较少,ibm 自己 出的资料对 python 包的介绍也很简略,例子及相关类方法的介绍也不详细,这一点远没有对 java 或 c++ 支持地好。cplex 在 python 中没有重载加减乘除符号吗?目前给的例子都是输入系数矩阵这种形式。使用起来非常不方便的。

         所以推出了Yalmip+Cplex(matlab),matlab中这个库的下载方法,后面的文章会讨论matlab中Yalmip+Cplex这个强大的库在我们电力系统中的强大作用(噢头曼!!!),虽然我很喜欢用Python,但是python是这几年才火起来,所以这个Cplex库还不是很完善,所以对于这个库强烈推荐matlab。下面先来点简单的线性规划,让大家热身。
                                  

%(1)设定决策变量X(1)、X(2)
%(2)sdpvar:实数变量;binvar:0—1变量;intvar:整型变量
%(3)Yalmip默认是对称的,要求非对称用full
 
x=sdpvar(2,1,'full');   
z=-2*x(1)+4*x(2);         %目标函数,默认最小
st=[];                    %设定一系列约束
st=[st,-3*x(1)+x(2)<=6];
st=[st,x(1)+2*x(2)>=4];
st=[st,x(1)+3*x(2)==4];
st=[st,x(2)>=-3];
ops=sdpsettings('solver','cplex');  %设定求解器
r=optimize(st,z);                   %求解,如果最大值用-z
x=value(x);                         %查看求解结果x的值
z=value(z);                         %查看目标函数的最优解
%结果
Optimal solution found.
 
>> x
 
x =
 
    13
    -3
 
>> z
 
z =
 
   -38

 ​​​

3、Yalmip+Cplex 解决机组组合(YYDS)

3.1 算例

基于已知的系统数据,求解计划时间内的6机30节点41支路的功率情况与机组的开停机情况,使得系统总成本达到最小。该问题的决策变量由两类,第一类是各时段机组的出力,为连续变量。第二类是各时段机组的启停状态,为整数变量,0表示关停,1表示启动。
本问题属于混合整数规划(MIP)问题,即要在决策变量的可行解空间里找到一组最优解,使得目标函数尽可能取得极值。对于混合整数规划,CPLEX提供了快速的MIP求解方法。

3.2 目标函数

 3.3 约束条件

3.4 模型约束条件处理

模型中有许多约束条件,这些约束条件不能用程序直接表达,只能用变换来表达。

 

3.5 Matlab代码实现

 

  • 3
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝科研社

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

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

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

打赏作者

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

抵扣说明:

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

余额充值