电力系统机组组合优化调度(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)

news/2024/6/17 13:26:57 标签: matlab, 算法, 开发语言

 💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

目录

1 概述

2 知识点学习

3 运行结果

3.1 算例1——IEEE14节点

3.2 算例2——IEEE30节点

 3.3 算例3——IEEE118节点

3.4 二阶锥松弛法

 4 参考文献

5 Matlab代码及文章详细阅读 


1 概述

本文提出一种确定机组组合的降维半解析动态规划方法,可以与其他经济调度算法相结合,用以解决多种约束条件下的机组组合问题。该方法通过比较各时段负荷及机组参数,剔除各时段下不满足要求的组合状态,从而减少动态规划中的状态点数;根据机组的最小连续运行、停运时间限制,以及机组功率上升、下降速度的约束,剔除了状态点间的无效路径,从而减少了动态规划的路径个数,达到降维的目的;在确定机组启停状态后,再采用解析法进行机组的功率分配,可以大大提高动态规划方法的效率。

2 知识点学习

机组组合问题我们前面都总结过:

电力系统中机组组合强大的Yalmip+Cplex

基于改进的遗传算法的机组组合问题(Python实现)

3 运行结果

3.1 算例1——IEEE14节点

3.2 算例2——IEEE30节点

 3.3 算例3——IEEE118节点

3.4 二阶锥松弛法

%发电机费用曲线 二次函数分段线性化
P_nl = sdpvar(n_gen, n_L, n_T);
% for i = 1: n_gen
for t = 1: n_T
    C = [C,
        gen_P(gen(:,GEN_BUS),t) == sum(P_nl(:,:,t), 2)+gen(:,GEN_PMIN).*u_state(gen(:,GEN_BUS),t)/baseMVA,
        ];
%         for l = 1: n_L
    C = [C,
        0 <= P_nl(:,:,t) <= (gen(:, GEN_PMAX)-gen(:, GEN_PMIN))/n_L/baseMVA*ones(1,n_L),
        ];
%         end
end
% end
%%
% 机组开机费用 Cjk
cost_up = sdpvar(n_gen, n_T);
C = [C, cost_up >= 0];
for k = 1: n_T
    for t = 1: k-1
         C = [C,
            cost_up(:,k) >= start_cost(:,t).*(u_state(gen(:,GEN_BUS),k) - sum(u_state(gen(:,GEN_BUS),[k-t: k-1]),2))
            ];       
    end
end
for i = 1: n_gen
    if (init_state(gen(i,GEN_BUS)) == 0)
        C = [C,
            cost_up(i,1) >= start_cost(i,init_down(i))*(u_state(gen(i,GEN_BUS),1)-init_down(i)*init_state(gen(i,GEN_BUS)))
            ];
    end
end

%发电机费用曲线 二次函数分段线性化
P_nl = sdpvar(n_gen, n_L, n_T);
% for i = 1: n_gen
for t = 1: n_T
    C = [C,
        gen_P(gen(:,GEN_BUS),t) == sum(P_nl(:,:,t), 2)+gen(:,GEN_PMIN).*u_state(gen(:,GEN_BUS),t)/baseMVA,
        ];
%         for l = 1: n_L
    C = [C,
        0 <= P_nl(:,:,t) <= (gen(:, GEN_PMAX)-gen(:, GEN_PMIN))/n_L/baseMVA*ones(1,n_L),
        ];
%         end
end
% end
%%
% 机组开机费用 Cjk
cost_up = sdpvar(n_gen, n_T);
C = [C, cost_up >= 0];
for k = 1: n_T
    for t = 1: k-1
         C = [C,
            cost_up(:,k) >= start_cost(:,t).*(u_state(gen(:,GEN_BUS),k) - sum(u_state(gen(:,GEN_BUS),[k-t: k-1]),2))
            ];       
    end
end
for i = 1: n_gen
    if (init_state(gen(i,GEN_BUS)) == 0)
        C = [C,
            cost_up(i,1) >= start_cost(i,init_down(i))*(u_state(gen(i,GEN_BUS),1)-init_down(i)*init_state(gen(i,GEN_BUS)))
            ];
    end
end 

