91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-15
  • 語言: Matlab
  • 標簽: matlab??GA??

資源簡介

一個簡單的遺傳算法驗證算例,可以直接運行,注釋較為清晰

資源截圖

代碼片段和文件信息

%function?GA_real_coded_min
%?本例為實數編碼遺傳算法求函數最小值的優化問題
%?目標函數為?J?
%?其中?x1?的范圍為?[-1010]?x2?的范圍為?[-1010]
Size?=?200;%?種群大小
CodeL?=?2;%染色體數目

MinX(1)?=?-10;%染色體最小值
MaxX(1)?=?10;%染色體最大值
MinX(2)?=?-10;%染色體最小值
MaxX(2)?=?10;%染色體最大值

E(:1)?=?MinX(1)?+?(MaxX(1)-MinX(1))*rand(Size1);%隨機產生點
E(:2)?=?MinX(2)?+?(MaxX(2)-MinX(2))*rand(Size1);%隨機產生點

G?=?100;%?迭代次數
%?---------------Start?Running---------------------------------------------
for?kg?=?1?:?G
????time(kg)?=?kg;%坐標軸
????%----------------------step?1:?Evaluate?BestJ-------------------------
????for?i?=?1?:?Size
????????xi?=?E(i:);%取一組染色體
????????x1?=?xi(1);%取該組第一個染色體
????????x2?=?xi(2);%取該組第二個染色體
????????%?下面的?F?用于計算個體的適應度值,適應度函數根據目標函數進行了線性變換
????????Ji(i)?=x1^2+x2^2?;%?計算目標值,越小越好
%???????????????F(i)?=?1/Ji;%?計算適應度值,越大越好
????????BsJi(i)?=?min(Ji);%把最小值作為優選值
????end
????%[OrderJiIndexJi]?=?sort(BsJi);%升序排序
????%BestJ(kg)?=?OrderJi(1);%選擇排序后的最小值作為最優值
????%Ji?=?BsJi?+?eps;%?Avoiding?deviding?zero
????
????fi?=?Ji;
????[OrderfiIndexfi]?=?sort(fi);?%?Arranging?fi?small?to?bigger(升序排序)
????Bestfi?=?Orderfi(1);???????%?Let?Bestfi=min(fi)
????BestS?=?E(Indexfi(1):);??%?Let?BestS=E(m)m?is?the?Indexfi?belongs?to?min(fi)
????bfi(kg)?=?Bestfi;
????
????kg
????BestS
????%--------------------Step?2:Select?and?Reproduct?Operation------------
????fi_sum?=?sum(fi);
????fi_Size?=?(Orderfi/fi_sum)*Size;%確定選擇的染色體數目
????
????fi_S?=?floor(fi_Size);%向下取整?????????????????
????r?=?Size?-?sum(fi_S);
????
????Rest?=?fi_Size?-?fi_S;%剩下的染色體數目
????[RestValueIndex]?=?sort(Rest);%升序排序
????
????for?

評論

共有 條評論