遺傳演算法與直接搜尋工具箱學習筆記 十—–遺傳演算法的工作原理

來源:互聯網
上載者:User

 遺傳演算法的工作原理

一、演算法概述

    下面的提綱總結了演算法工作的過程

1.演算法產生一個初始的、隨機的種群。

2.演算法產生一系列的新的種群。在演算法的每一步中,演算法使用當前種群的個體產生下一代的種群。為了產生新的種群,演算法將會執行下列的步驟:

     a.通過計算適應度值給每個群體中的個體打分。

     b.標定原始的適應度值到一定的資料範圍之內。

     c.依據適應度值選擇群體中的成員,稱為父代。

     d.在當前群體中一部分個體有更低的適應度值,這一部分被稱為“精英”,這些精英們被直接複製到下一代中。

     e.從父代中產生子代個體。產生子代的方法可以有兩種:使用“交叉”的方法產生下一代或者使用“變異”的方法產生下一代。

     f.使用產生的子代個體替換群體中的當前群體中的個體,進而產生下一代群體。

3.當演算法滿足停止標準中的任何一個標準時,演算法停止。

二、初始化種群

     演算法以建立隨機的初始化種群作為演算法的開始。初始化的種群用表示

在這個例子中,初始群體包含20個個體。20是演算法Population選項面板中Population size的預設設定。注意:這裡的個體位於象限的右上方,範圍時[0;1],這是因為在Population面板中的Initial range預設設定為[0;1].

三、產生下一代

      在演算法的每一步中,演算法使用當前群體來產生子代,進而組成下一代。演算法依據適應度值選擇父代中的個體來產生子代。你可以通過在Selection面板中的設定Selection function選項來指定一個特定的函數用來選擇父代。

     遺傳演算法使用3種途徑來產生子代中的個體。

     3.1在當前群體中具有最優適應度值的個子組成“精英團隊”,這些精英分子會直接複製到下一代中,作為下一代群體的組成之一。

     3.2通過一對父個體,交叉,產生交叉子代個體。

     3.3使用一個父代個體,通過隨機改變或者變異操作,產生變異子代。

下面的原理圖描述了三種產生子代個體的途徑

 

四、後期演算法迭代圖形的繪製

60次迭代是個體分布圖

80次迭代子代分布圖

95代迭代的分布圖

100次迭代個體的分布情況

隨著演算法迭代代數的遞增,群體中的個體逐漸靠近全域最優值所在的點[0 0].

五、演算法停止的條件

演算法使用下列的條件來決定演算法停止的時機。

Generations ----迭代的代數,當演算法啟動並執行次數超過規定的代迭代次數時,演算法將停止。

Time limit-----當演算法啟動並執行時間超過規定的時間間隔後,演算法將停止運行。

Fitness limit ------當演算法運行時,適應度值已經小於該選項規定的數值時,演算法停止運行

Stall generations-----當演算法在Stall generations規定的代數內,適應度函數的加權平均變化小於Function Tolerance時,演算法停止運行。

Stall time limit------當演算法在Stall time limit 規定的時間間隔內,目標函數值沒有任何的改善的話,演算法停止。

Function Tolerance ------參看Stall generations。

Nonlinear constraint  tolerance ------這個選項一般不用來作為演算法停止的條件,它往往用來衡量非線性約束的可行性。

上述的這些指標你可以在最佳化工具箱的Stopping criteria面板中找到,進而可以根據具體的實際情況來改變它們。是這些選項的預設值

當你運行演算法結束時,在 Run solver and view results面板中會列出演算法停止運行時的原因。

中選項Stall time limit 和 Time limit 是為了防止演算法啟動並執行時間太長. 如果演算法是因為這兩個選項而停止的,那麼你可以通過提高Stall time limit 和 Time limit的值來改善演算法的運行效果。

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.