連載
» 2014年12月01日 15時30分 UPDATE

SPICEの仕組みとその活用設計(18):SPICE応用設計(その7):W.C解析と設計品質 (1/4)

今回は、Spiceを少し離れて他のCAEツールのワーストケース解析について簡単に説明するとともに、今までの連載で触れてこなかった解析機能の中から有益と思われる一部の機能について説明をしていきます。

[加藤博二(Sifoen),EDN Japan]

 前回前々回においてSpiceのワーストケース解析における代表的な2つの手法について解析の仕組みを簡単に説明すると共に、なぜワーストケース解析を行うのか、そしてワーストケース解析の落とし穴、またモデル化のV&Vについての考え方についても簡単に触れてきました。

 今回はSpiceを少し離れて他のCAEツールのワーストケース解析について簡単に説明するとともに、今までの連載で触れてこなかった解析機能の中から有益と思われる一部の機能について説明をしていきます。

 なお、本連載の主目的である“分かって設計する”という観点から、CAEのV&Vのミスから新聞などに掲載されてしまった事例を番外編「CAEのV&V失敗事例(その1)」として紹介していますので、そちらもぜひ、ご覧ください。

ワーストケース解析と設計最適化

 ワーストケース解析は言葉の上では「最悪値」を意味しますが、これは定義の問題だけであり、意味を逆に定義すれば最適解問題と定義できます。

 つまり、ワーストケース解析とは設計最適化と同じ意味なのです。

 しかしながら、電子回路においては図1(a)のような線形問題だけではなく、図1(b)、(c)に示すように入出力関係が非線形になる共振特性を示す回路が存在しますので前回説明したような単純なアルゴリズムでは正しい結果を得ることができません。回路構成や設計因子の変化によって回路特性がいくつかのピークを持つことは多々あることなのです。

 しかし、このような場合でもある程度確立された手法が存在しますのでそのいくつかの手法の要旨を紹介します。これらのアルゴリズムはSpiceには実装されてはいませんが、最適化問題では必ずと言ってよいほど、紹介される汎用的なものです。イメージだけでもつかんでおいて損はないと思います。

tt141127SPICE001.jpg ≪図1> 設計2因子の場合の応答曲面の比較 (http://www.cybernet.co.jp/ansys/case/lesson/009.htmlより引用)

局所求解法

 最初は局所求解(探索)法と呼ばれる手法です。

1) 山登り法(Hill-Climbing、HC法、丘登り法、勾配法とも)

 初期値の近傍での設計因子の微小変動から頂上の方向を予測します。局所求解法といえばこの手法、としている資料も見受けられますが局所ピークから抜け出ることができない制限があります。PSpiceの感度解析法はこの手法に分類されます。
※参照:Wikipedia「山登り法」 (最終更新 2013年3月20日0時44分)

2) 焼きなまし法(Simulated Annealing、SA法)

 局所的ピークに捕まることなく大局的なピークを見つけることのできるアルゴリズムです。物体温度が時間とともに低下し、固まっていく様子をイメージしてください。

SA法の特徴は、熱エネルギに基づく確率で設計因子の変化巾、進行方向の逆転や改悪方向への変化を受け入れることにあります。熱エネルギの低下に従ってこれらの変化巾や受け入れ確率を低減させ山登り法に漸近していきます。
※参照
 ・Wikipedia「焼きなまし法」 (最終更新 2013年11月12日3時25分)
 ・http://ieatbugsforbreakfast.wordpress.com/2011/10/14/simulated-annealing-a-brief-introduction/

3) タブーサーチ法(Tabu Search、TS法)

 人工知能の考えを取り入れた手法で、過去の経験を反映したアルゴリズムになっています。覚えている限り過去と同じ内容の変更は行わず、新しい内容のみを検討します。常時、定数変更を行っていますので計算終了時の値が最適値ではなく、最大出力が更新されるたびに条件をファイルに記録していきます。
(※Tabuは"明確に印をつける"という意味ですが"禁忌"を表すTabooの語源でもあります)

 タブーリストに記載される内容は暫時古いものから消去されます(忘れていきます)が、記載できる容量をいくつにするのかは収束状況をコントロールする重要なパラメータで、設計者が設定します。
※参照:Wikipedia「タブーサーチ」 (最終更新 2013年3月20日 3時5分)

 局所求解法の他にも生物の進化を模擬したアルゴリズムも存在します。

4)遺伝的アルゴリズム(Genetic Algorithm、GA法)

 このアルゴリズムは定義のまま実装すると非常に手間が掛かるアルゴリズムですのでここでは基本的なSGA(Simple-GA)法について簡単にイメージを紹介します。

 まず、グループとして現世代、次世代の2つのグループを考えます。候補(サンプル)を1つに限定せず、いくつかの候補をグループとして扱うことがSGA法の特徴です。作業としてはランダムな2個の現世代の情報を遺伝的に子に引き継ぐもの、乱数的に突然変異を起こすもの、及び現世代を選ぶ、などの操作を施して次世代候補を作り出す作業になり、生命進化と自然淘汰をイメージしてもらえば良いかと思います。
※参照
 ・Wikipedia「遺伝的アルゴリズム」 (最終更新 2013年10月22日16時54分)
 ・http://www.sist.ac.jp/~kanakubo/research/evolutionary_computing/genetic_algorithms.html

 以上、述べた手法は最大値をいかに捕まえるかということに主眼をおいていますので山登り法を除いてアルゴリズムが少し複雑になっています。併記したWebサイトも参照してください。

 最適解を求めることは設計業務においての1つのテーマであり、インターネットで「設計最適化ソフト」を検索するといくつかのツールがヒットします。しかし、これらの多くは構造・流体解析用に特化したものが多く、Spice用としては数が限られてしまいます。また、最適化機能を内蔵したSpiceもいくつか出て来ていますがまだまだ少数派です。

 「Spice活用設計」としてはモンテカルロ解析で最大値の傾向や範囲を特定しワーストケース解析で最適値をチェックする、という手順が実用的なのではないでしょうか?

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.