JP2012123592A - 最適化プログラム、装置及びプログラム - Google Patents

最適化プログラム、装置及びプログラム Download PDF

Info

Publication number
JP2012123592A
JP2012123592A JP2010273201A JP2010273201A JP2012123592A JP 2012123592 A JP2012123592 A JP 2012123592A JP 2010273201 A JP2010273201 A JP 2010273201A JP 2010273201 A JP2010273201 A JP 2010273201A JP 2012123592 A JP2012123592 A JP 2012123592A
Authority
JP
Japan
Prior art keywords
search
point
search index
storage unit
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010273201A
Other languages
English (en)
Other versions
JP5565289B2 (ja
Inventor
Hiroshi Ikeda
弘 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010273201A priority Critical patent/JP5565289B2/ja
Priority to US13/239,656 priority patent/US8577653B2/en
Publication of JP2012123592A publication Critical patent/JP2012123592A/ja
Application granted granted Critical
Publication of JP5565289B2 publication Critical patent/JP5565289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】パラメータ空間を探索する際に、適切な探索指標を用いることができるようにする。
【解決手段】本方法は、パラメータ空間を第1の制約の下第1の探索指標の値に基づき探索して得られた第1の点より好ましい他の点がパラメータ空間に存在する場合には、第1の探索指標による探索以外の方法によりパラメータ空間において第1の制約の下最適とされる点である第2の点を算出する工程と、第2の点又は当該第2の点の近傍点が探索結果として得られるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は第2の点の方向に探索が行われるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成する工程とを含む。
【選択図】図3

Description

本技術は、パラメータの最適化技術に関する。
例えば設計パラメータ空間を探索し、設計中心に最も近い不良(以下、NGと呼ぶ。)の点の座標を求めるという問題を考える。例えば図1に模式的に示すように、X1及びX2という設計パラメータによって張られる設計パラメータ空間において、原点に設定される設計中心から探索を開始する。探索は、設計の善し悪しを表す指標を用意して、シミュレーションによって当該指標の値を算出する。より具体的には、設計パラメータの値を変化させた時の指標値の変化を使った最急降下法等の手法で、探索を行っていた。図1では、指標値とその等高線が模式的に示されており、指標値が0以下の部分がNGの領域になっている。探索は矢印で示すように、指標値の最も傾斜が大きい経路に沿って行われ、設計中心に最も近い点(丸印の点)に到達して探索が完了する。
ところが、設計の善し悪しを表す指標が連続する数値として算出されるのではなく、成功(OK)又は失敗(NG)しか得られない場合がある。例えば、SRAM(Static Random Access Memory)にデータが書き込めるか又は書き込めないかといった判定指標、ロボットが立ち上がることができるか又は立ち上がることができないかといった判定指標しかない場合である。このような場合には、設計パラメータの数が少ない場合や、探索範囲が狭い場合には、しらみつぶしに探索するという手法で、図2に模式的に示すように、OK(例えば判定指標=1)と判定される領域と、NG(判定指標=0)と判定される領域との境界を特定することができる。しかしながら、設計パラメータの数が多く探索範囲が広くなると、このような方法では、設計中心に最も近いNGの点の座標を求めることは難しい。
そこで、判定指標とは別に設計パラメータ空間を探索するための探索指標を導入することが考えられている。探索指標は、設計パラメータ空間内の任意の点における設計の善し悪しを示すもので、この探索指標によれば、任意の2点について設計の相対的な善し悪しを判断できる。従って、探索指標を用いて最急降下法等の手法で探索を行うことも可能となるが、探索指標におけるOKとNGの境界と判定指標におけるOKとNGの境界とは必ずしも一致しない。このため探索指標で探索した結果が、設計中心に最も近いNGの点とはならない場合も出てくる。さらに、探索指標を用いた最急降下法等による探索では局所最適解しか得られない場合も出てくる。
なお、設計者の満足するロバスト最適解を得るまでの時間及び労力の効率化を図り、最適性とロバスト性との間に存在するトレードオフ情報を確実に得られるようにする技術が存在する。具体的には、入力された目的関数の平均値及び標準偏差のそれぞれを新たな複数の独立した多目的関数として設定するとともに、入力された初期値を基に複数の設計候補を生成すると、各設計候補の近傍で複数発生させた各サンプル点の平均及び標準偏差を用いてロバスト最適解の評価を表す優劣指標を算出し、優劣指標の良い設計候補を優先しながら既成の設計候補と入れ替えて新たな設計候補を繰り返し生成するようにする。これによって、1回の最適化計算で複数個のロバスト最適解を求めることが可能となり、すべての最適解を算出するまでに要していた計算時間を格段に短縮し、目的関数の最適性とロバスト性間のトレードオフ情報の全体像を簡易に且つ効率良く求めることができるようになるというものである。但し、最急降下法に対する適用は考慮されていない。また、優劣指標を設計候補毎に計算する分計算時間が余分にかかる。
特開2006−293483
1つの側面では、本技術の目的は、パラメータ空間を探索する際に、適切な探索指標を用いることができるようにするための技術を提供することである。
本最適化方法は、(A)パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点がパラメータ空間に存在する場合には、第1の探索指標による探索以外の方法によりパラメータ空間において第1の制約の下第2の点を算出し、データ格納部に格納する探索ステップと、(B)データ格納部に格納されている第2の点又は当該第2の点の近傍点が探索結果として得られるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又はデータ格納部に格納されている第2の点の方向に探索が行われるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、探索指標格納部に追加登録する生成ステップとを含む。
一態様においては、パラメータ空間を探索する際に、適切な探索指標を用いることができるようになる。
図1は、最急降下法を説明するための模式図である。 図2は、判定指標を説明するための模式図である。 図3は、実施の形態に係る最適化処理装置の機能ブロック図である。 図4は、第1の実施の形態に係る処理フローを示す図である。 図5は、最急降下法における探索を模式的に示す図である。 図6は、探索結果格納部に格納されるデータの一例を示す図である。 図7は、第1の実施の形態に係る処理フローを示す図である。 図8は、第2の実施の形態に係る処理フローを示す図である。 図9は、第2の実施の形態に係る処理フローを示す図である。 図10は、最適点の算出を模式的に示す図である。 図11は、第1の新規指標生成処理の処理フローを示す図である。 図12は、第1の新規指標生成処理を説明するための図である。 図13は、選別処理を説明するための図である。 図14は、探索指標ベクトルの一例を示す図である。 図15は、探索指標ベクトルの一例を示す図である。 図16は、第2の新規指標生成処理の処理フローを示す図である。 図17は、第2の新規指標生成処理を説明するための図である。 図18は、第3の新規指標生成処理を説明するための図である。 図19は、第3の新規指標生成処理の処理フローを示す図である。 図20は、第3の新規指標生成処理を説明するための図である。 図21は、第4の新規指標生成処理を説明するための図である。 図22は、第4の新規指標生成処理の処理フローを示す図である。 図23は、コンピュータの機能ブロック図である。
[実施の形態1]
図3に、本技術の第1の実施の形態に係る最適化処理装置の機能ブロック図を示す。最適化処理装置100は、制約データ格納部101と、探索指標格納部102と、制約データ取得部103と、探索指標取得部104と、探索処理部105と、探索結果格納部106と、探索結果評価部107と、探索指標生成部108と、最適点探索部109とを有する。最適化処理装置100は、シミュレータ200を有する場合もあれば、有さない場合もある。例えば、シミュレータ200は、最適化処理装置100とネットワークで接続された他のコンピュータにて実装されている場合もある。また、シミュレータ200は、探索指標についてのシミュレータと、判定指標についてのシミュレータとを含む場合もあれば、両方の機能を有する1つシミュレータの場合もある。
制約データ格納部101は、設計パラメータとは別に設定すべき複数の制約データセットを格納する。探索指標格納部102は、複数の探索指標を格納する。探索指標取得部104は、探索指標格納部102に格納されている探索指標のデータを読み出し、探索処理部105に出力する。制約データ取得部103は、制約データ格納部に格納されている制約データセットを1つずつ読み出して、探索処理部105及び探索結果評価部107に出力する。探索処理部105は、制約データ取得部103から取得した制約データと探索指標取得部104から取得した探索指標とを用いて、シミュレータ200と連携して設計パラメータ空間の探索を行う。探索結果格納部106は、探索処理部105や探索結果評価部107の処理結果を格納する。
探索結果評価部107は、制約データ取得部103から取得した制約データを用いて、最適点探索部109と連携して探索結果格納部106に格納されている探索結果を評価する処理を実施する。最適点探索部109は、探索結果評価部107又は探索指標生成部108からの指示に応じて、シミュレータ200と連携して処理を実施する。探索結果評価部107は、探索結果の評価結果を探索結果格納部106に格納する場合もある。また、探索結果評価部107は、以下で述べるように探索指標を生成すべき状態を検出すると、探索指標生成部108に指示を出力する。探索指標生成部108は、探索結果格納部106及び探索指標格納部102に格納されているデータを用いて、最適点探索部109と連携して処理を実施する。また、探索指標生成部108は、探索処理部105とも連携して、新たな探索指標についての評価をも実施させる。さらに、探索指標生成部108は、新たに生成された探索指標については探索指標格納部102に格納する。
次に、図4乃至図7を用いて最適化処理装置100の動作を説明する。まず、例えば制約データ取得部103は、カウンタiを1に初期化する(図4:ステップS1)。そして、制約データ取得部103は、制約データ格納部101からi番目の制約データセットを読み出し(ステップS3)、探索処理部105に出力する。また、探索指標取得部104は、探索指標格納部102に格納されている探索指標を読み出し(ステップS4)、探索処理部105に出力する。
そして、探索処理部105は、各探索指標jについて制約データセットiに対する探索を実施し、判定指標がNGを表す探索結果Pjを特定し、探索結果格納部106に格納する(ステップS5)。
本実施の形態では最急降下法を用いて探索を実施する。本実施の形態では、最初に、(1)探索処理部105は、設計中心(設計パラメータ空間の原点)を基準点に設定し、(2)基準点から各設計パラメータの軸方向へΔdだけ移動した点qlを決定する。設計パラメータがR個あれば、点qlはR個決定されることになる。(3)そして、探索処理部105は、基準点及び各点qlを、制約データセットiと共に、シミュレータ200に出力し、各探索指標jの値をシミュレータ200から取得する。そうすると、(4)探索処理部105は、基準点と各点qlの探索指標値から、最急降下方向及び移動距離を決定する。この処理についてはよく知られているので詳細については省略する。(5)また、探索処理部105は、最急降下方向及び移動距離だけ移動した点を決定し、新たな基準点nkに設定する。ここで、(6)探索処理部105は、新たな基準点nk及び制約データセットjをシミュレータ200に出力し、判定指標の値をシミュレータ200から取得する。判定指標の値がOKであれば、(2)に戻って処理を繰り返す。一方、判定指標の値がNGであれば、処理を終了する。このように判定指標の値がNGとなる初めての点が、探索結果Pjとなる。
図5の例では、1つの探索指標で探索を行うケースを模式的に示しており、設計中心から、n1、n2、n3、n4、最後にP1に到達して、判定指標の値がNGとなる。この際、図6に示すようなデータが、探索結果格納部106に格納される。図6の例では、探索経路上の各点について、座標値と、当該座標値に対応する探索指標値とが登録されるようになっている。
各探索指標について探索を行うので、図5のような探索が探索指標の数と同じだけ行われ、図6のようなデータセットが探索指標の数と同じだけ格納される。
その後、探索結果評価部107は、探索結果Pjのうち最も好ましい点Pを特定する(ステップS7)。設計中心から最も近い点を求める場合には、探索結果Pjと設計中心との距離を計算して、最も距離が短い点を特定する。
そして、探索結果評価部107は、最適点探索部109に対して、点Pよりも好ましい点が存在するかを確認するための処理を実施させる(ステップS9)。具体的には、例えば点Pの周辺に、少数のサンプル点を発生させて、当該サンプル点の座標値及び制約データセットiを最適点探索部109に出力する。最適点探索部109は、シミュレータ200にサンプル点の座標値及び制約データセットiを出力し、シミュレータ200から判定指標の値を取得する。その後、最適点探索部109は、シミュレータ200の出力である判定指標の値を探索結果評価部107に出力する。探索結果評価部107は、判定指標の値がNGのサンプル点について、設計中心との距離を算出する。
そして、探索結果評価部107は、設計中心とサンプル点との距離が、点Pと設計中心との距離よりも短いか否かで、点Pよりも好ましい点が存在するか判断する(ステップS11)。点Pと設計中心との距離の方が短い場合には、これ以上好ましい点が存在しないものとみなす。そして、制約データ取得部103は、カウンタiが制約データセット数n以上となったか判断する(ステップS13)。iがn以上となった場合には処理を終了する。一方、iがn未満であれば、制約データ取得部103は、iを1インクリメントし(ステップS15)、ステップS3に戻る。
一方、設計中心といずれかのサンプル点との距離の方が設計中心と点Pとの距離より短い場合には、処理は端子Aを介して図7の処理フローに移行する。
探索結果評価部107は、探索指標生成部108に探索指標の生成を指示する。まず、探索指標生成部108は、最適点探索部109に、制約データセットiについて最適点探索を指示し、最適点探索部109は、この指示に応じて、最急降下法以外の方法で、制約データセットiに対する最適点を探索する処理を実施する(ステップS17)。例えば、ステップS9とは異なり、最適点探索部109は、設計パラメータ空間において例えば点Pを中心に多数のサンプル点を生成し、当該サンプル点の座標値及び制約データセットiをシミュレータ200に出力し、シミュレーションを実施させる。その後、最適点探索部109は、判定指標の値をシミュレータ200から取得する。そして、判定指標の値がNGで、設計中心との距離が最も短い点を最適点Eとして特定する。そして、最適点探索部109は、最適点Eのデータを探索指標生成部108に出力する。探索指標生成部108は、最適点Eのデータを探索結果格納部106に格納する。
探索指標生成部108は、最適点Eを用いて、目的関数又は探索指標ベクトルを基に、探索指標格納部102に格納されている少なくとも一部の探索指標の線形結合として新たな探索指標Sを生成し、例えばメインメモリなどの記憶装置に格納する(ステップS19)。
本ステップでは、目的関数を適切に設定して又は各探索指標の特徴ベクトルを用いて、最適点E又は当該最適点Eの近傍点が探索結果として得られるように、現在の探索指標の少なくとも一部の線形結合で表される新たな探索指標を生成する。又は、目的関数を適切に設定して又は各探索指標の特徴ベクトルを用いて、設計中心から最適点Eへの方向に探索が行われるように、現在の探索指標の少なくとも一部の線形結合で表される新たな探索指標を生成する。
より具体的には、第1の方法として、各探索指標についての特徴ベクトル(特徴的な点における最急降下ベクトルなど)の線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第1ベクトルの線形結合が最適点Eを表す第2ベクトル又は第2ベクトルを第1ベクトルで張られる部分空間へ射影した第3ベクトルに平行になるように線形結合の係数を決定する。そして、決定された係数で、対応する探索指標を線形結合することにより新たな探索指標を生成する。
また、第2の方法として、各探索指標の線形結合で表される新たな探索指標における係数を、新たな探索指標による探索結果Pjへの勾配と最適点Eへの勾配との差に関する目的関数又は最適点近傍における最適点E方向の新たな探索指標の値変化に関する目的関数が最大になるように決定する。そして、決定された係数で、対応する探索指標を線形結合することにより新たな探索指標を生成する。
このようにすれば、今回の制約データセットiについて、最適点Eが探索されるように新たな探索指標が生成されるようになる。
そして、探索指標生成部108は、探索処理部105に対して、新たな探索指標Sでの探索を指示する。そうすると、探索処理部105は、探索指標Sを用いてシミュレータ200と協働して探索を実施する。すなわち、探索処理部105は、シミュレータ200から探索結果Ps(判定指標がNGとなった点)を取得し、探索結果Psを探索指標生成部108に出力する(ステップS21)。また、探索指標生成部108は、探索指標格納部102に探索指標Sを追加登録する(ステップS22)。
探索指標生成部108は、探索結果Ps=最適点Eであるか確認する(ステップS23)。探索結果Ps=最適点Eである場合には端子Bを介してステップS13に戻る。一方、探索結果Ps=最適点Eではない場合には、ステップS19に戻る。
このような処理を実施することで、新たな探索指標Sによる探索結果Psが最適点Eになるまで新たな探索指標が生成され、探索指標格納部102に格納されるようになる。たとえ最適点Eにたどり着かない探索指標であっても、次の制約データセットについての探索に有用である可能性があるので、探索指標格納部102に追加登録する。
以上のような処理を実施すれば、次の制約データセットについての探索において有用と考えられる探索指標が生成されて、しらみつぶしに設計パラメータ空間を探索するよりも効率的に、すなわち短時間の処理で最適な点を特定できるようになることが期待される。
[実施の形態2]
例えばSRAMの設計では、SRAMに含まれるトランジスタのゲート長、ゲート幅、電源電圧、温度、各トランジスタのVth等の複数の設計パラメータの平均値の組を「制約データ」として設定し、いろいろな制約の下でシミュレーションを実行する。各シミュレーションでは、設計パラメータの平均値周りでのばらつきを考慮した1セル(1bitに相当するSRAM構成要素)の歩留りを決定する。そのため1セルの歩留りはISMC(Importance sampling monte carlo)で求める。ISMCではMPP(Most probable point。上で述べた設計中心から最も近い不良の点。)の精度が重要である。しかしながら、SRAMの歩留り計算では設計パラメータが決まったときにその状態のセルが動作するかしないか(良又は不良。OK又はNGとも呼ぶ)を表す判定指標と、必ずしも判定指標とよく対応しない複数の探索指標が与えられる。そのため、本実施の形態の手法を用いてMPPを精度良く見つける新たな探索指標を決定し、別の制約の下における処理では、新たな探索指標をも使用することで従来よりMPPの決定にかかる時間を短縮する。
本実施の形態では、このようなSRAMの設計を念頭に説明する。なお、本実施の形態に係る最適化処理装置100の構成は、一部機能は異なるがほぼ図3に示したものと同じであるから、ここでは説明を省略する。
次に、図8乃至図22を用いて本実施の形態の処理について説明する。
まず、例えば制約データ取得部103は、カウンタiを1に初期化する(図8:ステップS31)。そして、制約データ取得部103は、制約データ格納部101からi番目の制約データセットを読み出し(ステップS33)、探索処理部105に出力する。また、探索指標取得部104は、探索指標格納部102に格納されている探索指標を読み出し(ステップS34)、探索処理部105に出力する。
そして、探索処理部105は、各探索指標jについて制約データセットiに対する探索を実施し、判定指標が不良(NG)を表す探索結果Pjを特定し、探索結果格納部106に格納する(ステップS35)。本ステップは、ステップS5と同じであるから、詳細な処理内容については省略する。
その後、探索結果評価部107は、探索結果Pjのうち最も設計中心に近い点Pを特定する(ステップS37)。設計中心と探索結果Pjとの距離を算出し、最も距離が短い点を特定する。
そして、探索結果評価部107は、点Pの周辺に、少数のサンプル点を発生させて、判定指標がNG(不良)を表す点であって設計中心に最も近い点Qを特定する(ステップS39)。具体的には、探索結果評価部107は、サンプル点の座標値及び制約データセットiを最適点探索部109に出力する。最適点探索部109は、シミュレータ200にサンプル点の座標値及び制約データセットiを出力し、シミュレータ200から判定指標の値を取得する。その後、最適点探索部109は、シミュレータ200の出力である判定指標の値を探索結果評価部107に出力する。探索結果評価部107は、判定指標の値がNGであるサンプル点について設計中心との距離を算出し、設計中心との距離が最も短いサンプル点を点Qとして特定する。
そして、探索結果評価部107は、点Pより点Qが設計中心に近いか判断する(ステップS41)。点Pより点Qが設計中心との距離が短い場合には、さらに好ましい点が設計パラメータ空間に存在する可能性があるので、処理は端子Cを介して図9の処理に移行する。
点Pと設計中心との距離の方が短い場合には、最適解が点Pであるものとみなす。そして、制約データ取得部103は、カウンタiが制約データセット数n以上となったか判断する(ステップS43)。iがn以上となった場合には処理を終了する。一方、iがn未満であれば、制約データ取得部103は、iを1インクリメントし(ステップS45)、ステップS33に戻る。
一方、設計中心と点Qとの距離の方が設計中心と点Pとの距離より短い場合には、処理は端子Cを介して図9の処理フローに移行する。
図9の処理の説明に移行して、探索結果評価部107は、探索指標生成部108に探索指標の生成を指示する。まず、探索指標生成部108は、最適点探索部109に、制約データセットiについて、点Qを中心としてモンテカルロシミュレーションを実施させる。具体的には、点Qを中心として多数のサンプル点を生成させ、各サンプル点についてシミュレータ200に判定指標の値を算出させる。そして、最適点探索部109は、判定指標の値がNG(不良)を表すサンプル点であって設計中心に最も近い点Gを特定する(ステップS47)。
例えば図10に示すように、設計パラメータX1及びX2で張られる設計パラメータ空間において、設計中心(原点)から矢印に沿って探索を行うと、判定指標の値がNGである点Qが得られる。しかし、ステップS47を実施すると、図10に示すように、多数のサンプル点について判定指標の値が算出される。このようなサンプル点の中で、判定指標の値がNGであって設計中心に最も近いサンプル点Gを特定する。設計中心との距離を算出し、最も短いサンプル点Gを特定する。
そして、最適点探索部109は、点Gは点Qより設計中心に近いか判断する(ステップS49)。設計中心との距離を比較することで判断する。点Gが点Qより設計中心に近い場合には、さらに良い点が見つかる可能性があるので、最適点探索部109は、点Gを点Qに設定し(ステップS51)、ステップS47に戻る。
一方、点Gが点Qより設計中心に近いとは言えない場合には、最適点探索部109は、点Qを点Eに設定し(ステップS53)、探索指標生成部108に点Eのデータを出力する。最適点探索部109は、点Qのデータを、探索指標生成部108に出力する。探索指標生成部108は、最適点探索部109から点Eのデータを受け取り、探索結果格納部106に格納する。
そして、探索指標生成部108は、探索結果格納部106に格納されている点Eのデータを用いて、新規指標生成処理を実施する(ステップS55)。新規指標生成処理については、後に詳細に述べる。
その後、探索指標生成部108は、探索処理部105に対して、新たな探索指標Sでの探索を指示する。そうすると、探索処理部105は、探索指標Sを用いてシミュレータ200と協働して探索を実施する。すなわち、探索処理部105は、シミュレータ200から探索結果Ps(判定指標がNGとなった点)を取得し、探索結果Psを探索指標生成部108に出力する(ステップS57)。また、探索指標生成部108は、探索指標格納部102に探索指標Sを追加登録する(ステップS58)。
そして、探索指標生成部108は、探索結果Ps=最適点Eであるか確認する(ステップS59)。探索結果Ps=最適点Eである場合には端子Dを介してステップS43に戻る。一方、探索結果Ps=最適点Eではない場合には、ステップS55に戻る。
このような処理を実施することで、新たな探索指標Sによる探索結果Psが最適点Eになるまで新たな探索指標が生成され、探索指標格納部102に格納されるようになる。たとえ最適点Eにたどり着かない探索指標であっても、次の制約データセットについての探索に有用である可能性があるので、探索指標格納部102に追加登録する。
次に、新規指標生成処理について、図11乃至図22を用いて説明する。最初に、第1の手法について図11乃至図15を用いて説明する。
探索指標生成部108は、各探索指標jの探索指標ベクトルVjを算出し、例えばメインメモリなどの記憶装置に格納する(図11:ステップS101)。
図12に示すように、設計パラメータX1及びX2で張られる設計パラメータ空間において、設計中心から探索結果P1、P2及びP3への単位ベクトルをe1,e2及びe3とする。そして、各探索指標jについて、以下のような探索指標ベクトルVjを算出する。
Figure 2012123592
但し、探索指標jについて点xにおける値をTj(x)と表すものとする。また、|Pj|は、設計中心から点Pjまでの距離を表す。このように探索指標ベクトルは、探索指標jの特徴ベクトルVjであって、探索結果Pj方向で設計中心から探索結果Pjまでの平均勾配を有するベクトルである。
探索指標生成部108は、探索指標ベクトルVjの選別処理を実施する(ステップS103)。本実施の形態では、2つの観点で選別処理を実施する。例えば第1の観点として、図13に模式的に示すように、探索指標jで探索した場合において、設計中心から探索結果Pjへの経路上の点と、設計中心と探索結果Pjとを結ぶ直線との距離dが所定基準値以内でない場合には、その探索指標jを除外する。あまりに迂回した探索経路に係る探索指標については、上で述べたような、平均的な探索指標ベクトルを採用するのが不適切であるためである。
また、第2の観点として、本例では、探索指標ベクトルVjの線形結合に基づき新たな探索指標Sを生成するため、探索指標ベクトルVjの組が一次独立でなければならない。従って、第1の観点に基づき選ばれた探索指標ベクトルVjの組み合わせが一次従属となる場合には、例えば上記の距離dが大きい探索指標ベクトルから順番に、残余の探索指標ベクトルが一次独立になるまで取り除く。但し、一次独立となる探索指標ベクトルの組み合わせは複数あるので、除去する探索指標ベクトルについては他の観点から決めても良い。
そして、探索指標生成部108は、選別後の探索指標ベクトルVjで張られる部分空間へ点Eを射影することによって得られる射影ベクトルEpを生成し、例えばメインメモリなどの記憶装置に格納する(ステップS105)。図12の例で選別が行われなかった場合には、E=Ep=a1*V1+a2*V2+a3*V3となる。このような関係を満たす係数ajを算出する。また、V3が除外されたとすると、Ep=a1*V1+a2*V2となるa1及びa2を算出する。
そうすると、探索指標生成部108は、射影ベクトルEpの係数ajと対応する探索指標jとから、新規評価指標Sを生成し、例えばメインメモリなどの記憶装置に格納する(ステップS107)。上で述べた例では、新探索指標S=a1*探索指標1+a2*探索指標2+a3*探索指標3という形で生成される。そして元の処理に戻る。
このように得られた新探索指標Sを用いて探索を行えば、設計中心から点E方向へ探索されるようになる。
なお、探索指標ベクトルは、上で述べたようなベクトルに限定されるものではない。例えば、(A)設計パラメータ空間における複数の点において、各探索指標jの最急降下ベクトルを算出し、各探索指標jについて、複数の点についての最急降下ベクトルを平均した平均ベクトルを、各探索指標jについての特徴ベクトルとして採用するようにしても良い。これによって、設計パラメータ空間における最急降下ベクトルの分布を考慮した探索指標ベクトルを用いることができるようになる。
また、(B)点Eに着目して、各探索指標jについて、点Eにおける最急降下ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしても良い。さらに、(C)設計中心に着目して、各探索指標jについて、設計中心における最急降下ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
さらに、図14に模式的に示すように、(D)各探索指標jの探索経路に着目して、探索経路上の複数の任意の点における最急降下ベクトルの平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
また、図15に模式的に示すように、(E)設計中心から点Eまでの線分上の複数の任意の点における最急降下ベクトルを各探索指標jについて算出し、各探索指標jについて、複数の点についての最急降下ベクトルを平均した平均ベクトルを算出し、当該平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
さらに、(F)例えばステップS47でのモンテカルロシミュレーションで生成したサンプル点における最急降下ベクトルを各探索指標jについて算出し、各探索指標jについて、複数のサンプル点についての最急降下ベクトルを平均した平均ベクトルを算出し、当該平均ベクトルを特徴ベクトルとして探索指標ベクトルに採用するようにしてもよい。
なお、(A)、(D)、(E)及び(F)についての選別は、ばらつきが基準値以上となる最急降下ベクトルが算出された探索指標を除外する。また、選別後の探索指標ベクトルが一次従属であればさらに選別を行う。(B)及び(C)については、一次従属の場合に選別を実施する。
さらに、(A)及び(F)のような手法を採用する場合には、設計パラメータ空間を複数の領域に分割し、各領域について新たな探索指標を生成するようにしてもよい。具体的には、各領域について、探索指標ベクトルを探索指標j毎に生成し、選別を行って、射影ベクトルEpを算出し、当該射影ベクトルEpの係数で探索指標jを線形結合する。
なお、以下のような方法にて新たな探索指標を生成するようにしてもよい。すなわち、各領域の代表点(たとえばその領域の重心)から点EへのベクトルをE’とする。そのE’ベクトルを探索指標ベクトルで張られる空間へ射影した射影ベクトルEp'を求める。その射影ベクトルEp'の係数で探索指標jを線形結合する。このようにすれば、新たな探索指標が分割された各々の領域の代表点からE方向へ向かうようになる。
次に、図16及び図17を用いて(B)の手法について詳細に説明する。
まず、探索指標生成部108は、点Eにおける各探索指標jの最急降下ベクトルを、特徴ベクトルとして探索指標ベクトルVjに設定する(図16:ステップS111)。図17には、設計パラメータX1及びX2によって張られる設計パラメータ空間において、点Eにおける各探索指標jの最急降下ベクトルV1及びV2が示されている。
そして、探索指標生成部108は、生成された探索指標ベクトルVjの選別処理を実施する(ステップS113)。ここでは、探索指標ベクトルVjが一次従属である場合には、一次独立になるまで探索指標ベクトルVjのいずれかを除外する。例えば設計中心から点Eの方向へ大きく外れる探索指標ベクトルVjから除外する。
その後、探索指標生成部108は、選別後の探索指標ベクトルVjで張られる部分空間へ点Eを射影することによって得られる射影ベクトルEpを生成し、例えばメインメモリなどの記憶装置に格納する(ステップS114)。
さらに、探索指標生成部108は、Σ(aj*Vj)=Ep/|Ep|を満たすように係数ajを算出し、例えばメインメモリなどの記憶装置に格納する(ステップS115)。新たな探索指標Sによる最急降下ベクトル(=Σ(aj*Vj))が点E方向になるようにΣ(aj*Vj)の係数ajを設定する。
そうすると、探索指標生成部108は、射影ベクトルEpの係数ajと対応する探索指標jとから、新規評価指標S=Σ(aj*探索指標j)を生成し、例えばメインメモリなどの記憶装置に格納する(ステップS117)。図17の例では、新探索指標S=a1*探索指標1+a2*探索指標2という形で生成される。そして元の処理に戻る。
次に、図18乃至図20を用いて目的関数を用いる第1の手法について説明する。本実施の形態では、新たな探索指標Sについて算出される、探索結果Pi方向の勾配平均と、新たな探索指標Sについて算出される、点E方向の勾配平均との差の総和について目的関数を設定し、当該目的関数の値を最大化するように新たな探索指標Sを決定する。
図18に模式的に示すように、新たな探索指標Sについて、設計中心Oから探索結果Piへの方向の平均勾配g1より、設計中心Oから点Eへの方向の平均勾配g2が大きくなるように設定できれば、上で述べたような目的関数の値も大きくなる。そうすれば、最急降下法で設計中心Oから探索を行った場合、点Eの方向に探索が行われることが期待される。
具体的には、探索指標生成部108は、各探索指標jについて、勾配正規化関数Uj(x)を設定し、例えばメインメモリなどの記憶装置に格納する(図19:ステップS121)。
Figure 2012123592
なお、探索指標jについて点xにおける値をTj(x)と表すものとする。また、|Pj|は、設計中心から点Pjまでの距離を表す。このように、設計中心から探索結果Pjへの勾配が−1になるように正規化した関数が得られる。
また、本例では、新たな探索指標S=Σiiiで、Σii 2=1とする。
そして、本例では上でも述べたように、以下のような目的関数Fを想定する。
Figure 2012123592
図20に示すように、設計パラメータX1及びX2で張られる設計パラメータ空間において、探索結果P1と設計中心との距離が|P1|であり、探索結果P2と設計中心との距離が|P2|であり、点Eと設計中心との距離が|E|である。
目的関数Fでは、この点P1、P2、E及び設計中心Oにおける新たな探索指標Sの値が用いられる。
そして、本例では、探索指標生成部108は、上で述べたように、{新たな探索指標SについてのPj方向の勾配平均−新たな探索指標SについてのE方向の勾配平均}の総和である目的関数Fを最大化するajを、ラグランジュの未定乗数法を用いて算出し、例えばメインメモリなどの記憶装置に格納する(ステップS123)。
具体的には、ラグランジュの未定乗数法では、以下のように規定される。
Figure 2012123592
このとき、L(a,λ)の極値条件は、以下のように表される。
Figure 2012123592
但し、ciは、以下のとおりである。
Figure 2012123592
ここでλについては、Σii 2=1から決定してもよいが、SもSをk倍したものもその探索結果は一致するので、λ=1/2又はλ=−1/2のいずれか一方で、S(0)>S(E)を満たす方を採用する。
そして、探索指標生成部108は、上で述べたように、新たな探索指標S=Σjjjと設定し、例えばメインメモリなどの記憶装置に格納する(ステップS125)。
このようにすれば、点E方向へ探索されるような探索指標Sが生成されるようになる。
次に、図21及び図22を用いて目的関数を用いる第2の手法について説明する。本例では、図21に模式的に示すように、例えば設計パラメータX1及びX2で張られる設計パラメータ空間において、点Eにおける新たな探索指標Sの値S(E)と、設計中心から点Eへの方向にΔd離れた点における新たな探索指標Sの値S(E+Δd)との差を目的関数Fとして、当該目的関数Fを最大化する。
このようにすれば、少なくとも点E近傍では、設計中心から点Eへの方向に探索が行われることが期待される。
本例では、新たな探索指標S=Σjjj(x)と表すものとする。なお、探索指標jについて点xにおける値をTj(x)と表すものとする。また、Σjj 2=1とする。
ここで、目的関数Fは以下のように表される。
Figure 2012123592
Figure 2012123592
そこで、探索指標生成部108は、点Eにおける探索指標jの値Tj(E)と、点Eを設計中心から点Eへの方向にΔd動かした点(E+Δd)における探索指標jの値Tj(E+Δd)との差cjを、各探索指標jについて算出し、例えばメインメモリなどの記憶装置に格納する(図22:ステップS131)。
そして、探索指標生成部108は、上で述べた目的関数Fを最大化するajを、ラグランジュの未定乗数法を用いて算出し、例えばメインメモリなどの記憶装置に格納する(ステップS133)。
具体的には、以下のように式が変形される。
Figure 2012123592
そして、Σjj 2=1であるから、λは以下のようになる。
Figure 2012123592
よって、最終的にajは以下のように算出される。
Figure 2012123592
その後、探索指標生成部108は、各探索指標jの係数ajから、新たな探索指標S=Σjaj*Tj(x)を設定し、例えばメインメモリなどの記憶装置に格納する(ステップS135)。
このようにすれば、点E近傍で、点E方向に勾配が大きくなって、点E方向に探索が行われることが期待される探索指標Sが新たに生成される。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば図3に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致するわけではない。
また、処理フローについても処理結果が変わらない限りにおいて処理順番を入れ替えたり、並列処理を行うことも可能である。各探索指標jについての探索は、リソースがあれば、並列実施することが可能である。
また、上で述べた新探索指標生成処理についてはいずれか1つを実施するような例を示しているが、複数の新探索指標生成処理を実施して、一度に複数の探索指標を生成するようにしてもよい。この場合、ステップS57において複数の探索結果Psが得られ、少なくとも1つの探索指標についてPs=Eとなった場合には端子Dを介してステップS43に戻る。一方、いずれの探索指標でもPs=Eとならない場合にはステップS55に戻る。
なお、上で述べた最適化処理装置100は、コンピュータ装置であって、図23に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る最適化方法は、(A)パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より好ましい他の点(予め定められた指標値がよりよい値を有する他の点。但し、他の条件を満たすことが要件となる場合もある。)がパラメータ空間に存在する場合には、第1の探索指標による探索以外の方法によりパラメータ空間において第1の制約の下最適とされる点である第2の点を算出し、データ格納部に格納する最適探索ステップと、(B)データ格納部に格納されている第2の点又は当該第2の点の近傍点が探索結果として得られるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又はデータ格納部に格納されている第2の点の方向に探索が行われるように第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、探索指標格納部に追加登録する生成ステップとを含む。
このようにすることによって、次の探索の際に、異なる制約下でも最適解を得られる可能性の高い新たな探索指標を得ることができる。
なお、上で述べた生成ステップが、(B1)探索指標格納部に登録されている第1の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第1ベクトルの線形結合がデータ格納部に格納されている第2の点を表す第2ベクトル又は第2ベクトルを第1ベクトルで張られる部分空間へ射影した第3ベクトルに平行になるように線形結合の係数を決定し、データ格納部に格納する係数決定ステップと、(B2)データ格納部に格納された係数で、対応する第1の探索指標を線形結合することにより第2の探索指標を生成し、探索指標格納部に追加登録するステップとを含むようにしてもよい。このようにベクトルを用いて、第2の点又は当該第2の点の近傍点が探索結果として得られるような第2の探索指標、又は第2の点の方向に探索が行われるような第2の探索指標を得ることができるようになる。
さらに、上で述べた生成ステップが、(B3)探索指標格納部に登録されている第1の探索指標の線形結合で表される第2の探索指標における係数を、第2の探索指標による第1の点への勾配と第2の点への勾配との差に関する目的関数又は第2の点近傍における第2の点方向の第2の探索指標の値変化に関する目的関数が最大になるように決定し、データ格納部に格納するステップと、(B4)データ格納部に格納された係数で、対応する第1の探索指標を線形結合することにより第2の探索指標を生成し、探索指標格納部に追加登録するステップとを含むようにしてもよい。このように目的関数を適切に設定することで、第2の点又は当該第2の点の近傍点が探索結果として得られるような第2の探索指標、又は第2の点の方向に探索が行われるような第2の探索指標を得ることができるようになる。なお、ベクトルによる方法に加えて目的関数による方法を併せて実施することも可能である。
また、上で述べた係数決定ステップが、特徴ベクトルの中から、第1の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップを含むようにしてもよい。様々な特徴ベクトルを用いることができるが、パラメータ空間においてその探索指標を代表させるのにふさわしくない特徴ベクトルが算出される場合には、新たな探索指標に悪影響を与えるため除去する。なお、線形結合させるため、一次独立は別途確保する。
本実施の形態に係る最適化方法は、(C)探索指標格納部に登録されている第2の探索指標の値に基づいてパラメータ空間において第2の探索を実施して、データ格納部に格納されている第2の点が得られるか確認するステップと、(D)第2の探索により第2の点が得られない場合には、第2の探索指標を第1の探索指標として取り扱い、上記生成ステップを実施させるステップとをさらに含むようにしてもよい。このように目的を達していない第2の探索指標が生成された場合には、別途第2の探索指標を生成するものである。
また、上で述べた最適探索ステップが、第1の点のうち最も好ましい点を中心にランダムに第3の点を発生させ、当該第3の点のうち最も好ましい点が、第1の点のうち最も好ましい点より第3の点のうち最も好ましい点が存在するか判断するステップを含むようにしてもよい。このような簡易な方法で第1の点より好ましい他の点がパラメータ空間に存在するかを確認するものである。
さらに、本実施の形態に係る最適化方法は、(E)パラメータ空間を第2の制約の下探索指標格納部に登録されている第1の探索指標の値及び第2の探索指標の値に基づき探索を実施して、パラメータ空間において最も好ましい点を算出するステップをさらに含むようにしてもよい。このように第2の探索指標を用いて他の制約である第2の制約で探索が行われるが、この探索で最適点が得られることが期待される。
また、上で述べた生成ステップにおいて、複数の手法で第2の探索指標を生成する又はパラメータ空間の分割空間毎に第2の探索指標を生成するようにしてもよい。より好ましい探索指標を生成するためである。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための最適化プログラム。
(付記2)
前記生成ステップが、
前記探索指標格納部に登録されている前記第1の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第1ベクトルの線形結合が前記データ格納部に格納されている前記第2の点を表す第2ベクトル又は前記第2ベクトルを前記第1ベクトルで張られる部分空間へ射影した第3ベクトルに平行になるように前記線形結合の係数を決定し、前記データ格納部に格納する係数決定ステップと、
前記データ格納部に格納された前記係数で、対応する前記第1の探索指標を線形結合することにより前記第2の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
を含む付記1記載の最適化プログラム。
(付記3)
前記生成ステップが、
前記探索指標格納部に登録されている前記第1の探索指標の線形結合で表される第2の探索指標における係数を、前記第2の探索指標による前記第1の点への勾配と前記第2の点への勾配との差に関する目的関数又は前記第2の点近傍における前記第2の点方向の前記第2の探索指標の値変化に関する目的関数が最大になるように決定し、前記データ格納部に格納するステップと、
前記データ格納部に格納された前記係数で、対応する第1の探索指標を線形結合することにより前記第2の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
を含む付記1又は2記載の最適化プログラム。
(付記4)
前記係数決定ステップが、
前記特徴ベクトルの中から、前記第1の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップ
を含む付記2記載の最適化プログラム。
(付記5)
前記探索指標格納部に登録されている前記第2の探索指標の値に基づいて前記パラメータ空間において第2の探索を実施して、前記データ格納部に格納されている前記第2の点が得られるか確認するステップと、
前記第2の探索により前記第2の点が得られない場合には、前記第2の探索指標を前記第1の探索指標として取り扱い、前記生成ステップを実施させるステップと、
をさらに前記コンピュータに実行させるための付記1乃至4のいずれか1つ記載の最適化プログラム。
(付記6)
前記探索ステップが、
前記第1の点のうち前記所定の基準点からの距離が最も短い点を中心にランダムに第3の点を発生させ、当該第3の点のうち前記所定の条件を満たし且つ前記所定の基準点からの距離が最も短い点が、前記第1の点のうち前記所定の基準点からの距離が最も短い点より前記所定の基準点からの距離が短いか判断するステップ
を含む付記1乃至5のいずれか1つ記載の最適化プログラム。
(付記7)
前記パラメータ空間を第2の制約の下前記探索指標格納部に登録されている前記第1の探索指標の値及び第2の探索指標の値に基づき探索を実施して、前記パラメータ空間において所定の条件を満たし且つ所定の基準点からの距離が最も短い点を算出するステップ
をさらに前記コンピュータに実行させるための付記1乃至6のいずれか1つ記載の最適化プログラム。
(付記8)
前記生成ステップにおいて、
複数の手法で前記第2の探索指標を生成する又は前記パラメータ空間の分割空間毎に前記第2の探索指標を生成する
付記1乃至7のいずれか1つ記載の最適化プログラム。
(付記9)
パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索ステップと、
前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
を、コンピュータに実行させるための最適化方法。
(付記10)
パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索処理部と、
前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する探索指標生成部と、
を有する最適化処理装置。
100 最適化処理装置
101 制約データ格納部
102 探索指標格納部
103 制約データ取得部
104 探索指標取得部
105 探索処理部
106 探索結果格納部
107 探索結果評価部
108 探索指標生成部
109 最適点探索部
200 シミュレータ

Claims (10)

  1. パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索ステップと、
    前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
    を、コンピュータに実行させるための最適化プログラム。
  2. 前記生成ステップが、
    前記探索指標格納部に登録されている前記第1の探索指標についての特徴ベクトルの線形結合又は当該特徴ベクトルに含まれる一部のベクトルである第1ベクトルの線形結合が前記データ格納部に格納されている前記第2の点を表す第2ベクトル又は前記第2ベクトルを前記第1ベクトルで張られる部分空間へ射影した第3ベクトルに平行になるように前記線形結合の係数を決定し、前記データ格納部に格納する係数決定ステップと、
    前記データ格納部に格納された前記係数で、対応する前記第1の探索指標を線形結合することにより前記第2の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
    を含む請求項1記載の最適化プログラム。
  3. 前記生成ステップが、
    前記探索指標格納部に登録されている前記第1の探索指標の線形結合で表される第2の探索指標における係数を、前記第2の探索指標による前記第1の点への勾配と前記第2の点への勾配との差に関する目的関数又は前記第2の点近傍における前記第2の点方向の前記第2の探索指標の値変化に関する目的関数が最大になるように決定し、前記データ格納部に格納するステップと、
    前記データ格納部に格納された前記係数で、対応する第1の探索指標を線形結合することにより前記第2の探索指標を生成し、前記探索指標格納部に追加登録するステップと、
    を含む請求項1又は2記載の最適化プログラム。
  4. 前記係数決定ステップが、
    前記特徴ベクトルの中から、前記第1の探索指標についての探索経路が基準を満たさない特徴ベクトル又は生成に用いられるベクトルが基準を満たさない特徴ベクトルを除外するステップ
    を含む請求項2記載の最適化プログラム。
  5. 前記探索指標格納部に登録されている前記第2の探索指標の値に基づいて前記パラメータ空間において第2の探索を実施して、前記データ格納部に格納されている前記第2の点が得られるか確認するステップと、
    前記第2の探索により前記第2の点が得られない場合には、前記第2の探索指標を前記第1の探索指標として取り扱い、前記生成ステップを実施させるステップと、
    をさらに前記コンピュータに実行させるための請求項1乃至4のいずれか1つ記載の最適化プログラム。
  6. 前記探索ステップが、
    前記第1の点のうち前記所定の基準点からの距離が最も短い点を中心にランダムに第3の点を発生させ、当該第3の点のうち前記所定の条件を満たし且つ前記所定の基準点からの距離が最も短い点が、前記第1の点のうち前記所定の基準点からの距離が最も短い点より前記所定の基準点からの距離が短いか判断するステップ
    を含む請求項1乃至5のいずれか1つ記載の最適化プログラム。
  7. 前記パラメータ空間を第2の制約の下前記探索指標格納部に登録されている前記第1の探索指標の値及び第2の探索指標の値に基づき探索を実施して、前記パラメータ空間において所定の条件を満たし且つ所定の基準点からの距離が最も短い点を算出するステップ
    をさらに前記コンピュータに実行させるための請求項1乃至6のいずれか1つ記載の最適化プログラム。
  8. 前記生成ステップにおいて、
    複数の手法で前記第2の探索指標を生成する又は前記パラメータ空間の分割空間毎に前記第2の探索指標を生成する
    請求項1乃至7のいずれか1つ記載の最適化プログラム。
  9. パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索ステップと、
    前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する生成ステップと、
    を、コンピュータに実行させるための最適化方法。
  10. パラメータ空間を第1の制約の下探索指標格納部に登録されている第1の探索指標の値に基づき探索して得られた第1の点より所定の条件を満たし且つ所定の基準点からの距離が短い他の点が前記パラメータ空間に存在する場合には、前記第1の探索指標による探索以外の方法により前記パラメータ空間において前記第1の制約の下第2の点を算出し、データ格納部に格納する探索処理部と、
    前記データ格納部に格納されている前記第2の点又は当該第2の点の近傍点が探索結果として得られるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成するか、又は前記データ格納部に格納されている前記第2の点の方向に探索が行われるように前記第1の探索指標の少なくとも一部の線形結合で表される第2の探索指標を生成し、前記探索指標格納部に追加登録する探索指標生成部と、
    を有する最適化処理装置。
JP2010273201A 2010-12-08 2010-12-08 探索プログラム、探索方法及び探索処理装置 Active JP5565289B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010273201A JP5565289B2 (ja) 2010-12-08 2010-12-08 探索プログラム、探索方法及び探索処理装置
US13/239,656 US8577653B2 (en) 2010-12-08 2011-09-22 Optimization processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010273201A JP5565289B2 (ja) 2010-12-08 2010-12-08 探索プログラム、探索方法及び探索処理装置

Publications (2)

Publication Number Publication Date
JP2012123592A true JP2012123592A (ja) 2012-06-28
JP5565289B2 JP5565289B2 (ja) 2014-08-06

Family

ID=46200217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010273201A Active JP5565289B2 (ja) 2010-12-08 2010-12-08 探索プログラム、探索方法及び探索処理装置

Country Status (2)

Country Link
US (1) US8577653B2 (ja)
JP (1) JP5565289B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023181497A1 (ja) * 2022-03-23 2023-09-28 パナソニックIpマネジメント株式会社 評価装置、評価方法、およびプログラム
WO2023238606A1 (ja) * 2022-06-08 2023-12-14 パナソニックIpマネジメント株式会社 評価装置、評価方法、およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120046929A1 (en) * 2010-08-20 2012-02-23 International Business Machines Corporation Statistical Design with Importance Sampling Reuse
US10860683B2 (en) 2012-10-25 2020-12-08 The Research Foundation For The State University Of New York Pattern change discovery between high dimensional data sets
JP7059781B2 (ja) * 2018-04-27 2022-04-26 日本電信電話株式会社 最適化装置、最適化方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120364A (ja) * 1991-05-23 1993-05-18 Mitsubishi Electric Corp 回路定数の自動設計システムにおける回路定数最適化方法
WO2008102681A1 (ja) * 2007-02-19 2008-08-28 Nec Corporation 回路動作の最悪条件決定システム、方法およびプログラム
JP2011113291A (ja) * 2009-11-26 2011-06-09 Fujitsu Semiconductor Ltd 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法
JP2011192156A (ja) * 2010-03-16 2011-09-29 Fujitsu Semiconductor Ltd シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325983A (ja) 1996-06-06 1997-12-16 Nippon Telegr & Teleph Corp <Ntt> 最適解計算方法
JP2001243268A (ja) 2000-02-29 2001-09-07 Sharp Corp 最適設計支援装置および方法、並びに最適設計支援プログラムを記録した記録媒体
DE60233312D1 (de) * 2002-06-21 2009-09-24 Honda Res Inst Europe Gmbh Autonome und experimentelle Entwurfsoptimierung
JP3884359B2 (ja) 2002-09-27 2007-02-21 株式会社東芝 多目的設計最適化支援方法及び多目的設計最適化支援プログラム
US7458041B2 (en) * 2004-09-30 2008-11-25 Magma Design Automation, Inc. Circuit optimization with posynomial function F having an exponent of a first design parameter
JP4362572B2 (ja) 2005-04-06 2009-11-11 独立行政法人 宇宙航空研究開発機構 ロバスト最適化問題を解く問題処理方法およびその装置
US7461038B2 (en) * 2005-12-21 2008-12-02 General Electric Company Method and apparatus for evaluating robustness of proposed solution to constraint problem and considering robustness in developing a constraint problem solution
EP2316121A4 (en) * 2008-06-24 2012-01-11 Alberta Health Services MAGNETIC ARRANGEMENT AND METHOD FOR DEFINING MAGNETIC FIELD FOR IMAGE PRODUCTION VOLUME
JP5151733B2 (ja) * 2008-06-27 2013-02-27 富士通株式会社 多目的最適化設計の設計改善支援装置、方法、及びプログラム
JP5282493B2 (ja) * 2008-09-04 2013-09-04 富士通株式会社 最適解関係表示装置、方法、及びプログラム
US8214069B2 (en) * 2009-10-23 2012-07-03 Certusoft, Inc. Automated hierarchical configuration of custom products with complex geometries: method and apparatus
US8583070B2 (en) * 2010-04-20 2013-11-12 Qualcomm Incorporated Autonomous electromagnetic emissions reduction for sensitivity improvement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05120364A (ja) * 1991-05-23 1993-05-18 Mitsubishi Electric Corp 回路定数の自動設計システムにおける回路定数最適化方法
WO2008102681A1 (ja) * 2007-02-19 2008-08-28 Nec Corporation 回路動作の最悪条件決定システム、方法およびプログラム
JP2011113291A (ja) * 2009-11-26 2011-06-09 Fujitsu Semiconductor Ltd 半導体装置の動作シミュレーション方法、測定データ取得方法、及び回路設計方法
JP2011192156A (ja) * 2010-03-16 2011-09-29 Fujitsu Semiconductor Ltd シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023181497A1 (ja) * 2022-03-23 2023-09-28 パナソニックIpマネジメント株式会社 評価装置、評価方法、およびプログラム
WO2023238606A1 (ja) * 2022-06-08 2023-12-14 パナソニックIpマネジメント株式会社 評価装置、評価方法、およびプログラム

Also Published As

Publication number Publication date
US8577653B2 (en) 2013-11-05
US20120150500A1 (en) 2012-06-14
JP5565289B2 (ja) 2014-08-06

Similar Documents

Publication Publication Date Title
JP5565289B2 (ja) 探索プログラム、探索方法及び探索処理装置
US8938375B2 (en) Optimizing business process management models
US7577935B2 (en) Generative programming system and method employing focused grammars
JP2013152656A (ja) 説明変数の決定のための情報処理装置、情報処理方法及びプログラム
US11003826B1 (en) Automated analysis and optimization of circuit designs
CN107408522B (zh) 使用高维变量选择模型确定关键参数
CN102508977B (zh) 用于模拟电路移植的电路优化方法和装置
JP2011070336A (ja) 自動回路設計用パレートデータ生成プログラム、方法及び装置、並びに自動回路設計プログラム、方法及び装置
US10248462B2 (en) Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program
JP6178768B2 (ja) 品質管理装置およびその管理方法
US11048852B1 (en) System, method and computer program product for automatic generation of sizing constraints by reusing existing electronic designs
JP2013065084A (ja) 予測方法及び予測プログラム
JP2019101681A (ja) 見積り取得装置、見積り取得方法およびプログラム
US8510693B2 (en) Changing abstraction level of portion of circuit design during verification
CN106651408B (zh) 一种数据分析方法及装置
Rhmann et al. Optimized and prioritized test paths generation from UML activity diagram using firefly algorithm
JP2007199951A (ja) 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
Zhou et al. Supervised-learning congestion predictor for routability-driven global routing
Liu et al. Concurrent Sign-off Timing Optimization via Deep Steiner Points Refinement
Wang et al. Bayesian sequential data collection for stochastic simulation calibration
JP5509952B2 (ja) シミュレーション方法、シミュレーション装置、プログラム、及び記憶媒体
TWI765836B (zh) 用於類比電路尺寸調整之方法及裝置
Liu Surrogate-Assisted Unified Optimization Framework for Investigating Marine Structural Design Under Information Uncertainty.
CN117313899B (zh) 用于数据处理的方法、设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5565289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150