👨‍🎓博主课外兴趣:中西方哲学,送予读者:

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。在我这个专栏记录我有空时的一些哲学思考和科研笔记:科研和哲思。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

部分理论引用网络文献,若有侵权请联系博主删除。   

 4 参考文献

[1]刘严,谭忠富,韩勇,乞建勋. 机组组合优化问题的一种改进的动态规划方法[C]//.中国优选法统筹法与经济数学研究会第七届全国会员代表大会暨第七届中国管理科学学术年会论文集.,2005:374-378.

[2]王成文,韩勇,谭忠富,刘严,杨力俊.一种求解机组组合优化问题的降维半解析动态规划方法(英文)[J].电工技术学报,2006(05):110-116.DOI:10.19595/j.cnki.1000-6753.tces.2006.05.020. 

[3]周俊. 机会约束规划下含风电场的机组组合优化[D].广东工业大学,2014.

5 Matlab代码及文章详细阅读 


http://www.niftyadmin.cn/n/345106.html

相关文章

Unity 过场工具(Cutscene)设计(四) ——组件化设计

Unity 过场工具(Cutscene)设计&#xff08;四&#xff09; ——组件化设计 写到这一篇文章前就开始在考虑如何才能说清楚自己的设计思路&#xff0c;因为后续涉及到编辑器和Runtime框架的实际设计和实现过程&#xff0c;两者之间是互相有设计因果关系的。为了阐述自己的核心设计…

性能优化常用的技巧,你都知道吗?

在实际工作中&#xff0c;提升MySQL数据库的查询性能是非常重要的。除了基本的索引和查询优化技巧外&#xff0c;还有一些更深层次的优化方案可以进一步优化性能。 1. 数据库表设计优化 选择字段类型&#xff1a; 根据数据类型和范围&#xff0c;选择适当的字段类型。例如&am…

周六晚周日全天Hcip BGP

ISIS 默认是窄带 需要开启宽带 ISIS&#xff0c;前提我是level 1&#xff0c;收到ATT位置为1 的路由是默认路由 为什么要使用BGP协议&#xff1f; 我们要在不同的AS之间进行通信&#xff0c;需要使用BGP协议。 BGP优势&#xff1a; 1.非常稳定 2.可以传输大量的路由&#xff…

计算机四大件笔记

啊~数据库、操作系统、计算机网络、Linux start 操作系统 并发和并行 并发是同一时间段内发生了多个事情&#xff0c;多任务之间互相抢占资源。 并行是在同一时间点内发生了多个事情&#xff0c;多任务之间不互相抢占资源&#xff0c;只有多CPU的情况下才能并行。 例如&a…

正点原子ALPHA开发板核心资源分析

目录 正点原子ALPHA开发板核心资源分析I.MX6ULL实物图对比SOC 主控芯片&#xff08;MCIMX6Y2CVM08AB&#xff09;NAND FLASHEMMCDDR3L 正点原子ALPHA开发板核心资源分析 I.MX6ULL实物图对比 I.MX6ULL NAND BTB 接口核心板资源图与 I.MX6ULL EMMC BTB 接口核心板资源图如上图&a…

C++四种cast转换(const_cast、static_cast、dynamic_cast、reinpreter_cast)类型转换运算符

文章目录 cast含义C四种类型转换符各自应用场景&#xff08;简略&#xff09;1. static_cast2. dynamic_cast3. reinterpret_cast4. const_cast C四种类型转换符详解1. c风格强制转换2. const_cast&#xff08;移除常量性&#xff09;应用1. 去除const限定符2. 解决重载函数调用…

ecucoder实训——集合与字典

文章目录 大学排行榜分析任务描述相关知识问题描述编程要求代码摩斯密码解密任务描述相关知识编程要求代码摩斯密码加密器任务描述相关知识编程要求代码摩斯密码任务描述相关知识编程要求代码翻译句子任务描述相关知识编程要求代码<

28 SQL——表子查询

create table dept(id int primary key auto_increment,name varchar(15))comment 部门;insert into dept(id, name) values (1,研发部),(2,市场部),(3,财务部),(4,销售部),(5,总经办),(6,人事部);create table staff (id int primary key auto_increment commentID,name …