• 大小: 55KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2023-12-30
  • 语言: Matlab
  • 标签:

资源简介

1、集成了八种种群体智能算法:'PPNGA','SFLA','MSFLA','AF-SFLA','PSO','ABC','DEr1','DEb2' % 2、适应度函数开放了一个参数Parmaters,接收本文件Options.Parmaters传递的参数,实例参见m文件F3_Rastrigin.m % 3、本程序设置了三个终止条件,终止条件3是必需的;终止条件1,2是可选的,不需要时隐去代码即可 % 4、在优化参数设置中,小种群设置与大种群设置各有优势,实际工程问题不一定哪一种设置更好,要根据实验结果来确定 % 5、在算法参数设置中,缺省设置一般不需要改动,除非在原理上对改动所引起的结果变动有着更深入的理解

资源截图

代码片段和文件信息

function [Population2] = CrossAfSfla(Population1NeighborfitnessParmatersmaxminLbUb)
% 鱼群交叉操作
% 输入参数:
% Population1 - 初始种群
%     Population.X - 种群(行向量)
%     Population.F - 种群适应度
%     Population.x - 最优个体
%     Population.f - 最优个体适应度
% Neighbor - 感知范围最大个体
%     Neighbor.X - 近邻适应度最大个体
%     Neighbor.F - 近邻适应度最大个体适应度
%     Neighbor.I - 近邻索引
% fitness - 优化函数
% Parmaters - 函数参数   
% maxmin - 极值类型:1最大值,-1最小值
% Lb - 参数下界
% Ub - 参数上界
% 输出参数:
% Population2 - 更新种群
%     Population.X - 种群(行向量)
%     Population.F - 种群适应度
%     Population.x - 最优个体
%     Population.f - 最优个体适应度

popsize = length(Population1.F);

Par1 = Population1.X;
F_Par1 = Population1.F;
Par2 = Neighbor.X;
F_Par2 = Neighbor.F;

[Off1F_Off1Off2F_Off2] = CrossSub(Par1F_Par1Par2F_Par2fitnessParmatersmaxminLbUb);
% 交叉运算子函数
% 输入参数:
% Par1 - 父代群体1
% F_Par1 - 父代群体1适应度
% Par2 - 父代群体2
% F_Par2 - 父代群体2适应度
% fitness - 优化函数
% Parmaters - 函数参数   
% maxmin - 极值类型:1最大值,-1最小值
% Lb - 参数下界
% Ub - 参数上界
% 输出参数:
% Off1 - 子代群体1
% F_Off1 - 子代群体1适应度
% Off2 - 子代群体2
% F_Off2 - 子代群体2适应度

%--------------------
% 条件最强

F4 = [F_Par1F_Off1F_Off2];
[F_OffI4] = max(F4[]2);                      % 交叉操作2+2选择
Off = zeros(size(Off1));
for i = 1:popsize
    tmp4 = [Par1(i:);Off1(i:);Off2(i:)];
    Off(i:) = tmp4(I4(i):);
end

Population2.X = Off;
Population2.F = F_Off;

%--------------------

I5 = find(F_Par1==F_Off);                       % 第一次无改善的下标
if ~isempty(I5)
    
    c = length(I5);
    Par1 = Population1.X(I5:);
    F_Par1 = Population1.F(I5);
    Par2 = repmat(Population1.xc1);
    F_Par2 = repmat(Population1.fc1);
    
    [Off1F_Off1Off2F_Off2] = CrossSub(Par1F_Par1Par2F_Par2fitnessParmatersmaxminLbUb);
    % 交叉运算子函数
    % 输入参数:
    % Par1 - 父代群体1
    % F_Par1 - 父代群体1适应度
    % Par2 - 父代群体2
    % F_Par2 - 父代群体2适应度
    % fitness - 优化函数
    % Parmaters - 函数参数   
    % maxmin - 极值类型:1最大值,-1最小值
    % Lb - 参数下界
    % Ub - 参数上界
    % 输出参数:
    % Off1 - 子代群体1
    % F_Off1 - 子代群体1适应度
    % Off2 - 子代群体2
    % F_Off2 - 子代群体2适应度
    
    F4 = [F_Par1F_Off1F_Off2];
    [F_OffI4] = max(F4[]2);                     % 交叉操作2+2选择
    Off = zeros(size(Off1));
    for i = 1:c
        tmp4 = [Par1(i:);Off1(i:);Off2(i:)];
        Off(i:) = tmp4(I4(i):);
    end
    
    Population2.X(I5:) = Off;                  % 子群第二次更新
    Population2.F(I5) = F_Off;
    
    I6 = find(F_Par1==F_Off);                   % 第二次无改善的下标
    if ~isempty(I6)
        
        c = length(I6);
        tmp5 = Initialize(fitnessParmatersmaxminLbUbc);
        % 种群初始化
        % 输入参数:
        % fitness - 优化函数
        % Parmaters - 函数参数   
        % maxmin - 极值类型:1最大值,-1最小值
        % Lb - 参数下界
        % Ub - 参数上界
        % popsize - 种群规模
        % 输出参数:
        % Population - 种群
        %     Population.X - 种群(行向量)
        %     Population.F - 种群适应度(已降序排列)
        %     Population.x - 最优个体
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-02 13:37  SwarmIntelligence_V3.0\
     目录           0  2016-12-02 15:05  SwarmIntelligence_V3.0\Function_Optimization\
     文件        3794  2012-02-17 13:30  SwarmIntelligence_V3.0\Function_Optimization\CrossAfSfla.m
     文件        2429  2012-03-03 16:21  SwarmIntelligence_V3.0\Function_Optimization\CrossGa.m
     文件        1229  2012-03-03 16:22  SwarmIntelligence_V3.0\Function_Optimization\CrossIndex.m
     文件        5406  2012-03-03 16:22  SwarmIntelligence_V3.0\Function_Optimization\CrossMsfla.m
     文件        2697  2012-03-03 16:22  SwarmIntelligence_V3.0\Function_Optimization\CrossSfla.m
     文件        1727  2012-03-03 16:37  SwarmIntelligence_V3.0\Function_Optimization\CrossSub.m
     文件        3788  2012-03-03 16:17  SwarmIntelligence_V3.0\Function_Optimization\Disturb.m
     文件         940  2012-03-03 16:38  SwarmIntelligence_V3.0\Function_Optimization\DisturbSub.m
     文件        2245  2012-02-28 21:20  SwarmIntelligence_V3.0\Function_Optimization\F0_Yours.m
     文件         637  2012-02-26 10:20  SwarmIntelligence_V3.0\Function_Optimization\F1_Sphere.m
     文件         788  2012-02-26 10:27  SwarmIntelligence_V3.0\Function_Optimization\F2_Rosenbrock.m
     文件         654  2012-02-26 10:31  SwarmIntelligence_V3.0\Function_Optimization\F3_Rastrigin.m
     文件         729  2012-02-26 10:23  SwarmIntelligence_V3.0\Function_Optimization\F4_Griewank.m
     文件         825  2012-02-26 10:26  SwarmIntelligence_V3.0\Function_Optimization\F5_Schaffer.m
     文件        1316  2012-03-03 16:35  SwarmIntelligence_V3.0\Function_Optimization\GetNeighbor.m
     文件        1372  2012-03-03 15:40  SwarmIntelligence_V3.0\Function_Optimization\Initialize.m
     文件        9982  2016-12-02 15:04  SwarmIntelligence_V3.0\Function_Optimization\Main1_SwarmIntelligence_Interface.m
     文件        2939  2012-03-03 16:17  SwarmIntelligence_V3.0\Function_Optimization\Mutate.m
     文件         937  2012-03-03 16:24  SwarmIntelligence_V3.0\Function_Optimization\MutateIndex.m
     文件         739  2012-03-03 16:38  SwarmIntelligence_V3.0\Function_Optimization\MutateSub.m
     文件        1546  2012-03-03 16:32  SwarmIntelligence_V3.0\Function_Optimization\NeighborSearch.m
     文件         193  2012-02-21 11:19  SwarmIntelligence_V3.0\Function_Optimization\RandLogistic.m
     文件       11060  2012-03-03 16:32  SwarmIntelligence_V3.0\Function_Optimization\SI_ABC.m
     文件       10548  2012-03-03 16:32  SwarmIntelligence_V3.0\Function_Optimization\SI_AF_SFLA.m
     文件       10195  2012-03-03 16:52  SwarmIntelligence_V3.0\Function_Optimization\SI_DEb2.m
     文件        9907  2012-03-03 16:33  SwarmIntelligence_V3.0\Function_Optimization\SI_DEr1.m
     文件        6105  2012-05-11 14:55  SwarmIntelligence_V3.0\Function_Optimization\SI_FMINCON.m
     文件        4845  2012-03-03 16:28  SwarmIntelligence_V3.0\Function_Optimization\SI_GA.m
     文件        9536  2012-03-03 16:33  SwarmIntelligence_V3.0\Function_Optimization\SI_MSFLA.m
............此处省略13个文件信息

评论

共有 条评论

相关资源