過去の投稿に画像リンク切れ多数ありご迷惑おかけしています.

ノンパラメトリック最適化

覚え書き

先週の続きです.トポロジー最適化をJMPで実施可能かという質問でした.一つの答えは寸法最適化に持ち込めばシンプルな事例では同等の最適化は可能,ということになります.寸法最適化にどうやって持ち込むかというとトポロジーを因子に持ち込むのです.即ち,考えられるトポロジーの候補を質的水準に設定します.例えば,二次元平面のレイアウトであれば,穴が一つ空いているレイアウトか二つ空いているレイアウトではトポロジーが異なるのでそれぞれを異なる水準として設定します.最適化することでどちらかのトポロジーが解として選択されるわけです.この手法には大きな問題があります.それぞれのトポロジーで,設定すべき設計因子が異なるような場合,想定する寸法が揃わないのですから,別々の計画にするしかありません.結局はトポロジーを設計因子ではなく前提条件(拙著では固定因子と呼びました)とすることになります.その上でトポロジー毎に別々の最適解を得て,それらを比較することになります.これは結局ごく普通の最適化設計ですね.想定されるトポロジーがそれほど多くなければこの方法でも最適化は可能です.しかしながら,厳密にはトポロジーは無数にあるので,これではトポロジー最適化とは言えず,真の最適解を得ることは難しいでしょう.

そこで,もっと厳密な意味でトポロジー最適化をJMPでやるにはどうしたらよいかを考えてみます.実用性はあまりないかもしれませんが,やってやれないことはありません.極シンプルなかなり限定された事例ににのみ適用できるとはいえ,それでも一応トポロジー最適化にはなってはいます.どうやるかというと,例えば,構造を最小単位の要素で表現することを考えます.最小単位の要素は2次元画像の画素(ピクセル)や3次元オブジェクトのボクセルのようなものだと思ってください.ピクセル位置に順番をつけ,それぞれのピクセルを設計因子と考えます.5×5ピクセルであれば25因子です.各々のピクセルに物質があるかないかをONかOFFかの二水準で構造を表現します.先の手法を通常の最適化としてパラメトリック最適化と呼ぶとすると,質的な因子で構造を表現するので,こちらの手法はノンパラメトリック最適化と呼ぶこともできるかもしれません.とはいえ,基本的に総当たりなので5×5の構造で512実験ですし,10×10ですと16384実験にもなります.もちろんカスタム計画で実験を圧縮することはできませんから,このままではJMPでやるには現実的ではありません.そこで,レイアウトの制約(例えば,穴の数を制約したり,同じ水準は斜め方向には配置しない(パターンが斜め方向に点で隣接する)などの禁則を設定するとぐっと実験数は減ります.と言ってもこのような制約をかけるにはJSLを組む必要があります.そこまでしてJMPで最適化する意味はないかもしれませんが,計画さえ組んでしまえば,JSLを使ってコンピュータシミュレーションと連成して特性等を計画テーブルに読み込むことができます.MATLABかPythonを使って例題を作って実際にやってみようと思っていたのですが,うまい例題が思いつきませんので,また後日ということにさせてください.(やってみたい事例があればコメントでお知らせください.)
今回紹介した手法はピクセルの順番をうまく設定すれば何らかの意味も取れるかもしれないので,面白い手法とは思っています.ですが,極小規模のシステムに適用する以外は現実的ではないので構造最適化というよりはレイアウト最適化といったほうが正確ですね.やはり本来はトポロジー最適化は専用の最適化ソフトを使ってソルバーと連成して力づくで実施することになるとは思います.ですが,こういうソフトは高価なのでそう簡単には手が出せません.システムを単純化してラフな最適化であればここで紹介した手法でも使えるかもしれません.例えば,回路基盤上の放熱板のレイアウトとかに使えないでしょうか?他にも色々な産業分野で使えるかもしれません.こういうことを考えるのが頼みにでもあります.私の経験では過去にこの手法が有効である事例が二つだけありました.
本日の話は文字ばかりだと分かり難くかったかもしれません.すいません.それではまた.
統計的問題解決研究所

コメント