main.m

来自「BGA Binary Genetic Algorithm Matlab Co」· M 代码 · 共 39 行

M
39
字号
% By Youhanna Parvizinejad (83405169) and Mahdi Farahmadfar (81414271)
% ------------------- Valid Range Of Algorithm -------------------
Start_points=[-4 -1.5];
End_points=[2 1];

%----------- Base Parameters Of Binary Gen Algorithm -------------

Gen_num=2;    % tedad moteghayer         
N=50;         % generation number 
Each_bits=[15 15];   % gen bit 
till=100;     %Number of regenaration   

%----------- Defination Temp Vars -------------
Max_reach=[];                   % Storing Best result (general best result)
Avg=[];             % Average Array of Fitness Function result for all generations
total_bit=sum(Each_bits);  % Total bits of each chrom 

%----------- Base Parameters Of Gen Algorithm -------------
Mutation_rate=0.05; 
Crossover_rate=0.4;  

%-------------------- Initializing First Generation --------------
Generation=round(rand(N,total_bit));                                              

% --------------------- Loop Back Till Last Generation -----------
for it=1:till
    [Result1]=Convert_from_binary(Generation,N,Each_bits,Gen_num,Start_points,End_points);                         
    [Selection_rate,Fit,Avrg,Max_fitness,OptSol]=Get_Value(Result1,N);     
    Avg(it)=Avrg;
    Max_reach(it)=Max_fitness;
    Max_reach=sort(Max_reach);
    [Selected_gen]=Roulette(Generation,N,Selection_rate);           
    [Next_Gen]=Crossover(Selected_gen,Crossover_rate,N,total_bit);                                 
    [Generation]=Mutation(Next_Gen,Mutation_rate,N,total_bit);                                                                      
end
  
% ------------------------  Calling Output + Plot Funtion  ------------
[out1]=Displayit(OptSol,Max_reach,Avg,till);

⌨️ 快捷键说明

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