⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 遗传算法的matlab程序库 别人的辛勤劳动
💻 M
字号:
clc;clear;
figure(1);
Generation=0;%Initial_Group初始群体,Generation代数
Generation_Initial=Generation;   Generation_End=0;
End=12;%参数的总数
G_Sample_Sum_Dimension=3;%从End个参数中取Sample_Sum_Dimension个不同的参数作为一个组合
G_Sample_Sum=100;%形成的组合总数(群体中个体的总数)
BY_Probability_Set=100;%设置变异率为BY_Probability_Set%

[Initial_Group,M]=wh_Creat_Group_Xin(End,G_Sample_Sum,G_Sample_Sum_Dimension);
while~( M<round(G_Sample_Sum/10))
    [Initial_Group,M]=wh_Creat_Group_Xin(End,G_Sample_Sum,G_Sample_Sum_Dimension);
end%保持个体的重复率<10%
    
[Max,Excellent_Sample,Initial_Group_Excellent_position]=SAA(G_Sample_Sum_Dimension,Initial_Group,G_Sample_Sum);

while ~(Generation>Generation_End)
    Generation=Generation+1;
%     [Max,Excellent_Sample,Initial_Group_Excellent_position]=SAA(G_Sample_Sum_Dimension,Initial_Group,G_Sample_Sum);
    Initial_Group=wh_ZJ(Initial_Group,G_Sample_Sum,G_Sample_Sum_Dimension);%杂交
 %---------------------------------------------------------------   %变异
    [y,p]=wh_BY_Know_Site(Initial_Group_Excellent_position,G_Sample_Sum_Dimension,End,Initial_Group);Initial_Group(p,:)=y;%让上次取得最大值的个体变异
    
    BY_Probability=round(G_Sample_Sum*BY_Probability_Set/100);
    if (BY_Probability<1)
        BY_Probability=1;
    end
    for by_Probability=1:BY_Probability
        [y,p]=wh_BY(G_Sample_Sum,G_Sample_Sum_Dimension,End,Initial_Group);Initial_Group(p,:)=y;
    end%for by_Probability=1:BY_Probability
 %--------------------------------------------------------------结束
    [Max,Excellent_Sample,Initial_Group_Excellent_position]=SAA(G_Sample_Sum_Dimension,Initial_Group,G_Sample_Sum);
end%while ~(Generation>100)
figure(1);
title '处理结束';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -