【分布式能源的选址与定容】基于非支配排序多目标粒子群优化算法求解分布式能源的选址与定容附Matlab代码

简介: 【分布式能源的选址与定容】基于非支配排序多目标粒子群优化算法求解分布式能源的选址与定容附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

综合能源系统具有提高能源利用率,消纳不稳定新能源等显著优势,随着分布式能源的发展,综合能源系统已成为解决能源问题的重要举措.基于粒子群算法配电网分布式能源选址定容问题,求解以网损、电压偏差、投资运行费用最小为目标。

⛄ 部分代码

function f  = replace_chromosome(intermediate_chromosome, M, V,pop)


%% function f  = replace_chromosome(intermediate_chromosome,pro,pop)

% This function replaces the chromosomes based on rank and crowding

% distance. Initially until the population size is reached each front is

% added one by one until addition of a complete front which results in

% exceeding the population size. At this point the chromosomes in that

% front is added subsequently to the population based on crowding distance.


%  Copyright (c) 2009, Aravind Seshadri

%  All rights reserved.

%

%  Redistribution and use in source and binary forms, with or without

%  modification, are permitted provided that the following conditions are

%  met:

%

%     * Redistributions of source code must retain the above copyright

%       notice, this list of conditions and the following disclaimer.

%     * Redistributions in binary form must reproduce the above copyright

%       notice, this list of conditions and the following disclaimer in

%       the documentation and/or other materials provided with the distribution

%      

%  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

%  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

%  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

%  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE

%  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

%  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

%  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

%  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

%  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

%  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

%  POSSIBILITY OF SUCH DAMAGE.


[N, m] = size(intermediate_chromosome);


% Get the index for the population sort based on the rank

[temp,index] = sort(intermediate_chromosome(:,M + V + 1));


clear temp m


% Now sort the individuals based on the index

for i = 1 : N

   sorted_chromosome(i,:) = intermediate_chromosome(index(i),:);

end


% Find the maximum rank in the current population

max_rank = max(intermediate_chromosome(:,M + V + 1));


% Start adding each front based on rank and crowing distance until the

% whole population is filled.

previous_index = 0;

for i = 1 : max_rank

   % Get the index for current rank i.e the last the last element in the

   % sorted_chromosome with rank i.

   current_index = max(find(sorted_chromosome(:,M + V + 1) == i));

   % Check to see if the population is filled if all the individuals with

   % rank i is added to the population.

   if current_index > pop

       % If so then find the number of individuals with in with current

       % rank i.

       remaining = pop - previous_index;

       % Get information about the individuals in the current rank i.

       temp_pop = ...

           sorted_chromosome(previous_index + 1 : current_index, :);

       % Sort the individuals with rank i in the descending order based on

       % the crowding distance.

       [temp_sort,temp_sort_index] = ...

           sort(temp_pop(:, M + V + 2),'descend');

       % Start filling individuals into the population in descending order

       % until the population is filled.

       for j = 1 : remaining

           f(previous_index + j,:) = temp_pop(temp_sort_index(j),:);

       end

       return;

   elseif current_index < pop

       % Add all the individuals with rank i into the population.

       f(previous_index + 1 : current_index, :) = ...

           sorted_chromosome(previous_index + 1 : current_index, :);

   else

       % Add all the individuals with rank i into the population.

       f(previous_index + 1 : current_index, :) = ...

           sorted_chromosome(previous_index + 1 : current_index, :);

       return;

   end

   % Get the index for the last added individual.

   previous_index = current_index;

end

⛄ 运行结果

⛄ 参考文献

[1]黄帅, 龙燕, 易斌,等. 基于改进粒子群优化算法的微电网孤岛选址定容[J]. 后勤工程学院学报, 2015, 31(2):5.

[2]李兆北, 王印松, 苏杰. 基于非支配排序遗传算法和多目标粒子群算法的脱硫系统运行策略优化[J]. 热力发电, 2022, 51(7):7.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
132 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
117 0
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
176 8
|
2月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
172 8
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
266 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
204 2
|
3月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
226 3
|
3月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
162 6
|
2月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
185 8
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。

热门文章

最新文章