技術コラム:OPTISHAPE-TSの理論

第4話 ノンパラメトリック最適化の難しさ その3
    「チェッカーボード現象」

前回までで、ノンパラメトリック最適化では求めるべき設計変数の数が多い、つまり探索すべき空間の次元が大きいために、感度を使った最適化アルゴリズムが使われることを説明しました。 この記事では、さらに別の視点からノンパラメトリック最適化の難しさについて解説します。

*****

ノンパラメトリック最適化の一つであるトポロジー最適化は、密度関数を対象に最適化を行う手法です。 この手法は、歴史的に「チェッカーボード」と呼ばれる現象に苦しめられてきました。

この現象は、密度が1の部分と0の部分がチェッカーボード(チェス盤)のように交互に現れるというものです。 このような構造は、エンジニアの感覚だと全く許し難いことでしょう。 四角い板を角点だけで繋ぎ合わせたような構造は簡単に製造できないでしょうし、仮に製造出来たとしても簡単に壊れてしまいそうです。 しかしながら、有限要素モデルとして計算してみると、この構造は意外と剛性が高いのです。 ここがこのチェッカーボード現象の悩ましいところで、数値計算上はちゃんと最適化されているにも関わらずエンジニアの感覚には全く合わない構造になってしまうのです。

チェッカーボード現象
チェッカーボード現象

何が間違っているのでしょうか? 有限要素法に慣れているエンジニアの方は既にお気付きかもしれませんが、上記の「有限要素モデルとして計算してみると、この構造は意外と剛性が高い」という部分が実は間違っているのです。 もしチェス盤のような構造を本当に解析したいのなら、もっと細かいメッシュ分割が必要です。 そうすれば、エンジニアの感覚通り、剛性が低くて強度も低い(応力集中部が多い)構造であることが分かるはずです。 つまり、有限要素法の誤差によって“見かけ上” 剛性の高い構造が得られていた、ということなのです。

では、誤差を小さくするために最初から細かいメッシュ分割でトポロジー最適化をすれば良いのでしょうか? 実は、厄介なことにメッシュ分割をいくら細かくしても、細かなチェッカーボードになるだけで全く解決になりません。

細かいメッシュで解析すると...   細かいメッシュでもチェッカーボード現象は起きる。
細かいメッシュで解析すると...

この現象の存在が明らかになるにつれて、多くの研究者が様々な方法で解決を試みてきました。 最初のうちは、ちょっとした「鼻薬」とでも言えるような数値計算上のテクニックで解決できると思われていたようです。

フィルタリングの例
フィルタリングの例

具体的には、最適化の過程で密度関数や感度の値をほんの少しだけ周囲の要素と平均化することでチェッカーボードを回避できると考えられました。 この平均化のテクニックは、写真や画像の加工ソフトウェアに実装されている「ぼかし」機能や「ガウシアンフィルター」機能と呼ばれるものと本質的に同じもので、トポロジー最適化においても「フィルタリング」と呼ばれます。

ところが、このフィルタリングを実装してみると、「鼻薬」と呼べるほど少しの平均化ではチェッカーボードを完全には抑制することができません。 逆に、チェッカーボードを完全に抑制しようと平均化をやりすぎてしまうと、明らかに最適でない構造に収束してしまいます。 つまりフィルタリングのさじ加減が非常に難しいのです。

フィルタリングが単なる「鼻薬」に留まらないことが明らかになると、最適化問題の中でどのような役割を持つのか、という視点で捉えられるようになってきました。 チェッカーボードのような状態になると値が非常に大きくなるような適当な関数を考えて、それを目的関数に加えます。 つまり、本来の目的関数そのものを最小化する代わりに目的関数とその適当な関数の和を最小化することにします。 さらに、その関数の影響を調整できるように係数を掛けておきます。 係数をゼロにすると本来の目的関数そのものになりますし、係数を大きくすると、本来の目的関数はほとんど無視されて、チェッカーボードの抑制が優先される、ということになります。 そうすれば、チェッカーボードが現れなくなるまで係数を大きくしながら最適化を進めていけば良い、ということになります。

最適化の分野では、このようなテクニックは一般的に「ペナルティ法」と呼ばれ、目的関数に付加する項は「ペナルティ項」と呼ばれます。

ペナルティ法

ペナルティ項の関数を上手に定義すると、実は最適化の過程でちょうどフィルタリングと同様な処理が行われるようになります。 逆に言えば、フィルタリングというテクニックは、ペナルティ法と等価かそれに近い方法だと考えることができます。 また、フィルタリングのさじ加減はペナルティ項の係数を調整することに相当します。 少し視点を変えれば、フィルタリングというテクニックは、何らかの形で本来の最適化問題に修正を加えることになりますから、そのさじ加減によってそれぞれ違った解が得られるのはある意味で当然だと言えます。

最適化問題におけるフィルタリングの役割が明らかになると、最適化問題の定式化の視点で様々な工夫が考えられるようになります。 ただ、いずれの場合も最適化問題に修正を加えている以上、フィルタリングの影響を避けることはできず、さじ加減が難しいことには変わりがありません。

*****

次回は、フィルタリング以外の方法や形状最適化での難しさについて解説します。


★ご意見・ご感想はこちらへ★
https://www.quint.co.jp/cgi-bin/column.cgi


第3話第5話

OPTISHAPE-TSの理論 TOP