(Matlab)基于蝙蝠算法实现电力系统经济调度

news2024/11/14 10:25:19

目录

摘要:

1.蝙蝠优化算法的基本原理:

2.蝙蝠优化算法的流程:

3.仿真实验分析:


摘要:

基于Matalb平台,构建基于蝙蝠活动行为的蝙蝠优化算法,对一个含有6个火电机组的电力系统进行优化调度,其中优化调度的目标函数为火电机组运行成本最小,其中约束条件有:功率平衡约束,火电机组最大最小出力约束,火电机组爬坡约束,网络潮流约束,等。结果表明,所提的蝙蝠优化算法可以很好的完成电力系统优化调度决策任务。程序注释详细,出图美观,适合初学者学习入门智能优化算法或电力系统经济调度。

1.蝙蝠优化算法的基本原理:

蝙蝠算法是模拟蝙蝠发出和接收自身发出的超声波来捕食猎物这一行为提出的一

种全局型群智能优化算法。在该算法中,每只蝙蝠在搜索空间中的位置代表一个解,对

于不同的适应度函数,每只蝙蝠都有自己的适应度值,算法比较每只蝙蝠的适应度值来

找出当前全局最优位置,然后调整蝙蝠种群的脉冲发射频率、强度,朝着当前最优位置

不断搜索,最终找到全局最优解。

(1)  种群中的所有蝙蝠都用回声定位系统来判断距离,并且它们能够区分猎物与障

碍物。

(2)  蝙蝠在位置Xi以速度Vi 飞行。以固定频率fmin,强度Ao来搜捕猎物,它们能够

根据与猎物的距离自发调节发出声波的波长或者频率,在接近猎物时自发调整脉冲发射

频率ri。

(3)  假设声波强度的最小值为Amin ,最大值为Ao 。 蝙蝠的捕食过程可描述为:蝙蝠种群随机分布在搜索空间中,每只蝙蝠的位置为Xi( 1, 2,3,..,N),蝙蝠能够在位置Xi发出频率为fi强度为Ao的超声波搜索猎物,确定目标后,蝙蝠以速度Vi 向猎物飞行。并根据猎物与自己的距离实时调整飞行速度、声波强度和脉冲发射频率,逐渐向猎物靠近,最终成功捕食猎物。根据蝙蝠捕食过程,算法的迭代次数为t,蝙蝠个体i 发出超声波的频率、速度和位置在第t 代的更新公式如下:

(2-1)

(2-2、2-3)

当蝙蝠种群逐渐向全局最优解靠近时,算法就采用局部搜索策略,局部位置更新

公式如下:

(2-4)

2.蝙蝠优化算法的流程:

3.仿真实验分析:

以下为部分运行结果,主要是分为电力系统稳态运行情况下的和电力系统暂稳态运行情况下的:

部分代码:

clc; % 清除命令窗口中的任何工作或数据
clear; % 在使用前清除所有可变量的值
close all; % 关闭所有打开的图片
%% 导入机组参数与模型
doc_name = 'ED_result.doc';
plot_Fcost = 'FuelCostCurve.png';
plot_Iterr = 'ItterationsCurve.png';
plot_Ploss = 'PowerLossCurve.png';
bar_Ploss = 'PowerLossChart.png';
bar_Fcost = 'FuelCostBar.png';
hvdc_Losses = 'HVDC_loses.png';
transmission_modes = ["HVAC","HVDC"];
source = ["6thermal","4thermal","2wind"];
% 分配输入与输出的各种参数
[power_loss,F_cost,iterrations,sw_loss,cond_loss,tl_loss,F_cost_inst] = deal(zeros);
demand = [120 150 180 210 240 270 300 330 360 390 420]; % 定义各个节点的负荷需求
load_demand_values = numel(demand); % 使用numel函数对矩阵的元素进行计数
print = fopen(doc_name,'w+');
% 定义全球变量,可用于所有函数
global fuel_coefficients B power_demand Pg_limits transmission_type ...
    Cond_loss SW_loss TL_loss convergence_time start_timing DRi URi ...
    n f_cost beta tao time instability inst_const
