开源代码分享(32)-基于改进多目标灰狼算法的冷热电联供型微电网运行优化

参考文献:

[1]戚艳,尚学军,聂靖宇,等.基于改进多目标灰狼算法的冷热电联供型微电网运行优化[J].电测与仪表,2022,59(06):12-19+52.DOI:10.19753/j.issn1001-1390.2022.06.002.

1.问题背景

        针对冷热电联供型微电网运行调度的优化问题,为实现节能减排的目标,以微电网运行费用和环境污染成本为优化目标,建立了包含风机、微型燃气轮机、余热锅炉、溴化锂吸收式制冷机等微源的微电网优化模型。模型的优化求解使用改进的多目标灰狼优化算法,得到多目标问题的 Pareto 最优解集,并针对微电网优化问题约束条件较多,算法前期探索能力不足的问题,对算法进行改进。仿真结果表明,改进算法的求解速度和全局搜索性能优于原始算法,文中方法可以为冷热电联供型微电网优化调度提供建议,实现根据用户需求的微电网灵活调动,达到减少运行费用和污染气体排放的效果。

2.基本原理

        文中研究的 CCHP 型微电网 由风机 光伏电池、 微型燃气轮机 蓄电池和大电网承担电负荷 ,此系统与大电网根据需求进行买 卖电 余热锅炉 、蓄热槽和电采暖承担热负荷 ;溴化锂吸收式制冷机和分体式空调承担冷负荷 如图 所示 。 下面对主要微源的模型进行详细介绍

2.1 目标函数

        微电网的优化目标包括2个 :最低的微电网运行费用、最低的环境污染成本。

2.1.1微电网运行费用模型

        微电网运行费用包括三个方面:天然气费用、各微源的维护费用和微电网从大电网购售电产生的费用。优化目标的数学表达式为:

2.1.2环境污染成本模型

        微电网中产生污染气的微源主要为微型燃气轮机和大电网,单纯的将污染气体的排放总量相加无法反映其对环境的影响程度,文中将微网产生的污染气体的治理成本最少作为目标进行优化,具体的数学表达式为:

2.2改进多目标灰狼优化算法

        文中微电网的优化问题是非线性的多约束问题,在利用原始MOGWO算法进行求解的过程中,众多约束条件使得算法的计算时间增加,为了改善这一问题本文对MOGWO算法及优化模型进行了如下改进:
        (1)优化模型的简化。通过对微电网优化模型的简化可以有效减少灰狼的维数从而缩短求解时间:风机和光伏电池的维护成本相对较低且没有燃料费用和污染排放,故在优化时可以按照可能的最大功率出力;
        (2)灰狼初始化和位置更新的方式改变。在原始MOGWo中灰狼个体位置的每一维坐标是同时生成的,即每个微源在24个小时内的出力同时生成。原算法灰狼的位置向量表示为

        式中a,b,c代表不同的微源 ,数字代表不同的时段 。 如某个设备在某个时段的功率不符合约束的要求 整个灰狼的位置都要进行重新生成 ,造成运算量增加 针对微电网的约束和时间段的相关性 ,本文将每只灰狼个体位置按时间分为 24 ,将同一时间段的设备出力分为一组进行初始化和更新
判定满足约束时再进行下一组设备出力的初始化或更新,24个组都满足约束后进行合并和后续运算。这种做法的优势在于,当某个时段的设备出力不符合约束时,只需重新生成该时段的设备出力而非个体的所有时段的设备出力,从而缩短计算时间。
        ( 3 ) MOGWO算法的前期探索能力不足,对于式(28)中的控制参数a而言,a越大则算法的探索能力越强。在文中将线性缩小的α改为式(31)的幂函数形式,以提高算法前期的探索能力,经多次求解发现当指数为4时优化效果最佳。
        改进后的 MPGWO 算法的主要步骤如下

3.运行结果

4.matlab代码获取

开源代码分享(32)-基于改进多目标灰狼算法的冷热电联供型微电网运行优化资源-CSDN文库

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

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

相关文章

prometheus-alert使用

说明:本文介绍一款可接管alertmanager报警,简化alertmanager配置的组件prometheus-alert。可以将prometheus检测到的异常指标,通过alertmanager转给prometheus-alert,由prometheus-alert通知到各个应用。 如下: 上图来…

# linux 系统下,使用 docker 启动 mysql 后,通过 sqlyog 连接 mysql 报“错误号码2058“

linux 系统下,使用 docker 启动 mysql 后,通过 sqlyog 连接 mysql 报“错误号码2058“ 一、错误描述: 在 ubuntu 系统上,刚安装的 docker 启动 mysql 后,想通过图形界面 SQLyong 等工具连接 mysql 出现“错误号码2058…

LeetCode---字符串

344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 代码示例: //时间复杂度: O(n) //空间…

tomcat 配置ssl

server.xml ssl 证书分&#xff1a;*.jks、*.pem、*.crt conf 里放入ssl证书文件 <Service name"Catalina">添加建立<Connector >j节点 </service> <Connector port"8443" protocol"org.apache.coyote.http11.Http11NioProto…

测试异步调用

目录 1、 * 测试异步调用 1.1、 Test 1.1.1、 // 三个任务都调用完成,退出循环等待 1.2、 doTaskOne 1.3、 doTaskTwo 1.4、 doTaskThree

跑马灯的两种实现方式

方式一&#xff1a;利用元素尺寸变化监听api&#xff0c;计算宽度&#xff0c;得出时间&#xff0c;进行无限次数动画。 优点&#xff1a;能自定义速度&#xff08;0 - 1&#xff09;。 <template><div class"box"><i class"iconfont icon-gon…

