MV-3020: 2自由度ばね質量システムの最適化
本チュートリアルでは、MotionViewのOptimization Wizardを使って最適化問題をセットアップする方法について学習します。
MotionSolveは一般的に、システムレベルのシミュレーションを実行するために使用されます。シミュレーションは通常、特定の設計がどれだけ良好に機能するかを理解するために実行されます。そのようなシミュレーションの目標は大抵、何らかの最適な方法で、システムが意図した機能を遂行する設計パラメータの中から、正しいセットを見出すことです。
一般的に使用される設計変数は、各種コネクターの位置と方向およびそれらに作用する荷重の特性です。一部のボディの質量と材料プロパティも、設計変数として含まれることがあります。システムの挙動は通常、応答変数のセットで特徴づけられます。したがって、シミュレーションの目標はしばしば、応答変数が希望する値のセットを得るようなこれらの設計変数の値を見出すことになります。
以前はMonte Carlo法や実験計画法といったテクニックを使って、そのような解析が行われていました。それらの手法は良好に機能しますが、計算量が多く、莫大なシミュレーションが必要です。
MotionSolveは現在、設計感度を解析的に計算する機能をサポートしています。設計感度とは、設計変数に対する応答変数の偏導関数のマトリクスです。勾配ベースの最適化エンジンは、これらの感度を使ってコスト関数を最小化することができます。このプロセスは、設計最適化として知られています。一部の設計問題の最適化に利用可能な新しい最適化ツールキットもMotionSolveに用意されます。
設計感度を伴う最適化は、統計的手法ほど一般的ではないものの非常に高速であり、多くの場合で望ましいとされているソリューションです。
- MotionSolveでの最適化のプロセス
- 設計変数としてのばね剛性の定義
- 応答関数としての変位の定義
- 目的関数としての応答の使用
- 最適化の実行と結果のポスト処理
- 概要
-
2つのばねが連続して繋がれています。ばね1の剛性はk1、ばね2の剛性はk2です。ばね1の一端はグラウンドに固定されており、一方荷重P1がもう一端に作用しています。ばね2にはその一端にP2の荷重がかかっています。
解析の目的は、変位u1およびu2へのばねの剛性の感度を決定し、それらを使ってシステムのk1およびk2を特定または調整してu1とu2の特定の値を得ることです。
感度を計算するためのMotionSolveのDSA(Design Sensitivity Analysis: 設計感度解析)機能が、この例で活用されます。本チュートリアルでは、モデルを定義し実行するための手順をステップ毎に説明します。
Figure 1 は、問題のセットアップを示しています。この問題で使用されるプロパティも与えられています:システムがフォローするプロパティのリスト:- 変位: u0 =0(固定)
- 荷重:
- P1 = 1N
- P2 = 2N
- 剛性:
- k1 = 2 N/mm
- k2 = 3 N/mm
- 応答変数(RV): u1およびu2
- 設計変数(DV): k1およびk2
- 解析タイプ: DSAを伴う統計解析
最適化のプロセスは、MotionViewでのモデルのセットアップから始まります。MotionViewのOptimization Wizardを用いて、設計変数、応答および目的関数がセットアップできます。また、ウィザードを用いて、ユーザーが最適化を実行し、結果をプロット / 出力することもできます。さらなる解析のために、特定の反復計算からの設計を新規のMDLへとエクスポートすることも可能です。
設計変数の追加
このステップでは、最適化のための設計変数を追加します。
応答変数の追加
このステップでは、最適化のための応答変数を追加します。
- Displacement u1: u1が値3に達するよう、(1-u1/3)**2が使用されます。
- Displacement u2: u2が値4に達するよう、(1-u2/4)**2が使用されます。
目的関数と制約条件の追加
ここで、2つの目的関数を問題に追加します。
最適化の実行
このステップでは、最適化を実行します。
ポスト処理
このステップでは、最適化の結果をポスト処理します。