% 有5列燃料成本系数的燃料系数矩阵(发电机燃料消耗矩阵)
fuel_coefficients = [0.00375 2.00 240  0 0;
    0.01750 1.75 200 0 0;
    0.06250 1.00 220 40 0.008;
    0.00834 3.25 200 30 0.009;
    0.02500 3.00 220 0 0;
    0.02500 3.00 190 0 0];
generator_limits = [50 200;20 80;15 50;10 35;10 30;12 40];% 定义发电机功率限制
% 发电机上下爬坡功率定义
DRi= [85 22 15 16 9 16];
URi= [65 12 12 8 6 8];
beta = 1.75;
tao = 2.85;
time = 10; % 发电机暂稳态时间定义
instability = false(); % 将第一次计算设定为没有不稳定因素
n = length(fuel_coefficients(:,1)); %返回fuel_coefficients变量的长度
%% 循坏开始
for type = 1:numel(transmission_modes)% 在每个模式中循环往复
    transmission_type = transmission_modes(type);
    fprintf(print,strcat('ECONOMIC DISPATCH FOR _', ... 
        ' USING NOVEL BAT OPTIMIZATION ALGORITHM \n'));
    %% Step 1:找到B矩阵
    loss_coef = [0.000218 0.000103 0.000009 -0.000010 0.000002 0.000027
        0.000103 0.000181 0.000004 -0.000015 0.000002 0.000030
        0.000009 0.000004 0.000417 -0.000131 -0.000153 -0.000107
        -0.000010 -0.000015 -0.000131 0.000221 0.000094 0.000050
        0.000002 0.000002 -0.000153 0.000094 0.000243 -0.000000
        0.000027 0.000030 -0.000107 0.000050 -0.000000 0.000358];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

毕业设计 ESP32在线墨水屏桌面摆件 -物联网 单片机 嵌入式

0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过…

单因子分析(如何判定一个因子是否有效)

本人之前都是做期权中性策略,第一次接触这个多因子策略,和一些大私募对接学习后,才知道这里面的水(只能说各有各的道)。 先说下,何为因子策略,就是一个因子和股票的价格在一定时间内是存在一定的…

【算法数据结构专题】「线程锁算法专项」初探CLH队列锁机制原理分析

技术扩展 SMP(对称多处理器架构) SMP(Symmetric Multi-Processor),即对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存&#…

使用Python互转pdf文档和word文档

1 前言 一日,欲将手头上的一份pdf文档转换成word文档。先试着用XX办公软件试了下,微信扫码登录后,在PDF转换界面,选中文档,点击“开始转换”,弹出提示对话框:免费的只给转换5页文档&#xff0c…

十万部冷知识:本届世界杯阿根廷会夺冠吗?

明天,世界杯的决赛“阿法大战”就开始了。而我个人是希望阿根廷夺冠的,熟悉我的人会知道,在2014巴西世界杯的64场比赛中,我曾预测对了63场,唯一一场不对的就是,那年阿根廷和德国的决赛,我当时就…

基于SSM村委会工作管理系统

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 工作人员: (1)通知管理:对日常的重要信息以及公告进行发布通知。 (2)财务管理:用于收…

【学习打卡】CAM可解释性分析-算法讲解

文章目录引言该算法能做什么直观上研究上意义上精妙之处定位特点弱监督学习特点作者简介CAM算法原理具体计算方法巧妙之处讨论全卷积神经网络池化简介池化的作用全局平均池化CAM总结SqueezeNet显著性分析的意义例1:工艺改进例2:识别鸟例3:围棋…

事业编招聘:事业单位招聘136人!可免笔试!

