基于混沌原子搜索优化的电力系统(HPS)负载频率自动控制(ALFC)(Matlab代码实现)

news2024/11/27 16:44:39

 👨‍🎓个人主页:研学社的博客 

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

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🌈3 Matlab代码实现

🎉4 参考文献


💥1 概述

该文提出一种改进形式的基于混沌的原子搜索优化(IASO)算法,通过调整一维(一维)混沌图(帐篷、正弦和逻辑)来提高搜索能力,通过强化勘探和开发阶段来提高搜索能力。IASO避免了过早收敛和陷入局部最优。首先,使用经典基准函数对所提出的IASO进行验证,并将其性能与ASO算法进行比较。测试结果表明,所提算法在均值、标准差和最佳值方面均优于算法。此外,利用所提技术通过最小化积分时间绝对误差,设计用于多区域多源混合电力系统(HPS)负载频率自动控制(ALFC)的分数阶比例积分微分控制器参数。结果表明,与ASO相比,所提控制方案在建立时间、峰值下冲、稳态误差值和控制力度方面分别提高了系统频率响应48%、70%、15%和69%。此外,通过考虑HPS参数±25%的变化进行灵敏度分析,并使用马来西亚气象数据测试实时适用性太阳辐射和风速变化。这些分析表明,瞬态振荡以最短的建立时间被阻尼,系统重新恢复到稳定的工作条件。此外,对瞬态和稳态性能指标的评估表明,基于帐篷图的IASO在解决ALFC问题时更有效地获得最优解。此外,通过基于Oustaloup滤波器的频域分数阶传递函数近似分析了系统的稳定性。

📚2 运行结果

部分代码:

function [Best_POS,Best_FIT,CG_curve]=CASO(NP,Max_IT,lb,ub,dim,fobj)
 
    for i=1:3
        ChaosVec(i,:)=chaos(Max_IT,i);
    end
    
    lb = ones(1,dim).*lb;    % Lower boundary
    ub = ones(1,dim).*ub;    % Upper boundary
    
    alpha=40;
    beta=0.2;
    
    CV=ChaosVec(1,:);
    
    %% %---------------------- Initialization by Chaos----------------------------%
    T_NP = NP*dim; 

    XC = chaos(T_NP+1,1);
    XC = XC(2:T_NP+1);
    XC= reshape(XC,NP,dim);

    X= repmat(lb,NP,1) +XC.*(repmat(ub,NP,1) - repmat(lb,NP,1)); 
    V= repmat(lb,NP,1) +XC.*(repmat(ub,NP,1) - repmat(lb,NP,1)); 
    %---------------------------------------------------------------------%
    %% ---------------Compute the Initial Fitness of Atoms-------------------------------%
    for i=1:NP
        Fitness(i)=fobj(X(i,:));
    end
    %------------------------------------------------------------------------------------%
    %%      
    CG_curve=zeros(Max_IT,1);
    [Max_Fitness,Index]=min(Fitness);
    CG_curve(1)=Fitness(Index);
    Best_POS=X(Index,:);

    It=1; 
    
    % Calculate acceleration.
    Atom_Acc=Acceleration_ch(X,Fitness,It,Max_IT,dim,NP,Best_POS,alpha,beta,CV);
    
    %% -------------------------------Main Loop----------------------------------%
 for It=2:Max_IT 
    
    for ZZ = 1:It
        CG_curve(It)=CG_curve(It-1);
        V=rand(NP,dim).*V+Atom_Acc;
        X=X+V;     
        %% -------------------Boundary Handling Mechanism--------------------------------%
        for i=1:NP
            % Relocate atom out of range.  
            T_ub= X(i,:)>ub;
            T_lb= X(i,:)<lb;
            X(i,:)=(X(i,:).*(~(T_ub+T_lb)))+((rand(1,dim).*(ub-lb)+lb).*(T_ub+T_lb));
            %Evaluate atom. 
            Fitness(i)=fobj(X(i,:));
        end  
        %--------------------------------------------------------------------------------%
        %% -----------------------Position Update using Chaos ---------------------------%
        [Max_Fitness,Index]=min(Fitness);      
     
        if Max_Fitness<CG_curve(It)
             CG_curve(It)=Max_Fitness;
             Best_POS=X(Index,:);
        else
            xx=CV(ZZ); 
            r=fix(xx*NP)+1;
            X(r,:)=Best_POS;
        end
%----------------------------------------------------------------------------------------%
        %% --------------------- Calculate Acceleration (Update by Chaos)-----------------%
        Atom_Acc=Acceleration_ch(X,Fitness,It,Max_IT,dim,NP,Best_POS,alpha,beta,CV);
    end
