我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD新聞

ANSYS高級分析:優化設計(三)-優化算法

時間:2011-02-25 10:06:17 來源:

  1、引言

  ANSYS程序最常見的優化算法有零階方法,一階方法,隨機搜索法,等步長搜索法,乘子計算法和最優梯度法。本篇僅作簡單描述,更多的細節參見ANSYS Theory Reference chapter 20。要想深刻的了解這些算法,需要具有一定數學知識,并有一定的興趣愛好才能精下心了好好的理解和學習這一部分的理論性內容,但這也是快速提升自己水平的好途徑。

  2、優化算法簡介

  2.1 零介方法

  零階方法之所以稱為零階方法是由于它只用到因變量而不用到它的偏導數。在零階方法中有兩個重要的概念:

  1)目標函數和狀態變量的逼近方法;

  2)由約束的優化問題轉換為非約束的優化問題。

  逼近方法是指程序用曲線擬合來建立目標函數和設計變量之間的關系。這是通過用幾個設計變量序列計算目標函數然后求得各數據點間最小平方實現的。該結果曲線(或平面)叫做逼近。每次優化循環生成一個新的數據點,目標函數就完成一次更新。實際上是逼近被求解最小值而并非目標函數。狀態變量也是同樣處理的。每個狀態變量都生成一個逼近并在每次循環后更新。用戶可以控制優化近似的逼近曲線。可以指定線性擬合,平方擬合或平方差擬合。缺省情況下,用平方差擬合目標函數,用平方擬合狀態變量。用下列方法實現該控制功能:

  Command: OPEQN

  GUI: Main Menu>Design Opt>Method/Tool

  轉換為非約束問題的原因是狀態變量和設計變量的數值范圍約束了設計,優化問題就成為約束的優化問題。ANSYS程序將其轉化為非約束問題,因為后者的最小化方法比前者更有效率。轉換的實現方法是通過對目標函數逼近加罰函數的方法計入所加約束的。

  收斂檢查:前面的或最佳設計是合理的而且滿足下列條件之一時,問題就是收斂的:

  1)目標函數值由最佳合理設計到當前設計的變化應小于目標函數允差。

  2)最后兩個設計之間的差值應小于目標函數允差。

  3)從當前設計到最佳合理設計所有設計變量的變化值應小于各自的允差。

  4)最后兩個設計所有設計變量的變化值應小于各自的允差。

  但收斂并不代表實際的最小值已經得到了,只說明以上四個準則之一滿足了。因此,用戶必須確定當前設計優化的結果是否足夠。如果不足的話,就要另外做附加的優化分析。

  對于零階方法,優化處理器開始通過隨機搜索建立狀態變量和目標函數的逼近。由于是隨機搜索,收斂的速度可能很慢。用戶有時可以通過給出多個合理的起始設計來加速收斂。只簡單的運行一系列的隨機搜索并刪除所有不合理的設計。也可以運行多次單獨的循環,并在每次運行前指定新的設計變量序列來生成起始設計序列。

  2.2 一階方法

  一階方法同零階方法一樣,一階方法通過對目標函數添加罰函數將問題轉換為非約束的。但是,與零階方法不同的是,一階方法將真實的有限元結果最小化,而不是對逼近數值進行操作。

  一階方法使用因變量對設計變量的偏導數。在每次迭代中,梯度計算(用最大斜度法或共軛方向法)確定搜索方向,并用線搜索法對非約束問題進行最小化。因此,每次迭代都有一系列的子迭代(其中包括搜索方向和梯度計算)組成。這就使得一次優化迭代有多次分析循環。

  OPFRST命令(Main Menu>Design Opt>Method/Tool)有兩個輸入域可以用來改善一階方法的收斂。用戶可以指定計算梯度的設計變量范圍變化程度,也可以指定線搜索步長的范圍。一般來說,這兩個輸入值的缺省數值就足夠了。見ANSYS Theory Reference。

  一階方法在收斂或中斷時結束。當當前的設計序列相對于前面的和最佳序列滿足下面任意一種情況時,問題就稱為收斂:

  1)目標函數值由最佳合理設計到當前設計的變化應小于目標函數允差。

  2)從當前設計到前面設計目標函數的變化值應小于允差。

  3)同時要求最后的迭代使用最大斜度搜索,否則要進行附加的迭代。

  與零階方法相比,一階方法計算量大且結果精確。但是,精確度高并不能保證最佳求解。一階方法可能在不合理的設計序列上收斂。這時可能是找到了一個局部最小值,或是不存在合理設計空間。如果出現這種情況,可以使用零階方法,因其可以更好的研究整個設計空間。也可以先運行隨機搜索確定合理設計空間(如果存在的話),然后以合理設計序列為起點重新運行一階方法。一階方法更容易獲得局部最小值。(見后面“局部和全局最小值”的說明。)這是因為一階方法從設計空間的一個序列開始計算求解,如果起點很接近局部最小值的話,就會選擇該最小值而找不到全局最小值。

  2.3 隨機搜索法

  隨機搜索法[OPTYPE,RAND],程序完成指定次數的分析循環,并在每次循環中使用隨機搜索變量值。用戶可以用OPRAND命令(Main Menu>Design Opt>Method/Tool)指定最大迭代次數和最大合理設計數。如果給出了最大合理設計數,在達到這個數值時循環將終止,而忽略最大迭代次數是否達到。

  隨機搜索法往往作為零階方法的先期處理。它也可以用來完成一些小的設計任務。例如可以做一系列的隨機搜索,然后通過查看結果來判斷當前設計空間是否合理。

  2.4 等步長搜索法

  等步長搜索法[OPTYPE,SWEEP]用于在設計空間內完成掃描分析。將生成n*NSPS個設計序列,n是設計變量的個數,NSPS是每個掃描中評估點的數目(由OPSWEEP命令指定)。對于每個設計變量,變量范圍將劃分為NSPS-1個相等的步長,進行NSPS次循環。問題的設計變量在每次循環中以步長遞增,其他的設計變量保持其參考值不變。設計序列中設計變量的參考值用OPSWEEP命令的Dset指定(Main Menu>Design Opt>Method/Tool)。

  用下列方法圖示設計變量數值和響應變量的數值關系:

  Command: OPLSW

  GUI: Main Menu>Design Opt>Tool Results>Sweeps

  2.5 乘子計算法

  乘子計算法[OPTYPE,FACT]用二階技術生成設計空間上極值點上的設計序列數值。(這個二階技術在每個設計變量的兩個極值點上取值。)可以用OPFACT命令(Main Menu>Design Opt>Method/Tool)指定是完成整體的還是部分子的評估。對于整體評估,程序進行2n次循環,n是設計變量的個數。1/2部分的評估進行2n/2次循環,依此類推。

  可以用棒式圖和表格顯示目標函數或狀態變量的某些方面。例如,可以圖示每個設計變量對目標函數的主要作用。用戶同樣可以查看兩個和三個變量之間的互相作用。

  用下列命令顯示棒式圖:

  Command: OPLFA

  GUI: Main Menu>Design Opt>Tool Results>Factorial

  2.6 最優梯度法

  最優梯度法[OPTYPE,GRAD]計算設計空間中某一點的梯度。梯度結果用于研究目標函數或狀態變量的敏感性。用下列方式指定在哪個設計序列計算梯度:Command: OPGRAD

  GUI: Main Menu>Design Opt>Method/Tool

  用戶可以用圖顯示設計變量和響應變量的數值。縱坐標表示目標函數或狀態變量的實際數值。橫坐標表示設計變量一個小的(1%)變化值。用下列方法列表表示結果:

  Command: OPRGR

  GUI: Main Menu>Design Opt>Tool Results>Print

  3、本篇總結

  本篇介紹了ANSYS優化設計模塊集成的優化設計算法的基本思想,對想要進行學習和研究ANSYS優化設計的人來說,深刻的理解了這些算法才能更好的將優化設計應用于工程問題的分析,并且能夠將自己的優化思想轉換成優化算法集成到ANSYS平臺下,為自己的分析服務。