CODE?V?:使用評價函數分量改變優化權重

(轉)

優化的評價函數可以由包括像差在內的多種分量組成,如果使用了加權的約束條件(WTC或者PTC),就又包含一種約束分量;如果還使用了降低公差敏感度的優化設置(SAB),就又有一種單獨的控制公差敏感度的分量。作為一個設計者,你可以,也應該調節這些分量的相對權重,以取得最佳結果,但是如何獲得這些分量的信息呢?

  你可以在自動設計的輸出控制選項卡里面激活“創建評價函數vs.迭代圖表” ,或者使用命令EFP,在每個優化迭代的文本輸出里也可以看見評價函數的各個分量。

圖片21.jpg

圖片22.jpg

創建評價函數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倍。

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

TOP

3
2