经典获奖案例 | 度小满互联网金融开源软件治理解决方案

近日&#xff0c;广东省粤港澳合作促进会金融专业委员会和粤港澳大湾区金融创新研究院在广州联合举办“2024年粤港澳大湾区数智金融峰会暨第二届金融创新优秀应用案例与解决方案技术成果授牌仪式”。《度小满互联网金融开源软件治理解决方案》从数百个申报项目中脱颖而出&#…

C语言多线程编程:并发控制与同步机制

1. 引言 在多核处理器日益普及的今天&#xff0c;多线程编程已经成为提高程序性能的重要手段。C语言作为一种高效、底层的编程语言&#xff0c;自然也支持多线程编程。本文将带你深入了解C语言多线程编程的奥秘&#xff0c;并分享一些实用的编程技巧。 2. 线程基础 2.1 线程的…

Java线程池:深入理解与高效应用

引言 在现代软件开发中&#xff0c;多线程编程已成为提高应用性能的关键技术之一。Java线程池作为管理线程的一种高效机制&#xff0c;允许我们复用线程&#xff0c;减少线程创建和销毁的开销&#xff0c;并且可以有效地控制并发线程的数量&#xff0c;避免资源耗尽。本专栏旨…

解决VIvado编程中遇到的bug 5

解决VIvado编程中遇到的bug 5 语言 &#xff1a;Verilg HDL EDA工具&#xff1a; Vivado、quartus2 、modelsim 解决VIvado编程中遇到的bug 5一、引言二、问题、分析及解决方法1. vivado编译时报错&#xff08;1&#xff09;错误&#xff08;2&#xff09;分析&#xff08;3&am…

YOLOv8 多种任务网络结构详细解析 | 目标检测、实例分割、人体关键点检测、图像分类

前言 本文仅根据模型的预测过程&#xff0c;即从输入图像到输出结果&#xff08;图像预处理、模型推理、后处理&#xff09;&#xff0c;来展现不同任务下的网络结构&#xff0c;OBB 任务暂不包含。 Backbone 1. yolov8m 2. yolov8m-p2 3. yolov8m-p6 4. 细节 图中 CBS Con…

DALL·E 2详解:人工智能如何将您的想象力变为现实!

引言 DALLE 2是一个基于人工智能的图像生成模型&#xff0c;它通过理解自然语言描述来生成匹配这些描述的图像。这一模型的核心在于其创新的两阶段工作流程&#xff0c;首先是将文本描述转换为图像表示&#xff0c;然后是基于这个表示生成具体的图像。 下面详细介绍DALL-E2的功…

Java高级---Spring Boot---3快速入门

3 Spring Boot快速入门 3.1 创建第一个Spring Boot项目 使用IntelliJ IDEA和Spring Initializr创建项目 打开IntelliJ IDEA 并选择 “Start a new project”。在新建项目向导中&#xff0c;选择 “Spring Initializr”。填写项目基本信息&#xff1a; Group: 定义项目组&…

C#使用GDI对一个矩形进行任意角度旋转

C#对一个矩形进行旋转GDI绘图&#xff0c;可以指定任意角度进行旋转 我们可以认为一张图片Image&#xff0c;本质就是一个矩形Rectangle,旋转矩形也就是旋转图片 在画图密封类 System.Drawing.Graphics中&#xff0c; 矩形旋转的两个关键方法 //设置旋转的中心点 public v…

如何设计创新型薪酬福利体系?

薪酬福利体系是企业吸引和留住人才的重要工具&#xff0c;然而&#xff0c;传统的薪酬福利体系缺少一定的灵活性&#xff0c;同时在满足员工多样性需求方面也比较欠缺。所以越来越多的企业选择建立创新型的薪酬福利体系。那么应该如何建立兼具灵活和激励的创新型的薪酬福利体系…

sns报错 UserWarning: Dataset has 0 variance; skipping density estimate.

报错信息 UserWarning: Dataset has 0 variance; skipping density estimate. Pass warn_singularFalse to disable this warning. 三维数组维度(1000, 27,1)&#xff0c;取出第一个元素画出分布图保存检查错误原因&#xff0c;print(Mcases[:,:,0].shape) 显示维度(1000, 27)修…

生成随机图片

package com.zhuguohui.app.lib.tools;/*** Created by zhuguohui* Date: 2024/6/1* Time: 13:39* Desc:获取随机图片*/ public class RandomImage {// static final String url "https://picsum.photos/%d/%d?random%d";static final String url "https://…

FPGA定点数FFT过后转换为浮点数与Matlab计算的FFT结果进行比对

目录 1.前言2.FPGA的testbench中如何读取数据文件3.FPGA的testbench中如何将输出数据存储在文件中4.Matlab去读取testbench存储的文件数据4.1纯数字不带编码4.2 带编码的数据&#xff0c;如定点数 微信公众号获取更多FPGA相关源码&#xff1a; 1.前言 前面一篇文章讲了&…

ESP32-C3模组上实现蓝牙BLE配网功能(2)

接前一篇文章&#xff1a;ESP32-C3模组上实现蓝牙BLE配网功能&#xff08;1&#xff09; 本文内容参考&#xff1a; 《ESP32-C3 物联网工程开发实战》 乐鑫科技 蓝牙的名字由来是怎样的&#xff1f;为什么不叫它“白牙”&#xff1f; 特此致谢&#xff01; 一、蓝牙知识基础…

[数据集][目标检测]吉他检测数据集VOC+YOLO格式66张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;66 标注数量(xml文件个数)&#xff1a;66 标注数量(txt文件个数)&#xff1a;66 标注类别数…