国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

NSGA-II改進(jìn)之非均勻變異

這篇具有很好參考價值的文章主要介紹了NSGA-II改進(jìn)之非均勻變異。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1-變異方式的選擇

? 在進(jìn)化算法中,多項式的變異方式,變異算子的作用與進(jìn)化代數(shù)是沒有關(guān)系的,所以當(dāng)算法演化到一定代數(shù)的時候,算法會缺乏局部搜索能力。為了將變異算子的作用與代數(shù)關(guān)聯(lián)起來,使得算法可以在前期變異的范圍會較大,隨著演化代數(shù)的增加,變異范圍越來越小,增加算法的微調(diào)能力。Z.Michalewicz提出了非均勻變異。

2-非均勻變異方式介紹

設(shè) x = ( x 1 , x 2 , . . . x n ) 為待變異個體,變異產(chǎn)生一個新基因 y ,首先隨機(jī)生成一個整數(shù) k ∈ [ 1 , n ] 然后對 x 的第 k 個基因 進(jìn)行變異。 \begin{aligned} &設(shè)x=(x_1,x_2,...x_n)為待變異個體,變異產(chǎn)生一個新基因y,首先隨機(jī)生成一個整數(shù)k\in[1,n]然后對x的 第k個基因\\&進(jìn)行變異。 \end{aligned} \\ ?設(shè)x=(x1?,x2?,...xn?)為待變異個體,變異產(chǎn)生一個新基因y,首先隨機(jī)生成一個整數(shù)k[1,n]然后對x的第k個基因進(jìn)行變異。?
y k = { x k + Δ ( t , u k ? x k ) i f x ≤ 0.5 x k ? Δ ( t , u k ? x k ) e l s e y_k=\{ \begin{aligned} & x_k+\Delta(t,u_k-x_k)\quad if \quad x\leq 0.5 \\& x_k-\Delta(t,u_k-x_k)\quad else \end{aligned} \\ yk?={?xk?+Δ(t,uk??xk?)ifx0.5xk??Δ(t,uk??xk?)else?
則產(chǎn)生的新個體為 y = ( x 1 , x 2 , . . , x k , . . . , x n ) 。 其中隨機(jī)數(shù) r ∈ ( 0 , 1 ) , t 為當(dāng)前進(jìn)化代數(shù),函數(shù) Δ ( t , z ) 返回的是一個 [ 0 , z ] 的值,并且隨 t 的增加 , 函數(shù) Δ ( t , z ) 趨于 0 的概率增加。函數(shù) Δ ( t , z ) 的特性使算法在前期具有較大的搜索范圍,在后期可以進(jìn)行小范圍的調(diào)整。其中函數(shù) Δ ( t , z ) 表示為: Δ ( t , z ) = z . ( 1 ? r ( 1 ? t / T ) b ) 上式中 r 是一個 0 到 1 的隨機(jī)數(shù), T 表示最大演化代數(shù), b 是一個分均勻度的參數(shù),一般取值為 2 到 5 。 \begin{aligned}& 則產(chǎn)生的新個體為y=(x_1,x_2,..,x_k,...,x_n)。 \\& 其中隨機(jī)數(shù)r\in(0,1),t為當(dāng)前進(jìn)化代數(shù),函數(shù)\Delta (t,z)返回的是一個[0,z]的值,并且隨t的增加,函數(shù)\Delta (t,z)趨于0 \\& 的概率增加。函數(shù) \Delta (t,z)的特性使算法在前期具有較大的搜索范圍,在后期可以進(jìn)行小范圍的調(diào)整。其中函數(shù)\Delta (t,z)\\& 表示為: \end{aligned} \\ \Delta (t,z) = z.(1-r^(1-t/T)^b) \\ \begin{aligned}& 上式中r是一個0到1的隨機(jī)數(shù),T表示最大演化代數(shù),b是一個分均勻度的參數(shù),一般取值為2到5。 \quad \quad \quad \quad \quad \quad \quad \quad \end{aligned} ?則產(chǎn)生的新個體為y=(x1?,x2?,..,xk?,...,xn?)。其中隨機(jī)數(shù)r(0,1),t為當(dāng)前進(jìn)化代數(shù),函數(shù)Δ(t,z)返回的是一個[0,z]的值,并且隨t的增加,函數(shù)Δ(t,z)趨于0的概率增加。函數(shù)Δ(t,z)的特性使算法在前期具有較大的搜索范圍,在后期可以進(jìn)行小范圍的調(diào)整。其中函數(shù)Δ(t,z)表示為:?Δ(t,z)=z.(1?r(1?t/T)b)?上式中r是一個01的隨機(jī)數(shù),T表示最大演化代數(shù),b是一個分均勻度的參數(shù),一般取值為25。?

3-MATLAB代碼實現(xiàn)

function child_pop = MyGA_mutate(parent_pop,dimension,bounds,t,T,x)
% t當(dāng)前進(jìn)進(jìn)化次數(shù),T最大迭代次數(shù),x,問題編號
%GA算法
parent_pop = sortrows(parent_pop,[2+dimension+1,-(2+dimension+2)]);
parent_pop = parent_pop(:,1:dimension);
[popsize,~] = size(parent_pop);

%定義交叉變異的概率
mutation = 0.6;
%變異參數(shù)。b影響變異的范圍。
b = 3;
child = [];
% 每個變異個體只做隨機(jī)的單點變異
for i = 1:popsize
    %判斷個體是否進(jìn)行遺傳操作
    m_r = rand(1);
    if m_r < mutation 
        k = randperm(dimension,1); % 取一個整數(shù),確定變異點
        rk = rand(1);
        child1 = parent_pop(i,:);
        if rk >= 0.5  % 變異計算
            z = bounds(k,2) - parent_pop(i,k);
            xk = parent_pop(i,k) + z*(1-rand^((1-t/T)^b));
            child1(1,k) = xk;
        else
            z = parent_pop(i,k) - bounds(k,1);
            xk = parent_pop(i,k) - z*(1-rand^((1-t/T)^b));
            child1(1,k) = xk;
        end
        child = [child;child1];
    end
end
child_eva = calculation(child,x);
child_pop = [child,child_eva];

4-對比

只對比變異方式的不同,其余策略保持一致。

初始化:隨機(jī)初始化

父代選擇:錦標(biāo)賽選擇方式

交叉方式:多項式交叉

4.1-ZDT函數(shù)比較

非均勻變異 多項式變異
ZDT1 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí) ZDT1nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí)
ZDT2 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí) ZDT2nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí)
ZDT3 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí) ZDT3nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí)
ZDT4 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí) ZDT4nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí)
ZDT6 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí) ZDT6 nsga2改進(jìn),基于NSGA-II算法的研究,matlab,算法,矩陣,學(xué)習(xí)

