CODE?V?:使用評價函數分量改變優化權重
(轉)
優化的評價函數可以由包括像差在內的多種分量組成,如果使用了加權的約束條件(WTC或者PTC),就又包含一種約束分量;如果還使用了降低公差敏感度的優化設置(SAB),就又有一種單獨的控制公差敏感度的分量。作為一個設計者,你可以,也應該調節這些分量的相對權重,以取得最佳結果,但是如何獲得這些分量的信息呢?
你可以在自動設計的輸出控制選項卡里面激活“創建評價函數vs.迭代圖表” ,或者使用命令EFP,在每個優化迭代的文本輸出里也可以看見評價函數的各個分量。


創建評價函數vs.迭代圖表
了解評價函數每個分量的貢獻可以幫助你選擇適合的分量權重,再開始下一次的優化。例如,你可以為約束分量設置一個權重,讓它的貢獻量和像差分量差不多,這樣可以確保優化引擎在開始優化時同時兼顧兩個分量。使用公差敏感度評價函數SAB時,也許你希望試試優化不同的分量比例(下面會解釋)。
你可以先運行一個只評價的優化,使最大優化迭代次數為0(MXC 0),來檢查開始時每個分量的貢獻。然后利用這個信息,調節優化權重。
例如,命令:
AUT;MXC 0;SAB FA 1;EFL = (efl);DIY FL = 0; WTC 1;GO
產生下面的輸出:
CYCLE NUMBER 0:
ABERR F. = 1407.08283001
SAB F. = 588.84811418
CONST F. = 173.50310670
ERR. F. = 2169.43405088
為了有效地確定最好的分量比例,你可以使用一個宏,試驗幾個不同的比例。 你可以使用數據庫項(AUT.ERF) 來報告優化以后總的評價函數值。但是為了得到不同的分量,你需要把優化結果導入到工作表緩沖器(Worksheet Buffer),并且取出正確的數據。完成這個任務的宏語法象這樣:
BUF Y ! 保存輸出到工作表緩沖器(Worksheet Buffer) B0
!運行一個只評價的優化
AUT;MXC 0;SAB FA 1;EFL = (efl);DIY FL = 0; WTC 1;GO
BUF N !停止記錄到B0
!搜索B0 ,標志為字符 "SAB F." 存入變量 ^AUTSAB
BUF FND B0 "SAB F."
^AUTSAB == (BUF.NUM B0 IC JL)
WRI ^AUTSAB
!會報告 ^AUTSAB = 588.848
然后你可以使用比例 ^AUTSAB/(AUT.ERF) 來決定一個適合的公差敏感度(SAB) 權重。記住,一個權重因子加倍的話,會使貢獻量改變為權重的平方, 例如,改變SAB權重為2,這個例子中的公差敏感度貢獻量會變為2355,也就是以前的4倍。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















