HS-5000: 確率統計手法の比較: アームモデルの確率統計スタディ

同じフィッティング関数を用いて確率統計スタディと信頼性ベースの設計最適化(RBDO)を実行する方法について学習します。

開始に先がけ、HS-4000: 最適化手法の比較: アームモデルの形状最適化を完了するか、もしくは<hst.zip>/HS-5000/にあるHS-4000.hstxアーカイブファイルをインポートします。

ベースポイント周りの確率統計スタディを実行します。

この確率統計スタディでは、Hammersley分布を用いて100回、300回および1000回のランを続けて実行し、統計的結果の収束を比較します。6つの入力変数をすべてランダム変数として定義し、正規分布に従います。

確率統計スタディの実行

このステップでは、GRSMで求められた最適ソリューションのロバスト性をチェックします。

  1. Stochastic(確率統計)を追加します。
    1. Explorer(エクスプローラ)内で右クリックし、コンテキストメニューからAdd(追加)を選択します。
      Add(追加)ダイアログが開きます。
    2. Definition from(定義元)に、アプローチを選択します。
    3. StochasticSetup(セットアップ)選択し、OKをクリックします。
  2. Stochastic 1 > Definition(定義) > Define Input Variables(入力変数の定義)ステップに進みます。
  3. Active(アクティブ)列で、radius_1radius_2、およびradius_3のチェックマークを外します。
    1.


  4. 最適設計におけるパラメータ値をコピーします。
    確率統計スタディでは、不確実性を考慮するために、パラメータの標準偏差σ(もしくは分散σ²)のデータを与える必要があります。デフォルトでは、σ²はHyperStudyで値域のルール σ² = ((上限値 - 下限値)/4)² を用いて計算されます。これは、入力変数の上限下限の関数です。標準偏差について信頼し得るデータがない場合、デフォルトのσ²は、パラメータの上限値と下限値を変更することで修正できます。
    1. Optimization 3 (GRSM, 6 IV, Exact Solver) > Evaluate(評価)ステップに進みます。
    2. Iteration History(反復計算履歴)タブをクリックします。
    3. length_1、length_2、length_3、length_4およびlength_5の最適パラメータ値を選択し、右クリックしてコンテキストメニューからCopy(コピー)を選択します。
      2.


    4. Stochastic 1 > Definition(定義) > Define Input Variables(入力変数の定義)ステップに進みます。
    5. length_1、length_2、length_3、length_4およびlength_5のNominal(初期値)欄を選択し、右クリックしてコンテキストメニューからPaste transpose(転置してペースト)を選択します。
    6. heightのNominal(初期値)を1.0に変更します。
    3.


  5. アクティブとなっている各入力変数のLower Bound(下限値)とUpper Bound(上限値)を、寸法のトレランスに合致するよう変更します。
    本チュートリアルでは、トレランスは0.05 mm以内と仮定しています。
    1. アクティブな入力変数のすべてについて、Nominal(初期値)欄の(...)をクリックします。
    2. ポップアップウィンドウで、Values(値)欄に0.05と入力し、+/-をクリックします。
      4.


    3. OKをクリックします。
    アクティブとなっているすべての入力変数のLower Bound(下限値)とUpper Bound(上限値)は、以下のように複製されたはずです。
    5.


  6. Distributions(分布)タブをクリックし、アクティブとなっているすべての入力変数について、分布がNormal Variance(通常の分散)となっていることを確認します。

    列1と列2を確認します。列1は初期パラメータ値を、列2は平均周りのパラメータの標準偏差σを用いて計算された分散σ²を示しています。

    分散は、σ² = ((上限値 - 下限値)/4)² で計算されます。例えば、入力変数length_1の分散は、σ²=((-0.45+0.55)/4)²=6.25e-4 となります。

    6.


  7. Stochastic 1 > Definition(定義) > Define Output Responses(出力応答の定義)ステップに進みます。
  8. ワークエリアのEvaluate From(算出方法)列で、すべての出力応答にFit - RBF (fit_4)を選択します。
    Max_stressは最適化スタディで使用されませんでしたが、確率統計スタディでは信頼性をチェックするために使用します。
    7.


  9. スタディ仕様を定義します。
    1. Stochastic 1 > Specifications(スタディ仕様)ステップに進みます。
    2. ワークエリア内でモードをHammersleyにセットします。
      Hammersleyサンプリングは、擬似モンテカルロ法のカテゴリーに属します。この手法は、Hammersleyポイントに基づいて、準乱数発生器を使用し、1つのユニット超方格を均等に抽出します。
    3. 適用をクリックします。
  10. タスクを評価します。
    1. Stochastic(確率統計) > Evaluate(評価)ステップに進みます。
    2. Evaluate Tasks(計算実行)をクリックします。
  11. 手法の収束をスタディします。
    1. Specifications(スタディ仕様)ステップに戻ります。Settings(セッティング)タブで、Number of Runs(実行の数)を300に、続いて1000に変更します。
    2. Evaluate(評価)ステップに進み、Evaluate Tasks(計算実行)をクリックします。