4.2-分析

從4.1的對比可以看出,采用非均勻變異和多項式變異的最大區(qū)別在ZDT4上,采用非均勻變異在ZDT4函數(shù)的求解中,是可以求得最佳前言的,而多項式變異在500代的時候依然差很遠(yuǎn)。而其他函數(shù)比較中,兩者相差不遠(yuǎn),甚至有些是多項式變異反而更優(yōu)一點。

從非均勻變異的實現(xiàn)中,可以知道,越到后面,變異的范圍就越小。所以最大迭代次數(shù)對變異有很大的影響,而多項式變異并不會受到這個方面的影響。

5-總結(jié)

算法步驟中實現(xiàn)策略的不同,效果也不同。一個策略的改變可能在某些方面上更優(yōu),但不一定在所有方面上都會更好。在針對不同問題的時候,對部分策略的改變也許就會得到更好的結(jié)果。

思考:

在【NSGA-II的算法介紹】中,多項式變異在處理超出邊界的方案,是否合適呢?能否改為超出邊界的時候,在范圍空間中隨機(jī)呢?這樣做效果是否會更好呢?同樣多項式交叉中的處理方式也是如此,改變之后的效果如何呢?多項式的交叉和變異也可以通過指數(shù)的變化控制變化范圍,這個指數(shù)怎么???是動態(tài)變化好還是固定好?文章來源地址http://www.zghlxwxcb.cn/news/detail-678985.html

到了這里,關(guān)于NSGA-II改進(jìn)之非均勻變異的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包