CODE?V?優化的約束模式:精確、加權和罰函數

(轉)

任何實際的優化都是在提高性能的同時尋找一種能夠滿足設計指標的方案,包括制造型指標。CODE V 優化引擎 (AUT),使用像差評價函數來量化性能(成像質量),同時也量化那些設計指標,作為約束條件。優化引擎內建有非常多的和光學相關的誤差評價函數和約束,同時也允許你定義。對于約束條件,有一些技巧可以幫助你在優化時,如何進行選擇,如何使用控制。

圖片10.jpg

默認的約束是為了 “硬約束” ,必須滿足,不考慮對評價函數的影響效果。CODE V 的優化引擎使用拉格朗日乘數法來控制這些“硬的”或者“精確的”約束條件。把評價函數從約束條件中進行有效的分離處理,拉格朗日乘數法對于隨變量改變而線性改變的約束非常有效,比如光學量里面的有效焦距,機械量里面的總長,等等,非常多。對于你明確要求的特定約束,你可以有幾種選項來定義約束方法:相等(=),或者上邊界、下邊界、同時有上下邊界(<,>)。CODE V的默認普通約束,例如保證可加工制造的約束也是使用這種方法進行精確的控制。

加權的約束模式(最小化(權重))和罰函數約束模式把對約束條件的偏離納入評價函數。這種模式使你可以平衡成像質量的相對權重和約束條件對目標值的偏離。這種把約束植入評價函數的方法,當你在處理“軟約束”的時候是很有用的。特別是約束隨著變量在做非線性變化,我們發現當你試圖平衡諸如畸變或者表面形狀偏離等約束時,加權的約束模式比精確模式更有效果。當精確的約束加入和退出時,優化的輸出會顯示出來,如果同樣的約束不斷地加入、退出,就說明如果把此約束放入評價函數會比較好。

對于加權的約束模式,你設置目標和權重:偏離目標,評價函數就會增加。對于罰函數約束模式,你定義一個目標和邊界:邊界內的約束對于評價函數的影響很小,出了邊界范圍,約束對于評價函數的貢獻急劇增加。

下圖比較了最小化約束模式和罰函數約束模式對于評價函數的貢獻,約束內容是要求畸變小于1%。如果使用權重為0.1的最小化模式(幾乎貼地的綠線),和罰函數的效果一樣(看正負0.01處,紅線和綠線縱坐標一樣高)。但是你可以看見,正負0.01范圍以外,貢獻還是非常小,所以約束沒有很好地控制。如果使用權重0.8,最小化約束模式和罰函數模式在正負0.02處產生一樣的貢獻(縱坐標)。然而在正負0.01范圍內,最小化模式對評價函數產生的貢獻非常顯著(藍線)。這會導致優化出來的方案有一個不必要的比較緊的畸變控制,代價會是成像質量變差些。所以對于非線性邊界的約束,罰函數模式是比較理想的植入評價函數的約束模式。

圖片11.jpg

在加權模式或者罰函數模式,設置權重時,我們建議先運行一個評價優化(優化迭代次數為零),然后檢查輸出,文本顯示整個評價函數、像差分量和約束分量。例如,考慮一個系統,由下面的數量開始, WTC 或者 PTC 為1:

CYCLE NUMBER 0:

ABERR F. = 207.00337909

CONST F. = 0.05946438

ERR. F. = 207.06284347

約束的貢獻開始很小,不像會對結果有多大的影響。這可能有維持住約束值不變的效果,如果此約束值本來有一個機會在優化過程中會變化,但你想維持住,這倒是非常好。如果約束沒有滿足,你可能希望增加約束權重,直到像差分量和約束分量幅度差不多,這樣可以驅趕約束進入一個可以接受的范圍。上面的例子中,如果我們增加約束的權重到150,評價函數的各個分量就會比較平衡:

CYCLE NUMBER 0:

ABERR F. = 207.00337909

CONST F. = 148.66094760

ERR. F. = 355.66432669

考慮約束模式、調整權重,對于優化的收斂可以有顯著的效果,你就可以找到一種既滿足成像質量,又符合設計規格的形式。理解這些設置是如何影響優化的,對于幫助你在更短的時間內找到更好的解決方案是非常有價值的。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3
2
1