確率統計結果のポスト処理

  1. Stochastic 1 > Post Processing(ポスト処理)ステップに進みます。
  2. ベース設計の出力応答について統計を確認します。
    1. Integrity(インテグリティ)タブをクリックします。
    2. Channel(チャンネル)セレクターを使ってHealth(状態)カテゴリーを選択し、統計の概要のビューを取得し、最終的な、欠落した、または不良な値を確認します。
      Range列は、データ内の値の最小から最大までの分布を理解するのに役立ちます。
  3. 確率統計結果の頻度を確認します。
    1. Distribution(分布)タブをクリックします。
    2. Channel(チャンネル)セレクターを用いて、Length 1を選択します。
    このグラフは、選択された入力変数の値の分布について3つの情報を示しています。頻度は左側の軸を使用し、応答値のサブレンジを生み出すランの周波数を表します。確率密度は右側の軸を使用し、特定の値をとる入力変数の相対的な尤度を示します。この値が大きいほど、値はより起こり易くなります。累積分布は、右側の軸を使用する別のカーブです。これは、確率密度の積分と同等です。累積分布の値は、データの何パーセントが値の閾値を下回っているかを示します。累積分布の初期値は常に0に等しく、CDFの最終地は常に1.0であることにご留意ください。これは、データがすべて上限値と下限値の間にあるためです。
    8.


  4. Max_Dispの確率密度と累積分布を確認します。Hammersleyでの異なる実行の数(100、300および1000)により得られた分布を比較します。
    注: 分布のパターンは、実行回数100と300とではかなり異なりますが、300と1000とでは大差ありません。
    9. Hammersley、100回の実行


    10. Hammersley、300回の実行


    注:
    11. Hammersley、1000回の実行


  5. 出力応答についての不備の確率(ユーザーが選択した境界に出力応答が違反する確率)を推測します。
    1. Reliability(信頼性)タブをクリックします。
    2. Add Reliability(信頼性の追加)をクリックします。
    3. 信頼性を定義します。
      制約値は、最適化問題の定義からのものです(Max_Disp<=1.5)。
      • Response(応答)をMax_Disp (r_1)にセットします。
      • Bound Type(制約タイプ)を<=にセットします。
      • Bound Value(境界値)に1.50と入力します。
      結果は、実行の数の関数で、Hammersley手法の収束を示しています。収束は、実行の数を増やすことにより向上されます。実行数300または1000で得られた結果は極めて似ているため、ここでは、精確な結果を得るには実行数300で十分であると考えることができます。
      12. Hammersley、100回の実行


      13. Hammersley、300回の実行


      14. Hammersley、1000回の実行


    4. 制約値列に異なる値を入力し、信頼性の限界値の影響をスタディします。
    5. オプション: Max_Stressの信頼性をチェックします。
      15.


  6. Reliability Plot(信頼性プロット)タブをクリックし、システムの信頼性と望ましい閾値との間の関係を確認します。
    Reliability(信頼性)タブの信頼性列に示された値を、信頼性カーブで見ることができます。Max_Dispの信頼性カーブでは、設計の11.4%のみが1.5を上回る値を擁しており、これは、88.6%が1.5未満であることを表しています。Max_Dispの閾値を1.49763に変更することで、95%の信頼性を得ることができます。
    16.




信頼性ベースの最適化(RBDO)の実行

本ステップでは、最適化制約条件(max_disp < 1.5 mm)について95%の信頼性を求めます。

