• 沒有找到結果。

3.2 模擬的架構

3.2.1 先行模擬

本 LAB 之前董雨隴學長在此混光系統中使用的優化方法,首要條件是要將 多顆 LED 的強度疊加起來,最後的頻譜可以達到某一色溫的色座標,在之前的模

31

擬方法是考慮每個波長( 12、…、 n)的 LED 混成一個任意目標色點的頻譜,剛 開始每個波長的 LED 是給予同樣的比重,藉著每次只增加一階或是減少一階 LED 的強度,套入色座標的公式(Eq. 2.1-2.2),藉由計算前者的 xy 座標與改變灰階後 的 xy 座標之差值當成一個指標,判斷下一組的改變量的方向,舉例來說,如果 這次更改變量後,得到一個 xy 的座標直接近原先預設的目標座標值,那麼就以 這個改變後的座標當為一個新座標,再繼續重複每次只增加一階或是減少一階 LED 的強度,然後再度套入頻譜色座標的計算方法計算,直到色點吻合目標色點 的色座標為止,為了增加找尋最佳強度解的容易度,在黑體輻射曲線裡,我們將 目標色點位置上的相關色溫線(Correlated Coordinate Temperature, CCT)(圖 3-2) 用 y 座標間距 0.001 分割為 100 個色座標,如此一來相關色溫線上的每一個色點 即被這個演算法視為近似目標色點的色座標,也就可以被套入目標函數中計算。

換句話說,每次的計算只拿出這 100 個色點的其中之一個色點做為目標色點,對 LEDs 開始調整強度灰階,如果經過增加一次和減少一次的灰階仍然沒有比原始 (初始的灰階)的色點更接近目標色點,那就放棄這個相關色溫的色點,再取下一 個相關色溫的色點當作新的目標色點,重複演算直到搜尋完 100 組的色點後再比 較這些留下的色點其灰階強度的目標函數值,找出最高值就接受它為該目標色點 的最佳解。

圖 3- 2 Planck 曲線和相關色溫

32

這邊模擬的目標函數,根據 A.Zukauskas 等人提出的概念,將評價光源的指 標們,以線性假設為前提下,將多個評價指標組合在一起,經過修改,本篇研究 的目標函數將可以寫成:

(Eq. 3.1)

I1、I2、…In代表參加混光的每顆 LED 的強度,K 為 Luminous Efficacy,CQS 代表 Color Quality Scales, 為表示 K 和 CQS 之間的權衡的關係。

因此目標函數將可以寫成 LED 強度的函數,再套入前面求得目標色點的方 式,將符合目標色點的 LED 組合強度套入目標函數 F 中,比較出最大的 F 值就是 所求。但是這方法有個缺點,因為它擁有一百組色點,所以當第一回的增加減少 灰階仍無法更接近該色點時,則放棄這個目標色點,再找下一個色點,如此一來,

最後得到的最佳解未必是由原本所想要的目標色點所求得的最佳解之外,因為這 種方式求解的路徑都會是同一種,所以落入 F 目標函數的局部解(local maximum) 的機率就會提高很多,所以 CQS 和 Luminous Efficacy 也未必真的是此目標函數的 全域解。因此,啟發式演算法求解剛好可以處理這種目標函數複雜的情形,更甚 於它也可以處理多目標的最佳函數解。

3.2.2 啟發式演算法(Metaheuristics)

-模擬退火法(Simulated Annealing)

萬用啟發式演算法(Metaheuristics)是一種新興的最佳化演算法,這類演 算法的概念經常是由觀察自然界所獲得的靈感,例如:基因演算法源自於生物演 化、蟻群演算法習自蟻群的覓食行為、粒子群最佳演算法則效法鳥類的覓食。由

33

1953 年,美國物理學家 Metropolis 等人提出利用 Monte Carlo Method 模擬 在固定溫度下達到熱帄衡的過程:

Watson 研究中心研究員 Kirkpatrick 等人為使演算法更一般化,所以引入了溫度 方案在這個熱帄衡的過程裡[20],由熱力學的角度來看就是退火的過程,所以稱

34

的優化值時,新的溫度也決定新狀態可接受的機率,換句話說如果這個新的狀態 的函數值偏離目標函數優化的條件時(跟原先的相較之下,有較差的目標函數值),

照理說應該要被淘汰,但因為可接受機率的關係,所以它有機會被留下,以另一 個角度來看,這方式是允許往目標函數變差的方向,因此可以避免停在局部最小 值,當外循環的溫度降低至終止溫度時,模擬退火法程式就結束計算。

模擬退火法大致上的流程如圖 3-3。定義圖中的參數,I 為各種 LED 的強度 值,T 為溫度,K 為隨機機率,B 為降溫因子。一開始給定初始值,初始值就是 目標函數的變數;之後再決定外循環的終止設定,即終止溫度,這個條件的設定 可以視情況做修正,如果終止溫度設得太低,有可能模擬時間太長但得出的結果 卻不一定比終止溫度設高一點者來的好,必頇要經過幾次的模擬比較答案後則較 易掌握終止溫度的範圍,外循環的條件設定還有一項是降溫的速度,也就是決定 外循環的循環次數;接著就是內循環的設定,內循環的設定跟外循環的降溫速度 有相關,如果當外循環的疊代次數高時,內循環就可以減少疊代次數,反之亦然;

最後還有一項稱為可接受機率的參數,這個參數是根據外循環疊代的次數項而會 做動態修正,它在每次外循環下都給定某一機率讓搜尋方向往優化的反方向走,

