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

  • 大小: 12KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2022-05-02
  • 語言: Matlab
  • 標簽:

資源簡介

雜草優(yōu)化算法(IWO)是一種受雜草啟發(fā)而提出的、基于種群的數(shù)值優(yōu)化計算方法,其執(zhí)行過程是模擬雜草入侵過程的算法。在matlab環(huán)境中用m語言編程實現(xiàn)了IWO,并對其收斂性進行了仿真。

資源截圖

代碼片段和文件信息

%%
%**************************************************************************
%*******************注意,此程序以適應度值最大作為最優(yōu)***********************
%**************************************************************************
clc
clear?all
format?long
%%?參數(shù)初始化
X_min=-30;???????????????????????????????????????????????????%區(qū)間大小
X_max=30;

G_SIZE=5;????????????????????????????????????????????????????%初始雜草個數(shù)
P_SIZE=10;???????????????????????????????????????????????????%最大雜草個數(shù)

D=2;?????????????????????????????????????????????????????????%問題的維數(shù)
iter_max=350;????????????????????????????????????????????????%迭代次數(shù)

stepLength_ini=300;??????????????????????????????????????????%初始標準差
stepLength_final=0.05;???????????????????????????????????????%最終標準差
????????????????????????
seed_max=20;?????????????????????????????????????????????????%最大種子數(shù)
seed_min=0;??????????????????????????????????????????????????%最小種子數(shù)

n=3;?????????????????????????????????????????????????????????%非線性因子
F=@(x)objectFun(x);??????????????????????????????????????????%測試函數(shù)

test_now=1;??????????????????????????????????????????????????%當前獨立運行的次數(shù)
test_all=2;?????????????????????????????????????????????????%獨立運行的總次數(shù)
%%?第一次獨立運行
while?test_now????%%?初始化
????weed_now=[];?????????????????????????????????????????????%雜草
????weed_next=[];????????????????????????????????????????????%種子
????for?i=1:G_SIZE
%?????????temp1=[];
%?????????temp1=chaos(X_minX_maxDrand(1));
%?????????weed_now(i:)=temp1(2:end);
????????weed_now(i:)=X_min+(X_max-X_min).*rand(1D);????????%D維空間中隨即分布的G_SIZE個可行解
????end
????weed_next=weed_now;
????iter?=1?;????????????????????????????????????????????????%迭代次數(shù)初始化為1
????
????%進化
????while?iter?????????weed_now=[];
????????weed_now=weed_next;
????????N=size(weed_now1);
????????fitness=[];
????????%%?計算步長,即當前標準差
????????stepLength_now=(iter_max-iter)^n*(stepLength_ini-stepLength_final)/(iter_max)^n+stepLength_final;
????????%%?計算雜草的適應度值
????????for?i=1:N
????????????fitness(i)=-F(weed_now(i:));
????????end
????????BestFitness=max(fitness);
????????WorstFitness=min(fitness);
????????%%?計算種子個數(shù)并產(chǎn)生種子
????????weed_g_new=[];?????????????????????????????????????????%全部種子
????????for?i=1:N
????????????%計算各個雜草所產(chǎn)生的種子個數(shù)
????????????num=(seed_max-seed_min)*(fitness(i)-WorstFitness)/(BestFitness-WorstFitness)+seed_min;
????????????num=ceil(num);?????????????????????????????????????%向上取整
????????????if?num>0
????????????????weed_temp=[];
????????????????weed_change=[];
????????????????weed_temp=repmat(weed_now(i:)num1);?????????%產(chǎn)生num*1個weed_now(i:)矩陣維數(shù)為num*D
????????????????weed_change=normrnd(0stepLength_nownumD);???%產(chǎn)生均值為0,標準差為stepLength_now的正態(tài)矩陣,維數(shù)為num*D
????????????????weed_new=weed_temp+weed_change;????????????????%某一個雜草的后代種子
????????????????weed_g_new=[weed_g_new;weed_new];??????????????%加入到全部種子中
????????????end
????????end
????????weed_now=[weed_now;weed_g_new];
????????%%?計算種子的適應度值
????????N

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1039??2014-01-06?22:43??objectFun.m

?????文件???????4960??2014-01-07?12:09??iwo_basic.m

?????文件??????43669??2014-01-05?23:14??IWO_PD_Optim.mdl

-----------?---------??----------?-----??----

????????????????49668????????????????????3


評論

共有 條評論