资源简介

内有代码、报告。
1、理解协同进化遗传算法的思想。比较标准遗传算法和协同进化遗传算法在稳定性、求解 最优值所需的迭代次数(收敛性快慢)等方面的区别,比较它们的进化过程图。验证协同进 化遗传算法收敛速度快,兼顾算法的全局和局部搜索能力,且能抑制未成熟收敛现象的发生 的结论。
2、利用 Matlab 实现协同进化遗传算法求解函数优化问题。
3、分析协同进化遗传算法与标准遗传算法相比所展现的优越性。

资源截图

代码片段和文件信息

%% 多种群遗传算法
clear;
% clc
% close all
NIND=40;               %个体数目
NVAR=1;                %变量的维数
PRECI=20;              %变量的二进制位数
GGAP=0.9;              %代沟
MP=10;                 %种群数目
FieldD=[PRECI;0;1;1;0;1;1];  %译码矩阵
for i=1:MP
    Chrom{i}=crtbp(NIND NVAR*PRECI);                       %创建初始种群
end
pc=0.7+(0.9-0.7)*rand(MP1);    %在【0.70.9】范围i内随机产生交叉概率
pm=0.001+(0.05-0.001)*rand(MP1);  %在【0.0010.05】范围内随机产生变异概率
gen=0;  %初始遗传代数
gen0=0; %初始保持代数
MAXGEN=10;  %最优个体最少保持代数
maxY=0; %最优值
for i=1:MP
    ObjV{i}=objectFunction(bs2rv(Chrom{i} FieldD));%计算各初始种群个体的目标函数值
end
MaxObjV=zeros(MP1);           %记录精华种群
MaxChrom=zeros(MPPRECI*NVAR); %记录精华种群的编码
while gen0<=MAXGEN
    gen=gen+1;       %遗传代数加1
    for i=1:MP
        FitnV{i}=ranking(-ObjV{i});                      % 各种群的适应度
        SelCh{i}=select(‘sus‘ Chrom{i} FitnV{i}GGAP); % 选择操作
        SelCh{i}=recombin(‘xovsp‘SelCh{i} pc(i));      % 交叉操作
        SelCh{i}=mut(SelCh{i}pm(i));                    % 变异操作
        ObjVSel=objectFunction(bs2rv(SelCh{i} FieldD)); % 计算子代目标函数值
        [Chrom{i}ObjV{i}]=reins(Chrom{i}SelCh{i}11ObjV{i}ObjVSel);    %重插入操作
    end
    [ChromObjV]=immigrant(ChromObjV);     % 移民操作
    [MaxObjVMaxChrom]=EliteInduvidual(ChromObjVMaxObjVMaxChrom);     % 人工选择精华种群
    YY(gen)=max(MaxObjV);    %找出精华种群中最优的个体
    if YY(gen)>maxY   %判断当前优化值是否与前一次优化值相同
        maxY=YY(gen); %更新最优值
        gen0=0;
    else
        gen0=gen0+1; %最优值保持次数加1
    end
end
%% 进化过程图
plot(1:genYY)
xlabel(‘进化代数‘)
ylabel(‘最优解变化‘)
title(‘进化过程‘)
xlim([1gen])
%% 输出最优解
[YI]=max(MaxObjV);    %找出精华种群中最优的个体
X=(bs2rv(MaxChrom(I:) FieldD));   %最优个体的解码解
disp([‘最优值为:‘num2str(Y)])
disp([‘对应的自变量取值:‘num2str(X)])

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-03-06 19:53  实验二 协同进化遗传算法求解函数优化问题 - 副本\
     文件         349  2019-04-21 17:49  实验二 协同进化遗传算法求解函数优化问题 - 副本\EliteInduvidual.m
     文件        2063  2019-04-22 11:21  实验二 协同进化遗传算法求解函数优化问题 - 副本\MPGA.m
     文件        2013  2019-04-22 17:28  实验二 协同进化遗传算法求解函数优化问题 - 副本\MPGA_1.m
     文件         220  2019-04-21 17:49  实验二 协同进化遗传算法求解函数优化问题 - 副本\objectFunction.m
     文件         217  2019-04-22 11:24  实验二 协同进化遗传算法求解函数优化问题 - 副本\objectFunction_1.m
     文件        1551  2019-04-21 17:49  实验二 协同进化遗传算法求解函数优化问题 - 副本\SGA.m
     文件        2014  2019-04-21 17:49  实验二 协同进化遗传算法求解函数优化问题 - 副本\danyuan.m
     文件         457  2019-04-21 17:49  实验二 协同进化遗传算法求解函数优化问题 - 副本\immigrant.m
     文件      165775  2020-03-06 19:52  实验二 协同进化遗传算法求解函数优化问题 - 副本\实验二 协同进化遗传算法求解函数优化问题.docx
     文件      164621  2020-03-06 19:53  实验二 协同进化遗传算法求解函数优化问题 - 副本\实验二.docx

评论

共有 条评论