(57)【特許請求の範囲】
【請求項１】
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の基準点からの距離が短く且つ所定の条件を満たす他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための探索プログラム。
【請求項２】
前記生成ステップが、
前記探索指標格納部に登録されている前記第１の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第１ベクトルの線形結合が前記データ格納部に格納されている前記第２の点を表す第２ベクトル又は前記第２ベクトルを前記第１ベクトルで張られる部分空間へ射影した第３ベクトルに平行になるように前記線形結合の係数を決定し、前記データ格納部に格納する係数決定ステップと、
前記データ格納部に格納された前記係数で、対応する前記第１の探索指標を線形結合することにより前記第２の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
を含む請求項１記載の探索プログラム。
【請求項３】
前記生成ステップが、
前記探索指標格納部に登録されている前記第１の探索指標の線形結合で表される第２の探索指標における係数を、前記第２の探索指標による前記第１の点への勾配と前記第２の点への勾配との差に関する目的関数又は前記第２の点近傍における前記第２の点方向の前記第２の探索指標の値変化に関する目的関数が最大になるように決定し、前記データ格納部に格納するステップと、
前記データ格納部に格納された前記係数で、対応する第１の探索指標を線形結合することにより前記第２の探索指標を生成し、前記探索指標格納部に追加登録するステップと、  を含む請求項１又は２記載の探索プログラム。
【請求項４】
前記係数決定ステップが、
前記特徴ベクトルの中から、前記第１の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップ
を含む請求項２記載の探索プログラム。
【請求項５】
前記探索指標格納部に登録されている前記第２の探索指標の値に基づいて前記パラメータ空間において第２の探索を実施して、前記データ格納部に格納されている前記第２の点が得られるか確認するステップと、
前記第２の探索により前記第２の点が得られない場合には、前記第２の探索指標を前記第１の探索指標として取り扱い、前記生成ステップを実施させるステップと、
をさらに前記コンピュータに実行させるための請求項１乃至４のいずれか１つ記載の探索プログラム。
【請求項６】
前記探索ステップが、
前記第１の点のうち前記所定の基準点からの距離が最も短い点を中心にランダムに第３の点を発生させ、当該第３の点のうち前記所定の条件を満たし且つ前記所定の基準点からの距離が最も短い点が、前記第１の点のうち前記所定の基準点からの距離が最も短い点より前記所定の基準点からの距離が短いか判断するステップ
を含む請求項１乃至５のいずれか１つ記載の探索プログラム。
【請求項７】
前記パラメータ空間を第２の制約の下前記探索指標格納部に登録されている前記第１の探索指標の値及び第２の探索指標の値に基づき探索を実施して、前記パラメータ空間において所定の条件を満たし且つ所定の基準点からの距離が最も短い点を算出するステップ
をさらに前記コンピュータに実行させるための請求項１乃至６のいずれか１つ記載の探索プログラム。
【請求項８】
前記生成ステップにおいて、
複数の手法で前記第２の探索指標を生成する又は前記パラメータ空間の分割空間毎に前記第２の探索指標を生成する
請求項１乃至７のいずれか１つ記載の探索プログラム。
【請求項９】
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の基準点からの距離が短く且つ所定の条件を満たす他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための探索方法。
【請求項１０】
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の基準点からの距離が短く且つ所定の条件を満たす他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索処理部と、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する探索指標生成部と、
を有する探索処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、パラメータの最適化技術に関する。
【背景技術】
【０００２】
例えば設計パラメータ空間を探索し、設計中心に最も近い不良（以下、ＮＧと呼ぶ。）の点の座標を求めるという問題を考える。例えば図１に模式的に示すように、Ｘ１及びＸ２という設計パラメータによって張られる設計パラメータ空間において、原点に設定される設計中心から探索を開始する。探索は、設計の善し悪しを表す指標を用意して、シミュレーションによって当該指標の値を算出する。より具体的には、設計パラメータの値を変化させた時の指標値の変化を使った最急降下法等の手法で、探索を行っていた。図１では、指標値とその等高線が模式的に示されており、指標値が０以下の部分がＮＧの領域になっている。探索は矢印で示すように、指標値の最も傾斜が大きい経路に沿って行われ、設計中心に最も近い点（丸印の点）に到達して探索が完了する。
【０００３】
ところが、設計の善し悪しを表す指標が連続する数値として算出されるのではなく、成功（ＯＫ）又は失敗（ＮＧ）しか得られない場合がある。例えば、ＳＲＡＭ（Static Random Access Memory）にデータが書き込めるか又は書き込めないかといった判定指標、ロボットが立ち上がることができるか又は立ち上がることができないかといった判定指標しかない場合である。このような場合には、設計パラメータの数が少ない場合や、探索範囲が狭い場合には、しらみつぶしに探索するという手法で、図２に模式的に示すように、ＯＫ（例えば判定指標＝１）と判定される領域と、ＮＧ（判定指標＝０）と判定される領域との境界を特定することができる。しかしながら、設計パラメータの数が多く探索範囲が広くなると、このような方法では、設計中心に最も近いＮＧの点の座標を求めることは難しい。
【０００４】
そこで、判定指標とは別に設計パラメータ空間を探索するための探索指標を導入することが考えられている。探索指標は、設計パラメータ空間内の任意の点における設計の善し悪しを示すもので、この探索指標によれば、任意の２点について設計の相対的な善し悪しを判断できる。従って、探索指標を用いて最急降下法等の手法で探索を行うことも可能となるが、探索指標におけるＯＫとＮＧの境界と判定指標におけるＯＫとＮＧの境界とは必ずしも一致しない。このため探索指標で探索した結果が、設計中心に最も近いＮＧの点とはならない場合も出てくる。さらに、探索指標を用いた最急降下法等による探索では局所最適解しか得られない場合も出てくる。
【０００５】
なお、設計者の満足するロバスト最適解を得るまでの時間及び労力の効率化を図り、最適性とロバスト性との間に存在するトレードオフ情報を確実に得られるようにする技術が存在する。具体的には、入力された目的関数の平均値及び標準偏差のそれぞれを新たな複数の独立した多目的関数として設定するとともに、入力された初期値を基に複数の設計候補を生成すると、各設計候補の近傍で複数発生させた各サンプル点の平均及び標準偏差を用いてロバスト最適解の評価を表す優劣指標を算出し、優劣指標の良い設計候補を優先しながら既成の設計候補と入れ替えて新たな設計候補を繰り返し生成するようにする。これによって、１回の最適化計算で複数個のロバスト最適解を求めることが可能となり、すべての最適解を算出するまでに要していた計算時間を格段に短縮し、目的関数の最適性とロバスト性間のトレードオフ情報の全体像を簡易に且つ効率良く求めることができるようになるというものである。但し、最急降下法に対する適用は考慮されていない。また、優劣指標を設計候補毎に計算する分計算時間が余分にかかる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２９３４８３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
１つの側面では、本技術の目的は、パラメータ空間を探索する際に、適切な探索指標を用いることができるようにするための技術を提供することである。
【課題を解決するための手段】
【０００８】
本最適化方法は、（Ａ）パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点がパラメータ空間に存在する場合には、第１の探索指標による探索以外の方法によりパラメータ空間において第１の制約の下第２の点を算出し、データ格納部に格納する探索ステップと、（Ｂ）データ格納部に格納されている第２の点又は当該第２の点の近傍点が探索結果として得られるように第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又はデータ格納部に格納されている第２の点の方向に探索が行われるように第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、探索指標格納部に追加登録する生成ステップとを含む。
【発明の効果】
【０００９】
一態様においては、パラメータ空間を探索する際に、適切な探索指標を用いることができるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、最急降下法を説明するための模式図である。
【図２】図２は、判定指標を説明するための模式図である。
【図３】図３は、実施の形態に係る最適化処理装置の機能ブロック図である。
【図４】図４は、第１の実施の形態に係る処理フローを示す図である。
【図５】図５は、最急降下法における探索を模式的に示す図である。
【図６】図６は、探索結果格納部に格納されるデータの一例を示す図である。
【図７】図７は、第１の実施の形態に係る処理フローを示す図である。
【図８】図８は、第２の実施の形態に係る処理フローを示す図である。
【図９】図９は、第２の実施の形態に係る処理フローを示す図である。
【図１０】図１０は、最適点の算出を模式的に示す図である。
【図１１】図１１は、第１の新規指標生成処理の処理フローを示す図である。
【図１２】図１２は、第１の新規指標生成処理を説明するための図である。
【図１３】図１３は、選別処理を説明するための図である。
【図１４】図１４は、探索指標ベクトルの一例を示す図である。
【図１５】図１５は、探索指標ベクトルの一例を示す図である。
【図１６】図１６は、第２の新規指標生成処理の処理フローを示す図である。
【図１７】図１７は、第２の新規指標生成処理を説明するための図である。
【図１８】図１８は、第３の新規指標生成処理を説明するための図である。
【図１９】図１９は、第３の新規指標生成処理の処理フローを示す図である。
【図２０】図２０は、第３の新規指標生成処理を説明するための図である。
【図２１】図２１は、第４の新規指標生成処理を説明するための図である。
【図２２】図２２は、第４の新規指標生成処理の処理フローを示す図である。
【図２３】図２３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図３に、本技術の第１の実施の形態に係る最適化処理装置の機能ブロック図を示す。最適化処理装置１００は、制約データ格納部１０１と、探索指標格納部１０２と、制約データ取得部１０３と、探索指標取得部１０４と、探索処理部１０５と、探索結果格納部１０６と、探索結果評価部１０７と、探索指標生成部１０８と、最適点探索部１０９とを有する。最適化処理装置１００は、シミュレータ２００を有する場合もあれば、有さない場合もある。例えば、シミュレータ２００は、最適化処理装置１００とネットワークで接続された他のコンピュータにて実装されている場合もある。また、シミュレータ２００は、探索指標についてのシミュレータと、判定指標についてのシミュレータとを含む場合もあれば、両方の機能を有する１つのシミュレータの場合もある。
【００１２】
制約データ格納部１０１は、設計パラメータとは別に設定すべき複数の制約データセットを格納する。探索指標格納部１０２は、複数の探索指標を格納する。探索指標取得部１０４は、探索指標格納部１０２に格納されている探索指標のデータを読み出し、探索処理部１０５に出力する。制約データ取得部１０３は、制約データ格納部１０１に格納されている制約データセットを１つずつ読み出して、探索処理部１０５及び探索結果評価部１０７に出力する。探索処理部１０５は、制約データ取得部１０３から取得した制約データと探索指標取得部１０４から取得した探索指標とを用いて、シミュレータ２００と連携して設計パラメータ空間の探索を行う。探索結果格納部１０６は、探索処理部１０５や探索結果評価部１０７の処理結果を格納する。
【００１３】
探索結果評価部１０７は、制約データ取得部１０３から取得した制約データを用いて、最適点探索部１０９と連携して探索結果格納部１０６に格納されている探索結果を評価する処理を実施する。最適点探索部１０９は、探索結果評価部１０７又は探索指標生成部１０８からの指示に応じて、シミュレータ２００と連携して処理を実施する。探索結果評価部１０７は、探索結果の評価結果を探索結果格納部１０６に格納する場合もある。また、探索結果評価部１０７は、以下で述べるように探索指標を生成すべき状態を検出すると、探索指標生成部１０８に指示を出力する。探索指標生成部１０８は、探索結果格納部１０６及び探索指標格納部１０２に格納されているデータを用いて、最適点探索部１０９と連携して処理を実施する。また、探索指標生成部１０８は、探索処理部１０５とも連携して、新たな探索指標についての評価をも実施させる。さらに、探索指標生成部１０８は、新たに生成された探索指標については探索指標格納部１０２に格納する。
【００１４】
次に、図４乃至図７を用いて最適化処理装置１００の動作を説明する。まず、例えば制約データ取得部１０３は、カウンタｉを１に初期化する（図４：ステップＳ１）。そして、制約データ取得部１０３は、制約データ格納部１０１からｉ番目の制約データセットを読み出し（ステップＳ３）、探索処理部１０５に出力する。また、探索指標取得部１０４は、探索指標格納部１０２に格納されている探索指標を読み出し（ステップＳ４）、探索処理部１０５に出力する。
【００１５】
そして、探索処理部１０５は、各探索指標ｊについて制約データセットｉに対する探索を実施し、判定指標がＮＧを表す探索結果Ｐjを特定し、探索結果格納部１０６に格納する（ステップＳ５）。
【００１６】
本実施の形態では最急降下法を用いて探索を実施する。本実施の形態では、最初に、（１）探索処理部１０５は、設計中心（設計パラメータ空間の原点）を基準点に設定し、（２）基準点から各設計パラメータの軸方向へΔｄだけ移動した点ｑlを決定する。設計パラメータがＲ個あれば、点ｑlはＲ個決定されることになる。（３）そして、探索処理部１０５は、基準点及び各点ｑlを、制約データセットｉと共に、シミュレータ２００に出力し、各探索指標ｊの値をシミュレータ２００から取得する。そうすると、（４）探索処理部１０５は、基準点と各点ｑlの探索指標値から、最急降下方向及び移動距離を決定する。この処理についてはよく知られているので詳細については省略する。（５）また、探索処理部１０５は、最急降下方向及び移動距離だけ移動した点を決定し、新たな基準点ｎkに設定する。ここで、（６）探索処理部１０５は、新たな基準点ｎk及び制約データセットｊをシミュレータ２００に出力し、判定指標の値をシミュレータ２００から取得する。判定指標の値がＯＫであれば、（２）に戻って処理を繰り返す。一方、判定指標の値がＮＧであれば、処理を終了する。このように判定指標の値がＮＧとなる初めての点が、探索結果Ｐjとなる。
【００１７】
図５の例では、１つの探索指標で探索を行うケースを模式的に示しており、設計中心から、ｎ1、ｎ2、ｎ3、ｎ4、最後にＰ1に到達して、判定指標の値がＮＧとなる。この際、図６に示すようなデータが、探索結果格納部１０６に格納される。図６の例では、探索経路上の各点について、座標値と、当該座標値に対応する探索指標値とが登録されるようになっている。
【００１８】
各探索指標について探索を行うので、図５のような探索が探索指標の数と同じだけ行われ、図６のようなデータセットが探索指標の数と同じだけ格納される。
【００１９】
その後、探索結果評価部１０７は、探索結果Ｐjのうち最も好ましい点Ｐを特定する（ステップＳ７）。設計中心から最も近い点を求める場合には、探索結果Ｐjと設計中心との距離を計算して、最も距離が短い点を特定する。
【００２０】
そして、探索結果評価部１０７は、最適点探索部１０９に対して、点Ｐよりも好ましい点が存在するかを確認するための処理を実施させる（ステップＳ９）。具体的には、例えば点Ｐの周辺に、少数のサンプル点を発生させて、当該サンプル点の座標値及び制約データセットｉを最適点探索部１０９に出力する。最適点探索部１０９は、シミュレータ２００にサンプル点の座標値及び制約データセットｉを出力し、シミュレータ２００から判定指標の値を取得する。その後、最適点探索部１０９は、シミュレータ２００の出力である判定指標の値を探索結果評価部１０７に出力する。探索結果評価部１０７は、判定指標の値がＮＧのサンプル点について、設計中心との距離を算出する。
【００２１】
そして、探索結果評価部１０７は、設計中心とサンプル点との距離が、点Ｐと設計中心との距離よりも短いか否かで、点Ｐよりも好ましい点が存在するか判断する（ステップＳ１１）。点Ｐと設計中心との距離の方が短い場合には、これ以上好ましい点が存在しないものとみなす。そして、制約データ取得部１０３は、カウンタｉが制約データセット数ｎ以上となったか判断する（ステップＳ１３）。ｉがｎ以上となった場合には処理を終了する。一方、ｉがｎ未満であれば、制約データ取得部１０３は、ｉを１インクリメントし（ステップＳ１５）、ステップＳ３に戻る。
【００２２】
一方、設計中心といずれかのサンプル点との距離の方が設計中心と点Ｐとの距離より短い場合には、処理は端子Ａを介して図７の処理フローに移行する。
【００２３】
探索結果評価部１０７は、探索指標生成部１０８に探索指標の生成を指示する。まず、探索指標生成部１０８は、最適点探索部１０９に、制約データセットｉについて最適点探索を指示し、最適点探索部１０９は、この指示に応じて、最急降下法以外の方法で、制約データセットｉに対する最適点を探索する処理を実施する（ステップＳ１７）。例えば、ステップＳ９とは異なり、最適点探索部１０９は、設計パラメータ空間において例えば点Ｐを中心に多数のサンプル点を生成し、当該サンプル点の座標値及び制約データセットｉをシミュレータ２００に出力し、シミュレーションを実施させる。その後、最適点探索部１０９は、判定指標の値をシミュレータ２００から取得する。そして、判定指標の値がＮＧで、設計中心との距離が最も短い点を最適点Ｅとして特定する。そして、最適点探索部１０９は、最適点Ｅのデータを探索指標生成部１０８に出力する。探索指標生成部１０８は、最適点Ｅのデータを探索結果格納部１０６に格納する。
【００２４】
探索指標生成部１０８は、最適点Ｅを用いて、目的関数又は探索指標ベクトルを基に、探索指標格納部１０２に格納されている少なくとも一部の探索指標の線形結合として新たな探索指標Ｓを生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１９）。
【００２５】
本ステップでは、目的関数を適切に設定して又は各探索指標の特徴ベクトルを用いて、最適点Ｅ又は当該最適点Ｅの近傍点が探索結果として得られるように、現在の探索指標の少なくとも一部の線形結合で表される新たな探索指標を生成する。又は、目的関数を適切に設定して又は各探索指標の特徴ベクトルを用いて、設計中心から最適点Ｅへの方向に探索が行われるように、現在の探索指標の少なくとも一部の線形結合で表される新たな探索指標を生成する。
【００２６】
より具体的には、第１の方法として、各探索指標についての特徴ベクトル（特徴的な点における最急降下ベクトルなど）の線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第１ベクトルの線形結合が最適点Ｅを表す第２ベクトル又は第２ベクトルを第１ベクトルで張られる部分空間へ射影した第３ベクトルに平行になるように線形結合の係数を決定する。そして、決定された係数で、対応する探索指標を線形結合することにより新たな探索指標を生成する。
【００２７】
また、第２の方法として、各探索指標の線形結合で表される新たな探索指標における係数を、新たな探索指標による探索結果Ｐjへの勾配と最適点Ｅへの勾配との差に関する目的関数又は最適点近傍における最適点Ｅ方向の新たな探索指標の値変化に関する目的関数が最大になるように決定する。そして、決定された係数で、対応する探索指標を線形結合することにより新たな探索指標を生成する。
【００２８】
このようにすれば、今回の制約データセットｉについて、最適点Ｅが探索されるように新たな探索指標が生成されるようになる。
【００２９】
そして、探索指標生成部１０８は、探索処理部１０５に対して、新たな探索指標Ｓでの探索を指示する。そうすると、探索処理部１０５は、探索指標Ｓを用いてシミュレータ２００と協働して探索を実施する。すなわち、探索処理部１０５は、シミュレータ２００から探索結果Ｐs（判定指標がＮＧとなった点）を取得し、探索結果Ｐsを探索指標生成部１０８に出力する（ステップＳ２１）。また、探索指標生成部１０８は、探索指標格納部１０２に探索指標Ｓを追加登録する（ステップＳ２２）。
【００３０】
探索指標生成部１０８は、探索結果Ｐs＝最適点Ｅであるか確認する（ステップＳ２３）。探索結果Ｐs＝最適点Ｅである場合には端子Ｂを介してステップＳ１３に戻る。一方、探索結果Ｐs＝最適点Ｅではない場合には、ステップＳ１９に戻る。
【００３１】
このような処理を実施することで、新たな探索指標Ｓによる探索結果Ｐsが最適点Ｅになるまで新たな探索指標が生成され、探索指標格納部１０２に格納されるようになる。たとえ最適点Ｅにたどり着かない探索指標であっても、次の制約データセットについての探索に有用である可能性があるので、探索指標格納部１０２に追加登録する。
【００３２】
以上のような処理を実施すれば、次の制約データセットについての探索において有用と考えられる探索指標が生成されて、しらみつぶしに設計パラメータ空間を探索するよりも効率的に、すなわち短時間の処理で最適な点を特定できるようになることが期待される。
【００３３】
［実施の形態２］
例えばＳＲＡＭの設計では、ＳＲＡＭに含まれるトランジスタのゲート長、ゲート幅、電源電圧、温度、各トランジスタのＶth等の複数の設計パラメータの平均値の組を「制約データ」として設定し、いろいろな制約の下でシミュレーションを実行する。各シミュレーションでは、設計パラメータの平均値周りでのばらつきを考慮した１セル（１bitに相当するＳＲＡＭ構成要素）の歩留りを決定する。そのため１セルの歩留りはＩＳＭＣ（Importance sampling monte carlo）で求める。ＩＳＭＣではＭＰＰ（Most probable point。上で述べた設計中心から最も近い不良の点。）の精度が重要である。しかしながら、ＳＲＡＭの歩留り計算では設計パラメータが決まったときにその状態のセルが動作するかしないか（良又は不良。ＯＫ又はＮＧとも呼ぶ）を表す判定指標と、必ずしも判定指標とよく対応しない複数の探索指標が与えられる。そのため、本実施の形態の手法を用いてＭＰＰを精度良く見つける新たな探索指標を決定し、別の制約の下における処理では、新たな探索指標をも使用することで従来よりＭＰＰの決定にかかる時間を短縮する。
【００３４】
本実施の形態では、このようなＳＲＡＭの設計を念頭に説明する。なお、本実施の形態に係る最適化処理装置１００の構成は、一部機能は異なるがほぼ図３に示したものと同じであるから、ここでは説明を省略する。
【００３５】
次に、図８乃至図２２を用いて本実施の形態の処理について説明する。
【００３６】
まず、例えば制約データ取得部１０３は、カウンタｉを１に初期化する（図８：ステップＳ３１）。そして、制約データ取得部１０３は、制約データ格納部１０１からｉ番目の制約データセットを読み出し（ステップＳ３３）、探索処理部１０５に出力する。また、探索指標取得部１０４は、探索指標格納部１０２に格納されている探索指標を読み出し（ステップＳ３４）、探索処理部１０５に出力する。
【００３７】
そして、探索処理部１０５は、各探索指標ｊについて制約データセットｉに対する探索を実施し、判定指標が不良（ＮＧ）を表す探索結果Ｐjを特定し、探索結果格納部１０６に格納する（ステップＳ３５）。本ステップは、ステップＳ５と同じであるから、詳細な処理内容については省略する。
【００３８】
その後、探索結果評価部１０７は、探索結果Ｐjのうち最も設計中心に近い点Ｐを特定する（ステップＳ３７）。設計中心と探索結果Ｐjとの距離を算出し、最も距離が短い点を特定する。
【００３９】
そして、探索結果評価部１０７は、点Ｐの周辺に、少数のサンプル点を発生させて、判定指標がＮＧ（不良）を表す点であって設計中心に最も近い点Ｑを特定する（ステップＳ３９）。具体的には、探索結果評価部１０７は、サンプル点の座標値及び制約データセットｉを最適点探索部１０９に出力する。最適点探索部１０９は、シミュレータ２００にサンプル点の座標値及び制約データセットｉを出力し、シミュレータ２００から判定指標の値を取得する。その後、最適点探索部１０９は、シミュレータ２００の出力である判定指標の値を探索結果評価部１０７に出力する。探索結果評価部１０７は、判定指標の値がＮＧであるサンプル点について設計中心との距離を算出し、設計中心との距離が最も短いサンプル点を点Ｑとして特定する。
【００４０】
そして、探索結果評価部１０７は、点Ｐより点Ｑが設計中心に近いか判断する（ステップＳ４１）。点Ｐより点Ｑが設計中心との距離が短い場合には、さらに好ましい点が設計パラメータ空間に存在する可能性があるので、処理は端子Ｃを介して図９の処理に移行する。
【００４１】
点Ｐと設計中心との距離の方が短い場合には、最適解が点Ｐであるものとみなす。そして、制約データ取得部１０３は、カウンタｉが制約データセット数ｎ以上となったか判断する（ステップＳ４３）。ｉがｎ以上となった場合には処理を終了する。一方、ｉがｎ未満であれば、制約データ取得部１０３は、ｉを１インクリメントし（ステップＳ４５）、ステップＳ３３に戻る。
【００４３】
図９の処理の説明に移行して、探索結果評価部１０７は、探索指標生成部１０８に探索指標の生成を指示する。まず、探索指標生成部１０８は、最適点探索部１０９に、制約データセットｉについて、点Ｑを中心としてモンテカルロシミュレーションを実施させる。具体的には、点Ｑを中心として多数のサンプル点を生成させ、各サンプル点についてシミュレータ２００に判定指標の値を算出させる。そして、最適点探索部１０９は、判定指標の値がＮＧ（不良）を表すサンプル点であって設計中心に最も近い点Ｇを特定する（ステップＳ４７）。
【００４４】
例えば図１０に示すように、設計パラメータＸ１及びＸ２で張られる設計パラメータ空間において、設計中心（原点）から矢印に沿って探索を行うと、判定指標の値がＮＧである点Ｑが得られる。しかし、ステップＳ４７を実施すると、図１０に示すように、多数のサンプル点について判定指標の値が算出される。このようなサンプル点の中で、判定指標の値がＮＧであって設計中心に最も近いサンプル点Ｇを特定する。設計中心との距離を算出し、最も短いサンプル点Ｇを特定する。
【００４５】
そして、最適点探索部１０９は、点Ｇは点Ｑより設計中心に近いか判断する（ステップＳ４９）。設計中心との距離を比較することで判断する。点Ｇが点Ｑより設計中心に近い場合には、さらに良い点が見つかる可能性があるので、最適点探索部１０９は、点Ｇを点Ｑに設定し（ステップＳ５１）、ステップＳ４７に戻る。
【００４６】
一方、点Ｇが点Ｑより設計中心に近いとは言えない場合には、最適点探索部１０９は、点Ｑを点Ｅに設定し（ステップＳ５３）、探索指標生成部１０８に点Ｅのデータを出力する。探索指標生成部１０８は、最適点探索部１０９から点Ｅのデータを受け取り、探索結果格納部１０６に格納する。
【００４７】
そして、探索指標生成部１０８は、探索結果格納部１０６に格納されている点Ｅのデータを用いて、新規指標生成処理を実施する（ステップＳ５５）。新規指標生成処理については、後に詳細に述べる。
【００４８】
その後、探索指標生成部１０８は、探索処理部１０５に対して、新たな探索指標Ｓでの探索を指示する。そうすると、探索処理部１０５は、探索指標Ｓを用いてシミュレータ２００と協働して探索を実施する。すなわち、探索処理部１０５は、シミュレータ２００から探索結果Ｐs（判定指標がＮＧとなった点）を取得し、探索結果Ｐsを探索指標生成部１０８に出力する（ステップＳ５７）。また、探索指標生成部１０８は、探索指標格納部１０２に探索指標Ｓを追加登録する（ステップＳ５８）。
【００４９】
そして、探索指標生成部１０８は、探索結果Ｐs＝最適点Ｅであるか確認する（ステップＳ５９）。探索結果Ｐs＝最適点Ｅである場合には端子Ｄを介してステップＳ４３に戻る。一方、探索結果Ｐs＝最適点Ｅではない場合には、ステップＳ５５に戻る。
【００５０】
このような処理を実施することで、新たな探索指標Ｓによる探索結果Ｐsが最適点Ｅになるまで新たな探索指標が生成され、探索指標格納部１０２に格納されるようになる。たとえ最適点Ｅにたどり着かない探索指標であっても、次の制約データセットについての探索に有用である可能性があるので、探索指標格納部１０２に追加登録する。
【００５１】
次に、新規指標生成処理について、図１１乃至図２２を用いて説明する。最初に、第１の手法について図１１乃至図１５を用いて説明する。
【００５２】
探索指標生成部１０８は、各探索指標ｊの探索指標ベクトルＶjを算出し、例えばメインメモリなどの記憶装置に格納する（図１１：ステップＳ１０１）。
【００５３】
図１２に示すように、設計パラメータＸ1及びＸ2で張られる設計パラメータ空間において、設計中心から探索結果Ｐ1、Ｐ2及びＰ3への単位ベクトルをｅ1，ｅ2及びｅ3とする。そして、各探索指標ｊについて、以下のような探索指標ベクトルＶjを算出する。
【００５４】
【数１】
0005565289.tif 000002
但し、探索指標ｊについて点ｘにおける値をＴj（ｘ）と表すものとする。また、｜Ｐj｜は、設計中心から点Ｐjまでの距離を表す。このように探索指標ベクトルは、探索指標ｊの特徴ベクトルＶjであって、探索結果Ｐj方向で設計中心から探索結果Ｐjまでの平均勾配を有するベクトルである。
【００５５】
探索指標生成部１０８は、探索指標ベクトルＶjの選別処理を実施する（ステップＳ１０３）。本実施の形態では、２つの観点で選別処理を実施する。例えば第１の観点として、図１３に模式的に示すように、探索指標ｊで探索した場合において、設計中心から探索結果Ｐjへの経路上の点と、設計中心と探索結果Ｐjとを結ぶ直線との距離ｄが所定基準値以内でない場合には、その探索指標ｊを除外する。あまりに迂回した探索経路に係る探索指標については、上で述べたような、平均的な探索指標ベクトルを採用するのが不適切であるためである。
【００５６】
また、第２の観点として、本例では、探索指標ベクトルＶjの線形結合に基づき新たな探索指標Ｓを生成するため、探索指標ベクトルＶjの組が一次独立でなければならない。従って、第１の観点に基づき選ばれた探索指標ベクトルＶjの組み合わせが一次従属となる場合には、例えば上記の距離ｄが大きい探索指標ベクトルから順番に、残余の探索指標ベクトルが一次独立になるまで取り除く。但し、一次独立となる探索指標ベクトルの組み合わせは複数あるので、除去する探索指標ベクトルについては他の観点から決めても良い。
【００５７】
そして、探索指標生成部１０８は、選別後の探索指標ベクトルＶjで張られる部分空間へ点Ｅを射影することによって得られる射影ベクトルＥpを生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１０５）。図１２の例で選別が行われなかった場合には、Ｅ＝Ｅp＝ａ1＊Ｖ1＋ａ2＊Ｖ2＋ａ3＊Ｖ3となる。このような関係を満たす係数ａjを算出する。また、Ｖ3が除外されたとすると、Ｅp＝ａ1＊Ｖ1＋ａ2＊Ｖ2となるａ1及びａ2を算出する。
【００５８】
そうすると、探索指標生成部１０８は、射影ベクトルＥpの係数ａjと対応する探索指標ｊとから、新探索指標Ｓを生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１０７）。上で述べた例では、新探索指標Ｓ＝ａ1＊探索指標１＋ａ2＊探索指標２＋ａ3＊探索指標３という形で生成される。そして元の処理に戻る。
【００５９】
このように得られた新探索指標Ｓを用いて探索を行えば、設計中心から点Ｅ方向へ探索されるようになる。
【００６０】
なお、探索指標ベクトルは、上で述べたようなベクトルに限定されるものではない。例えば、（Ａ）設計パラメータ空間における複数の点において、各探索指標ｊの最急降下ベクトルを算出し、各探索指標ｊについて、複数の点についての最急降下ベクトルを平均した平均ベクトルを、各探索指標ｊについての特徴ベクトルとして採用するようにしても良い。これによって、設計パラメータ空間における最急降下ベクトルの分布を考慮した探索指標ベクトルを用いることができるようになる。
【００６１】
また、（Ｂ）点Ｅに着目して、各探索指標ｊについて、点Ｅにおける最急降下ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしても良い。さらに、（Ｃ）設計中心に着目して、各探索指標ｊについて、設計中心における最急降下ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
【００６２】
さらに、図１４に模式的に示すように、（Ｄ）各探索指標ｊの探索経路に着目して、探索経路上の複数の任意の点における最急降下ベクトルの平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
【００６３】
また、図１５に模式的に示すように、（Ｅ）設計中心から点Ｅまでの線分上の複数の任意の点における最急降下ベクトルを各探索指標ｊについて算出し、各探索指標ｊについて、複数の点についての最急降下ベクトルを平均した平均ベクトルを算出し、当該平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
【００６４】
さらに、（Ｆ）例えばステップＳ４７でのモンテカルロシミュレーションで生成したサンプル点における最急降下ベクトルを各探索指標ｊについて算出し、各探索指標ｊについて、複数のサンプル点についての最急降下ベクトルを平均した平均ベクトルを算出し、当該平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
【００６５】
なお、（Ａ）、（Ｄ）、（Ｅ）及び（Ｆ）についての選別は、ばらつきが基準値以上となる最急降下ベクトルが算出された探索指標を除外する。また、選別後の探索指標ベクトルが一次従属であればさらに選別を行う。（Ｂ）及び（Ｃ）については、一次従属の場合に選別を実施する。
【００６６】
さらに、（Ａ）及び（Ｆ）のような手法を採用する場合には、設計パラメータ空間を複数の領域に分割し、各領域について新たな探索指標を生成するようにしてもよい。具体的には、各領域について、探索指標ベクトルを探索指標ｊ毎に生成し、選別を行って、射影ベクトルＥpを算出し、当該射影ベクトルＥpの係数で探索指標ｊを線形結合する。
なお、以下のような方法にて新たな探索指標を生成するようにしてもよい。すなわち、各領域の代表点(たとえばその領域の重心)から点ＥへのベクトルをＥ’とする。そのＥ’ベクトルを探索指標ベクトルで張られる空間へ射影した射影ベクトルＥp'を求める。その射影ベクトルＥp'の係数で探索指標ｊを線形結合する。このようにすれば、新たな探索指標が分割された各々の領域の代表点からＥ方向へ向かうようになる。
【００６７】
次に、図１６及び図１７を用いて（Ｂ）の手法について詳細に説明する。
【００６８】
まず、探索指標生成部１０８は、点Ｅにおける各探索指標ｊの最急降下ベクトルを、特徴ベクトルとして探索指標ベクトルＶjに設定する（図１６：ステップＳ１１１）。図１７には、設計パラメータＸ１及びＸ２によって張られる設計パラメータ空間において、点Ｅにおける各探索指標ｊの最急降下ベクトルＶ1及びＶ2が示されている。
【００６９】
そして、探索指標生成部１０８は、生成された探索指標ベクトルＶjの選別処理を実施する（ステップＳ１１３）。ここでは、探索指標ベクトルＶjが一次従属である場合には、一次独立になるまで探索指標ベクトルＶjのいずれかを除外する。例えば設計中心から点Ｅの方向から大きく外れる探索指標ベクトルＶjをまず除外する。
【００７０】
その後、探索指標生成部１０８は、選別後の探索指標ベクトルＶjで張られる部分空間へ点Ｅを射影することによって得られる射影ベクトルＥpを生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１１４）。
【００７１】
さらに、探索指標生成部１０８は、Σ（ａj＊Ｖj）＝Ｅp／｜Ｅp｜を満たすように係数ａjを算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１１５）。新たな探索指標Ｓによる最急降下ベクトル（＝Σ（ａj＊Ｖj））が点Ｅ方向になるようにΣ（ａj＊Ｖj）の係数ａjを設定する。
【００７２】
そうすると、探索指標生成部１０８は、射影ベクトルＥpの係数ａjと対応する探索指標ｊとから、新探索指標Ｓ＝Σ（ａj＊探索指標ｊ）を生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１１７）。図１７の例では、新探索指標Ｓ＝ａ1＊探索指標１＋ａ2＊探索指標２という形で生成される。そして元の処理に戻る。
【００７３】
次に、図１８乃至図２０を用いて目的関数を用いる第１の手法について説明する。本実施の形態では、新たな探索指標Ｓについて算出される、探索結果Ｐi方向の勾配平均と、新たな探索指標Ｓについて算出される、点Ｅ方向の勾配平均との差の総和について目的関数を設定し、当該目的関数の値を最大化するように新たな探索指標Ｓを決定する。
【００７４】
図１８に模式的に示すように、新たな探索指標Ｓについて、設計中心Ｏから探索結果Ｐiへの方向の平均勾配ｇ1より、設計中心Ｏから点Ｅへの方向の平均勾配ｇ2が大きくなるように設定できれば、上で述べたような目的関数の値も大きくなる。そうすれば、最急降下法で設計中心Ｏから探索を行った場合、点Ｅの方向に探索が行われることが期待される。
【００７５】
具体的には、探索指標生成部１０８は、各探索指標ｊについて、勾配正規化関数Ｕj(x)を設定し、例えばメインメモリなどの記憶装置に格納する（図１９：ステップＳ１２１）。
【００７６】
【数２】
0005565289.tif 000003
なお、探索指標ｊについて点ｘにおける値をＴj（ｘ）と表すものとする。また、｜Ｐj｜は、設計中心から点Ｐjまでの距離を表す。このように、設計中心から探索結果Ｐjへの勾配が−１になるように正規化した関数が得られる。
【００７７】
また、本例では、新たな探索指標Ｓ＝ΣiａiＵiで、Σiａi2＝１とする。
【００７８】
そして、本例では上でも述べたように、以下のような目的関数Ｆを想定する。
【００７９】
【数３】
0005565289.tif 000004
【００８０】
図２０に示すように、設計パラメータＸ1及びＸ2で張られる設計パラメータ空間において、探索結果Ｐ1と設計中心との距離が｜Ｐ1｜であり、探索結果Ｐ2と設計中心との距離が｜Ｐ2｜であり、点Ｅと設計中心との距離が｜Ｅ｜である。
【００８１】
目的関数Ｆでは、この点Ｐ1、Ｐ2、Ｅ及び設計中心Ｏにおける新たな探索指標Ｓの値が用いられる。
【００８２】
そして、本例では、探索指標生成部１０８は、上で述べたように、｛新たな探索指標ＳについてのＰj方向の勾配平均−新たな探索指標ＳについてのＥ方向の勾配平均｝の総和である目的関数Ｆを最大化するａjを、ラグランジュの未定乗数法を用いて算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１２３）。
【００８３】
具体的には、ラグランジュの未定乗数法では、以下のように規定される。
【００８４】
【数４】
0005565289.tif 000005
【００８５】
このとき、Ｌ（ａ，λ）の極値条件は、以下のように表される。
【００８６】
【数５】
0005565289.tif 000006
【００８７】
但し、ｃiは、以下のとおりである。
【００８８】
【数６】
0005565289.tif 000007
【００８９】
ここでλについては、Σiａi2＝１から決定してもよいが、ＳもＳをｋ倍したものもその探索結果は一致するので、λ＝１／２又はλ＝−１／２のいずれか一方で、Ｓ（０）＞Ｓ（Ｅ）を満たす方を採用する。
【００９０】
そして、探索指標生成部１０８は、上で述べたように、新たな探索指標Ｓ＝ΣjａjＵjと設定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１２５）。
【００９１】
このようにすれば、点Ｅ方向へ探索されるような探索指標Ｓが生成されるようになる。
【００９２】
次に、図２１及び図２２を用いて目的関数を用いる第２の手法について説明する。本例では、図２１に模式的に示すように、例えば設計パラメータＸ1及びＸ2で張られる設計パラメータ空間において、点Ｅにおける新たな探索指標Ｓの値Ｓ（Ｅ）と、設計中心から点Ｅへの方向にΔｄ離れた点における新たな探索指標Ｓの値Ｓ（Ｅ＋Δｄ）との差を目的関数Ｆとして、当該目的関数Ｆを最大化する。
【００９３】
このようにすれば、少なくとも点Ｅ近傍では、設計中心から点Ｅへの方向に探索が行われることが期待される。
【００９４】
本例では、新たな探索指標Ｓ＝ΣjａjＴj（ｘ）と表すものとする。なお、探索指標ｊについて点ｘにおける値をＴj（ｘ）と表すものとする。また、Σjａj2＝１とする。
【００９５】
ここで、目的関数Ｆは以下のように表される。
【００９６】
【数７】
0005565289.tif 000008
【００９７】
【数８】
0005565289.tif 000009
【００９８】
そこで、探索指標生成部１０８は、点Ｅにおける探索指標ｊの値Ｔj（Ｅ）と、点Ｅを設計中心から点Ｅへの方向にΔｄ動かした点（Ｅ＋Δｄ）における探索指標ｊの値Ｔｊ（Ｅ＋Δｄ）との差ｃjを、各探索指標ｊについて算出し、例えばメインメモリなどの記憶装置に格納する（図２２：ステップＳ１３１）。
【００９９】
そして、探索指標生成部１０８は、上で述べた目的関数Ｆを最大化するａjを、ラグランジュの未定乗数法を用いて算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１３３）。
【０１００】
具体的には、以下のように式が変形される。
【０１０１】
【数９】
0005565289.tif 000010
そして、Σjａj2＝１であるから、λは以下のようになる。
【０１０２】
【数１０】
0005565289.tif 000011
【０１０３】
よって、最終的にａjは以下のように算出される。
【０１０４】
【数１１】
0005565289.tif 000012
【０１０５】
その後、探索指標生成部１０８は、各探索指標ｊの係数ａjから、新たな探索指標Ｓ＝Σjａj＊Ｔj（ｘ）を設定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ１３５）。
【０１０６】
このようにすれば、点Ｅ近傍で、点Ｅ方向に勾配が大きくなって、点Ｅ方向に探索が行われることが期待される探索指標Ｓが新たに生成される。
【０１０７】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば図３に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致するわけではない。
【０１０８】
また、処理フローについても処理結果が変わらない限りにおいて処理順番を入れ替えたり、並列処理を行うことも可能である。各探索指標ｊについての探索は、リソースがあれば、並列実施することが可能である。
【０１０９】
また、上で述べた新規指標生成処理についてはいずれか１つを実施するような例を示しているが、複数の新規指標生成処理を実施して、一度に複数の探索指標を生成するようにしてもよい。この場合、ステップＳ５７において複数の探索結果Ｐsが得られ、少なくとも１つの探索指標についてＰs＝Ｅとなった場合には端子Ｄを介してステップＳ４３に戻る。一方、いずれの探索指標でもＰs＝Ｅとならない場合にはステップＳ５５に戻る。
【０１１０】
なお、上で述べた最適化処理装置１００は、コンピュータ装置であって、図２３に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１１１】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１１２】
本実施の形態に係る最適化方法は、（Ａ）パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より好ましい他の点（予め定められた指標値がよりよい値を有する他の点。但し、他の条件を満たすことが要件となる場合もある。）がパラメータ空間に存在する場合には、第１の探索指標による探索以外の方法によりパラメータ空間において第１の制約の下最適とされる点である第２の点を算出し、データ格納部に格納する最適探索ステップと、（Ｂ）データ格納部に格納されている第２の点又は当該第２の点の近傍点が探索結果として得られるように第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又はデータ格納部に格納されている第２の点の方向に探索が行われるように第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、探索指標格納部に追加登録する生成ステップとを含む。
【０１１３】
このようにすることによって、次の探索の際に、異なる制約下でも最適解を得られる可能性の高い新たな探索指標を得ることができる。
【０１１４】
なお、上で述べた生成ステップが、（Ｂ１）探索指標格納部に登録されている第１の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第１ベクトルの線形結合がデータ格納部に格納されている第２の点を表す第２ベクトル又は第２ベクトルを第１ベクトルで張られる部分空間へ射影した第３ベクトルに平行になるように線形結合の係数を決定し、データ格納部に格納する係数決定ステップと、（Ｂ２）データ格納部に格納された係数で、対応する第１の探索指標を線形結合することにより第２の探索指標を生成し、探索指標格納部に追加登録するステップとを含むようにしてもよい。このようにベクトルを用いて、第２の点又は当該第２の点の近傍点が探索結果として得られるような第２の探索指標、又は第２の点の方向に探索が行われるような第２の探索指標を得ることができるようになる。
【０１１５】
さらに、上で述べた生成ステップが、（Ｂ３）探索指標格納部に登録されている第１の探索指標の線形結合で表される第２の探索指標における係数を、第２の探索指標による第１の点への勾配と第２の点への勾配との差に関する目的関数又は第２の点近傍における第２の点方向の第２の探索指標の値変化に関する目的関数が最大になるように決定し、データ格納部に格納するステップと、（Ｂ４）データ格納部に格納された係数で、対応する第１の探索指標を線形結合することにより第２の探索指標を生成し、探索指標格納部に追加登録するステップとを含むようにしてもよい。このように目的関数を適切に設定することで、第２の点又は当該第２の点の近傍点が探索結果として得られるような第２の探索指標、又は第２の点の方向に探索が行われるような第２の探索指標を得ることができるようになる。なお、ベクトルによる方法に加えて目的関数による方法を併せて実施することも可能である。
【０１１６】
また、上で述べた係数決定ステップが、特徴ベクトルの中から、第１の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップを含むようにしてもよい。様々な特徴ベクトルを用いることができるが、パラメータ空間においてその探索指標を代表させるのにふさわしくない特徴ベクトルが算出される場合には、新たな探索指標に悪影響を与えるため除去する。なお、線形結合させるため、一次独立は別途確保する。
【０１１７】
本実施の形態に係る最適化方法は、（Ｃ）探索指標格納部に登録されている第２の探索指標の値に基づいてパラメータ空間において第２の探索を実施して、データ格納部に格納されている第２の点が得られるか確認するステップと、（Ｄ）第２の探索により第２の点が得られない場合には、第２の探索指標を第１の探索指標として取り扱い、上記生成ステップを実施させるステップとをさらに含むようにしてもよい。このように目的を達していない第２の探索指標が生成された場合には、別途第２の探索指標を生成するものである。
【０１１８】
また、上で述べた最適探索ステップが、第１の点のうち最も好ましい点を中心にランダムに第３の点を発生させ、当該第３の点のうち最も好ましい点が、第１の点のうち最も好ましい点より第３の点のうち最も好ましい点が存在するか判断するステップを含むようにしてもよい。このような簡易な方法で第１の点より好ましい他の点がパラメータ空間に存在するかを確認するものである。
【０１１９】
さらに、本実施の形態に係る最適化方法は、（Ｅ）パラメータ空間を第２の制約の下探索指標格納部に登録されている第１の探索指標の値及び第２の探索指標の値に基づき探索を実施して、パラメータ空間において最も好ましい点を算出するステップをさらに含むようにしてもよい。このように第２の探索指標を用いて他の制約である第２の制約で探索が行われるが、この探索で最適点が得られることが期待される。
【０１２０】
また、上で述べた生成ステップにおいて、複数の手法で第２の探索指標を生成する又はパラメータ空間の分割空間毎に第２の探索指標を生成するようにしてもよい。より好ましい探索指標を生成するためである。
【０１２１】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１２２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２３】
（付記１）
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための最適化プログラム。
【０１２４】
（付記２）
前記生成ステップが、
前記探索指標格納部に登録されている前記第１の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第１ベクトルの線形結合が前記データ格納部に格納されている前記第２の点を表す第２ベクトル又は前記第２ベクトルを前記第１ベクトルで張られる部分空間へ射影した第３ベクトルに平行になるように前記線形結合の係数を決定し、前記データ格納部に格納する係数決定ステップと、
前記データ格納部に格納された前記係数で、対応する前記第１の探索指標を線形結合することにより前記第２の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
を含む付記１記載の最適化プログラム。
【０１２５】
（付記３）
前記生成ステップが、
前記探索指標格納部に登録されている前記第１の探索指標の線形結合で表される第２の探索指標における係数を、前記第２の探索指標による前記第１の点への勾配と前記第２の点への勾配との差に関する目的関数又は前記第２の点近傍における前記第２の点方向の前記第２の探索指標の値変化に関する目的関数が最大になるように決定し、前記データ格納部に格納するステップと、
前記データ格納部に格納された前記係数で、対応する第１の探索指標を線形結合することにより前記第２の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
を含む付記１又は２記載の最適化プログラム。
【０１２６】
（付記４）
前記係数決定ステップが、
前記特徴ベクトルの中から、前記第１の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップ
を含む付記２記載の最適化プログラム。
【０１２７】
（付記５）
前記探索指標格納部に登録されている前記第２の探索指標の値に基づいて前記パラメータ空間において第２の探索を実施して、前記データ格納部に格納されている前記第２の点が得られるか確認するステップと、
前記第２の探索により前記第２の点が得られない場合には、前記第２の探索指標を前記第１の探索指標として取り扱い、前記生成ステップを実施させるステップと、
をさらに前記コンピュータに実行させるための付記１乃至４のいずれか１つ記載の最適化プログラム。
【０１２８】
（付記６）
前記探索ステップが、
前記第１の点のうち前記所定の基準点からの距離が最も短い点を中心にランダムに第３の点を発生させ、当該第３の点のうち前記所定の条件を満たし且つ前記所定の基準点からの距離が最も短い点が、前記第１の点のうち前記所定の基準点からの距離が最も短い点より前記所定の基準点からの距離が短いか判断するステップ
を含む付記１乃至５のいずれか１つ記載の最適化プログラム。
【０１２９】
（付記７）
前記パラメータ空間を第２の制約の下前記探索指標格納部に登録されている前記第１の探索指標の値及び第２の探索指標の値に基づき探索を実施して、前記パラメータ空間において所定の条件を満たし且つ所定の基準点からの距離が最も短い点を算出するステップ
をさらに前記コンピュータに実行させるための付記１乃至６のいずれか１つ記載の最適化プログラム。
【０１３０】
（付記８）
前記生成ステップにおいて、
複数の手法で前記第２の探索指標を生成する又は前記パラメータ空間の分割空間毎に前記第２の探索指標を生成する
付記１乃至７のいずれか１つ記載の最適化プログラム。
【０１３１】
（付記９）
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための最適化方法。
【０１３２】
（付記１０）
パラメータ空間を第１の制約の下探索指標格納部に登録されている第１の探索指標の値に基づき探索して得られた第１の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第１の探索指標による探索以外の方法により前記パラメータ空間において前記第１の制約の下第２の点を算出し、データ格納部に格納する探索処理部と、
前記データ格納部に格納されている前記第２の点又は当該第２の点の近傍点が探索結果として得られるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成するか、又は前記データ格納部に格納されている前記第２の点の方向に探索が行われるように前記第１の探索指標の少なくとも一部の線形結合で表される第２の探索指標を生成し、前記探索指標格納部に追加登録する探索指標生成部と、
を有する最適化処理装置。
【符号の説明】
【０１３３】
１００  最適化処理装置
１０１  制約データ格納部
１０２  探索指標格納部
１０３  制約データ取得部
１０４  探索指標取得部
１０５  探索処理部
１０６  探索結果格納部
１０７  探索結果評価部
１０８  探索指標生成部
１０９  最適点探索部
２００  シミュレータ
【図１】
0005565289.tif 000013
【図２】
0005565289.tif 000014
【図３】
0005565289.tif 000015
【図４】
0005565289.tif 000016
【図５】
0005565289.tif 000017
【図６】
0005565289.tif 000018
【図７】
0005565289.tif 000019
【図８】
0005565289.tif 000020
【図９】
0005565289.tif 000021
【図１０】
0005565289.tif 000022
【図１１】
0005565289.tif 000023
【図１２】
0005565289.tif 000024
【図１３】
0005565289.tif 000025
【図１４】
0005565289.tif 000026
【図１５】
0005565289.tif 000027
【図１６】
0005565289.tif 000028
【図１７】
0005565289.tif 000029
【図１８】
0005565289.tif 000030
【図１９】
0005565289.tif 000031
【図２０】
0005565289.tif 000032
【図２１】
0005565289.tif 000033
【図２２】
0005565289.tif 000034
【図２３】
0005565289.tif 000035