(57)【特許請求の範囲】
【請求項１】
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成する第１の処理と、
項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第２の処理と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得する第３の処理と、
前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成する第４の処理と、
前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第５の処理と、
を、コンピュータに実行させるためのプログラム。
【請求項２】
前記第１のデータが生成されなかった場合には、前記第２の処理結果から、前記問題に対するコスト最小を表すデータを生成する第６の処理
をさらに前記コンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成する第１の処理と、
項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第２の処理と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得する第３の処理と、
前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成する第４の処理と、
前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第５の処理と、
を、コンピュータが実行する情報処理方法。
【請求項４】
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成し、項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第１の処理部と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得し、前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成し、前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第２の処理部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、最適化計算技術に関する。
【背景技術】
【０００２】
例えば、ものづくりにおける設計段階では設計条件をパラメータの目的関数（コスト関数と呼ぶ）として表現して、当該目的関数の値を最小にするようにパラメータを求める処理を実施する。
【０００３】
例えばパラメータを正規化して、［０，１］間を動くようにしておくと探索空間は単位超立方体となり、その中の１点に対して１つの設計形状が対応する。
【０００４】
このような問題を解く方法として数値解析処理を行う方法と数式処理を行う方法とがある。
【０００５】
数値解析処理を行う方法では、基本形状を決定した後、形状を変化させるパラメータを設定して、パラメータを目的関数の値を最小化するように変化させる。この際、様々な形状を一度の数値解析処理で取り扱おうとするとパラメータの個数が増え、探索空間が広くなってしまう。そのため、数値解析処理の処理時間が長くなったり、局所解に陥るといった問題がある。
【０００６】
これに対して数式処理を行う方法では、以下のような処理を実施することで実行可能領域を求め、当該実行可能領域からコスト最小値のデータを求める。具体的には、基本形状を決定した後、形状を変化させるパラメータを設定して、パラメータとコスト（すなわち目的関数の値）との対応関係に関するデータを収集して当該対応関係を表す式を生成し、当該式とパラメータ等の制約条件とから得られる制約式をＱＥ（Quantifier Elimination）法により解くことで実行可能領域を求める。数式処理を行えば、論理式の形で実行可能領域を得られるので、最適値を正確に得ることができる。しかしながら、数式処理では、許容時間内に計算が終了せず、解の情報が全く得られない場合がある。
【０００７】
なお、大規模な回路のシミュレーションを実施する際に出現する線形連立方程式の解を求める場合の記号計算を高速に行う記号計算システムが存在している。具体的には、記号計算と記号計算の結果を用いて行う数値計算とによって行われる線形連立方程式の求解のための記号計算を行う記号計算システムは、以下の要素を有する。すなわち、（Ａ）求解の対象となる線形連立方程式を示す行列を、それぞれ少なくとも行列の１行分からなる複数の行集合に分割する行列分割手段と、（Ｂ）行列分割手段による分割の結果得られた行集合のそれぞれに対応しており、自己に対応する行集合に含まれる値が０でない要素のエントリを、当該行集合に対応するエントリ集合に追加する複数の第１のエントリ追加手段と、（Ｃ）値を１から行列の行数まで順次変化させる第１の変数が示す変数の消去時に必要となる演算回数が最小となる第２の変数を順次求めるピボット選択手段と、（Ｄ）行列中の第１の変数が示す行と第２の変数が示す行、及び行列中の第１の変数が示す列と第２の変数が示す列とをそれぞれ交換するピボット交換手段と、（Ｅ）複数の第１のエントリ追加手段のそれぞれに対応し、ピボット交換手段によって行及び列が交換された行列について変数の消去時に発生するフィルインを対応する行集合毎に求め、該フィルインのエントリを対応する第１のエントリ追加手段でそれぞれエントリが追加されたエントリ集合にさらに追加する複数の第２のエントリ追加手段と、（Ｆ）第１、第２のエントリ追加手段によってエントリが追加された複数のエントリ集合を用いて、行列を圧縮する行列圧縮手段とを有する。しかしながら、記号計算が「できない」場合については検討されていない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−３２８１５５号公報
【特許文献２】特開２０００−１２２９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本技術の目的は、一側面として、数式処理で許容時間内に解に関する情報が得られない場合でも高速に適切な解を求めるための技術を提供することである。
【課題を解決するための手段】
【００１０】
本技術に係る情報処理方法は、（Ａ）パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されているコスト関数のデータから、限定子除去法についての問題を生成するステップと、（Ｂ）項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された問題について処理を実施させ、第１の処理結果を取得するステップと、（Ｃ）第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題についてコストを最小化する処理を実施させ、第２の処理結果を取得するステップと、（Ｄ）第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成するステップと、（Ｅ）第２の処理結果と第１のデータが生成された場合には当該第１のデータとから、上記問題に対するコスト最小を表すデータを生成するステップとを含む。
【発明の効果】
【００１１】
数式処理で許容時間内に解に関する情報が得られない場合でも高速に適切な解を求めることができるようになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本技術の実施の形態に係る情報処理装置の機能ブロック図である。
【図２】図２は、本技術の実施の形態に係る処理フローを示す図である。
【図３Ａ】図３Ａは、パラメータ値格納部に格納されるデータの一例を示す図である。
【図３Ｂ】図３Ｂは、第１コストデータ格納部に格納されるデータの一例を示す図である。
【図３Ｃ】図３Ｃは、パラメータとコストとの対応付けを模式的に示す図である。
【図４】図４は、項置換によるＱＥを説明するための図である。
【図５】図５は、解の論理式から特定されるコストの値域を模式的に示す図である。
【図６】図６は、コスト最小値を特定するための処理を模式的に示す図である。
【図７】図７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
本技術の実施の形態に係る情報処理装置１００の機能ブロック図を図１に示す。本実施の形態に係る情報処理装置１００は、パラメータ値格納部１０と、第１コストデータ格納部１１と、コスト関数生成部１２と、コスト関数格納部１３と、第１データ格納部１４と、制約式処理部１５と、第２データ格納部１６と、最小コスト探索処理部１７と、第２コストデータ格納部１８と、出力部１９とを有する。
【００１４】
パラメータ値格納部１０は、複数の設計パラメータについてのパラメータ値セットを複数セット格納する。また、コストデータ格納部１１は、パラメータ値格納部１０に格納されているパラメータ値セットに対応する各コストのコスト値を複数セット格納する。コスト関数生成部１２は、パラメータ値格納部１０とコストデータ格納部１１とに格納されているデータを用いてコスト関数の近似式を生成し、コスト関数格納部１３に格納する。なお、コスト関数生成部１２は、同一又は他の装置（典型的にはコンピュータ）に実装されているシミュレータ２００と連携する場合もある。シミュレータ２００は、例えば設計パラメータのパラメータ値セットを入力すると、各種コスト値を算出する機能を有している。この機能については従来から存在しているので、これ以上述べない。
【００１５】
第１データ格納部１４は、設計パラメータ空間における変動範囲などの制約条件やコストや他のパラメータの制約条件のデータを格納している。また、制約式処理部１５は、コスト関数格納部１３と第１データ格納部１４に格納されているデータを用いてＱＥ問題である制約式を生成し、同一又は異なる装置に実装されているＱＥモジュール３００と連携して処理を行い、処理結果を取得して、第２データ格納部１６に格納する。
【００１６】
ＱＥモジュール３００は、項置換による限定子除去法に従って数式処理を行うものである。このＱＥモジュール３００は、例えば実数ｘ，ｂ，ｃに関する∃ｂ∀ｘ（ｘ2＋ｂｘ＋ｃ＞０）という制約式から限定子（∃及び∀）を除去した等価な式を生成する。なお、∃又は∀が付された変数を限定子付変数と呼び、限定子が付されていない変数を自由変数と呼ぶ。
【００１７】
具体的には、Ｆ＝∃ｂ∀ｘ（ｘ2＋ｂｘ＋ｃ＞０）であれば、最初に∀ｘ（ｘ2＋ｂｘ＋ｃ＞０）を解くことで、ｂ2−４ｃ＜０を得る。そして、∃ｂ（ｂ2−４ｃ＜０）を解くことで、ｃ＞０を得る。このようにして、ｘとｂという変数を１つずつ消去して行く処理が行われる。なお、実際には、
∃ｘ∀ｙ∃ｚ（ｘ，ｙ，ｚと自由変数を含む論理式）
∃ｘ∀ｙ（ｘ，ｙと自由変数とを含む「長い」論理式）
∃ｘ（ｘと自由変数とを含む「非常に長い」論理式）
というように、１つの変数を消去する毎に論理式が長くなることが多く、途中で許容時間内に計算不可能になることがある。
【００１８】
本実施の形態に係るＱＥモジュール３００は、制約式処理部１５で生成された制約式による問題を、段階的に項置換しつつ部分問題に分割して解き、項置換が所定時間内に不可能な部分問題についてはそのまま処理結果として出力すると共に、項置換が所定時間内に可能な部分問題については解（具体的には実行可能領域を表す論理式）を出力する。
【００１９】
最小コスト探索処理部１７は、第２データ格納部１６に格納されているＱＥモジュール３００の処理結果及び第１データ格納部１４に格納されている制約条件などのデータを用いて、コスト最小値などを探索する処理を実施する。
【００２０】
なお、一般的なＱＥについては、以下の文献を参照のこと。但し、ＱＥについての文献は多数存在しているので、以下の文献以外でも有用な文献は存在している。
【００２１】
数学セミナー  穴井宏和・横山和弘「計算実代数幾何入門」  日本評論社出版。第１回
ＣＡＤ（Cylindrical Algebraic Decomposition）とＱＥの概要（2007年11月号）、第２回  ＱＥによる最適化とその応用（2007年12月号）、第３回  ＣＡＤアルゴリズム(前半)（2008年1月号）、第４回  ＣＡＤアルゴリズム(後半)（2008年3月号）、第５回ＣＡＤによるＱＥ（2008年4月号）。
【００２２】
雑誌FUJITSU2009-9月号，穴井 宏和, 金児 純司, 屋並 仁史, 岩根 秀直，「数式処理を用いた設計技術」（http://img.jp.fujitsu.com/downloads/jp/jmag/vol60-5/paper24.pdfから２０１０年７月取得可能）
【００２３】
Mats Jirstrand: Cylindrical Algebraic Decomposition - an Introduction，１９９５−１０−１８（http://www.control.isy.liu.se/research/reports/1995/1807.ps.Zから２０１０年７月取得可能）
【００２４】
上で述べたようなＱＥモジュール３００は、項置換が可能な部分問題については解を出力し、項置換が不可能な部分問題があればその部分問題を表す論理式を出力する。本実施の形態では、最小コスト探索処理部１７は、項置換が不可能な部分問題を表す論理式については、同一又は他の装置に実装されている数値解析処理モジュール４００に、コストを最小化する処理を実施させて、当該数値解析処理モジュール４００から処理結果を取得し、第２コストデータ格納部１８に格納する。項置換が所定時間内に不可能な部分問題についても、一部の変数の消去が完了しているか、消去すべき変数に対して項置換すべき論理式が決まっているため、変数の数が実質的に削減されていて全体の探索範囲が狭まっている。そのためはじめから数値解析で、コスト最小値を探索するより処理時間を短縮することができる。また、最小コスト探索処理部１７は、実行可能領域を表す論理式については、コスト最小値を特定するためのデータを生成し、第２コストデータ格納部１８に格納する。出力部１９は、第２コストデータ格納部１８に格納されているデータを出力装置（例えば表示装置や印刷装置）に出力する。
【００２５】
次に、図２乃至図６を用いて図１に示した情報処理装置１００の処理の内容を説明する。まず、コスト関数生成部１２及び制約式処理部１５は、コストとパラメータとの関係式からＱＥ問題を生成して、メインメモリなどの記憶装置に格納する（図２：ステップＳ１）。
【００２６】
具体的には、コスト関数生成部１２は、複数の設計パラメータについてのパラメータ値セットと対応するコスト値（複数のコストを取り扱う場合には複数のコスト値）とを複数組取得して、コスト関数の近似式を算出し、コスト関数格納部１３に格納する。複数の設計パラメータについてのパラメータ値セットについては、パラメータ値格納部１０に格納されている。例えば図３Ａに示すようなデータがパラメータ値格納部１０に格納されている。パラメータ値セットそのものではなくパラメータ値セットを生成するための式やルール等を格納しておくようにしても良い。例えば予め設定されている設計パラメータの変動範囲において、ランダムにパラメータ値を生成させるようにしても良いし、規則的に等間隔でパラメータ値を生成するようにしても良い。
【００２７】
また、対応するコスト値については、予め用意されている場合には第１コストデータ格納部１１に格納されている。例えば複数のコストを取り扱う場合図３Ｂに示すようなデータが第１コストデータ格納部１１に格納されている。一方予め用意されているわけではない場合には、コスト関数生成部１３は、パラメータ値格納部１０に格納されているパラメータ値セットを、例えばシミュレータ２００に入力して対応するコスト値をシミュレータ２００に生成させ、当該コスト値をシミュレータ２００から取得し、第１コストデータ格納部１１に格納する。これをパラメータ値格納部１０に格納されている各パラメータ値セットについて行えば、対応するコスト値を複数取得することができる。すなわち、図３Ｃに示すようなパラメータ１乃至ｎとコスト１乃至ｍ（複数のコストを取り扱う場合）との対応付けがなされる。ただし、ｎ及びｍは２以上の整数である。
【００２８】
コスト関数の近似式については、複数のパラメータ値セットと対応するコスト値群とから重回帰分析などの従来からよく知られた方法を用いて導出する。重回帰分析だけではなく他の多項式近似の手法を採用するようにしても良い。
【００２９】
そして、制約式処理部１５は、第１データ格納部１４に格納されている、設計パラメータなどの制約条件のデータと、コスト関数格納部１３に格納されているコスト関数とから、ＱＥモジュール３００への入力となる制約式を生成する。
【００３０】
本実施の形態では、設計パラメータｘ、ｙ及びｚについて、コスト関数の近似式ｆ＝Ｆ（ｘ，ｙ，ｚ）が求められ、設計パラメータ等の制約条件などがψ（ｘ，ｙ，ｚ）と表されるとすると、問題となる制約式は以下のように表される。
【００３１】
∃ｚ∃ｙ∃ｘ（ｆ−Ｆ（ｘ，ｙ，ｚ）＝０∧ψ（ｘ，ｙ，ｚ））
【００３２】
そして、制約式処理部１５は、このように生成された制約式のデータをＱＥモジュール３００に出力して、ＱＥモジュール３００に項置換によるＱＥ処理を実施させ、項置換が所定時間内に不可能な部分問題のデータと項置換が行われた部分問題の解とをＱＥモジュール３００から取得し、第２データ格納部１６に格納する（ステップＳ３）。
【００３３】
ここで項置換によるＱＥ処理の概要について説明する。以下の１行目に示すように、ｘと自由変数との論理式についての制約式を解く場合を考える。このような制約式は、２行目に示すように表すことができるが、Ｒは実数全体の集合（無限集合）であり、実質的には変換できない。しかし、さらに３行目に示すように、自由変数の項を含む集合（有限集合）Ｓに含まれる項ｔでｘを置換しても同値である。項ｔはｘ以外の変数で表されるので、項ｔでｘを置換すればｘが消去できる。Ｓ＝｛ｔ１，ｔ２，ｔ３，．．．，ｔｓ｝であれば、４行目に示すように論理和で連結された複数の式に分解される。
【００３４】
【数１】
0005817341.tif 000002
【００３５】
このような項置換によるＱＥ処理を実施するＱＥモジュール３００は、∃ｚ∃ｙ∃ｘ（限定子付変数ｘ，ｙ，ｚと自由変数ｆ等を含む論理式）を、図４に模式的に示すように処理してゆく。すなわち、ｘを消去する段階では、最初の問題に対して、ｘをｔ１乃至ｔｓで置換することで、複数の部分問題に分割する。図４の例では、左から２番目の矢印の先Ａにおける×で示すように、ｘをｔ２で置換することが所定時間内にできなかったものとする。従って、ｘを消去する段階では、元の問題においてｘ＝ｔ２とおく部分問題を、項置換できなかった部分問題として、ＱＥモジュール３００から制約式処理部１５へ出力する。
【００３６】
さらに、○印で示されてｘを消去できた部分問題についても、ｙを消去する段階になると、３カ所のＢにおける×で示すように、ｙをｕiで置換することが所定時間内にできなかったものとする。従って、ｙを消去する段階では、ｘが消去済みの部分問題においてｙ＝ｕiとおく部分問題を、項置換できなかった部分問題として、ＱＥモジュール３００から制約式処理部１５へ出力する。
【００３７】
さらに、○印で示されてｘ及びｙを消去できた部分問題についても、ｚを消去する段階になると、３カ所のＣにおける×で示すように、ｚをｖjで置換することが所定時間内にできなかったものとする。従って、ｚを消去する段階では、ｘ及びｙが消去済みの部分問題においてｚ＝ｖjとおく部分問題を、項置換できなかった部分問題として、ＱＥモジュール３００から制約式処理部１５へ出力する。なお、最下段で○を付され、ｘ、ｙ及びｚを消去できた部分問題については、ｘ、ｙ及びｚが消去されている論理式が解として得られる。従って、ｘ、ｙ及びｚが消去されている論理式を、ＱＥモジュール３００から制約式処理部１５に出力する。
【００３８】
元の問題においてｘ＝ｔ２とおく部分問題については、ｙ及びｚと自由変数とについて、第１データ格納部１４に格納されている制約条件などに従って探索することになる。すなわち、探索範囲が狭まっている。
【００３９】
ｘが消去済みの部分問題においてｙ＝ｕiとおく部分問題については、ｚ及び自由変数について、第１データ格納部１４に格納されている制約条件などに従って探索することになる。すなわち、探索範囲が狭まっている。
【００４０】
さらに、ｘ及びｙが消去済みの部分問題においてｚ＝ｖjとおく部分問題については、自由変数について、第１データ格納部１４に格納されている制約条件などに従って探索することになる。すなわち、探索範囲が狭まっている。
【００４１】
このようにＱＥモジュール３００は、一部でも項置換できないと処理不可という結果を返すのではなく、項置換できる部分問題については次の項置換に移行し、項置換できなかった部分問題についてはそのデータを返す。全ての限定子付変数を除去できれば、ＱＥモジュール３００は、部分問題の解の論理式を返す。
【００４２】
次に、最小コスト探索処理部１７は、第２データ格納部１６に格納されているＱＥモジュール３００の処理結果の中に、項置換が不可能な部分問題のデータが含まれるのか判断する（ステップＳ５）。ＱＥモジュール３００の処理結果の中に、項置換が不可能な部分問題のデータが含まれていない場合、すなわち元の問題の解の論理式が得られた場合には、通常の数式処理が完了したことになる。その場合には、最小コスト探索処理部１７は、元の問題の解の論理式から、コスト関数の最小値を特定し、当該コスト関数の最小値のデータを、第２コストデータ格納部１８に格納する（ステップＳ７）。そして処理はステップＳ１５に移行する。
【００４３】
例えば、∃ｚ∃ｙ∃ｘ（ｆ−Ｆ（ｘ，ｙ，ｚ）＝０∧ψ（ｘ，ｙ，ｚ））の解としてΦ（ｆ）が得られるとすると、コストｆの実行可能領域が得られるので、その最小値が特定される。Φ（ｆ）は通常複数の式の論理和で表される。図５に模式的に示すように、２つの式の論理和の場合、式ａから特定されるｆの値域（１）及び値域（２）と、式ｂから特定されるｆの値域（３）とから、値域（１）の下限値がコスト最小値と特定される。なお、図５の右方向にコストｆが大きな値となるものとする。
【００４４】
一方、ＱＥモジュール３００の処理結果に項置換が不可能な部分問題が含まれる場合には、最小コスト探索処理部１７は、項置換が不可能な部分問題のデータを、数値解析処理モジュール４００に出力して、コスト最小値を探索させる。コスト最小値を探索するための数値最適化手法には、様々な手法が知られているのでいずれを用いても良い。そして、最小コスト探索処理部１７は、数値解析処理モジュール４００から処理結果を取得して、第２コストデータ格納部１８に格納する（ステップＳ９）。項置換が不可能な部分問題が複数存在していれば、それぞれについコスト最小値が得られる。例えば、項置換が不可能な部分問題ｇ、ｈ及びｋが存在していれば、図６下段に示すように、コスト最小値ｇ１、ｈ１及びｋ１が得られたものとする。なお、図６でも右方向にコストｆが大きな値となるものとする。
【００４５】
さらに、最小コスト探索処理部１７は、第２データ格納部１６に格納されているＱＥモジュール３００の処理結果に項置換が行われた部分問題の解の論理式が含まれている場合には、当該解の論理式からコスト最小値を特定するためのデータを生成し、第２コストデータ格納部１８に格納する（ステップＳ１１）。例えば、図６上段に示すように、部分問題の解の論理式ｃについてのコストｆの値域（４）及び（５）と、部分問題の解の論理式ｄについてのコストｆの値域（６）と、部分問題の解の論理式ｅについてのコストｆの値域（７）及び（８）とが得られたものとする。そうすると、これらの部分問題の解を総合すると、図６のｃｄｅの行に示すように値域Ｒ１及びＲ２が得られる。本ステップは、このような値域Ｒ１及びＲ２を特定する処理でも良いし、この値域Ｒ１及びＲ２の下限値を特定しても良い。
【００４６】
なお、項置換が行われた部分問題の解の論理式が存在しない場合もある。どこかの段階で項置換に失敗したことになるが、いずれの場合も探索範囲が狭められているので、数値解析処理の処理時間を短縮できる。
【００４７】
また、最小コスト探索処理部１７は、ステップＳ９における数値解析処理の処理結果と、項置換が行われた部分問題の解の論理式が存在している場合にはステップＳ１１におけるコスト最小値を特定するためのデータとから、コスト最小値を特定し、第２コストデータ格納部１８に格納する（ステップＳ１３）。図６の例では、ｃｄｅの行の値域Ｒ１の下限値よりも、数値解析処理で得られたｈ１の方が小さいのでコスト最小値はｈ１と特定される。このコスト最小値ｈ１のデータを第２コストデータ格納部１８に格納する。
【００４８】
なお、数値解析処理で得られた値がコスト最小値として特定される場合には、真のコスト最小値ではない場合もある。すなわち、仮に数式処理で解けた場合には、より低い値を含む値域が得られる場合もあるからである。
【００４９】
また、項置換が行われた部分問題の解がなければ、図６上段についてのデータは存在せず、図６下段の方の数値解析処理の結果からコスト最小値を特定することになる。
【００５０】
出力部１９は、第２コストデータ格納部１８に格納されているコスト最小値のデータを、出力装置に出力する（ステップＳ１５）。
【００５１】
以上のような処理を実施すれば、数式処理では解けない部分についても、探索すべき変数の数が減らされた数値解析処理にてコスト最小値を得ることができるようになるので、全体として処理時間を削減しつつ解を得ることができるようになる。
【００５２】
なお、上ではコストｆが１つの場合を一例に説明したが、この場合にはコスト最小値を１つ特定することができる。但し、２以上のコストを取り扱う場合には、２以上のコストでトレードオフが発生するため、数値解析処理でも多目的最適化処理となり、パレート曲線又は曲面が得られることになる。項置換できた部分問題についても曲線又は曲面が得られるので、それらの曲線又は曲面を重ねて示すためのデータを生成して、出力装置に出力することになる。
【００５３】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば図１に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについては、ステップＳ９とステップＳ１１については並列実行するようにしても良いし、順番を入れ替えても良い。
【００５４】
さらに、数値解析処理モジュール４００、ＱＥモジュール３００及びシミュレータ２００の少なくともいずれかと情報処理装置１００とが１台のコンピュータに実装される場合もある。また、情報処理装置１００が、複数台のコンピュータで実装される場合もある。
【００５５】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図７に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００５６】
以上述べた本実施の形態をまとめると、以下のようになる。
【００５７】
本実施の形態に係る情報処理方法は、（Ａ）パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されているコスト関数のデータから、限定子除去法についての問題を生成する第１の処理と、（Ｂ）項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された問題について処理を実施させ、第１の処理結果を取得する第２の処理と、（Ｃ）第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題についてコストを最小化する処理を実施させ、第２の処理結果を取得する第３の処理と、（Ｄ）第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成する第４の処理と、（Ｅ）第２の処理結果と第１のデータが生成された場合には当該第１のデータとから、上記問題に対するコスト最小を表すデータを生成する第５の処理とを含む。
【００５８】
このような処理を実施することで、数式処理のみでは許容時間内に解が得られないような問題でも、数値解析処理を融合することによってある程度の精度の解を得ることができるようになる。また、部分的にもＱＥの解を得られる場合もある。なお、数値解析処理を実施する場合であっても、初期の問題ではなく部分問題になっており、一部項置換が行われて探索すべき変数の数が減っているか、消去すべき変数に対して項置換すべき論理式が決まっているため、処理時間を短縮することができる。
【００５９】
さらに、上記情報処理方法は、（Ｆ）第１のデータが生成されなかった場合には、第２の処理結果から、問題に対するコスト最小を表すデータを生成する第６の処理をさらに含む場合もある。第１のデータが得られなかった場合であっても、少なくとも１つは限定子付変数が消去されることになるので、数値解析処理で探索される変数の探索範囲は削減されており、処理時間は短縮されている。
【００６０】
なお、上で述べた第１のデータが、コストの値域のデータ又は当該コストの値域の中での最小値である場合もある。また、上で述べた第２の処理結果が、１又は複数のコスト最小値である場合もある。このような場合には、上で述べたコスト最小を表すデータが、コストの値域又は当該コストの値域の中での最小値と１又は複数のコスト最小値とのうちのコスト最小値である。
【００６１】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００６２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６３】
（付記１）  
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成する第１の処理と、
項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第２の処理と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得する第３の処理と、
前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成する第４の処理と、
前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第５の処理と、
を、コンピュータに実行させるためのプログラム。
【００６４】
（付記２）
前記第１のデータが生成されなかった場合には、前記第２の処理結果から、前記問題に対するコスト最小を表すデータを生成する第６の処理
をさらに前記コンピュータに実行させるための付記１記載のプログラム。
【００６５】
（付記３）
前記第１のデータが、前記コストの値域のデータ又は当該コストの値域のなかでの最小値であり、
前記第２の処理結果が、１又は複数のコスト最小値であり、
前記コスト最小を表すデータが、前記コストの値域又は当該コストの値域の中での最小値と前記１又は複数のコスト最小値とのうちのコスト最小値である
付記１又は２記載のプログラム。
【００６６】
（付記４）
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成する第１の処理と、
項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第２の処理と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得する第３の処理と、
前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成する第４の処理と、
前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第５の処理と、
を、コンピュータが実行する情報処理方法。
【００６７】
（付記５）
パラメータセットとコストとの関係を表すコスト関数のデータを格納する第１のデータ格納部に格納されている前記コスト関数のデータから、限定子除去法についての問題を生成し、項置換による限定子除去法についての処理を実施する第１のモジュールに、生成された前記問題について処理を実施させ、第１の処理結果を取得する第１の処理部と、
前記第１の処理結果が、項置換が不可能な部分問題のデータを含む場合には、数値解析処理を実施する第２のモジュールに、当該項置換が不可能な部分問題について前記コストを最小化する処理を実施させ、第２の処理結果を取得し、前記第１の処理結果が、項置換が行われた部分問題の解である論理式を含む場合には、当該論理式からコスト最小値を特定するための第１のデータを生成し、前記第２の処理結果と前記第１のデータが生成された場合には当該第１のデータとから、前記問題に対するコスト最小を表すデータを生成する第２の処理部と、
を有する情報処理装置。
【符号の説明】
【００６８】
１００  情報処理装置
１０  パラメータ値格納部
１１  第１コストデータ格納部
１２  コスト関数生成部
１３  コスト関数格納部
１４  第１データ格納部
１５  制約式処理部
１６  第２データ格納部
１７  最小コスト探索処理部
１８  第２コストデータ格納部
１９  出力部
【図１】
0005817341.tif 000003
【図２】
0005817341.tif 000004
【図３Ａ】
0005817341.tif 000005
【図３Ｂ】
0005817341.tif 000006
【図３Ｃ】
0005817341.tif 000007
【図４】
0005817341.tif 000008
【図５】
0005817341.tif 000009
【図６】
0005817341.tif 000010
【図７】
0005817341.tif 000011