応答曲面法による最適化設計(第一回)
応答曲面法の概要

応答曲面法とは

応答曲面法とは、「実験データを基にして近似曲面を生成し、最適化などを行う設計技法」です。

応答曲面法のイメージ

比較的最近になって設計実務で使われる技法ですが、まだ日本国内ではメジャーではないかもしれません。インターネットで日本語の文献を探しても、実務的な具体例まで記しているものは多くはありません。対照的に、英語で検索すると様々な論文などがヒットします(英語では、Response Surface Methodology)。海外ではよく用いられているようです。

国内での浸透度はさほど高くない理由は、いくつかあると思いますが、概ね次の3つと思います。

  • 理論が分からない、もしくは勉強する時間がない
  • 国内での事例が少なく、効果が分からない
  • 手計算で実行するのは(ほぼ)不可能

今回から数回に分けて、「応答曲面法による最適化設計」について説明したいと思います。

理論的な説明(難しすぎないように)から使い方、効果などについて、具体例(デモ問題)を用いて解説します。

応答曲面法は、計算量が多く、理論的に理解しなければならないところは多いです。しかし、基本を押さえておけば、様々なところで応用が可能です。

応答曲面法の全体像

最初に、全体像を掴んでおきます。下記の図が、応答曲面法による最適化設計のフローチャートです。フローチャートから分かるように、①問題の定義、②実験、③解析と、全体的に3つのブロックで構成されます。

応答曲面法のフローチャート

①問題の定義

最適化問題において、問題の定義は重要です。
これ以降の手順はシステマティックに進むので、最初の定義の違いで結果が大きく変わることもあり得ます

②実験

応答曲面法ではいくつかの実験データを用いて曲面フィッティングを行います。
そのため、フィッティングに適した実験計画を採用する必要があります。

③解析

解析ブロックでは、曲面フィッティングと最適解探索を行います。
また、フィッティングした曲面の情報などから設計の妥当性も検証します。

①~③のほかに、必要に応じて、①と②の間に「スクリーニング」という作業が挟まります。

設計対象

応答曲面法による最適化設計のデモ問題として、「モデルロケット」の設計を題材にします。
モデルロケットとは、火薬を燃焼させて推進力を発生させる小型のロケットです。人が乗るようなものではなく、小さいもので全高は数十センチメートルほどの模型のロケットです。飛翔性能を競う競技も行われています(興味がある方はこちら)。

OpenRocketについて

デモ問題では、モデルロケットのシミュレータソフトウェア「OpenRocket」を使用します。

OpenRocketはオープンソースのソフトウェアで、フリーで入手できます(https://openrocket.info/)。
このソフトウェアは、フィンランドのヘルシンキ工科大学(現在はアアルト大学)の修士学生が開発したもので、修士論文にもなっています(https://openrocket.info/documentation.html)。

種々の部品を組み合わせることでモデルロケットが設計でき、各部品は数値パラメータにて形状などが調整可能です。

OpenRocketのモデルロケット設計画面

また、ロケット工学・空気力学の理論に基づいた飛翔のシミュレーションが可能です。シミュレーションに際しては、風や発射地点の緯度・経度などの条件が設定できます。

OpenRocketの飛翔シミュレーション画面

なお、私はロケット工学や空気力学については、ほとんど無知です。理論的なことは全く分かりません。したがって、最初に断っておきますが、これらの理論的なことについてのお問い合わせにはお答え出来かねます。

なお、設計実務においてこのような状態で取り掛かることは避けるべきです。最低限の理論武装をした上で、設計に取り組むべきです。今回は、あくまで応答曲面法のデモンストレーションという内容なので、ひとまず良しとします。

設計のベース

設計は、OpenRocketでサンプルファイルとして実装されている「A simple model rocket」をベースにします。

主に、ノーズコーン・胴体・フィンから構成されていて、モデルロケットの基本形ともいうべき設計です。胴体には火薬エンジンや降下用のパラシュートなどが内臓されています。前述の通り、各部品には、調整可能な数値パラメータがあり、これらを調整して飛翔性能の最適化を目指します。

A simple model rocket

設計箇所

ところが、A simple model rocketには、ざっと数えたところ、調整可能なパラメータが80以上あります。さすがにこれだけのパラメータ数を扱うのは大変なので、対象を絞って設計を進めることにします。

設計対象は、以下のように、「ノーズコーン」および「フィン」とします。胴体はサンプルファイルから変更しません。

既存胴体があるとして、末端部品を設計することで飛翔性能を上げたいといったシチュエーションです。

設計箇所

まとめ

応答曲面法による最適化設計の概要について説明をしました。また、デモ問題の設計対象について紹介をしました。

次回以降、本格的に設計についての説明を行っていきます。