论文:Multi-Objective Modified Grey Wolf Optimizer for Optimal Power Flow-最优潮流

多目标改进灰狼算法求解最优潮流问题

论文来源:

Multi-objective Modified Grey Wolf Optimizer for ..._百度学术 http://xueshu.baidu.com/s?wd=Multi-Objective+Modified+Grey+Wolf+Optimizer+for+Optimal+Power+Flow&rsv_bp=0&tn=SE_baiduxueshu_c1gjeupa&rsv_spt=3&ie=utf-8&f=8&rsv_sug2=1&sc_f_para=sc_tasktype%3D%7BfirstSimpleSearch%7D

关于OPF的介绍的链接---东南大学

【图文】六、最优潮流汇总._百度文库 https://wenku.baidu.com/view/dafe8d4749d7c1c708a1284ac850ad02de8007ea.html 

1. Optimal Power Flow:

 https://baike.baidu.com/item/%E6%9C%80%E4%BC%98%E6%BD%AE%E6%B5%81/11003211?fr=aladdin

最优潮流 [1]  (Optimal Power Flow,OPF)是指当系统的结构参数和负荷情况都已给定时,调节可利用的控制变量(如发电机输出功率、可调变压器抽头等)来找到能满足所有运行约束条件的,并使系统的某一性能指标(如发电成本或网络损耗)达到最优值下的潮流分布。优潮流是一个典型的非线性优化问题,且由于约束的复杂性使得其训一算复杂,难度较大。虽然人们已经提出了许多种方法,并且在部分场合有所应用,但是要大规模实用化,满足电力系统的运行要求还有不少问题要解决。

潮流计算: 确定电网的电压和功率分布

实际电网中往往只知道负荷功率和供电节点的电压,怎样确定各点电压和功率??

2.OPF问题表述: 论文中和PPT中的,并不是电气 工程专业,所有有些纠结那个定义更好, 而且后续的内容只是看懂了一些参数设置的界限以及定义

### 多目标灰狼优化器简介 多目标灰狼优化器(Multi-Objective Grey Wolf Optimizer, MOGWO)是一种新颖的元启发式算法,旨在解决复杂的多目标优化问题。MOGWO基于单目标灰狼优化(Grey Wolf Optimizer, GWO)[^1]发展而来,在保持原有优势的基础上进行了扩展。 #### 原理概述 在自然环境中,灰狼群体通过协作捕食来维持生存和发展。受此现象启发,MOGWO模拟了这种社会结构及其决策过程: - **领导层形成**:利用外部存档存储Pareto最优解集,并据此构建领导者阶层; - **位置更新规则**:根据个体适应度调整候选解的位置向量; - **探索与开发平衡**:动态调节搜索范围以兼顾全局勘探和局部精炼; 这些特性使得MOGWO能够在高维复杂环境下有效地寻找多个冲突目标之间的折衷方案[^2]。 ```matlab function [X,F]=mogwo(SearchAgents_no,Max_iter,lb,ub,dim,fobj) Alpha_pos=zeros(1,dim); Alpha_score=inf; Beta_pos=zeros(1,dim); Beta_score=inf; Delta_pos=zeros(1,dim); Delta_score=inf; Positions=rand(SearchAgents_no,dim).*(ub-lb)+lb; Convergence_curve=zeros(1,Max_iter); t=1;% Loop counter while t<=Max_iter for i=1:size(Positions,1) Flag4ub=Positions(i,:)>ub; Flag4lb=Positions(i,:)<lb; Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+... ub.*Flag4ub+lb.*Flag4lb; fitness=fobj(Positions(i,:)); if isnan(fitness)||isinf(fitness) fitness=inf; end F(t,i)=fitness; % Update the three best search agents if fitness<Alpha_score Alpha_score=fitness; %#ok<*NASGU> Alpha_pos=Positions(i,:); elseif fitness<Beta_score && fitness>=Alpha_score Beta_score=fitness; Beta_pos=Positions(i,:); elseif fitness<Delta_score && fitness>=Beta_score Delta_score=fitness; Delta_pos=Positions(i,:); end end a=2-t*((2)/Max_iter);% Parameter a decreases linearly from 2 to 0 for i=1:size(Positions,1) r1=rand(size(Positions(i,:),1));% random number in [0,1] r2=rand(size(Positions(i,:),1));% random number in [0,1] A1=2*a*r1-a;% Equation (3.3) C1=2*r2;% Equation (3.4) D_alpha=abs(C1*Alpha_pos-Positions(i,:));% Equation (3.5)-part 1 X1=Alpha_pos-A1*D_alpha;% Equation (3.6)-part 1 r1=rand(size(Positions(i,:),1));% random number in [0,1] r2=rand(size(Positions(i,:),1));% random number in [0,1] A2=2*a*r1-a;% Equation (3.3) C2=2*r2;% Equation (3.4) D_beta=abs(C2*Beta_pos-Positions(i,:));% Equation (3.5)-part 2 X2=Beta_pos-A2*D_beta;% Equation (3.6)-part 2 r1=rand(size(Positions(i,:),1));% random number in [0,1] r2=rand(size(Positions(i,:),1));% random number in [0,1] A3=2*a*r1-a;% Equation (3.3) C3=2*r2;% Equation (3.4) D_delta=abs(C3*Delta_pos-Positions(i,:));% Equation (3.5)-part 3 X3=Delta_pos-A3*D_delta;% Equation (3.6)-part 3 Positions(i,:)=(X1+X2+X3)./3;% Equation (3.7) end Convergence_curve(t)=Alpha_score; t=t+1; end [f_min,index_fmin]=min(F(end,:)); X=Positions(index_fmin,:); end ``` 上述MATLAB代码实现了基本框架下的MOGWO流程,具体参数设置可根据实际应用场景灵活调整[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值