• 大小: 27KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: 自适应GA  

资源简介

文档中包含: A_Genetic_Revised_Adap.M文件:为改进的自适应遗传算法(单目标优化); A_Genetic_Revised_Adap_Multi.M文件:为改进的自适应遗传算法(多目标优化); AA_Genetic_Revised_Adap_hybrid_F_Swarm.M文件,为改进的自适应遗传算法和粒子群算法的混合算法(单目标优化) AAA_Multi_Genetic_Revised_Adap_hybrid_F_Swarm.M文件,为改进的自适应遗传算法和粒子群算法的混合算法(多目标优化)

资源截图

代码片段和文件信息

%% 清空环境
clc
clear
t=clock;
% my_fuzzy_B=readfis(‘my_fuzzy_B‘);
%% 遗传算法参数
maxgen = 20;
MaxIter =80;%进化代数
sizepop=25;                       %种群规模
% pcross=[0.6];                      %交叉概率*************************
% pmutation=[0.01];                  %变异概率*************************
lenchrom=[1 1 1 1 1];              %变量字串长度
bound=[25 30;31 35;3.5 11.8;12 18;1 10];  %变量范围
LPer100km_Equ=[];
%% 粒子群算法设置
Vmax = 1;
Vmin = -1;
Ub = [30 35 11.8 18 10];
Lb = [25 31 3.5  12 1];
c1 = 2;       % 加速常数
c2 = 2;       % 加速常数
w = 0.6;
%% 个体初始化
individuals=struct(‘fitness‘zeros(1sizepop) ‘chrom‘[]);  %种群结构体
avgfitness=[];                                               %种群平均适应度
bestfitness=[];                                              %种群最佳适应度
bestchrom=[];                                                %适应度最好染色体
% 初始化种群
for i=1:sizepop
    individuals.chrom(i:)=Code(lenchrombound);       %随机产生个体
    x=individuals.chrom(i:);
    %求出个体适应度
    a=x(1);%向模型输入蓄电池SOC下限
    b=x(2);%向模型输入蓄电池SOC上限
    c=x(3);%向模型输入发动机最优曲线下限功率
    d=x(4);%向模型输入发动机最优曲线上限功率
    e=x(5);%向模型输入发动机工作点增量倍数
    sim(‘rule_on_off_constraint‘)%调用整车模型
    individuals.fitness(i)=0.4*LPer100km_Equ(end)/5.5+0.2*Out_CO_g_Per_km(end)/1.0+0.2*Out_NO_g_Per_km(end)/0.08+0.2*Out_HC_g_Per_km(end)/0.1+30*tan(abs(0.3-SOC(end)/100));%取百公里油耗,个体适应度
end

%找最好的染色体
[bestfitness bestindex]=min(individuals.fitness);
bestchrom=individuals.chrom(bestindex:);  %最好的染色体
avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度
% 记录每一代进化中最好的适应度和平均适应度
trace=[]; 
%% 进化开始
for i=1:maxgen
     
     % 选择操作
     individuals=Select(individualssizepop); 
     avgfitness=sum(individuals.fitness)/sizepop;%该语句没有实际意义***
     % 交叉操作
%      pcross=1/(1+exp(0.05*i))+0.4;%自适应交叉概率****************************************************************5/60=0.083
     individuals.chrom=Cross(individualslenchromindividuals.chromsizepopbound);
     % 变异操作
%      pmutation=0.3-0.5./(1+exp(0.05*i));%自适应变异概率**********************************************************
     individuals.chrom=Mutation(individualslenchromindividuals.chromsizepop[i maxgen]bound);
    
    % 计算适应度,以下程序完成了种群中各个个体的适应度更新
    for j=1:sizepop
        x=individuals.chrom(j:);
        a=x(1);
        b=x(2);
        c=x(3);
        d=x(4);
        e=x(5);
        sim(‘rule_on_off_constraint‘)
        individuals.fitness(j)=0.4*LPer100km_Equ(end)/5.5+0.2*Out_CO_g_Per_km(end)/1.0+0.2*Out_NO_g_Per_km(end)/0.08+0.2*Out_HC_g_Per_km(end)/0.1+30*tan(abs(0.3-SOC(end)/100));%取百公里油耗,个体适应度
%       individuals.fitness(j)=fun(x);   
    end
    
  %找到最小和最大适应度的染色体及它们在种群中的位置
    [newbestfitnessnewbestindex]=min(individuals.fitness);
    [worestfitnessworestindex]=max(individuals.fitness);
    % 代替上一次进化中最好的染色体
    if bestfitness>newbestfitness%注意:在这里适应度值越小(即目标函数值越小),则对应的个体就越好,因为求得是最小值
        bestfitness=newbestfitness;%适应度值替换
        bestchrom=individuals.chrom(newbestindex:);%个体替换
    end
    individuals.ch

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6230  2012-10-13 16:02  Multi_Target_Optimization\AAA_Multi_Genetic_Revised_Adap_hybrid_F_Swarm.asv

     文件       6489  2012-10-14 22:52  Multi_Target_Optimization\AAA_Multi_Genetic_Revised_Adap_hybrid_F_Swarm.m

     文件       6196  2012-10-13 15:09  Multi_Target_Optimization\AA_Genetic_Revised_Adap_hybrid_F_Swarm.m

     文件       4061  2012-10-12 18:35  Multi_Target_Optimization\A_Genetic_Revised_Adap.m

     文件       4251  2012-10-16 08:00  Multi_Target_Optimization\A_Genetic_Revised_Adap_Multi.m

     文件        391  2012-09-06 10:32  Multi_Target_Optimization\Code.m

     文件       3757  2012-09-06 21:31  Multi_Target_Optimization\Copy_of_Genetic.m

     文件       1878  2012-09-09 20:52  Multi_Target_Optimization\Cross.m

     文件         99  2012-04-07 13:43  Multi_Target_Optimization\fun.m

     文件       4371  2018-07-24 14:47  Multi_Target_Optimization\GA_test.m

     文件       3768  2012-07-24 21:23  Multi_Target_Optimization\Genetic.m

     文件       3757  2012-09-06 21:31  Multi_Target_Optimization\Genetic_adap.m

     文件       6103  2012-07-26 22:30  Multi_Target_Optimization\Genetic_revised_adap_hybrid.m

     文件       6196  2012-10-13 15:04  Multi_Target_Optimization\Genetic_revised_adap_hybrid_F_Swarm.asv

     文件       1691  2012-09-09 21:02  Multi_Target_Optimization\Mutation.m

     文件       3762  2012-09-10 08:50  Multi_Target_Optimization\PSO.m

     文件       1085  2012-04-08 19:33  Multi_Target_Optimization\Select.m

     文件       1579  2010-08-05 15:44  Multi_Target_Optimization\swarm_main.m

     文件        284  2012-04-07 22:10  Multi_Target_Optimization\test.m

     文件        369  2012-10-16 16:23  Multi_Target_Optimization\文档说明.txt

     目录          0  2018-10-02 10:41  Multi_Target_Optimization

----------- ---------  ---------- -----  ----

                66317                    21


评论

共有 条评论

相关资源