如此才可以避免局部極值的問題;所以再不斷的循環搜尋的過程中,目標函數便 會慢慢的收斂到某值(如果當目標函數真的存在極值的情況),可以在每次的循環 中記錄該循環的最佳值,最後比較最佳值的變動程度判斷這個目標函數是否真的 會收斂,當函數最後收斂到某值時(整體趨向於一個穩定值時),整個模擬退火法 的演算就結束了[20-22]。

35

圖 3- 3 模擬退火法演算機制流程

了解模擬退火法的主要機制後,則換決定目標函數的變數項,由前面所述,

目標函數配合實驗的架構將改為 F(I1,I2,…In),以 LED 強度為目標函數的變數,目 前我們實驗中擁有的 LED 陣列中 LED 的總類是四種(不含白光),所以放進目標函 數可改寫為 F(I1,I2, I3,I4)。利用色座標的之間轉換,可以將目標函數簡化改為 F(I1),

在代入模擬退火演算法可以省去一些計算的時間。

先從四顆 LED 中任取三顆,三點色座標標示出一個色域圖之後,加上強度 可以得到合成的色座標點的三刺激值(Eq. 3.2),暫時稱之為 I5的 XYZ 值,

(Eq. 3.2)

36

37

(Eq. 3.5)

M 是一個極大的參數,如果隨機選取的初始值不在目標函數的限制條件內,目標 函數會因為乘上 M 的因素而遠遠偏離最佳值,以我們的系統而言(Eq. 3.5)則為當 變數 I 不在限制範圍內,懲罰因子項則會使 F 越來越小,而理想所求為 F 極大值,

因此透過此種方式自然將限制條件隱含在目標函數內中,選取初始值也無頇再加 上額外的限制。

將系統擴展到 N 種以上 LED 混光,則會有 N-3 個維度的變數,以本篇論文 實驗為例,共有五種 LED 光源,所以有兩個維度的變數空間。從五顆 LED 中任選 兩顆並給予初始強度使其三刺激值合成 P 點,

(Eq. 3.6)

最後的目標為 D65 色點,所以剩下三種 LED 的強度就可以被 Eq. 3.7 轉換式決定:

(Eq. 3.7)

因此在五種中隨機挑選兩種 LED,使初始值在 I1、I2下,其餘 LED 強度比例也被 求得,但跟四顆的情況一樣,目標函數也必頇加上限制範圍選擇 I1、I2的數值的 範圍,以免經過演算法計算後強度有負值出現,最後比較這 10 種情況下的最佳 值,演算法即完成。同理,解 N 種 LED 以上的混光光源的目標函數時,則有 N-3

38

種維度的變數空間,利用此方式將逐漸搜尋極值,到此模擬退火法的優化演算也 趨於完整。

3.2.3 啟發式演算法-基因演算法 (Genetic Algorithm)

圖 3- 4 基因演算法的流程

啟發式演算法另一種是基因演算法,它是由美國密西根大學教授 John Holland 在 60 年代初期首先發展出來,後來他的學生 David Goldberg 將演算法做 些修正改寫後,基因演算法因此發揚光大而被廣泛使用[23]。以達爾文進化論「物 競天擇,適者生存」為基礎,一種模擬自然界演化過程的計算方式,也可以稱之 為演化計算(Evolutionary Computing)或稱為演化式演算法(Evolutionary

Algorithms)。運算機制主要包括:重組、突變、選擇。基因演算法利用隨機多點 同時搜尋,對於複雜的數學函數而言,比起傳統的直線搜尋法利用單點輔以梯度 資訊搜尋方式,更可避免掉入局部最佳解,再者基因演算法僅需對於目標函數進 行計算不需要計算目標函數的梯度。基因演算法的運算主要將參數經過編碼轉成 為適合基因演算法運算的數據結構,所以在搜尋分析上不受參數連續性的限制,

因此更可以應用在不同類型的最佳化問題。常用的編碼方式有兩種,第一種是將

39

參數轉成二進制(Binary),第二種是實數(Real-valued)編碼,本篇研究裡評估 LED 強度值數量與數值後遂將初始值採用實數的編碼的方式進行分析。圖 3-4 是基因 演算法計算的流程圖,M 為疊代的次數,I 為 LED 的強度值。跟模擬退火法不同 的地方是演算開始前給定初始值的數量,模擬退火法只要給定一個初始值即可,

而基因演算法初始值的數量端視問題的大小決定,需要初始群體的意義就在於基 因演算法利用隨機的選擇使族群中的初始值擁有多樣性,同時也使得搜尋目標函 數解能具有隨機和多點的特性。

一般而言,對於高維度的目標函數問題,會需要比較多的初始群體,隨後 代入目標函數中計算和比較函數值之後,選擇出優良群體,淘汰目標函數值差的 組合。挑選優良群體的方式有很多,主要用意都是由群體(Population)依據目標函 數值的大小來決定可以進入重組步驟的個體(Individual),這種選擇方式有很多,

本篇論文選用用排序演算法(Sorting),將每種目標函數算出的結果按一定順序排 列的演算法,挑出最佳的 N 組解(Elitism)進入重組(Recombination)階段。參數重 組時依據重組機率從最佳 N 組解中隨機地任意兩個參數,經公式計算產生兩個 新參數的一種過程;重組的過程中也包含突變機制(Mutation),突變機制其實是 為了提供隨機解,在任意挑選的情況下,這些突變解可能會離開原本的局部區域,

本篇論文選用用排序演算法(Sorting),將每種目標函數算出的結果按一定順序排 列的演算法,挑出最佳的 N 組解(Elitism)進入重組(Recombination)階段。參數重 組時依據重組機率從最佳 N 組解中隨機地任意兩個參數,經公式計算產生兩個 新參數的一種過程;重組的過程中也包含突變機制(Mutation),突變機制其實是 為了提供隨機解,在任意挑選的情況下,這些突變解可能會離開原本的局部區域,

相關文件