📄 sga_pro_demo.m
字号:
%test sga_pro
clear;
home
tic
% open data files
%input data files
fid1=fopen('min_confines.txt','r');
fid2=fopen('max_confines.txt','r');
fid3=fopen('probability_crossover.txt','r');
fid4=fopen('probability_mutation.txt','r');
fid5=fopen('population.txt','r');
fid6=fopen('decimal_step.txt','r');
fid7=fopen('max_generation.txt','r');
fid8=fopen('convergence_method.txt','r');
fid9=fopen('max_no_change_probability_crossover_generation.txt','r');
fid10=fopen('deta_fitness_max.txt','r');
fid11=fopen('deta_fitness_max_min.txt','r');
fid12=fopen('max_probability_crossover.txt','r');
fid13=fopen('probability_crossover_step.txt','r');
fid14=fopen('max_no_change_fitness_generation.txt','r');
%output data files
fid15=fopen('maxfitness.txt','w+');
fid16=fopen('minfitness.txt','w+');
fid17=fopen('meanfitness.txt','w+');
fid18=fopen('best_decimal_space.txt','w+');
fid19=fopen('best_binary_space.txt','w+');
fid20=fopen('now_generation.txt','w+');
fid21=fopen('now_probability_crossover.txt','w+');
%read data from these files
disp('begin to work,Waiting please ...')
min_confines=fscanf(fid1,'%g');
min_confines=min_confines';
max_confines=fscanf(fid2,'%g');
max_confines=max_confines';
probability_crossover=fscanf(fid3,'%g');
probability_mutation=fscanf(fid4,'%g');
population=fscanf(fid5,'%g');
decimal_step=fscanf(fid6,'%g');
max_generation=fscanf(fid7,'%g');
convergence_method=fscanf(fid8,'%g');
max_no_change_probability_crossover_generation=fscanf(fid9,'%g');
deta_fitness_max=fscanf(fid10,'%g');
deta_fitness_max_min=fscanf(fid11,'%g');
max_probability_crossover=fscanf(fid12,'%g');
probability_crossover_step=fscanf(fid13,'%g');
max_no_change_fitness_generation=fscanf(fid14,'%g');
decimal_step=decimal_step';
now_probability_crossover=probability_crossover;
%
disp('O.K, Let''s check out the results')
disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
disp('List of results :')
[maxfitness,minfitness,meanfitness,best_decimal_space,now_generation,now_probability_crossover,best_binary_space]=SGA_pro...
(min_confines,max_confines,probability_crossover,probability_mutation,population,decimal_step,max_generation,convergence_method,max_no_change_probability_crossover_generation,deta_fitness_max,deta_fitness_max_min,max_probability_crossover,max_no_change_fitness_generation,probability_crossover_step);
%maxfitness=max(fitness_value)
%best_decimal_space=decimal_space(max_fitness_temp_position(population))
%write data to output files
%fprintf(fid8,'\nthe max value of fitness function:\n');
fprintf(fid15,'%f\n',maxfitness);
%fprintf(fid9,'\nthe min value of fitness function:\n');
fprintf(fid16,'%f\n',minfitness);
%fprintf(fid10,'\nthe mean value of fitness function:\n');
fprintf(fid17,'%f\n',meanfitness);
%fprintf(fid11,'\nthe best decimal space(x1 x2 x3...):\n');
fprintf(fid18,'%f\n',best_decimal_space);
fprintf(fid19,'%f\n',best_binary_space);
%fprintf(fid12,'\nthe generation number when end GAs:\n');
fprintf(fid20,'%f\n',now_generation);
fprintf(fid21,'%f\n',now_probability_crossover);
%
status=fclose('all');
disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
disp('End sga_pro_demo,check result in the data files : ~_~ ')
%clear;
toc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -