• 沒有找到結果。

以布穀鳥搜尋演算法設計之工具箱

第三章 工具箱設計

3.3 以布穀鳥搜尋演算法設計之工具箱

21

本節與前一節所介紹的工具箱功能大同小異,兩種工具箱差別在所使用的演 算法不相同。我們將僅介紹以布穀鳥搜尋演算法設計補償器之工具箱特有的功 能,有關重覆功能的部分不再贅述。工具箱介面如圖 3.4 所示,包含有功能表 列 File 以及 plant, unit-step response, lead-lag compensator, cuckoo parameter settings, flight, abandon, Nyquist plot 和 display 等區塊,還有顯示視窗 trace, save, clear 和 Link 按鍵等幾個部分。接下來主要針對 cuckoo parameter settings, flight 和 abandon 做介紹。

圖3.4:以布穀鳥搜尋演算法設計之工具箱介面 cuckoo search parameter settings

size: 巢的個數

epoch: 使用 CS 演算法次數 tolerance: 容忍值;預設為 1.0e-5。

max count: 滿足演算法是否終止條件之連續次數。當目前世代與前一個

22

世代的目標函數值相差之絕對值小於容忍值連續發生之次 數到達設定次數,則終止演算法;預設為 20。

max generation: 巢演化世代之最大次數;預設為 100。

random seed: 設置隨機亂數的起始點;預設為 1。

flight

step size: 飛行距離

Cauchy: 預設尺規 (scale) 為 1

Normal: 預設標準差 (standard deviation) 為 1 Levy: 預設尺規 (scale) 為 0.1

Yang: 預設參數 α 為 1.5 Hsieh: 預設參數 α 為 1.5

Mantegna: 預設參數 α 為 1.5、c 為 1、n 為 10。

McCulloch: 預設參數 α 為 1.5、β 為 0、c 為 1 及 n 為 0。

abandon

usual: 以設定的門檻並使用原始 Yang and Deb 論文之方法丟 棄巢

worst: 以設定的比例丟棄最糟的巢

probability: 欲丟棄巢的比例或門檻;預設為 0.25。

23

第四章 範例示範

本工具箱可以顯示開迴路系統、單位回授系統的分析結果,以及超前落後補 償器設計和其回授系統的執行結果。本章以兩個範例說明 (一) 以粒子群聚最佳 化演算法設計之工具箱; (二) 以布穀鳥搜尋演算法設計之工具箱的操作。

【例題 4.1】

令開迴路系統之轉移函數為 1/s

(

s+1

)

。 開迴路系統分析:

開迴路系統如下圖所示

u y

將轉移函數展開成 1/(s2+ s+0) 可得分子為 1,分母為 s2+ s+0。

在工具箱的 plant 區塊,輸入資料如下:

開迴路轉移函數分子:plant num = [1.0]

開迴路轉移函數分母:plant den = [1.0, 1.0, 0.0]

在工具箱的 unit-step response 區塊,輸入資料如下:

單位步階響應之時間:initial time = 0, final time = 20, time step = 0.01

點選 display 區塊中 open-loop plant 區域的 unit-step response 按鈕可執行

(

1

)

) 1

( = + s s s h

24

開迴路系統時域分析,其結果如圖 4.1 所示。

圖 4.1:例題 4.1 開迴路系統之時域分析結果

由上面結果可知此系統無零點,而極點為 -1 及 0,因此為不穩定系統。其 步階響應如圖 4.2 所示。

圖 4.2:例題 4.1 開迴路系統之步階響應圖

25

點選 display 區塊中 simple closed-loop system 區域的 unit-step response 按鈕可執行單位回授系統時域分析,其結果如圖 4.3 所示。

26

圖 4.3:例題 4.1 單位回授系統之時域分析結果

由上面結果可知此系統無零點,而極點為 -0.5+0.866j 及 -0.5-0.866j,

因此為穩定系統。其步階響應如圖 4.4 所示。

圖 4.4:例題 4.1 單位回授系統之步階響應圖

接著我們來做頻域分析及繪製其奈奎斯特圖 (Nyquist plot)。在工具箱的

27

Nyquist plot 區 塊 的 transfer 部 分 有 兩 個 選 項 分 別 為 loop gain 和 return difference。在此先選擇 loop gain 並點選 range status 設定其奈奎斯特圖的 x 軸 及 y 軸的範圍。其餘包括 tolerance, delta initial, delta tolerance, delta step, reduce, w start, w end, iteration max 等各參數值,設計者可以依實際需求自行設定,本範 例使用預設值,如圖 4.5 所示。

圖 4.5:例題 4.1 單位回授系統之頻域分析及奈奎斯特圖參數設定

點選 display 區塊中 simple closed-loop system 區域的 Nyquist plot 按鈕可 執行單位回授系統的頻域分析 (結果如圖 4.6 所示) 及繪製其奈奎斯特圖 (如圖 4.7 所示)。

28

圖 4.6:例題 4.1 單位回授系統之頻域分析結果

圖 4.7:例題 4.1 單位回授系統之奈奎斯特圖

另外,在 transfer 的部分,我們也可以選擇 return difference 來進行頻域分 析 (圖 4.8) 及繪製其奈奎斯特圖 (圖 4.9)。

29

圖 4.8:例題 4.1 單位回授系統之頻域分析結果

圖 4.9:例題 4.1 單位回授系統之奈奎斯特圖

超前落後補償器設計及其回授系統分析:

(一) 以粒子群聚最佳化演算法設計之工具箱分析

30 compensator 及 PSO parameter settings 區塊設定相關參數值,其參數設定如下:

超前落後補償器參數: tolerance: 1e-05 max count: 20 max generation: 100

vlim: [-1, 1]

31

圖 4.10:例題 4.1以粒子群聚演算法設計之超前落後補償器設計及其回授系統分 析的參數設定

使 用 工 具 箱 File 功 能 表 列 的 Save parameters 功 能 , 並 以 檔 案 名 稱 PSO_example1 將上列參數資料儲存成 txt 檔,其檔案內容如圖 4.11 所示。

32

圖 4.11:例題 4.1以粒子群聚演算法設計之超前落後補償器設計及其回授系統分 析參數的 txt 檔內容

如設定值已經有儲存過,可以點選本工具箱選擇 File 功能表列之 Load parameters 功能讀取參數資料,讀取檔案參數如圖 4.12 所示。

33

圖 4.12:例題 4.1 以粒子群聚演算法設計之從 txt 檔讀取超前落後補償器設計 及其回授系統分析的參數

參數設定完成後點選 display 區塊中 compensated system 區域的 run 按鈕 可執行超前落後補償設計。執行結果如圖 4.13 所示。

34

圖 4.13:例題 4.1 以粒子群聚演算法設計之執行超前落後補償器設計的結果

執行完畢可得到一組超前落後補償器之最佳參數解:

optimal K = 67.176 optimal alpha = 20.0 optimal beta = 1.0

35

圖 4.14:例題 4.1 以粒子群聚演算法設計之工具箱執行補償回授系統的時域分 析結果

圖 4.15:例題 4.1 以粒子群聚演算法設計之補償回授系統的步階響應圖

接著我們來做頻域分析及繪製其奈奎斯特圖。在工具箱的 Nyquist plot 區塊 的 transfer 部分,選擇 loop gain 並點選 range status 設定其奈奎斯特圖的 x 軸 為 [−1.5,0.0] 及 y 軸為 [−2.0,2.0],其他參數使用預設值。點選 compensated

36

system 區塊中的 Nyquist plot 按鈕可執行行補償回授系統頻域分析 (結果如圖 4.16 所示) 及繪製其奈奎斯特圖 (如圖 4.17 所示)。

圖 4.16:例題 4.1 以粒子群聚演算法設計之執行補償回授系統的頻域分析結果

圖 4.17:例題 4.1 以粒子群聚演算法設計之補償回授系統的奈奎斯特圖

點選 display 區塊中 compensated system 區域的 pole-zero patterns 按鈕,

37

可繪製開迴路系統及補償器之零點-極點圖 (如圖 4.18 所示) 與補償回授系統之 零點-極點圖 (如圖 4.19 所示)。

圖 4.18:例題 4.1 以粒子群聚演算法設計之開迴路系統及補償器的零點-極點圖

圖 4.19:例題 4.1 以粒子群聚演算法設計之補償回授系統的零點-極點圖

(二) 以布穀鳥搜尋演算法設計之工具箱分析

因為兩種工具箱差別在於使用的演算法不相同,所以我們將以相同的範例操 作本工具箱超前落後補償回授系統的相關功能。其參數設定如下:

38

開迴路轉移函數分子:plant num = [1.0]

開迴路轉移函數分母:plant den = [1.0, 1.0, 0.0]

單位步階響應之時間:initial time = 0, final time = 20, time step = 0.01

超前落後補償器參數:

] 100 , 40

