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

📄 gamain.m

📁 该算法主要是基因遗传优化算法
💻 M
字号:
function GAmain()
%本函数为主程序,主要调用其他函数。
clear all;
global x1 x2 x3 x4 x5 n nn
%其中n为样本量的大小,nn为初始种群规模大小。
     format long e;
     n=31;  %此时样本量大小为31
     nn=25; %初始种群规模大小为25
     
     %读取原始事故数据文件
     [filename,pathname]=uigetfile('*.txt','读取样本数据'); 
     fit1=fopen(strcat(pathname,filename),'rt');
     if (fit1==-1)
         msgbox('文件未打开!!','Warning','warn');
         return;
     end
     origdata=fscanf(fit1,'%f',5*n);     %读取原始事故数据于origdata一维数组中
     x1=origdata(1:5:end);
     x2=origdata(2:5:end);
     x3=origdata(3:5:end);     % x1,x2,x3,x4,x5分别代表第一二三四五指标
     x4=origdata(4:5:end);
     x5=origdata(5:5:end); 
     
     % 原始数据归一化
     x1=uniform(x1);
     x2=uniform(x2);
     x3=uniform(x3);
     x4=uniform(x4);
     x5=uniform(x5);
     
     %读取初始解—初始种群
     [filename,pathname]=uigetfile('*.txt','读取初始解'); 
     fit2=fopen(strcat(pathname,filename),'rt');
     if (fit2==-1)
         msgbox('文件未打开!!','Warning','warn');
         return;
     end
     for i=1:nn
         tmp=fscanf(fit2,'%f',5);   %得到了初始种群
         p(i,1:5)=tmp';   % 注意写法
     end
     
     % 调用函数求最优解
 %*****************************************************************************************************    
     %第一种:
     [p_best,f_value,p_optive]=search_optimization(p,0.6,0.08,60);
     aaa=p_best
     xxx=sumsqr(p_best)
     bbb=f_value(end)  
     yv11 = f_value;
 %*******************************************************************************************************   
     %第二种:
     [p_best,f_value,p_optive]=full_search_optimization(p,60);
     aaa=p_best
     xxx=sumsqr(p_best)
     bbb=f_value(end)
     yv22= f_value;
   %*****************************************************************************************************          
     xv= 1:60;
     plot(xv,yv11,'b.');
     hold on;    %此句将两条曲线放在一个图像文件中
     plot(xv,yv22,'r.');
%      msgbox('计算完成!!','Warning','warn');
%     yv=[yv11;yv22];
%     plot(xv,yv,'.');
     fclose('all');        

⌨️ 快捷键说明

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