-
大小: 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个文件信息
评论
共有 条评论