end
Best_FIT=CG_curve(It); 
end

function Potential=LJPotential(Atom1,Atom2,Iteration,Max_Iteration,s)
    
    %Calculate LJ-potential
    r=norm(Atom1-Atom2);  
    c=(1-(Iteration-1)/Max_Iteration).^3;  
    rsmin=1.1+0.1*sin(Iteration/Max_Iteration*pi/2);
    rsmax=1.24;

    if r/s<rsmin
        rs=rsmin;
    else
    if  r/s>rsmax
        rs=rsmax;  
    else
        rs=r/s;
    end
    end           
Potential=c*(12*(-rs)^(-13)-6*(-rs)^(-7)); 

🌈3 Matlab代码实现

🎉4 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]I. Andrew Xavier Raj, N. I. B. Abdul Wahab, M. Premkumar, V. Veerapandiyan, M. A. Mohd Radzi, N. B. Sulaiman, and M. Z. Islam, "Renewable Sources-Based Automatic Load Frequency Control of Interconnected Systems Using Chaotic Atom Search Optimization," Applied Soft Computing (Elsevier), Vol. 119, pp. 108574, April 2022. DOI: 10.1016/j.asoc.2022.108574. 

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

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

相关文章

Spring Security 中的四种权限控制方式

Spring Security 中对于权限控制默认已经提供了很多了&#xff0c;但是&#xff0c;一个优秀的框架必须具备良好的扩展性&#xff0c;恰好&#xff0c;Spring Security 的扩展性就非常棒&#xff0c;我们既可以使用 Spring Security 提供的方式做授权&#xff0c;也可以自定义授…

如何实现外网访问API接口

Application Programming Interface 缩写为API&#xff0c;中文翻译为“应用程序接口”&#xff0c;是一些预先定义的函数&#xff0c;或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&…

TVS管开关电源防护应用及电源防护元件的品类

瞬态抑制二极管简称TVS管。其作用原理是能够在极短的时间内承受反向电压的冲击&#xff0c;使得两极之间的电压钳位在特定电压水平上&#xff0c;有效避免了对后面电路的冲击&#xff0c;从而保护了被保护电子线路中的精密元件不受其损害。 瞬态抑制二极管TVS的钳位响应速度为为…

pytest + yaml 框架 -7.用例分层机制

前言 当我们测试流程类的接口&#xff0c;需反复去调用同一个接口&#xff0c;就会想到复用API&#xff0c;在代码里面可以写成函数去调用。 那么在yaml 文件中&#xff0c;我们可以把单个API写到一个yaml 文件&#xff0c;测试用例去调用导入API。 pip 安装插件 pip instal…

电子产品设计的流程有哪些

电子产品设计过程是指导工业外观设计的具体环节&#xff0c;主要包括产品市场需求分析、产品设计、产品原型设计、生产测试设计、大规模生产等方法和步骤。 一、电子产品设计流程是什么? 1.产品市场需求分析是电子产品设计成功的第一步&#xff0c;也是非常重要的一步。开发者…

JavaSE(数组)

1. 数组 数组创建及初始化 总结&#xff1a; 三种写法包括了动态初始化和静态初始化&#xff0c;其中省略格式不能再省略&#xff08;拆分&#xff09;&#xff1b;没有初始化时&#xff08;默认值为基类类型对应的默认值&#xff09;其中引用类型的默认值为null 三种写法 1…

RK3288-8.1-添加一个人体感应的开关-pir_pin_status

收到一个人体感应的需求,在设置添加一个开关 第一步,确定人体感应接口的GPIO 可知GPIO7_B5为对应GPIO 第二步,注册对应DTS 然后去驱动内注册对应的节点 很基础的东西,就不多说了,省略一万字......................(得到节点) cat sys/devices/platform/attr/pir_pin_status …

CAD尺寸标注不显示数值

在创建一个新的CAD图纸后&#xff0c;使用CAD尺寸标注会看见只有一条直线而没有数字显示&#xff0c;这是为什么呢&#xff1f;实际上是存在数值的&#xff0c;只是默认的数值很小&#xff0c;如果图形尺寸过大就看不清楚需要放大才能看见&#xff0c;就需要调整CAD尺寸标注的格…

RSS Can:借助 V8 让 Golang 应用具备动态化能力(二)

继续聊聊之前做过的一个小东西的踩坑历程&#xff0c;如果你也想高效获取信息&#xff0c;或许这个系列的内容会对你有用。 写在前面 在上一篇文章《RSS Can&#xff1a;使用 Golang 实现更好的 RSS Hub 服务&#xff08;一&#xff09;》里&#xff0c;我们简单介绍了使用 G…

