OpTaliX - 優化

2020-04-16 16:03:00

OpTaliX設計系統的優化是解決非線性問題的方法。它通過改變所選透鏡的數據來達到透鏡像差最小化的過程(變量)。兩種優化算法都可用。

KT-優化,通過阻尼最小二乘法使誤差函最小化,解決約束使用的拉格朗日乘數器和塔克優化條件的程序來實現的。

LM-優化使用跨算法解決問題。

評價函數通過壹些性能和建造數據相關指令構成,因而允許誤差函數的定義有無限的靈活性(也可稱為價值函數)。另外最小化,邊界約束也遵循邏輯運算符。例如

= (等於),
< (小於)
> (大於)

用戶定義變量和函數也允許更廣範圍內約束條件的優化,例如

$z = [efl]+23.12
@xyz == [thi s2]+[thi s4]+$z
@xyz > 10

定義優化變量,目標,約束

在壹個單獨的窗口中有編輯變量,目標和約束。用戶定義評價函數接受所有的有關面型數據、系統數據和性能數據的指令。這包含數據表達式,壹大批內置的數學函數,鏡頭數據庫項目也可以作為宏示例顯示:

efl = 100 焦距小於100mm.
syl < 70 約束系統波長(第壹個表面到最後壹個表面)應小於70mm
spd f1..3 w3..4 0 最小rms-點直徑的範圍為1到3;波長範圍為3到4(目標是0)
spd 0 見上圖,最小化rms光斑直徑。如果沒有範圍和波長限定,所有的範圍和波長都可以。這是最簡單的 卻具有強大的優化目標
thi s1 = [OAL] - 2*[thi s4] 鑒於括號中使用的算術運算符和透鏡數據庫項目去定義合成的對象
bfl = sqrt(tan(2)) 使用內部函數定義復雜的目標
@myfkn == [oal s1..6]-5.0 構建壹個用戶自定義函數供日後使用
@myfkn > 10 使用先前定義的函數去定義約束的優化