搜索

愛液壓論壇

查看: 779|回復: 5
打印 上一主題 下一主題

AMESim遺傳算法模型優化、多線程計算開啟方式

  [復制鏈接]
  • TA的每日心情
    開心
    2019-1-3 18:24
  • 簽到天數: 1 天

    [LV.1]初來乍到

    跳轉到指定樓層
    1#
    發表于 2019-3-1 13:02:06 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    本帖最后由 maxieyun 于 2019-3-1 13:02 編輯

    遺傳算法模型參數優化
    優化需要理想結果作為參考對比。
    定步長運行結果與理想結果相減后取絕對值積分作為目標優化函數或者直接以某參數作為目標優化函數。
    找到Performance analysis 的state contributions會顯示出需要優化的變量作為優化輸入參數。
    打開Setings》export setup 將優化輸入參數和目標優化函數導入,設定取值范圍,保存。
    打開design exploration tools選擇optimization》new study 》genetic algorithm,勾選輸入參數與輸出參數,設置遺傳算法參數后退出。

    本地模式下,AMESim多線程計算開啟方式

    打開tools》options》AMESim perferences
    將parallel processors settings的兩個值均調到個人需求而定的值。

    回到桌面按windows+R 運行msconfig 在引導的高級選項中設定處理器個數與最大內存的值。

    重啟后感受CPU的咆哮。






    捕獲.PNG (53.36 KB, 下載次數: 4)

    設置優化目標

    設置優化目標

    捕獲.PNG (43.9 KB, 下載次數: 1)

    export setup

    export  setup

    捕獲.PNG (49.74 KB, 下載次數: 1)

    Performance analysis

    Performance analysis

    捕獲.PNG (21.04 KB, 下載次數: 2)

    genetic algorithm

    genetic algorithm

    捕獲.PNG (21.72 KB, 下載次數: 1)

    parallel processors settings

    parallel processors settings

    捕獲.PNG (22.08 KB, 下載次數: 1)

    引導高級選項設定

    引導高級選項設定
    帖子永久地址: 
    amesim教程
    回復 論壇版權

    使用道具 舉報

  • TA的每日心情
    開心
    2019-1-3 18:24
  • 簽到天數: 1 天

    [LV.1]初來乍到

    2#
     樓主| 發表于 2019-3-2 09:19:59 | 只看該作者
    本帖最后由 maxieyun 于 2019-3-2 12:11 編輯

    genetic algorithm運行過程可以add plot查看目標函數收斂情況,優化參數值的變化對目標參數的影響history plot可查看所有參數隨優化過程的變化。
    scatter plot可查看某兩個參數間關系,例如某一優化參數值的變化對目標參數的影響。
    如何查看多線程計算有無開啟,當前的線程數。
    裝個360或者毒霸啥的管家類軟件
    或者找到windows上網管理,如圖STDSIMexplore是AMESim的多線程管理進程,STDSIMdaemon就是一個個的計算線程了

    需要注意的是多線程計算在加快計算速度的同時也會降低計算精度,影響最后的結果。

    捕獲.JPG (46.93 KB, 下載次數: 1)

    history plot

    history plot

    捕獲1.JPG (36.63 KB, 下載次數: 1)

    scatter plot

    scatter plot

    捕獲.PNG (24.74 KB, 下載次數: 1)

    多線程計算查看

    多線程計算查看
  • TA的每日心情
    開心
    2019-1-3 18:24
  • 簽到天數: 1 天

    [LV.1]初來乍到

    3#
     樓主| 發表于 2019-3-2 09:36:40 | 只看該作者
    Population size、Reproduction ratio、Mutation probability、       
    Max. number of generation都是遺傳算法的基本概念,請自行百度。
    了解genetic algorithm局部最優、全局最優、發散的概念。
    在無全局最優的情況下,局部最優既是全局最優,例如以最短計算時長為目標的優化,由于計算時長不可能為0,只能無限接近,故結果只有局部最優。
    Mutation amplitude是AMESim針對特定個體的參數附加的噪聲參數,取值范圍0~1.此值接近于1則計算時間增加,AMESim將試圖使得結果接近全局最優,此值接近于0,則收斂過程加快,但有可能陷入局部最優。
    seed,遺傳算法中需要隨機數產生函數產生變異等步驟,AMESim使用 pseudo-random number generator(偽隨機數生成器)產生隨機數,不改變任何參數的情況下,兩次運行相同的study,則得到結果相同,建議每次運行時改變seed值,目前來看應該是此值任取,歡迎討論。
    AMESim給出了經驗公式,用于設定遺傳算法參數
    應根據參數數量選擇總體大小。實驗表明,Population size>=4.5*(優化參數個數),往往會產生很好的效果。
    高Reproduction ratio往往導致快速收斂,但也可能導致局部收斂。50%到85%之間的繁殖率通常能產生很好的效果。
    number of generation建議大于10.
  • TA的每日心情
    開心
    2019-1-3 18:24
  • 簽到天數: 1 天

    [LV.1]初來乍到

    4#
     樓主| 發表于 2019-3-2 09:38:33 | 只看該作者
    喜歡閱讀英文原版help童靴可以在AMESim demo help中搜索mutation,第一條就是AMESim對于genetic algorithm的解釋。
  • TA的每日心情

    2019-4-10 14:55
  • 簽到天數: 5 天

    [LV.2]偶爾看看I

    5#
    發表于 2019-3-17 10:07:02 | 只看該作者
    感謝樓主分享,最近需要用到AMESim的算法優化,學習了
  • TA的每日心情
    開心
    2019-1-3 18:24
  • 簽到天數: 1 天

    [LV.1]初來乍到

    6#
     樓主| 發表于 2019-3-18 10:03:15 | 只看該作者
    關于優化參數的選擇問題,我之所以使用Performance analysis 的state contributions 確定優化參數,是因為我的優化目標是模型的整體計算時間和計算精度達到的平衡。對于不同的優化目標,優化參數的選取方式是不同的,具體請參閱AMESim Help,本文僅起到拋磚引玉的作用,不足之處懇請各位指正。
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    • 液壓系統密封及管接頭油口選擇的設計研究
    • 液壓行業工業4.0的樣板工廠—來自哈威工廠
    • 吸油管設計經驗總結
    • 液壓行業中常用的壓力單位介紹
    • 國外大型礦用挖掘機綜述
    国民彩票app平台注册 国民彩票平台注册 国民彩票最新网址 国民彩票注册链接 国民彩票平台注册 国民彩票平台注册 国民彩票平台官网 国民彩票平台注册 国民彩票注册链接 国民彩票网址导航 国民彩票手机版 国民彩票网址导航 国民彩票最新网址 国民彩票平台注册 国民彩票平台注册 国民彩票最新网址 国民彩票官网入口 国民彩票平台注册 国民彩票注册链接
    <center id="1oyy5"></center>

      <object id="1oyy5"></object>
      <th id="1oyy5"><option id="1oyy5"></option></th>
      <del id="1oyy5"><small id="1oyy5"><optgroup id="1oyy5"></optgroup></small></del><center id="1oyy5"></center>
    1. <th id="1oyy5"><video id="1oyy5"><span id="1oyy5"></span></video></th>
        <th id="1oyy5"><option id="1oyy5"></option></th>
          <object id="1oyy5"></object>
        1. <object id="1oyy5"><option id="1oyy5"></option></object>