MV-3010:MotionView - HyperStudyを使用した最適化

このチュートリアルでは以下の操作を取り上げます:
  • MotionView-HyperStudy環境で最適化スタディを実行する
  • ベースラインモデルと最適化したモデルを比較する

理論

最適化問題の一般的な構成要素は次のとおりです:
  • 設計制約条件
  • 目的関数
  • 設計変数

設計変数は最適化中に変化します。設計変数には、変動可能な幅として特定の範囲を必ず割り当てます。設計変数の主な例としては、シェル要素の板厚、形状ベクトル、質量などが挙げられます。

設計変数が変化すると、モデルの応答に何らかの変化が現れます。このような応答は、目的関数または設計制約条件のいずれかにすることができます。このような応答の例として、変位や力が挙げられます。

最小化または最大化を目標とする応答は目的関数になり、特定の許容範囲に収めることを目標とする応答は制約条件になります。目的関数として定義できる応答は1つのみです。

HyperStudyを使用して、MotionViewモデルの最適化スタディをセットアップし、実行できます。HyperStudyを使用すると、線形CAE解析と非線形CAE解析の両方を伴う最適化スタディを実行できるほか、Templexを併用して数式を最適化することもできます。HyperStudyでは、Templexを使用して入力パラメータファイルを作成し、最適化プロセスでこれらのファイルを繰り返し変更します。HyperStudyでは、線形CAE解析と非線形CAE解析の両ソフトウェアと共に、HyperOpt(汎用のラップアラウンドソフトウェア)を最適化エンジンとして最適化を実行します。HyperOptでは、最適化で堅牢な逐次応答曲面法が使用されます。

このチュートリアルに必要なファイルとフォルダは、hs.mdltarget_toe.csv(チュートリアルMV-3000で使用)、Setup.hstudy(チュートリアルMV-3000で保存)、setup_1-defフォルダ(チュートリアルMV-3000で作成)です。

これらのファイルとフォルダは、チュートリアルMV-3000で使用した<working-directory>に配置する必要があります。
注: Setup.hstudyファイルを上記の場所からコピーした場合は、その記述内容にある<Folder>タグのパスを編集して、作業ディレクトリ<Working directory>を指すようにする必要があります。

以下のステップでは、フロントSLAサスペンションモデルの最適化スタディを実行して、目標とするトー曲線の実現を目指すと同時に、インナータイロッドとアウタータイロッドの各ポイントの最適な座標位置を決定します。つづいて、ベースラインモデルと最適化したモデルを比較します。

