第三章 理論概述
3.1 HEC-RAS 河道變量流演算
本研究河道演算部份,是應用美國陸軍工兵 圑水文工程中心發 展之河川分析模式(River Analysis System, HEC-RAS),HEC-RAS 為一 可進行一維變量流與定量流河道水力計算之系統軟體。HEC-RAS 變 量流水理模式可模擬整個洪水歷線經過河川系統時各不同斷面之水
HEC-RAS 河道水理理論在變量流部份之控制方程式包含連續方 程式與動量方程式;若假設水體為不可壓縮流 (incompressible
flow),則其連續方程式可表示為
13
式中
V
為平均流速;g
為重力加速度;y
為水深;S
0為底床坡降;S
f 為摩擦坡降;V
x為水流在 x 軸方向上的流速。3.1.2. 數值方法
HEC-RAS 是利用四點完全隱式差分法處理連續方程式與動量方 程式,以求解各時段之水深及流量,若以
f
表示欲求解之變數,四點14
15
至(3-1 式)之解。若不能滿足精度要求,必需將
Q
ij+1及y
ij+1重新代入(3-12 式)中,進行下一次迭代,直到滿足所需精度為止,依此方法即可求 出各斷面之流量與水深。若在匯流處則假設其流量進出平衡及匯流前 後之速度水頭差極小,以進行下一河段演算。3.2 類神經網路
近年來類神經網路 (Artificial Neural Network,ANN)已被視為非 常有效的非線性模型建構工具。類神經網路(Artificial Neural
Network)是指模仿生物神經網路的資訊處理系統,其定義為:「類神 經網路是一種計算系統,包括軟體與硬體,它使用大量簡單的相連人 工神經元來模仿生物神經網路的能力。人工神經元是生物神經元的簡 單模擬,它從外界環境或者其他人工神經元取得資訊,加以簡單的運 算,再輸出其結果到外界環境或者其他人工神經元。」
3.2.1. 類神經網路種類
類神經網路模式大致上可依學習策略與網路架構來加以分類,
下列將各別簡單介紹之。
一、依學習策略分類
(1) 監督式學習網路(Supervised Learning Network)
從問題領域中取得訓練範例, 包含有輸入變數值及輸出變數值 在學習的過程,輸入值經類神演算後會得到一組模擬值,將此模擬值 與範例輸出值的差值用來調整網路內的權重及閥值,經由不斷反覆的 演算,使模擬值與範例輸出值差距最小,最後將此網路應用於新的案 例,此種學習策略即為監督式學習網路。倒傳遞網路即屬此類型網路。
(2) 非監督式學習網路(Unsupervised Learning Network)
16
從問題領域中取得訓練範例,只有輸入變數值,並從中學習過 程中找尋輸入變數的聚類規則,最後將此網路應用於新的案例。自組 織映射圖網路類神經即屬此類型網路。
(3) 聯想式學習網路(Associate Learning Network)
從問題領域中取得訓練範例,狀態變數值,並從中學習範例的 內在記憶規則,以應用於新的案例。霍普菲爾網路即屬此類型網路。
(3) 最適化應用網路(Optimization Application Network)
對一問題所設計的變數值,使其滿足設計限制條件,並使設計 目標達最佳狀態的應用。Hopfield-Tank 神經網路即屬此類型網路。
二、依網路架構分類
(1) 前饋式網路架構(Feedforward Network)
前饋式網路為一種階層式網路,包含輸入層、隱藏層及輸出層,
網路所有的神經元階無後向或側向的連結傳遞,信號傳遞方向由前往 後傳輸如圖 3 -1。倒傳遞類神經網路及學習向量量化網路即屬此類型 網路。
x
1…
x
jY
1Y
i輸入層 隱藏層 輸出層
圖 3-1 前饋式類神經網路 (2) 回饋式網路架構(Feedforward Network)
回饋式網路至少會含有一回饋迴圈,神經元會各自將其輸出之 訊號傳給同一層或前一層中的神經元,以作為輸入資料如圖 3 -2,常 用於處理動態現象或動態的時間序列。 Hopfield 網路即屬此類型網
17
路。
…
x1 xj
Y1 Yi
輸入層 隱藏層 輸出層
圖 3-2 回饋式類神經網路 3.2.2. 倒傳遞類神經網路概述
倒傳遞類神經網路(Backward Propagation Network,BPN)是種被 廣泛使用的一種網路,因為其具有學習及回想的功能,故可進行定率 預測。倒傳遞網路模式學習訓練方式由所探討問題中取得相當數量之 訓練樣本,並從樣本中應用向前饋入與誤差向後推導兩步驟推求輸入 變數與輸出變數的內在對映規則,再應用回想功能進行新案例之輸出 變數值推估。
而本研究所建立之水庫防洪規劃模式因考量到降低下游地區淹 水之影響,以 HEC-RAS 建立下游河道水理模式。由於河道演算需鉗 入水庫即時操作模式反覆呼叫,因此本研究採倒傳遞類神經網路, 應 用前述 HEC-RAS 模式建立大量之水庫放水量與對應之河道流量與 水位等水理資訊,將該資料作為類神經網路之訓練資料,建立河川洪 水類神經模式藉此降低模式計算量。
以下說明倒傳遞網路學習過程的建立:
18
19 (learning rate),控制每次以最陡坡降法最小化誤差函數的步幅。
(5) 更新加權值矩陣與閥值
20
Step function
X
Sign function
X
Sigmoid function
X
Linear function
Y
21
三、學習效率
學習速率太大或太少均不利網路收斂。因較大的學習速率有較 大的網路加權值修正量,可較快逼近函數最小值,但過大的學習速率 將導致網路加權值修正過量,造成數值振盪而難以達到收斂。根據經 驗顯示若學習速率取 0.5 或 0.1 到 1.0 間的值作為學習速率,其結果 對學習速率並不敏感,大都可得到良好的收斂性。
3.3 遺傳演算法
3.3.1 基本理論概述
遺傳演算法(genetic algorithm)的理論基礎可回溯自 1859 年達爾 文(Charles Darwin)的「物種起源」(On the Origin of Species by Means of Nature Selection)書中之「物競天擇,適者生存」演化及淘汰觀念。在 這種由自然選擇的演化機制中,生物界中的任一個體會將其特徵繁衍 到下一代,而生物特徵是由細胞內的染色體來決定的,也就是由基因 所組成的基因鏈,由於不同特徵的生物對於環境的適應力不大一樣,
基於自然生態之淘汰,適應力較高的個體會有較高機率與異性交配繁 衍,就如同自然界中求偶期生物往往必須藉由爭鬥來展示自身的強健 與否,方有機會得到另一半的青睞。基於此一理論,具有較佳適應力 之染色體亦有較高之機率繁衍至下一代。
此外,多數生物之繁衍均以採用有性生殖方式,因此子代是由 父母雙方之染色體組合而成,使得子代染色體具備與父代不同之適應 力,可能會出現「歹竹出好筍」之情況。由於較能適應環境之生物,
有較高之繁衍機率,因此可將整體族群引導向更適合生存之方向。經 由長時間之繁衍,最後將演變至最能適應於此生態環境下的種族。
最早是由密西根大學的 John Holland 教授將 這種自然界的選擇
22
方法系統化並發展一可用之演算法,其在 1975 年於 Adaption in Natural and Artificial System 文中所提出,發展出遺傳演算法搜尋技術 的基本架構,並且由其學生 David Goldberg 成功地運用在工程問題 上。之後,有許多研究亦證實了遺傳演算法在最佳化問題的求解上是 十分有效率的,其有以下幾個優點:
1. 可同時優選連續(continuous)及不連續(discrete)的問題。
2. 優選過程中,無須求取目標函數的導函數。
3. 可以擴張處理多參數的優選問題。
4. 演算法具有平行計算之本質,若在平行電腦中,可以容易地進行 平行計算,大幅減少計算時間。
5. 演算優選的結果,可提供一組最佳解群,而非只有單一最佳解。
6. 不同於單點搜尋方式,而是採用多點搜尋,因此不容易掉入局部 解(local optimum)。
7. 在優選複雜非線性的問題中,其演算機制可跳脫局部最佳解(local optimum)。
8. 參數優選機制係以演化方式(複製交配突變)進行,此一方式不受 問題函數型態之影響
以上的優點,使得我們發現當傳統的最佳化方法無法解決一個 問題或得到令人滿意的優選結果時,遺傳演算法便是一個很有趣且擁 有很大潛力去替代部份傳統的優選法。
對所有的問題而言,遺傳演算法並非都是一個最佳的方法,例 如當在處理一具有凸函數型態,且僅有少量變數之問題時,一般傳統 以微積分為基礎的搜尋法,即可比遺傳演算法快速的找到最佳解,對 於一些簡單優選的問題,傳統的演算法亦都能很快的解決,然而當我 們在處理實際的問題時,經常會遇見的是非凸函數且多變數型態或更
23
複雜的問題,這是一般演算法不易解決的,而遺傳演算法就有解決此 類問題的能力,且可得到近以全域最佳解。
3.3.2 遺傳演算法架構流程
遺傳演算法係將各參數視為基因(gene),透過編碼(Encoding)組 合成染色體(chromosome)個體,每條染色體即為一組解,演算初始以 隨機方式產生初始群解,即為最原始的親代經由三大運算元─複製 (reproduction)、交配(crossover)及突變(mutation)過程產生適合度 (fitness)較佳的新群集,直到找到最佳值或達到收斂條件為止。其演 化步驟如下(1987,Davis)(1995,陳莉):
1. 開始以隨機方式產生具 n 個 L 位元的染色體之群集。
2. 計算問題中每一個染色體的適合度 f(x)。
3. 重複下列步驟直到 n 個後代全部產生:
(1)在現有的群集中選擇一對親代染色體。
(2)以機率 Pc( 交換率)使一對親代隨機的選擇位置交換,形 成子代;若無交換則所形成的子代則由親代複製而來。
(3)突變是以 Pm(突變率)使兩個子代在任一位置改變其值。
4. 以新的群集取代現有的群集。
5. 重複步驟 2~5。
經過多代的演算後即可得到能夠收斂於整體的最佳解。遺傳演 算架構流程如圖 3-4 所示:
24
定義編碼方式
產生初始染色體群集
(Initial Population)
計算各染色體適合度
Crossover (Recombination)
染色體突變
25
三、突變率
突變率是指當交換後的子代可能產生變異的機率,其最主要的 目的在避免基因落入局部最佳解,通常突變率都不高。
關於其它有關遺傳演算法詳細之編碼、解碼方式、適合度函數 計算、菁英政策、選取方法、交配方法、收斂條件等請參考附錄二遺 傳演算法相關參數介紹。
26