史上最全ISIGHT優化算法(2)
2016-10-24 by:CAE仿真在線 來源:互聯網
ISIGHT軟件是一款高度智能的軟件機器人,為用戶提供了高效、全面、強大、豐富、快捷、靈活、方便的優化集成平臺,可以和市面上絕大多數工程軟件、有限元分析軟件、三維軟件、辦公軟件、數值計算軟件、數據庫等進行集成,實現產品設計、仿真、優化的全流程,尤其是ISIGHT提供了非常全面的優化算法,下面我們就來一探究竟!
ISIGHT的優化算法分為四大類,分別為直接搜索法、梯度優化算法、全局優化算法、多目標優化算法,如下圖所示。每種類都提供了大量的高效優化算法,各算法之間相互補充,各有所長,大大擴展了ISIGHT的優化能力。

-
全局優化算法
優勢:
-
適應性強:只評價設計點,不計算任何函數的梯度;
-
具有全局性:能求解全局最優解,避免了集中在局部區域的搜索;
缺點:
-
相比數值優化算法,全局探索法的計算量比較大;
l MIGA算法
Isight中的MIGA多島遺傳算法本質上是日本Doshisha大學知識工程系(Department of KnowledgeEngineering)的M. Kaneko, M. Miki, T. Hiroyasu等人對并行分布遺傳算法(PDGAs, ParallelDistributed Genetic Algorithms)的改進,它具有比傳統遺傳算法更優良的全局求解能力和計算效率。遺傳算法(GA,Genetic Algorithm)是Holland在60年代提出的,主要借助生物進化過程中“適者生存”的規律,模仿生物進化過程中的遺傳繁殖機制,對優化問題解空間的個體進行編碼(二進制或其他進制),然后對編碼后的個體種群進行遺傳操作(如:選擇、交叉、變異等),通過迭代從新種群中尋找含有最優解或較優解的組合。
l ASA算法
模擬退火算法(Simulated Annealing,簡稱SA)和遺傳算法有很多相似之處,他們都需要從舊的設計點通過變異產生新的設計點。模擬退火算法比遺傳算法簡單,因為它每次在搜索空間中只檢查一個設計點,而遺傳算法檢查一組設計點(一個種群)。
SA的思想最早由Metropolis等提出,通過模擬退火過程,將組合優化問題與統計力學中的熱平衡問題類比,從初始點開始每前進一步就對目標函數進行一次評估,只要函數值下降,新的設計點就被接受,反復進行,只到找到最優點。函數值上升的點也可能被接受,這樣能夠避免找到的是局部最優點。是否接受函數值上升點是依據Metropolis判據決定的,它是溫度的函數,溫度高則更容易接受。伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解,即在局部優解能概率性的跳出并最終趨于全局最優。
SA對離散變量的組合優化問題和連續變量函數的極小化問題都獲得了很大成功。經過多年的研究,SA算法有多種改進算法,比如:加溫退火法、記憶模擬退火法等。Isight中的ASA自適應模擬退火算法是Ingber等人提出的改進算法,它具有比傳統SA算法更優良的全局求解能力和計算效率。
-
PSO算法
粒子群優化(Particle SwarmOptimization, PSO),又稱微粒群算法,是由Kennedy和Eberhart等于1995年開發的一種演化計算技術,最初是為了研究鳥群捕食的行為。PSO算法采用了演化計算的原則:1.從一組隨機種群開始初始化;2.通過更新種群代搜索最優解;3.進化依賴于前面的種群。
PSO采用粒子群在解空間中追隨最優粒子進行搜索,而不再有遺傳算法的交叉和變異操作。因此相對遺傳算法而言,PSO的優勢在于簡單容易實現,并且沒有太多參數需要調整。
l Pointer算法
Pointer優化器是Isight提供的智能自動優化專家。Pointer優化器會自動捕捉設計空間的信息,自動組合四種優化算法形成一個最優的優化策略,在一定給程度上大大降低了工程師的使用門檻,特別適合于那些對設計空間不太了解、對算法使用不太了解的設計者。
Pointer包括四個方法的組合:線性單純形法(linear simplex)、序列二次規劃法(sequential quadraticprogramming(SQP))、最速下降法(downhill simple)和遺傳算法(genetic algorithms)。
線性單純形法適合與解決線性問題;序列二次規劃法適合于解決光滑的問題,具有非常好的收斂性和數值穩定性;最速下降法適合于非光滑的問題,它一般從約束邊界開始計算,而且具有非常高的效率;遺傳算法適合于全局的,非光滑的,不連續的優化問題,但是它的計算比較耗時。
-
多目標優化算法
優勢:
-
能夠對多目標函數的優化問題給出有效的優化解;
-
可對凹陷解集進行有效求解;
缺點:
-
有些情況下,非劣解較多,不好選擇;
-
一般優化時間較長;
-
NSGA-II算法
NSGA-Ⅱ,作為1994年發布的NSGA(Non-Dominated Sorting Genetic Algorithm)的改良版,由K.Ded,S.Agrawal等在2000年提出。NSGA-Ⅱ優點在于探索性能良好。在非支配排序中,因為接近Pareto前沿的個體被選擇,使Pareto前進能力增強。
導入了“擁擠距離”和“擁擠距離排序”的方法,在具有同樣的Pareto順序的層內,可以對個體進行排序,稱為擁擠距離排序。擁擠距離排序中不會削除frontier的端頭部分,所以Pareto前沿不會收束一部分的領域里。
進化過程中,將當前父代群體進行交叉和變異得到子群體,將兩個群體合并。在目標空間中按照Pareto最優關系將群體中個體兩兩按其目標函數向量進行比較,將群體中所有個體分成多個依次控制的前沿層。在屬于不同的Pareto層的情況下,利用評價Pareto優越性來評價個體的優劣。屬于同一個Pareto層的個體,具有更大的擁擠距離的個體更優秀。
在NSGA-Ⅱ中,作為交叉和突然變異的運算機制使用叫做SBX(Simulated Binary crossover)的方法。根據SBX方法生成子個體:交叉運算。
-
NCGA算法
NCGA方法是由最早的GA(GeneticAlgorithm)算法發展而來,它視各目標同等重要,通過排序后分組進行交叉的方法實現“相鄰繁殖”的機制,從而使接近于Pareto前沿的解進行交叉繁殖的概率增大,加速了計算收斂過程。NCGA步驟如下:
第1步 初始化:令t=0,,設置第一代個體P0,種群數為N,計算個體對應的適應值函數,計為A;
第2步 另t=t+1,Pt=At-1
第3步 排序:個體Pt按向聚集的目標值的方向進行排序;
第4步 分組:個體Pt根據上述排序分為若干組,每組由兩個個體組成;
第5步 交叉和變異:在每一組中執行交叉和變異操作,由兩個父代個體產生兩個子代個體,同時父代個體被刪除;
第6步 重組:所有子代個體組成一組新的Pt;
第7步 更新:將At-1與Pt組合,按環境選擇(Envirment selection)機制,從2N個個體中,選出其中的N個個體;
第8步 終止:如果滿足終止條件,則終止優化程序,否則返回至第2步。
-
AMGA算法
AMGA算法在進化過程之外設立一個存檔(Archive),用于保存進化過程中的非支配個體及相應的多目標函數值,方法如下:
-
1. 通過支配關系選擇出當前代種群X(t)中的非支配個體X*;
-
2. 將X*與檔案A(t)中的個體放在一起進行比較:若X*被檔案A(t)中的個體所支配,則X*不能進入檔案A(t);若X*與檔案A(t)中的個體無支配關系,則X*進入檔案;若X*支配檔案A(t)中的某些個體,則X*進入檔案,并剔除那些被支配的個體。檔案A(t)中的個體在進化過程中保持支配地位。
-
3. 當準則終止時,檔案A(t)中的解集即為所要求的Pareto最優解集的近似解集。
-
l PE算法
由于傳統多目標遺傳算法(包括NSGA-II、NCGA、AMGA等)在整個設計空間搜索Pareto最優解,需要通過大量的迭代獲得高精度的Pareto前沿,從而限制了其解決復雜、大規模多目標優化問題的能力。
PE算法(ParetoExplorer)是樹優公司和美國eArtius公司聯合為Isight開發的高效全局多目標探索算法組件。PE算法包含的四個子算法,其中的HMGE算法是由遺傳算法和梯度算法兩部分構成的全局優化策略:首先,用多目標遺傳算法獲得非支配解集,然后對每一個非支配解,尋找能夠同時改進所有目標函數的梯度方向(多目標梯度探索法MGE,Multi-GradientExploration)繼續精確收斂到局部Pareto解。
相關標簽搜索:史上最全ISIGHT優化算法(2) ISight培訓 ISight培訓課程 ISight分析 ISight在線視頻教程 ISight技術學習教程 ISight軟件教程 ISight資料下載 ISight代做 ISight基礎知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