• 大小: 5KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: Matlab
  • 标签: GA  

资源简介

提供了多种群遗传算法的函数优化求解代码源程序,帮助初学者对MATLAB进行学习,

资源截图

代码片段和文件信息

%% 多种群遗传算法
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)])

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         349  2010-09-13 13:11  chapter7多种群遗传算法的函数优化算法\EliteInduvidual.m
     文件        2054  2011-04-08 21:07  chapter7多种群遗传算法的函数优化算法\MPGA.m
     文件         220  2010-11-15 20:13  chapter7多种群遗传算法的函数优化算法\objectFunction.m
     文件        1551  2011-04-08 19:54  chapter7多种群遗传算法的函数优化算法\SGA.m
     文件        2014  2010-09-13 15:37  chapter7多种群遗传算法的函数优化算法\danyuan.m
     文件         457  2010-09-13 13:10  chapter7多种群遗传算法的函数优化算法\immigrant.m
     目录           0  2015-04-22 12:50  chapter7多种群遗传算法的函数优化算法\

评论

共有 条评论