資源簡介

代碼片段和文件信息
clc
clear?all
close?all
%%?畫出函數圖
figure(1);
hold?on;
lb=1;ub=2;?%函數自變量范圍【12】
ezplot(‘sin(10*pi*X)/X‘[lbub]);???%畫出函數曲線
xlabel(‘自變量/X‘)
ylabel(‘函數值/Y‘)
%%?定義遺傳算法參數
NIND=40;????????%個體數目
MAXGEN=20;??????%最大遺傳代數
PRECI=20;???????%變量的二進制位數
GGAP=0.95;??????%代溝
px=0.7;?????????%交叉概率
pm=0.01;????????%變異概率
trace=zeros(2MAXGEN);????????????????????????%尋優結果的初始值
FieldD=[PRECI;lb;ub;1;0;1;1];??????????????????????%區域描述器
Chrom=crtbp(NINDPRECI);??????????????????????%初始種群
%%?優化
gen=0;??????????????????????????????????%代計數器
X=bs2rv(ChromFieldD);?????????????????%計算初始種群的十進制轉換
ObjV=sin(10*pi*X)./X;????????%計算目標函數值
while?gen ???FitnV=ranking(ObjV);???????????????????????????????%分配適應度值
???SelCh=select(‘sus‘ChromFitnVGGAP);??????????????%選擇
???SelCh=recombin(‘xovsp‘SelChpx);??????????????????%重組
???SelCh=mut(SelChpm);???????????????????????????????%變異
???X=bs2rv(SelChFieldD);???????????????%子代個體的十進制轉換
???ObjVSel=sin(10*pi*X)./X;?????????????%計算子代的目標函數值
???[ChromObjV]=reins(ChromSelCh11ObjVObjVSel);?%重插入子代到父代,得到新種群
???X=bs2rv(ChromFieldD);
???gen=gen+1;?????????????????????????????????????????????%代計數器增加
???%獲取每代的最優解及其序號,Y為最優解I為個體的序號
???[YI]=min(ObjV);
???trace(1gen)=X(I);????????????????????????????%記下每代的最優值
???trace(2gen)=Y;???????????????????????????????%記下每代的最優值
end
plot(trace(1:)trace(2:)‘bo‘);????????????????????????????%畫出每代的最優點
grid?on;
plot(XObjV‘b*‘);???%畫出最后一代的種群
hold?off
%%?畫進化圖
figure(2);
plot(1:MAXGENtrace(2:));
grid?on
xlabel(‘遺傳代數‘)
ylabel(‘解的變化‘)
title(‘進化過程‘)
bestY=trace(2end);
bestX=trace(1end);
fprintf([‘最優解:\nX=‘num2str(bestX)‘\nY=‘num2str(bestY)‘\n‘])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1909??2010-10-31?21:26??MATLAB_Codes\chapter1\example1.m
?????文件???????2113??2010-10-31?21:25??MATLAB_Codes\chapter1\example2.m
?????文件???????3217??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\bs2rv.m
?????文件???????1835??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\contents.m
?????文件???????1168??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\crtba
?????文件???????2187??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\crtbp.m
?????文件???????2091??2005-12-04?10:21??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\crtrp.m
?????文件??????12501??2005-11-28?15:21??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GA?TOOLBOX?FREQUENTLY?ASKED?QUESTIONS.txt
?????文件????????273??2005-12-02?09:07??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA0.LOG
?????文件??????16715??2005-12-02?09:07??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA0.PDF
?????文件??????53484??1998-04-22?11:14??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA0.PS
?????文件????????458??2005-12-02?09:10??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA1.LOG
?????文件?????109101??2005-12-02?09:10??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA1.PDF
?????文件?????204230??1998-04-22?11:14??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA1.PS
?????文件????????273??2005-12-02?09:16??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA2.LOG
?????文件?????101958??2005-12-02?09:16??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA2.PDF
?????文件?????200234??1998-04-22?11:14??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\GATBXA2.PS
?????文件??????18351??2005-11-28?15:25??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\gpl.txt
?????文件???????1525??2005-11-28?15:25??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\readme.txt
?????文件??????98687??2005-11-28?16:18??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\DOC\The?MathWorks?-?1-18GTU?Why?do?I?get?an?error?in?MATLAB?6_0?(R12)?where?I?got?a?warning?in?R11?with?reference?to?uninitialized?variables.mht
?????文件???????7205??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\migrate.m
?????文件???????4019??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\mpga.m
?????文件???????1609??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\mut.m
?????文件???????3437??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\mutate.m
?????文件???????4943??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\mutbga.m
?????文件???????2629??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\objfun1.m
?????文件???????2559??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\objharv.m
?????文件???????4709??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\ranking.m
?????文件???????1825??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\recdis.m
?????文件???????1895??1998-04-22?10:44??MATLAB_Codes\chapter1\Sheffield的遺傳算法工具箱\gatbx\recint.m
............此處省略447個文件信息
評論
共有 條評論