MATLB|基于改进教学的优化算法(TLSBO)的最优功率优化

news2024/11/16 1:21:39

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

📋📋📋本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 TLBO算法

2.1 教阶段

2.2 学阶段

2.3 研究阶段(建议的策略)

2.4. TLSBO的多目标策略

3 实参数问题的TLSBO算法

4 基于 TLSBO算法求解OPF 问题

5 结论

6 Matlab代码实现


1 概述

在过去的几年中,基于各种进化算法(EA)的基于人口的群体智能一直是需要问题最优解的各个领域的许多研究人员的极大研究兴趣,例如工程系统中各种类型的工程优化问题的最优解。因此,需要各种启发式技术和进化算法来有效和以可接受的方式解决和找到工程优化问题的最佳解决方案。通用优化方法,如粒子群优化 (PSO) 算法 [1],湍流水基优化[2],差分进化 (DE) 算法 [3],人工蜂群 (ABC) [4],基于教学的优化 (TLBO) [5]在文献中提出,这些文献能够在可接受和快速的仿真时间内为许多具有许多非线性特征的工程和现实世界优化问题找到有效且可接受的最优或接近最优解。此外,经典优化方法在求解大多数工程和实际优化时效率不高且不可接受,因为它们仅计算局部最优值 [6].

TLBO是最成功的元启发式优化算法之一,许多研究都集中在通过不同的策略提高其性能上;其中一些包括交互式教学优化器(ITLO),用于VSC-HVDC系统的最佳调整[18],具有动态群策略的TLBO算法[19],自适应惯性权重TLBO [20],改进的TLBO,用于光伏模型的参数提取[21]、混合TLBO和神经网络算法[22],一个混乱的TLBO [23],和动态相反学习增强[24].本文针对TLBO提出了一种提高TLBO性能的新策略,并帮助其从收敛到局部最优。

OPF问题作为电力系统运算中的一个主要问题,已经使用许多经典的优化方法得到解决,例如基于牛顿法,二次规划,内点方法,线性规划和非线性规划[7].但是,这些方法在处理非凸和/或非平滑问题时会遇到困难。此外,它们在解决大规模问题方面速度很慢,并且可能停留在局部最优值中。因此,近年来,自然启发的元启发式元启发优化算法在求解OPF问题方面得到了广泛的应用。本文提出并开发了一种在原始TLBO算法中求解电力系统中不同类型的非线性最优潮流(OPF)问题的高效策略。在解决不同的工程优化问题方面具有良好的可行性和性能[6]如:分布系统状态估计[9],改进的诱变引物设计 [10]、所选铸造工艺的参数优化[8]、空间桁架的设计[11],动态经济排放调度(DEED)[12],能量损失最小化[13]、石油化工行业多层次生产的优化[14]、控制硬盘录像机补偿器[15],灵活的作业车间调度 [16]、PEM燃料电池和太阳能电池模型的参数识别[17]等。

本文的结构:在第2节中,对原始TLBO进行了表述,并介绍了建议的策略。第3节为Matlab仿真代码,其中比较了不同算法下标准实参数测试函数的优化结果。在第4节中,使用TLSBO算法求解电力系统OPF优化问题。最后,在第5节中给出了本文的一些结论。

 基于教学的优化算法(TLBO)算法是一种功能强大且高效的优化算法。然而,它很容易陷入局部最优状态。为了提高TLBO的全局优化性能,本文提出了一种改进版TLBO,称为基于教学学习的优化算法(TLSBO)。增强功能是基于向TLBO添加新策略,称为研究策略,其中每个成员使用来自另一个随机选择的个人的信息来改善其位置。然后,TLSBO用于求解不同的标准实参数基准函数以及各种类型的非线性最优潮流(OPF)问题,其结果表明TLSBO与原始TLBO相比,具有更快的收敛速度,最终最优解的更高质量,以及从收敛到局部最优的逃逸能力。

2 TLBO算法

TLBO教学优化算法(Teaching-learning-based optimization, TLBO) 是 Rao 等人模拟班级教学过程中的教师教学和学生学习两个阶段设计出来的算法。它将整个种群充当班级,种群中最优秀的个体充当老师,其他个体充当学生。算法分为教阶段和学阶段。教阶段意
味着班集体向老师学习;学阶段意味着同学之间相互学习。通过这两个阶段的协同进化,从而提升种群的整体水平。
 

2.1 教阶段

