华企号 互联网综合 混合整数规划的机组组合附Matlab代码

混合整数规划的机组组合附Matlab代码

⛄ 内容介绍
0表示关闭,1表示启动;另一种是各时间段机组的输出力,为连续变化量。

机组组合问题属于规划问题,即要在决策变量的可行解空间里找到一组最优解,使得目标函数尽可能取得极值。对于混合整数规划,常用的方法有分支定界法,benders分解等。CPLEX提供了快速的MIP求解方法,对于数学模型已知的问题,只需要按照程序规范在MATLAB中编写程序化模型,调用CPLEX求解器,即可进行求解。

下文介绍机组组合优化的数学模型。

 

 

 

 

 

校验程序的算例基于IEEE-30节点标准测试系统,系统接线图如图1。系统包含30个节点,6台发电机组。要求确定系统最优机组组合,使得系统各机组总运行成本(煤耗成本+启停成本)最小化。

 

 

图1. IEEE-30节点测试系统接线

已知:给定系统数据包括如下:(见附件testsystem.xls)

1)线路网络参数

2)机组参数

3)各节点各时段负荷曲线(24小时)

注意:附件中的数据均基于标幺化系统得到,因此电力电量参数、网络参数等都为标幺值,无量纲。还要注意附件中煤耗系数a,b,c的单位为吨,因此计算煤耗成本还需换算为价格,设燃煤价格为100$/吨。

求解:机组组合结果,即机组各时段启停计划、机组各时段最优出力,以及内含的各时段的直流潮流等。

⛄ 部分代码
function diagnostic = solvesdp(varargin)

%SOLVESDP Computes solution to optimization problem

%

%   DIAGNOSTIC = SOLVESDP(F,h,options) is the common command to

%   solve optimization problems of the following kind

%

%    min        h

%    subject to

%            F >=(<=,==) 0

%

%   NOTES

%    Despite the name, SOLVESDP is the interface for solving all

%    supported problem classes (LP, QP, SOCP, SDP, BMI, MILP, MIQP,…)

%

%    To obtain solution for a variable, use DOUBLE.

%

%    To obtain dual variable for a constraint, use DUAL.

%

%    See YALMIPERROR for error codes returned in output.

%

%   OUTPUT

%     diagnostic : Diagnostic information

%

%   INPUT

%     F          : Object describing the constraints. Can be [].

%     h          : SDPVAR object describing the objective h(x). Can be [].

%     options    : Options structure. See SDPSETTINGS. Can be [].

%

%   EXAMPLE

%    A = randn(15,5);b = rand(15,1)*5;c = randn(5,1);

%    x = sdpvar(5,1);

%    solvesdp([x>=0, A*x<=b],c’*x);double(x)

%

%   See also DUAL, @SDPVAR/DOUBLE, SDPSETTINGS, YALMIPERROR

 

yalmiptime = clock; % Let us see how much time we spend

 

% Avoid warning

if length(varargin)>=2

if isa(varargin{2},’double’)

varargin{2} = [];

end

end

 

if length(varargin)>=2

if isa(varargin{2},’sdpvar’) && prod(size(varargin{2}))>1

% Several objectives

diagnostic = solvesdp_multiple(varargin{:});

return

end

end

 

% *********************************

% CHECK INPUT

% *********************************

nargin = length(varargin);

 

⛄ 运行结果

⛄ 参考文献
[1]黄焕材. 基于原-对偶内点法和混合整数规划法的机组组合问题研究[J]. 贵州电力技术, 2013, 16(11):5.

[2]许丹, 夏少连, 丁强,等. 基于启发式混合整数规划法求解大规模机组组合问题[J]. 电力系统保护与控制, 2012, 40(21):7.

⛄ Matlab代码关注
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

 

 

作者: 华企网通王鹏程序员

我是程序员王鹏,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部