∈[

K , α∈[1,20], β∈[1,1], zlead∈[2,5], zlag∈[5,5].

最小化之代價函數參數:

1 =1

w , w2 =1, yss =1。 weight = [1, 1], set point = 1.0.

布穀鳥搜尋演算法參數:

size: 40 epoch: 100 tolerance: 1e-05 max count: 20 max generation: 100

random seed: 1 飛行方式:

本範例選擇 McCulloch 方法當飛行方式,各參數使用預設值。其預設 值如下,step size = 1.0, α = 1.5, β = 0, c = 1, n = 0.

丟棄巢的方法:

本範例選擇 usual,並以 probability = 0.05 丟棄巢。

其設定結果如圖 4.20 所示。

39

圖 4.20:例題 4.1以布穀鳥搜尋演算法設計之超前落後補償器設計及其回授系統 分析的參數設定

我們也可以利用 Save parameters 功能,將參數設定值儲存成 txt 檔,待日 後需要時使用 Load parameters 功能讀取參數資料;其檔案內容如圖 4.21 所示。

40

圖 4.21:例題 4.1以布穀鳥搜尋演算法設計之超前落後補償器設計及其回授系統 分析的參數檔案內容

參數設定完成後點選 display 區塊中 compensated system 區域的 run 按鈕 可執行超前落後補償設計。執行結果如圖 4.22 所示。

41

圖 4.22:例題 4.1 以布穀鳥搜尋演算法設計之執行超前落後補償器設計的結果

執行完畢可得到一組超前落後補償器之最佳參數解:

optimal K = 67.176 optimal alpha = 20.0 optimal beta = 1.0 optimal zlead = 2.0 optimal zlag = 5.0

因為 alpha = 20.0 > 1,beta = 1,所以可以知道此補償器為單級超前補償器,其 轉移函數為

42

43

圖 4.24:例題 4.1 以布穀鳥搜尋演算法設計之補償回授系統的步階響應圖

接著我們來做頻域分析及繪製其奈奎斯特圖。在工具箱的 Nyquist plot 區塊 的 transfer 部分,選擇 loop gain 並點選 range status 設定其奈奎斯特圖的 x 軸 為 [−1.5,0.0] 及 y 軸為 [−2.0,2.0],其他參數使用預設值。點選 display 區塊 中 compensated system 區域的 Nyquist plot 按鈕可執行補償回授系統頻域分析 (結果如圖 4.25 所示) 及繪製其奈奎斯特圖 (如圖 4.26 所示)。

44

圖 4.25:例題 4.1 以布穀鳥搜尋演算法設計之執行補償回授系統的頻域分析結 果

圖 4.26:例題 4.1 以布穀鳥搜尋演算法設計之補償回授系統的奈奎斯特圖

45

點選 display 區塊中 compensated system 區域的 pole-zero patterns 按鈕,

可繪製開迴路系統及補償器之零點-極點圖 (如圖 4.27 所示) 與補償回授系統之 零點-極點圖 (如圖 4.28 所示)。

圖 4.27:例題 4.1 以布穀鳥搜尋演算法設計之開迴路系統及補償器的零點-極點 圖

圖 4.28:例題 4.1 以布穀鳥搜尋演算法設計之補償回授系統的零點-極點圖

結果討論:

46

綜合上述結果,單位回授系統與兩種演算法設計之超前落後補償回授系統結 果比較如表 4.1 與圖 4.29 所示。

表 4.1:例題 4.1 單位回授系統與兩種演算法設計超前落後補償回授系統之結果 比較

單位回授系統 單級超前補償回授系統 單級超前補償回授系統

演算法 粒子群聚最佳化演算法 布穀鳥搜尋演算法

最佳代價函數值 0.9538 0.9538

向量餘裕 0.6813 0.9538 0.9538

增益餘裕 (db) Inf Inf Inf

相位餘裕 (deg) 51.8273 68.844 68.844

穩態 1 1 1

上升時間 1.64 0.71 0.71

最大過衝量 16.30% 8.618% 8.618%

安定時間 5.29 2.28 2.28

穩態誤差 0 0 0

最佳的 K 67.175 67.175

最佳的 2 2

最佳的

最佳的 20 20

最佳的 z1

z2

α β

47

Nyquist plot: loop gain

real

imaginary

-1.5 -1.0 -0.5 0.0

-2-1012

Nyquist plot: loop gain

real

imaginary

-1.5 -1.0 -0.5 0.0

-2-1012

Nyquist plot: loop gain

real

48

單位步階響應之時間:initial time = 0, final time = 50, time step = 0.01

超前落後補償器參數:

] 20 , 1

∈[

K , α∈[1,50], β∈[1,50], zlead∈[0.05,5], zlag∈[0.05,5].

最小化之代價函數參數:

1 =1

w , w2 =1, yss =1. weight = [1, 1], set point = 1.0.

粒子群聚最佳化演算法參數:

size: 40 w: 0.6 c1: 1.7 c2: 1.7 epoch: 100 tolerance: 1e-05 max count: 20 max generation: 100

vlim: [-1, 1]

random seed: 1

開迴路系統分析:

點選 display 區塊中 open-loop plant 區域的 unit-step response 按鈕可執行 開迴路系統時域分析,其結果如圖 4.30 所示。

49

圖 4.30:例題 4.2 開迴路系統之時域分析結果

由上面結果可知此系統無零點,而極點為 -2, 0, 0,所以為不穩定系統。其 步階響應如圖 4.31 所示。

圖 4.31:例題 4.2 開迴路系統之步階響應圖

單位回授系統分析:

50

點選 display 區塊中 simple closed-loop system 區域的 unit-step response 按鈕可執行單位回授系統時域分析,其結果如圖 4.32 所示。

圖 4.32:例題 4.2 單位回授系統之執行時域分析結果

由 上 面 結 果 可 知 此 系 統 無 零 點 , 而 極 點 為 -2.3312, 0.1656+0.863j 及 0.1656-0.863j,所以為不穩定系統,故無法繪製其奈奎斯特圖 (Nyquist plot)。單 位回授系統之步階響應如圖 4.33 所示。

51

圖 4.33:例題 4.2 單位回授系統之步階響應圖

圖 4.33:例題 4.2 單位回授系統之步階響應圖

相關文件