在教阶段,每次迭代中适应度值最好的个体将被选为教师X_{T},班级的平均成绩为M_{t},教师在传授知识过程中希望班级的学生能向自己以及班级的平均分靠近。故位置迭代公式如下(1)表示:

                                         X_{i, n e w}=X_{t}+r_{i}\left(X_{T}-T_{F} M_{t}\right)

 其中T_{F}为教学因子,反应教师对于班级平均值的影响程度,一般取1 或 2。X_{i, n e w}经过教阶段学习之后的新状态;r_{i}为学生学习前原始状态为[0,1]上的随机数。

2.2 学阶段

课堂结束后,该阶段模拟学生之间相互学习的过程。学生为了进一步提高自身的学习水平,与班级中的其他个体进一步交流。学生随机选择学生,比较两个学生的适应度值,用优秀学生的位置减去次优者。以最小值优化问题为例,采取如下方式(2)进行学习:

              X_{i, \text { new }}=\left\{\begin{array}{l} \left\{X_{i}+\operatorname{rand}_{i}\left(X_{i}-X_{j}\right), f\left(X_{i}\right)<f\left(X_{f}\right)\right. \\ X_{i}+\operatorname{rand}\left(X_{f}-X_{i}\right), f\left(X_{j}\right)<f\left(X_{t}\right) \end{array}\right.

其中rand_{i}为[0,1]随机数。对比更新前后的结果,保留较优解。

全部的学生(粒子)分为两个阶段训练,直到达到迭代次数。

2.3 研究阶段(建议的策略)

2.4. TLSBO的多目标策略

3 实参数问题的TLSBO算法

在仿真研究的第一部分中,为了验证TLSBO算法在实参数优化方面的性能,选择了各种类型的实参数函数[27]基于平均值(最佳结果的平均值)、最佳(所有运行中的最佳结果)和 Std(最佳结果的标准偏差),这些结果在附录中进行了总结。在本节中,GL-25的特征包括一般性能,坚固性和精度[28], 德国/兰特/2 [29],(F(比例因子)= 0.45,CR(交叉因子)= 0.7),CLPSO [30],使用12个实参数测试函数比较了原始TLBO和提出的TLSBO算法,这些函数总结在[27].实参数测试函数是多模态、不可分离、可扩展的测试函数,它们具有从局部最小值到全局最小值的非常长、窄且抛物线形的谷值,这使得它们很难求解[27].每个算法对每个实参数测试函数运行 30 次,结果包括均值、最佳、标准值表 1.在这些模拟中,总体大小被视为 N = 30,函数评估的最大值 FE = 150,000,维度 D = 30。在此表中,秩显示算法的平均指数逐级排序的顺序,Nb 是该算法优于其他算法的次数,Nw 是该算法比其他算法差的次数,Mr 是所有函数的算法秩的平均值。结果表明,所提出的TLSBO算法在获得更好的最终解和较少收敛到局部最小值方面超越了原来的TLBO等算法。结果表明,TLSBO算法成功解决了不同的实参数优化问题。f 的 30 次算法运行的收敛图的均值1和 f10测试函数如图 3 所示。

    

4 基于 TLSBO算法求解OPF 问题

通常,OPF问题的目的是通过最优地调整电力系统控制参数来优化一个或多个目标函数,这些参数受到一些相等和不等式的约束[31,32].在最近的文献中(自2014年以来)用于解决不同OPF问题的一些优化算法的摘要是基于分解的算法[33],进化算法 (EA) [34],改进的多目标ABC算法[35],多蜂巢蜜蜂觅食算法 (MHBFA) [35],修改后的 TLBO [36],改进的自适应 DE [37],混合模糊 PSO 和 Nedler–Mead 算法 (HFPSO-NM) [38], 学习 DE-APSO-PS [39],一种适应的GA,可调节种群规模[40],基于适应性生物地理学的PPO [41],自适应克隆选择算法[42],PSO [43],PSO,EP,GA,GWO和DE [44,45] 回溯搜索优化算法 (BSOA) [46],基于反对派的GSA [47],一个基于半定构编程的模型[48],一种概率多目标算法 [49],改进的 ABC (IABC) [50–53],并行 NSGA-II [54];一种新的正弦-余弦算法 (SCA) [55]、安全栅内点[56],一种改进的引力搜索算法 (EGSA) [57],改进的组搜索优化 (IGSO) [58,59],混沌入侵杂草优化(CIWO)算法[7],改良细菌觅食算法(MBFA)[60],机会约束框架[61],社交蜘蛛优化 (SSO) 算法 [62],修改后的Jaya算法[63],一种改进的DE算法,与有效的约束处理技术集成在一起[64],基于生物地理学的优化 (BBO) [65,66],一种增强强度的帕累托进化方法[67],蝙蝠 [68],联苯联解决方案方法[69,70],一种改进的多目标多元优化 (IMOMVO) 算法 [71],准对立杜鹃搜索 (QOCS) [72],混沌的KHA [73],非主导分拣混合CSA [74],MSA与GSA的混合算法[75],内部搜索算法 (ISA) [76],强制初始化 DE [70],一种准对立改进的Jaya算法[77],萤火虫群优化 (GSO) [78],多目标蚂蚁狮算法 (MALA) [79],改进的碰撞体优化 (ICBO) [80],一种新的混合整数非线性规划模型[81],改进的萤火虫算法[82],一种使用Lévy突变策略的新TLBO [83],具有 MVO 的混合 PSO [84],改进的蝙蝠算法 [85], DSA [86], 杂交 PSOGSA [87], 螺柱 KHA [88],模糊和声搜索 (FHS) [89],自适应 FFA [90],修改后的 MOEA/D [67,91],类电磁算法 (ELA) [92],增强型自适应 DE [93] 和飞蛾群算法 (MSA) [94].

5 结论

TLBO是一种基于群体的无参数简单优化算法,在不同的工程优化问题上表现出更好、更可接受的性能。在本研究中,通过在原始TLBO上添加新策略(研究策略)来提出TLBO算法的新版本TLSBO。采用TLSBO算法对12个基准实参数函数和各类优化问题进行了优化,并将其结果与以往文献中报道的其他最优结果进行了比较。仿真结果表明,与原来的TLBO算法和之前提出的算法相比,所提出的TLSBO算法具有良好的、高效、稳健的优化性能,在处理各种类型的优化问题时具有更快的收敛性。

通过使用混沌,Levy Flight,多群等概念来改进TLSBO,并将所提出的算法与其他成功的元启发式方法混合,可能是未来研究的主题。

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

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

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

6 Matlab代码实现

博客主页:电气辅导帮

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

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

相关文章

使用 Zabbix 监控Oracle

zabbix ODBC 数据库监控 ODBC 是 C 语言开发的、用于访问数据库的中间件接口.zabbix 支持查询任何 ODBC 支持的数据库.zabbix 经过调用 ODBC 来获取数据库的数据以及数据库状态等等信息 一、安装unixODBC 官方主页:http://www.unixodbc.org/download.html 使用阿里巴巴提供的…

线性方程组迭代法

雅可比迭代法与高斯-塞德尔迭代法 雅可比迭代法 例一 {10x1−x2−2x37.2−x110x2−2x38.3−x1−x25x34.2\left\{\begin{array}{l} 10 x_{1}-x_{2}-2 x_{3}7.2 \\ -x_{1}10 x_{2}-2 x_{3}8.3 \\ -x_{1}-x_{2}5 x_{3}4.2 \end{array}\right. ⎩⎨⎧​10x1​−x2​−2x3​7.2−x…

Css-Grid布局(强大)

前言 我们前面讲的Flex布局是轴线布局&#xff0c;只能指定"项目"针对轴线的位置&#xff0c;可以看做是一维布局&#xff0c;Grid布局则是将容器划分成"行"和"列"&#xff0c;产生单元格&#xff0c;然后指定"项目所在"的单元格&…

从手动测试到自动化测试老司机,只用了3个月,我的薪资翻了一倍

虽然笔者是一个测试老人了&#xff0c;但是基本上所有的测试经验都停留在手工测试方面&#xff0c;对于自动化测试方面的实战经验少之又少&#xff0c;可以说&#xff0c;从这个角度来说&#xff0c;就像生活在原始社会&#xff0c;一切靠双手解决问题。&#xff08;别想歪了&a…

【深度学习】李宏毅2021/2022春深度学习课程笔记 - Deep Learning Introduction

文章目录一、深度学习的概念二、函数的类型三、深度学习的步骤3.1 定义一个参数未知的函数表达式3.2 定义一个损失函数3.3 采用梯度下降法求解使得函数表达式的Loss最小的参数四、视频播放量预测案例4.1 案例介绍和思路分析4.2 线性函数表达式14.3 改进1&#xff1a;使用前一段…

此文件存在危险因此chrome已将其拦截

当您尝试在 chrome 中下载一些文件时&#xff0c;有时 chrome 会说“此文件可能很危险&#xff0c;因此 Chrome 已阻止它”。这可能是因为 Chrome 的内置安全功能可能已将其检测为可能有害的文件。但是&#xff0c;如果您信任文件的来源并想要下载它&#xff0c;那么您可以按照…

authorization server client resource 使用1

authorization server && client && resource 使用1 OAuth2介绍 OAuth&#xff08;Open Authorization&#xff09;是一个关于授权&#xff08;authorization&#xff09;的开放网络标准&#xff0c;允许用户授权第三方应用访问他们存储在另外的服务提供者上…

leetcode.1691 堆叠长方体的最大高度 - dp + 排序

1691. 堆叠长方体的最大高度 目录 1、java 2、c 思路&#xff1a; 根据题目描述&#xff0c;长方体 j 能够放在长方体 i 上&#xff0c;当且仅当 题目允许旋转长方体&#xff0c;也就是可以选择长方体的任意一边作为长方体的高。 对于任意一种合法的堆叠&#xff0…

聊一聊三级等保

本文为joshua317原创文章,转载请注明&#xff1a;转载自joshua317博客 聊一聊三级等保 - joshua317的博客 一、前言 1.1 基本认知 网络安全&#xff1a;根据《信息安全技术网络安全等级保护基本要求》&#xff08;GB/T 22239-2019&#xff09;&#xff0c;是指通过采取必要措…

m基于功率谱,高阶累积量和BP神经网络-GRNN网络的调制方式识别仿真,对比2psk,4PSK,2FSK以及4FSK

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 首先区分大类的话采用的基于功率谱提取的len参数&#xff08;峰值频率间隔&#xff09;&#xff0c;用峰值个数来代替&#xff0c;这样能很好的区分大类把MFSK和MPSK信号区分开。 针对MPSK&…

VSCode-远程连接服务器进行开发

一&#xff1a;安装插件 二&#xff1a;设置SSH 按照划线位置依次配置要连接的服务器配置 三&#xff1a;打开远程连接选项 勾选此选项后即可显示配置好的远程服务器&#xff0c;点击登录即可。 输入服务器用户密码 注意 &#xff1a;终端框install不要关闭&#xff01;&#…

基于MPS算法和改进的非支配排序遗传算法II(MNSGA-II)求解配备起重机的模糊鲁棒设施布局问题(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

【C语言航路】第八站:调试(第二幕)

目录 四、一些调试的实例 1.实例一 2.实例二 五、如何写出优秀的&#xff0c;易于调试的代码 1.优秀的代码 2.几个经典的例子 &#xff08;1&#xff09;模拟实现strcpy函数 &#xff08;2&#xff09;模拟实现strlen 六、编程常见的错误 1.编译型错误 2.链接型错误 …

Spring学习:学完总结

前言&#xff1a; 此次学习大概花了6天的时间&#xff0c;不过只是浅浅的学到了皮毛&#xff0c;所以后面有新的理解就会持续更新&#xff01;下面是一些重点总结。 总结&#xff1a; 一、Spring概述 1.1 什么是Spring &#xff08;1&#xff09;全称&#xff1a;EJB(sun企…

alibaba微服务组件sentinel

alibaba微服务组件sentinel 官方文档&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html 官方示例&#xff1a;https://github.com/alibaba/Sentinel/tree/master/sentinel-demo 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Senti…

MYSQL数据库-索引

MYSQL数据库-索引零、前言一、索引概念二、认识磁盘三、理解索引1、如何理解Page2、B vs B3、聚簇索引 VS 非聚簇索引4、普通索引5、总结四、索引操作1、创建索引2、查询索引3、删除索引零、前言 本章主要讲解MYSQL数据库中的索引这一重要知识点 一、索引概念 索引的价值&…

Allegro如何打印光绘层操作指导Plot模式

Allegro如何打印光绘层操作指导Plot模式 Allegro支持把视图打印成pdf格式的文件,下面介绍用plot模式打印,具体操作如下 打开光绘设置 确保光绘设置都是正确的 选择file-plot setup 出现打印设置的参数,常规默认即可,如果需要打印黑白的,选择Black and white 选择ok …

无人机无线传感器网络中的节能数据采集(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

【LeetCode】1691. 堆叠长方体的最大高度

题目描述 给你 n 个长方体 cuboids &#xff0c;其中第 i 个长方体的长宽高表示为 cuboids[i] [widthi, lengthi, heighti]&#xff08;下标从 0 开始&#xff09;。请你从 cuboids 选出一个 子集 &#xff0c;并将它们堆叠起来。 如果 widthi < widthj 且 lengthi < le…

React学习笔记:组件

组件 将页面按照界面功能进行拆分&#xff0c;每一块界面都拥有自己的独立逻辑&#xff08;组件&#xff09;&#xff0c;这样可以提高项目代码的可维护性和复用性。 如上图所示将这个卡片分为三个组件&#xff0c;那么当需要添加一个这样的卡片时&#xff0c;就可以复用这些…