吉林的小伙伴看过来 2023年吉林四平事业编招聘136人 本科起报名,研究生免除笔试 报名时间:12月20日至12月24日 感兴趣的宝子们别错过了哦 为深入实施“万名大学生留平计划”,持续加大我市党政干部的专业化人才储备力度,现面向…

数据治理的数据流程整合

一、核心业务流程 在企业业务整合时,根据企业对信息化的投入,避免整合对企业业务流程影响过大,按照循序渐进的方式进行整合。 核心业务流程是企业经营、存在、发展的基础。在信息整合中,要围绕这样的业务流程整合企业的信息。在…

首看世界杯

首看世界杯,不谈技术,只聊自己的几点感受,纯属个人感想。 今年是第一次关注世界杯,本来对足球是没有什么兴趣的。如果说对足球有什么了解的话,大部分还是来自小时候的动画片“足球小将”。但是看现实中的足球比赛&…

Java项目:SSM酒吧后台管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能: 管理员登录,桌位信息查看,查看账单,日常维护,酒水库存管理等功能。 环境需要 1.运行环境:最…

桌面壁纸实时展示粉丝数(CSDN)

最近csdn偶尔就又有几个同学关注我,觉得很有动力!于是我想能在任何时候的桌面壁纸,都能看到csdn粉丝数以及显示他们的昵称,我觉得会很有意义! 下面展示效果,(「・ω・)&…

ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?

目录 01 说明 02 实验目的及要求 03 实验设备及软件平台 04 实验内容与步骤 4.1 DEM 数据拼接和裁剪 4.2 地形属性的提取 4.3 透视图的建立(均在ArcScence中操作) 4.4 建立和显示 TIN 4.5 创建等高线图层 4.6 垂直剖面图创建 4.7 坡度分级 05 实验结果与…

【MySQL】MySQL性能优化

MySQL性能优化1、SQL语句及索引优化1.1 EXPLAIN查看索引使用情况1.2 SQL语句中IN包含的值不应过多1.3 SELECT语句务必指明字段名称1.4 当只需要一条数据的时候,使用limit 1,limit 是可以停止全表扫描的1.5 排序字段加索引1.6 如果限制条件中其他字段没有…

JAVA类和对象重点笔记及理解

1.类创建对象的详细过程 创建完成,dog就成了一个实例(对象),具有属性和方法 Dog类的属性:一般叫做成员变量 Dog类的方法:一般叫做成员方法 类是对象的抽象,对象是类的具体实例。 2.JAVA的数据…

Mycat(4):mycat名词解释

1、逻辑库 对实际应用来说,并不需要知道中间件的存在,业务开发人员只需要知道数据库的概念,所以数据库中间件可以被看做是一个或多个数据库集群构成的逻辑库。 如图一中,在MYCAT服务区中的TESTDB库,只是逻辑上存在的数…

使用GraalVM 构建 Spring Boot 3.0 原生可执行文件

GraalVM 介绍 既然是VM,那肯定也是一个虚拟机,那它跟JVM有关系吗?有一定关系,GraalVM 可以完全取代上面提到的那几种虚拟机,比如 HotSpot。把你之前运行在 HotSpot 上的代码直接平移到 GraalVM 上,不用做任…

【GRU回归预测】基于麻雀算法优化门控循环单元SSA-GRU神经网络实现多输入单输出回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

java秋招被问到的八股文

投递的岗位是Java后端开发,八股文背了很多,现在面过三十场,做一个总结,整理出一些我确实被问到的问题。 该准备什么 首先是简历里的项目,一定要好好整理,项目的架构是怎样的,开发过程中遇到的…

国产实时操作系统+intel x86/龙芯平台超边缘计算机方案

引言 近年来,物联网、云计算、机器学习和网络安全等技术不断推动工业 4.0 的发展,“云边端” 的架构正逐步替代 “云管端”,边缘计算成为新时代许多领域转型的关键要素。以智能制造为例,不同于为互联网服务的 CDN 边缘计算技术&a…