• 沒有找到結果。

第三章 網格運算服務分布的最佳化模型

3.3 G.A

GA 是一種推測的最佳化技術,在人工智慧的領域迅速的發展。GA 是由達文 西的物競天擇定理得到啟發,被廣泛地使用在許多領域上[20-24]。

3.3.1 流程圖

隨機產生初始族群

將參數解碼, 計算適應函數值

是否滿足條件

複製程序

交配程序

最佳參數解

檢查是否 滿足限制條件

突變過程 求得

R s ( )

檢查是否 滿足限制條件

調整

(by penalty function)

( )

bit

γ

調整

(by penalty function)

( )

bit

γ

3.3.2 配置(編碼)、fitness evaluation

網格運算服務的資源配置最終解就是配置向量σ。根據限制條件(13),有些 在σ上的位元已經由aij ≠ − 來決定。將這些已經決定配置的位元作上記號,其1 它的位元爲二進位的變數,由向量γ ={γij∈{0,1}aij = − ∈1,i [1,N], j∈[1,K]}來代 表。因此相對應於γ,染色體就是一列二進制碼(0 或 1)。一列當中的每個成員,

γij的配置相當於基因。如果γij = ,他的意思是資源1 R 被設計分配在節點j G 上。 i 如果γij = ,他的意思是資源0 R 被設計不分配在節點j G 上。因此i σ 的最終分佈 解可以被γ 和那些aij ≠ − (代表那些位元值已經被決定)的值來決定。有些基因被1 編碼成γ ,限制條件(13)將滿足下列 GA 的步驟。染色體的適應函數決定了解的 品質。在網格運算服務配置問題當中,解的品質由網格運算服務可靠度(在目標 方程式(12))來表示。爲了計算網格運算服務可靠度Rs( )σ ,配置向量σ 應該被 優先決定,由γ 和aij ≠ − 來組合。因此,網格運算服務可靠度可以由(7)計算出。1 使用在我們 GA 裡的適應函數定義如下

ln( S( )) Fitness A

R σ

= − (17)

A 為常數正數和RS( )σ 為網格運算服務可靠度。因為RS( )σ 的值介於 0 和 1 之間,

ln(RS( ))σ 將趨近於 0,則RS( )σ 趨近於 1,適應值將趨近於無限。因此,在(17) 式能得到一個很大的適應值,則RS( )σ 接近於 1。

在所有染色體所得的適應值之下,我們使用輪盤式選擇法在這問題上來決定 基因池。

3.3.3 補償運算子(違背限制)

有 些 方 法 可 以 用 來 處 理 限 制 條 件 , 舉 例 來 說 , 處 罰 方 程 式 (penalty function),附加修正項,拋棄無法實現的解等等。在此案例中,尋找合理的處 罰方程式是困難的。因為我們有數個限制條件,且每個都沒有共同相似之處,以 便於來簡單的使用可靠的權重。如果他們使用處罰方程式,每一項加入處罰項。

那會更加困難地發現有理且有效的方法來把它們結合在一起。拋棄不適應的解的 方法是用在於不適應的解是相當少的,而在這裡是不適用的。當不適應的解出現 相當頻繁時,補償運算子(Repair operators)是效率高且有效的,可以調整適應 值而不需太多費力的計算。在這裡描述一件例子來驗證。因此我們選擇補償運算 子來調整染色體的適應值。由於染色體編碼,限制條件(13)在此 GA 裡會滿足。

對於限制條件(14)-(16),補償運算子會在下列三個步驟給定。

Step 1. 對於限制條件(14)而言,如果

的,尤其在很大的複雜網格上,因為通常在前面的階段就會搜尋到完善的解,然 後這個解經由好幾次的演化仍然會保持差不多的結果,直到得到另一個更佳的解 為止。因此,從完善和運算時間的觀點,這個問題上的最佳演化世代,我們建議 在 100-200 之間。

相關文件