出力応答の検証に、解析ソルバーとは逆にフィッティング関数を使用します。近似は、MELS DOE.で作成されたRBFを使用します。その結果、SORA手法が使用されます。引き続き、6つの重要な入力変数を用い、それらはすべて正規分布に従います。以前GRSMで得られた最適ソリューションから最適化を開始します。
  1. Optimization(最適化)を追加します。
    1. Explorer(エクスプローラ)内で右クリックし、コンテキストメニューからAdd(追加)を選択します。
    2. Add(追加)ダイアログでOptimization(最適化)を選択します。
    3. Definition from(定義元)に、Setup(セットアップ)を選択しOKをクリックします。
  2. Optimization 7 > Definition(定義) > Define Input Variables(入力変数の定義)ステップに進みます。
  3. Active(アクティブ)列で、radius_1、radius_2、およびradius_3のチェックマークを外します。
  4. 最適設計におけるパラメータ値をコピーします。
    1. Optimization 3 (GRSM, 6 IV, Exact Solver) > Evaluate(評価)ステップに進みます。
    2. Iteration History(反復計算履歴)タブをクリックします。
    3. 最適設計を探し、length_1length_2length_3length_4およびlength_5のパラメータ値をコピーします。
    4. Optimization 7 > Definition(定義) > Define Input Variables(入力変数の定義)ステップに進みます。
    5. length_1length_2length_3length_4およびlength_5のNominal(初期値)欄を選択し、右クリックしてコンテキストメニューからPaste transpose(転置してペースト)を選択します。
    6. heightのNominal(初期値)を1.0に変更します。
  5. 分布を修正します。
    1. Distribution(分布)タブをクリックします。
    2. Distribution Role(分布情報)列で、アクティブであるすべての入力変数にDesign with Random(ランダムを使用した設計)を選択します。
      17.


    3. アクティブなすべての入力変数の列2に、6.25e-04と入力します。
      18.


  6. Optimization 7 > Definition(定義) > Define Output Responses(出力応答の定義)ステップに進みます。
  7. Objectives/Constraints - Goals(目的 / 制約条件 - 目標)タブをクリックします。
  8. Volume出力応答に目的を適用します。
    1. Add Goal(目標を追加)をクリックします。
    2. Apply On(応答)列で、Volumeを選択します。
    3. Type (タイプ)列に、Minimizeを選択します。
    19.


  9. Max_Disp出力応答に制約条件を適用します。
    1. Add Goal(目標を追加)をクリックします。
    2. Apply On(応答)列で、Max_Dispを選択します。
    3. Type (タイプ)列に、Moreを選択します。
    4. 列1で、Probabilistic Constraint(確率的制約)を選択します。
    5. 列2で、<= 1.5000000,CDF=95.000000と入力します。
    20.


  10. 評価ソースを修正します。
    1. Define Output Responses(出力応答の定義)タブをクリックします。
    2. Evaluate From(算出方法)列で、すべての出力応答にFit - RBF (fit_4)を選択します。
    21.


  11. スタディ仕様を定義します。
    1. Optimization 7 > Specifications(スタディ仕様)ステップに進みます。
    2. ワークエリア内でMode(モード)をSequential Optimization and Reliability Assessment(逐次最適化信頼性評価) (SORA)にセットします。
    3. 適用をクリックします。
  12. タスクを評価します。
    1. Optimization 7 > Evaluate(評価)ステップに進みます。
    2. Evaluate Tasks(計算実行)をクリックします。
  13. Iteration History(反復計算履歴)タブをクリックし、最適化の結果を一覧で確認します。
    まず、決定論的最適設計が見つかります。反復計算1に見られるとおり、変位は制約条件の境界にあります。この設計は本確率的最適化スタディで求められる95%の信頼性ではありません。SORAは、制約条件が確率統計的な要件を確実に満たすよう機能します。反復計算2に見られるとおり、信頼性95%に見合う設計は、最大変位が1.5のものです。この改善に対応し、目的関数値(volume)の増加が見られます。
    22.


検証の確率統計スタディの実行

SORAは信頼性計算についての近似法を使用するため、最適化の後に検証の確率統計スタディを行うことが推奨されます。

  1. 確率統計のアプローチをコピーします。
    1. Explorer(エクスプローラ)でStochastic 1 (Hammersley)を右クリックし、コンテキストメニューからCopy(コピー)を選択します。
    2. Copy(コピー)ダイアログで、Label(ラベル)欄にValidation SORAと入力し、OKをクリックします。
  2. SORA最適化からの最適ソリューションをValidation SORA確率統計スタディの入力変数の初期値列にコピー&ペーストします。
    1. Optimization 7 > Evaluate(評価)ステップに進みます。
    2. Iteration History(反復計算履歴)タブをクリックします。
    3. length_1、length_2、length_3、length_4およびlength_5パラメータ値をコピーします。
    4. Validation SORA > Definition(定義) > Define Input Variables(入力変数の定義)ステップに進みます。
    5. length_1、length_2、length_3、length_4およびlength_5のNominal(初期値)欄を選択し、右クリックしてコンテキストメニューからPaste transpose(転置してペースト)を選択します。
  3. アクティブとなっている各入力変数の下限値と上限値を、寸法のトレランスに合致するよう変更します。
    本チュートリアルでは、トレランスは0.05 mm以内と仮定しています。
    1. アクティブな入力変数のすべてについて、Nominal(初期値)欄の(...)をクリックします。
    2. ポップアップウィンドウで、Values(値)欄に0.05と入力し、+/-をクリックします。
    3. OKをクリックし、変更を適用してポップアップウィンドウを閉じます。
  4. スタディ仕様を定義します。
    1. Validation SORA > Specifications(スタディ仕様)ステップに進みます。
    2. Mode(モード)がHammersleyに設定されていることを確認します。
    3. Settings(セッティング)タブで、Number of Runs(実行の数)が1000になっていることを確認します。
    4. Apply(適用)をクリックします。
  5. タスクを評価します。
    1. Validation SORA > Evaluate(評価)ステップに進みます。
    2. Evaluate Tasks(計算実行)をクリックします。
  6. Validation SORA > Post Processing(ポスト処理)ステップに進みます。
  7. Max_Dispについて信頼性を追加します。
    1. Reliability(信頼性)タブをクリックします。
    2. Add Reliability(信頼性の追加)をクリックします。
    3. 信頼性を定義します。
      • Response(応答)をMax_Dispにセットします。
      • Bound Type(制約タイプ)を<=にセットします。
      • Bound Value(境界値)に1.50と入力します。
    結果は、SORAで求められた最適ソリューションの信頼性が95%であることを裏付けています。