数字孪生技术在智慧园区领域的实践

随着云计算、物联网、大数据、人工智能、5G 等为代表的技术迅速发展和 深入应用&#xff0c;“智慧园区”建设已成为全球园区发展的新趋势。近年来&#xff0c;党中央 和国务院更加注重智慧园区的建设与发展&#xff0c;相继出台了多项政策推动智慧园区的建设&#xff0c;智慧园…

数据镜像软件

什么是数据镜像 数据镜像是复制已传输到 USB 设备或在 USB 设备中修改的文件内容的过程。创建镜像副本后&#xff0c;可以在受密码保护的网络共享中维护这些副本。此共享文件夹最好保存在远程位置&#xff0c;以节省本地计算机上的空间。这样&#xff0c;只有管理员或受信任的…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于疫情防控下社区管理平台my3tu

对于即将毕业或者即将做课设的同学而言&#xff0c;由于经验的欠缺&#xff0c;面临的第一个难题就是选题&#xff0c;确定好题目之后便是开题报告&#xff0c;如果选题首先看自己学习那些技术&#xff0c;不同技术适合做不同的产品&#xff0c;比如自己会些简单的Java语言&…

Flutter自定义MultiChildRenderObjectWidget实现圆环布局效果

一、本文主要是学习巩固一下自定义RenderObject这一块内容&#xff0c;用所了解到的知识实现一个圆环布局效果 本篇文章主要参考了恋猫de小郭Flutter 完整开发实战详解&#xff08;十六、详解自定义布局实战&#xff09;文章&#xff0c;大家可以先看完这篇文章再来阅读本篇这…

生产制造企业用的ERP系统——流程管理

ERP的含义是企业资源计划&#xff0c;主要是对企业所拥有各种资源进行综合规划和优化管理&#xff0c;用以降低成本&#xff0c;提高效率&#xff0c;增加利润。 作为一个低代码开发平台&#xff0c;百数在办公领域已有10年历史&#xff0c;为企业信息化发展提供丰富的功能模块…

Java如何实现截取字符串

文章目录0 写在前面1 .substring()2 split()正则表达式3 StringUtils.substring()4 写在最后0 写在前面 在实际工作中有一些地方需要用到截取字符串的方法&#xff0c;所以在此记录下截取字符串的几种方法。 .substring() StringUtils.substring() split()正则表达式 1 .subs…

最高月薪15.5K,成大事不在于力量的大小,而在于能坚持多久~

在前几天的世界杯八强赛中&#xff0c;阿根廷通过点球战胜了荷兰&#xff0c;闯入了四强。 说起阿根廷&#xff0c;就不得不提起梅西&#xff0c;这个被众多球迷誉为天才的球王&#xff0c;可实际上&#xff0c;在他的父亲眼中&#xff0c;却从不称自己的儿子为天才&#xff0…

java 课设-超级玛丽游戏

题目&#xff1a; 本程序是针对超级玛丽小游戏的 JAVA 程序&#xff0c;进入游戏后首先用鼠标点击 GUI 窗口&#xff0c;然后开始游 戏&#xff0c;利用方向键来控制的马里奥的移动&#xff0c;同时检测马里奥与场景中的障碍物和敌人的碰撞&#xff0c;并判断马里 奥的可移动性…

.net 移动开发 MAUI

.net 移动开发 MAUI新建一个Hello World运行效果修改一下&#xff0c;做个加法运算吧运行效果创建新的内容页修改xaml内容添加逻辑内容主页面添加一个按钮并且增加路由按钮事件添加路由整体感受第一&#xff1a;WPF第二&#xff1a;小程序所有的页面跳转都是借助路由第三&#…

Win11怎么更改时区?

Win11可以自动检测配置用户的时区来显示正确的时间&#xff0c;如果由于一些特殊原因导致系统时区错误&#xff0c;显示时间也错误的话&#xff0c;这时候要怎么调整呢&#xff1f;下面小编就来教教大家更换Windows 11时区的方法。 方法一&#xff1a;在 Windows 11 上更改时区…

新旧电脑数据如何迁移?电脑数据导入到另一台电脑

新旧电脑数据如何迁移&#xff1f;换电脑是一件好事&#xff0c;换更新版本的电脑&#xff0c;还可以体验新功能。您需要找到将数据传输到新电脑的有效方法。电脑数据导入到另一台电脑&#xff0c;接下来的内容将为大家揭晓答案&#xff01; 方法1、使用专业的数据传输迁移数据…