IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序 -> 正文阅读

[数据结构与算法]基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序

基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序
摘 要: 为更好地解决分布式电源选址定容问题,提出一种改进的多目标粒子群算法。考虑投资成本、网损以及电压稳定性三因素建立了一个三目标的数学模型,并采用上述多目标粒子群算法对模型求解。最后利用 IEEE-69节点系统仿真来验证所提算法在分布式电源选址定容方面的有效性。
关键词: 分布式电源; 选址定容; 多目标粒子群
1 含有分布式电源的配电网结构
分布式电源接入配电网前后的情况如图 1、图 2所示。
在这里插入图片描述
在这里插入图片描述
图中,R+jX 表示线路总阻抗;w 表示 DG 接入配电网后距离配电所端的距离占线路总长度的 w%;IL、 IS 和 Id 分别代表负荷端电流、配电所端注入电流、分布式电源注入电流;设 PL、QL 分别代表负荷端有功功率和无功功率;U 表示负荷端电压;PG、QG分别代表 DG 端有功功率和无功功率;LossLA、LossLB 分别表示图 1 和图 2 中的网络损耗?。
当不考虑 DG 时,有
在这里插入图片描述

考虑到 DG 的注入功率时,配电网网络损耗可划分为两部分:①SUB-DG 之间线路损耗;②DG-load 之间线路损耗。可推导出
在这里插入图片描述

因此整个网络损耗为
在这里插入图片描述

分布式电源接入前后的网络损耗变化可以由以上推导出
在这里插入图片描述

可见,分布式电源接入后与接入前对网络损耗的影响主要取决于配电所端和分布式电源端功率的大小。

2 含 DG 的配电网优化配置模型2.1 目标函数
( 1) 投资与运行成本
在这里插入图片描述

( 2) 配电网总有功网损
在这里插入图片描述

( 3) 配电网电压安全稳定性
在这里插入图片描述

式中: r 是折现率; k 是设备使用年限; s 为 DG 接入系统的节点数; xi 为接入 DG 的有功容量; Nb 为系统中的支路数; N 为网络节点数; UN 为额定电压,取 1. 05; Ui 表示实际电压幅值。
2.2 约束条件
(1) 等式约束条件
在这里插入图片描述

(2) 不等式约束条件

?在这里插入图片描述
3 算例
IEEE69节点系统结构
在这里插入图片描述
IEEE69节点系统参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4 程序运行结果
在这里插入图片描述
5 matlab程序

%% 多目标粒子群算法分布式电源定容选址优化规划
tic                                                             %测试时间
format short ;
clc;
clear 
close all
%% 算法初始参数设置
pop=90;                                                         %种群粒子数目
gen=200;                                                         %最大迭代次数
M=4;                                                            %目标函数个数(M-1)
V=68;                                                           %控制变量个数
Xmax=10;                                                        %控制变量约束最大值
Xmin=0;                                                         %控制变量约束最小值
g_best=zeros(gen,V);                                            %全局最优存放位置
pop_num=50;                                                     %保存的最优前沿
lamda=0.5;                                                      %退火常数
%% 初始化种群个体
[pop_x,pop_v]=initial(pop,V,M);
%% 模拟退火粒子群算法
for t=1:gen                                                     %进入主要循环,gen迭代次数
                clear Gbest_value
                clear R
              %%  1.寻找全局最优
                [pbest,pbest_value,k]=gbest_fitness(pop_x,V,M,pop); 
                g_best(t,:)=pbest;
                g_best_value(t,:)=pbest_value;
              %% 1.对各目标函数值进行排序
                for j = 1 : M
                [Gbest_value(:,j),R(:,j)]=sort(g_best_value(:,j));
                end
               %% 2.根据个体排序计算其适应度
               for i = 1 : t
                  for j = 1 : M
                      if R(i,j)>1
                            ex(i,j)=(pop-R(i,j))^2;
                      else 
                            ex(i,j)=k*pop;  
                      end
                  end
               end
               ex=sum(ex');
             %% 3.得到适应度最好的全局最优解
               [Fit,index]=sort(ex');
               %[y_val,index]=min(g_best_value);
               clear Fit;
               gbest=g_best(index,:);
        %% 2.速度更新
               change_v=update_v(t,gen,pop_v,pop_x(:,1:68),g_best,V,pop,pbest);
               pop_v=change_v;
        %% 2.更新位置
               change_x=pop_x(:,1:V)+change_v(:,1:V);
        %% 控制变量约束
            for i = 1 : pop
                for j = 1 : V
            if change_x(i,j)>Xmax
                   change_x(i,j)=randi([0,10],1,1);
            else if change_x(i,j)<Xmin
                   change_x(i,j)=randi([0,10],1,1);
                end
            end
                end
            end
        %% 粒子群速度限制约束
             
        %% 求出各个体的目标函数值
         for i=1:pop
              change_x(i,V+1:V+M)=mokuaihanshu(pop_x(i,:),pop,M,V);%求出各个体的目标函数值
         end
        %% 形成混合种群
         [y1,x1]=size(pop_x);
         [y2,x2]=size(change_x);%注意:此时x1不等于x2
         migle_x(1:y1,:)=pop_x;
         migle_x(y1+1:y1+y2,1:x2)=change_x;
        %% 进行非支配排序
         migle_x = non_domination_sort_mod(migle_x, M, V);
        %% 选择下一代种群
         pop_x = replace_chromosome(migle_x, M, V, pop);
    
    %% 画图输出
  
    Ploss=pop_x(:,V+1)./(10^9);
     Cost=pop_x(:,V+2)./(10^6);
     plot3(Ploss,Cost,pop_x(:,V + 3),'b*');
     xlabel('网损');ylabel('总投资与运行成本');zlabel('负荷节点电压偏差');
    grid on
hold off
title('多目标优化结果')
drawnow
end
 pop_x(1:(V+3))
 。。。。。。。。略

详细程序转链接:https://mp.weixin.qq.com/s?__biz=Mzg4MTc1MjE2Mg==&mid=2247483847&idx=1&sn=ab3ab8d21cbd5a4018e0b4bb4ce4d8d3&chksm=cf6060caf817e9dc1daffe28e9f818915dfe6da30b6a4d3cad6d92100cbf6b6b37e3ed43617b&token=1687758221&lang=zh_CN#rd
感谢阅读,欢迎关注“电磁matlab”

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:25:52  更:2022-03-17 22:27:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:39:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码