手順1:最適化スタディ

  1. 新しいMotionViewセッションを開始します。
  2. 作業ディレクトリ<working directory>にあるモデルhs.mdlを開きます。
  3. モデルとトーカーブ出力リクエストを確認します。
  4. SolverModeメニューでMotionSolveが選択されていることを確認します。
  5. ApplicationsメニューからHyperStudyを起動します。
  6. Open Fileアイコンをクリックしてスタディディレクトリをブラウズし、MV-3000チュートリアルの途中で作成されたSetup.xmlファイルを選択します。
  7. 以下の方法のいずれかで、新規の最適化スタディを追加します:
    1. エクスプローラブラウザ領域を右クリックし、コンテキストメニューからAdd(追加)をクリックしてHyperStudy - Add Approach(アプローチの追加)ダイアログを表示させます。
    2. Edit(編集)メニューバーからAdd Approach(アプローチの追加)アイコンをクリックし、Add(追加) - HyperStudyダイアログボックスを開きます。


      図 1.
    3. Select Type(タイプの選択)の下でOptimizationを選択します。
    4. デフォルトのラベルと識別子を受諾し、OKをクリックします。
    5. Optimization_1という名称のOptimizationツリーが表示されます。
    6. Next(次)をクリックします。
      ModelとVariablesがデフォルトで選択されています。


      図 2.
  8. Test Models(モデルをテスト)の横にあるReview(レビュー)をクリックし、続いてRun Definition(実行定義)をクリックして実行します。


    図 3.
  9. Next(次)をクリックし、Select Output responses(応答の選択)に進みます。
    1. をクリックして目標を追加します。
      目標はデフォルトで追加されている点にご留意ください。


      図 4.
    2. デフォルトのラベルと識別子を受諾し、OKをクリックします。
      本演習では、Sum of Squared Error応答関数を最小化し、設計パラメータ、すなわち内側と外側のタイロッドポイントのYおよびZ座標位置について最適な値を得ます。
    3. タイプに、ドロップダウンメニューからMinimize(最小化)にセットされていることを確認します。
    4. Evaluate From(算出方法)オプションがExpression(式)にセットされていることを確認します。


      図 5.
  10. この設計には制約条件と不使用の応答がありませんので、Evaluate(評価)、続いてNext(次)をクリックし、スタディ仕様に進みます。
    デフォルトの最適化エンジンであるAdaptive Response Surface Methodを受諾し、Apply(適用)、続いてNext(次)をクリックします。同じダイアログで、最大反復数と収束の条件が指定されます。


    図 6.
  11. Apply(適用)とNext(次)をクリックし、Evaluate(評価)に進みます。
  12. Evaluate Tasksをクリックして最適化を開始します。


    図 7.
    MotionSolveが起動し、HyperOptエンジンが問題の解を求めます。

    最適化が完了すると、各ランのステータスを含んだ反復計算テーブルが生成されます。現在のスタディは、目標を達成するのに9回の反復計算を要しました。このページのその他のタブをブラウズし、反復計算履歴のより良い理解を得ます。

  13. Evaluation Plotタブをクリックします。
  14. GUIの右側のリストからGoal 1という名称のObjective関数を選択します。
    これは、反復計算に対する目的関数値をプロットします。


    図 8. 反復計算履歴プロット

    このパネルでは、異なる設計の反復計算中の様々な目的関数、制約条件、設計変数および応答の値がプロットで確認できます。反復計算履歴は、同じデータを表形式で表示しています。

    このスタディでは、反復計算6が最適な設定です。

    このスタディを<working directory> as Study_2.hstudyに保存します。

  15. HyperStudyを閉じます。

手順2:ベースラインモデルと最適化されたモデルとの比較

  1. MotionViewセッションにページを1つ追加します。
  2. アプリケーション選択ドロップダウンメニューからHyperViewを選択します。
  3. Load Modelパネルから、アニメーションファイル<working directory>\approaches\setup_1-def\run__00001\m_1\m_1.h3dを読み込みます。
  4. ツールバー上のPage Layoutアイコンをクリックし、2ウィンドウのレイアウトを選択します。
  5. 2つ目のウィンドウをHyperGraphに切り替えます。
  6. ツールバー上のBuild Plotsアイコンをクリックします。
  7. Build Plotsファイルブラウザを使って、作業ディレクトリ<working directory>にあるファイルtarget_toe.csvを選択します。
  8. X-axisデータとして、以下のとおり選択します:
    1. Type = Unknown
    2. Request = Block 1
    3. Component = Column 1
  9. Y-axisデータについては、次のように選択します:
    1. Type = Unknown
    2. Request = Block 1
    3. Component = Column 2
  10. Applyをクリックします。
  11. Build Plotsパネルのファイルブラウザを使って、ファイル<working directory>\approaches\setup_1-def\run__0001\m_1\m_1.abfを選択します。
  12. X-axisデータとして、以下のとおり選択します:
    1. Type = Expressions
    2. Request = REQ/70000033 toe-curve
    3. Component = F2
  13. Y-axisデータについては、次のように選択します:
    1. Type = Expressions
    2. Request = REQ/70000033 toe-curve
    3. Component = F3
  14. Applyをクリックします。
  15. 手順11.-14.に従い、ファイル
    <working directory>\approaches\opt_1\run__00006\m_1\m_1.abfから別のカーブをプロットします。

    セッションは下の図のようになっているはずです。最適化されたトーカーブにご注目ください。



    図 9. 最適化結果

    最適化設定(実行6)のアニメーションをベースランのものと重ねて表示させてもよいでしょう。トー角度の違いにご注目ください。

  16. opt_toe.mvwとしてセッションを保存します。