(57)【要約】      （修正有）【課題】ものづくりにおける設計全般を支援する設計支援技術に関し、設計パラメータが多く、かつ各設計量を計算するための関数式が複雑な場合であっても、設計パラメータ又は設計条件を含む設計変数の間の関係を効率良く算出可能とし、設計者が設計可能な領域を判断可能とする。【解決手段】論理式置換部１０３は、論理式入力部１０２で入力された論理式又は目的関数モデル化部１０１からの目的関数近似多項式の一部を置換変数にて置換する。限量記号消去部１０４は、置換により得られる論理式から、限量記号が付された設計変数を消去することにより、置換変数及び限量記号が付されていない設計変数を含む関係式を生成する。サンプル点生成部１０５は、その関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成する。可能領域算出部１０６は、その関係式がとり得る可能領域を算出する。可能領域表示部１０７は、その可能領域を表示する。【選択図】図１
2010211783.tif 000002
【特許請求の範囲】
【請求項１】
設計パラメータ又は設計条件を含む設計変数の間の関係を表示する設計支援装置において、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力部と、
前記論理式の一部を置換変数にて置換する論理式置換部と、
該置換により得られる論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去部と、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成部と、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出部と、
該可能領域を表示する可能領域表示部と、
を含むことを特徴とする設計支援装置。
【請求項２】
複数の前記設計パラメータから構成される設計パラメータ群サンプルを複数組入力し、該各組に対応する所定の目的関数の値を計算し、該目的関数の各値と前記各設計パラメータ群サンプルとに基づいて、前記目的関数を前記設計パラメータを含む多項式にて数式近似した目的関数近似多項式を算出する目的関数モデル化部を更に含み、
前記論理式入力部は、該目的関数近似多項式を、前記論理式の一部として入力する、
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記論理式置換部は、前記論理式を因数分解し、その結果得られる各因数を該各因数に対応する置換変数に置換する、
ことを特徴とする請求項１又は２の何れか１項に記載の設計支援装置。
【請求項４】
前記論理式置換部は、前記論理式に含まれる複雑な多項式関数又は超越関数を削除し、該関数内の設計変数を前記論理式に残す置換を行う、
ことを特徴とする請求項１乃至３の何れか１項に記載の設計支援装置。
【請求項５】
設計パラメータ又は設計条件を含む設計変数の間の関係を提示する設計支援装置において、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力部と、
前記論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去部と、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成部と、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出部と、
前記可能領域から最大値の集合を最大値集合として抽出する最大値集合抽出部と、
前記限量記号消去部が前記限量記号が付された設計変数を消去する過程で算出される射影因子の多項式を射影因子多項式集合として入力し、前記最大値集合を該射影因子多項式集合中の各多項式とマッチングを取ることにより該最大値集合を最も良く表す多項式群を最大値多項式群として出力する最大値多項式群算出部と、
を含むことを特徴とする設計支援装置。
【請求項６】
設計パラメータ又は設計条件を含む設計変数の間の関係を表示する設計支援方法において、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力ステップと、
前記論理式の一部を置換変数にて置換する論理式置換ステップと、
該置換により得られる論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去ステップと、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成ステップと、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出ステップと、
該可能領域を表示する可能領域表示ステップと、
を含むことを特徴とする設計支援方法。
【請求項７】
複数の前記設計パラメータから構成される設計パラメータ群サンプルを複数組入力し、該各組に対応する所定の目的関数の値を計算し、該目的関数の各値と前記各設計パラメータ群サンプルとに基づいて、前記目的関数を前記設計パラメータを含む多項式にて数式近似した目的関数近似多項式を算出する目的関数モデル化ステップを更に含み、
前記論理式入力ステップは、該目的関数近似多項式を、前記論理式の一部として入力する、
ことを特徴とする請求項６に記載の設計支援方法。
【請求項８】
設計パラメータ又は設計条件を含む設計変数の間の関係を提示する設計支援装置において、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力ステップと、
前記論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去ステップと、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成ステップと、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出ステップと、
前記可能領域から最大値の集合を最大値集合として抽出する最大値集合抽出ステップと、
前記限量記号消去ステップが前記限量記号が付された設計変数を消去する過程で算出される射影因子の多項式を射影因子多項式集合として入力し、前記最大値集合を該射影因子多項式集合中の各多項式とマッチングを取ることにより該最大値集合を最も良く表す多項式群を最大値多項式群として出力する最大値多項式群算出ステップと、
を含むことを特徴とする設計支援方法。
【請求項９】
設計パラメータ又は設計条件を含む設計変数の間の関係を表示する設計支援用コンピュータに、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力ステップと、
前記論理式の一部を置換変数にて置換する論理式置換ステップと、
該置換により得られる論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去ステップと、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成ステップと、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出ステップと、
該可能領域を表示する可能領域表示ステップと、
を実行させるためのプログラム。
【請求項１０】
設計パラメータ又は設計条件を含む設計変数の間の関係を提示する設計支援用コンピュータに、
設計仕様を表現し、前記設計変数に関する関数式と、前記設計変数に付される限量記号と、前記設計変数及び前記関係式を結合する論理記号とを含む論理式を入力する論理式入力ステップと、
前記論理式から、前記限量記号が付された設計変数を消去することにより、前記置換変数及び前記限量記号が付されていない設計変数を含む関係式を生成する限量記号消去ステップと、
該関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成するサンプル点生成ステップと、
該各サンプル点毎に、前記関係式に基づいて該関係式に含まれる残りの設計変数の値を計算することにより、該関係式がとり得る可能領域を算出する可能領域算出ステップと、
前記可能領域から最大値の集合を最大値集合として抽出する最大値集合抽出ステップと、
前記限量記号消去ステップが前記限量記号が付された設計変数を消去する過程で算出される射影因子の多項式を射影因子多項式集合として入力し、前記最大値集合を該射影因子多項式集合中の各多項式とマッチングを取ることにより該最大値集合を最も良く表す多項式群を最大値多項式群として出力する最大値多項式群算出ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する技術は、ものづくりにおける設計全般を支援する設計支援技術に関する。
【背景技術】
【０００２】
ものづくりにおける設計段階では、設計条件に対して最適な設計パラメータを決定することが要求される。
例えばＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）の設計においては、例えば図２２に示されるように、設計の初期段階で、サイズ（面積：Ｗ×Ｌ）、Vth （ＳＲＡＭを構成するトランジスタの動作閾値）、リーク電流、電源電圧等の設計量が計算される。
【０００３】
この場合、設計条件として例えば歩留まりが選択された場合、設計者は、歩留まりとサイズ及び他の設計量の関係等を知ることにより、ＳＲＡＭの最適設計を行う。
このような知見は、従来は設計者の知識／経験から決定することが多かったが、ものづくりの複雑化に従って、最適設計を支援する技術が要請されてきている。
【０００４】
従来のものづくり設計における設計支援技術では、例えば図２３に示されるように、まず、設計パラメータ空間上で設計パラメータがサンプリングされる（ステップＳ２３０１）。これらの設計パラメータは、サイズ、Vth、Leak、電源電圧等を算出するための設計パラメータ組である。次に、各設計パラメータ組のサンプルが、設計対象（例えばＳＲＡＭ）の動作をシミュレートするシミュレータに入力され、数値計算が実行される（ステップＳ２３０２）。これにより、サイズ、Vth、Leak、電源電圧等の設計量と共に、設計対象の歩留まり等の設計条件が数値計算される。このとき例えば、歩留まりを算出するための設計パラメータ組を入力とする複数の目的関数（コスト関数）が数値計算される。そして、数値計算された目的関数間の関係がディスプレイ等に描画される（ステップＳ２３０３）。設計者は、描画画面上で複数の目的関数が同時に最適となる部分（「パレート」と呼ばれる）の精度が十分であるか否かを判定する（ステップＳ２３０４）。精度が十分ではないと設計者が判断すると、更にサンプリングが繰り返され、精度が十分になるまで、シミュレータによる数値計算が繰り返し実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述したような従来の数値計算手法では、設計パラメータ組の数及び各組を構成する設計パラメータの種類が多い場合、その探索空間内をくまなく探索しようとすると組合せ爆発が起こり、実時間内では計算不可能となる。
【０００６】
特に、歩留まりを算出するための複数の目的関数間の関係や、それらとサイズ、Vth、Leak、電源電圧等の設計量との関係等を視覚的に認識したい場合には、従来は、比較対象となる表示軸（目的関数、設計量、設計パラメータ等）が選択される毎に、膨大な量のシミュレータ計算をやり直す必要があった。
【０００７】
このように従来は、シミュレータによる数値計算に多くの時間を要するため、サンプリングの全ての探索範囲でパレートの精度を適切に判断することは不可能であり、最適設計支援を実現することが困難であるという問題点を有していた。
【０００８】
例えば、図２４に示されるように、設計パラメータx１、x２から、或る目的関数ｆ１（x１，x２）とｆ２（x１，x２）を算出し、両方の目的関数の値を同時に最小化することを考える。
【０００９】
この場合、設計の初期段階では、まず、図２４（ａ）に示される設計パラメータ空間（x１，x２）上で、全体的にまんべんなくサンプリングが行われ、図２４（ｂ）に示される目的関数空間（ｆ１（x１，x２），ｆ２（x１，x２））への描画が行われる。この段階では、パレートの予測が困難なため、できる限り広い範囲でサンプリングする必要があり、それに対するシミュレータ計算も多くの時間を要する。
【００１０】
次に、目的関数空間への描画において、設計者は、例えば、図２５（ｂ）の２５０１の部分が最適なパレート領域であると判断すると、その部分を生成した図２５（ａ）に示される設計パラメータ空間上の領域２５０２付近で更に追加的なサンプリングを行う。この場合にも、シミュレータ計算に多くの時間を要することになる。
【００１１】
開示する技術が解決しようとする課題は、設計パラメータが多く、かつ各設計量を計算するための関数式が複雑な場合であっても、設計パラメータ又は設計条件を含む設計変数の間の関係を効率良く算出可能とし、設計者が設計可能な領域を判断可能とすることにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、開示する技術は、設計パラメータ又は設計条件を含む設計変数の間の関係を表示する設計支援装置、又はそれと等価な方法、プログラムを前提とする。
【００１３】
論理式入力部は、設計仕様を表現し、設計変数に関する関数式と、設計変数に付される限量記号と、設計変数及び関係式を結合する論理記号とを含む論理式を入力する。
論理式置換部は、論理式の一部を置換変数にて置換する。
【００１４】
限量記号消去部は、上記置換により得られる論理式から、限量記号が付された設計変数を消去することにより、置換変数及び限量記号が付されていない設計変数を含む関係式を生成する。
【００１５】
サンプル点生成部は、上記関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成する。
可能領域算出部は、上記各サンプル点毎に、限量記号消去部が生成した関係式に基づいてその関係式に含まれる残りの設計変数の値を計算することにより、その関係式がとり得る可能領域を算出する。
【００１６】
可能領域表示部は、可能領域算出部が算出した可能領域を表示する。
【発明の効果】
【００１７】
開示する技術によれば、設計者が正確に設計変数間の関係を知ることが可能となる。
開示する技術によれば、入力が目的関数近似多項式や簡単な関数式なので、シミュレータ計算を行わずに複数種類の設計変数間関係図を描画することが可能となり、様々な直感的知見を得ることが可能となる。
【００１８】
開示する技術によれば、入力される論理式が複雑であっても、限量記号消去法の処理を適用することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】設計支援装置の第１の実施形態の構成図である。
【図２】目的関数モデル化部１０１の動作を示す動作フローチャートである。
【図３】目的関数近似多項式の説明図である。
【図４】ＱＥ法の説明図である。
【図５】限量記号消去部１０４、サンプル点生成部１０５、可能領域算出部１０６、及び可能領域表示部１０７の動作を示す動作フローチャートである。
【図６】動作実施例３に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。
【図７】動作実施例３に対応する可能領域表示部１０７による描画例を示した図である。
【図８】動作実施例３に対応する従来例と本実施形態の描画例の比較図（その１）である。
【図９】動作実施例３に対応する従来例と本実施形態の描画例の比較図（その２）である。
【図１０】動作実施例４に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。
【図１１】動作実施例４に対応する可能領域表示部１０７による描画例を示した図である。
【図１２】動作実施例４に対応する従来例と本実施形態の描画例の比較図（その１）である。
【図１３】動作実施例４に対応する従来例と本実施形態の描画例の比較図（その２）である。
【図１４】動作実施例５又は６に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。
【図１５】動作実施例１〜６を実現するための、図１の論理式置換部１０３及び限量記号消去部１０４の詳細な動作を示す動作フローチャートである。
【図１６】動作実施例１〜６を実現するための、図１の論理式置換部１０３及び限量記号消去部１０４の詳細な動作におけるデータ構成図である。
【図１７】設計支援装置の第２の実施形態の構成図である。
【図１８】限量記号消去部１０４におけるＣＡＤ処理の動作説明図である。
【図１９】最大値多項式群算出部１７０２の動作フローチャートである。
【図２０】第２の実施形態の動作説明図である。
【図２１】実施形態を実現するコンピュータのハードウェア構成図である。
【図２２】ＳＲＡＭ設計の説明図である。
【図２３】従来の設計支援動作を示す動作フローチャートである。
【図２４】従来術の問題点の説明図（その１）である。
【図２５】従来術の問題点の説明図（その２）である。
【発明を実施するための形態】
【００２０】
以下、実施形態について詳細に説明する。
図１は、設計支援装置の第１の実施形態の構成図である。
論理式入力部１０２は、設計仕様を表現し、設計パラメータ及び設計条件を含む設計変数に関する関数式と、設計変数に付される限量記号と、設計変数及び関係式を結合する論理記号とを含む論理式を入力する。
【００２１】
また、目的関数モデル化部１０１は、複数の設計パラメータから構成される設計パラメータ群サンプルを複数組入力し、各組に対応する所定の目的関数の値を計算し、計算された目的関数の各値と各設計パラメータ群サンプルとに基づいて、目的関数を設計パラメータを含む多項式にて数式近似した目的関数近似多項式を算出する。
【００２２】
そして、前述の論理式入力部１０２は、目的関数モデル化部１０１が算出した目的関数近似多項式を、論理式の一部として入力する。
論理式置換部１０３は、論理式入力部１０２が入力した論理式の一部を置換変数にて置換する。
【００２３】
限量記号消去部１０４は、論理式置換部１０３での置換により得られる論理式から、ＱＥ法（後述する）に基づいて、限量記号が付された設計変数を消去することにより、置換変数及び限量記号が付されていない設計変数を含む関係式を生成する。
【００２４】
サンプル点生成部１０５は、上記関係式に含まれる設計変数及び置換変数に対応する複数のサンプル点を生成する。
可能領域算出部１０６は、上記各サンプル点毎に、限量記号消去部１０４が生成した関係式に基づいてその関係式に含まれる残りの設計変数の値を計算することにより、その関係式がとり得る可能領域を算出する。
【００２５】
可能領域表示部１０７は、可能領域算出部１０６が算出した可能領域を表示する。
上記構成を有する第１の実施形態の動作について、以下に説明する。
今例えば、設計者は、設計条件として歩留まりを選択し、歩留まりをできるだけ大きくするような設計パラメータの組を知りたいとする。ＳＲＡＭ等の設計においては通常、歩留まりを計算するための目的関数として、複数の目的関数が計算される。この目的関数を例えば、SNM、WMと呼ぶことにする。そして、歩留まりはこれら２つの目的関数値のうち小さいほうの値として定義されるとする。即ち、
歩留まり＝min（SNM，WM）      ・・・（１）
である。ここで、目的関数SNM及びWMは通常、所定の複数種類の設計パラメータ群を用いて、シミュレータにより数値計算することができる。従って一般には、上記（１）式を様々な設計パラメータ群に対して数値計算し、その計算結果の最大値を認識することにより、設計の目的を達成することができる。この処理は、複数の目的関数を同時に最適化する多目的最適化処理である。
【００２６】
しかし、ＳＲＡＭ等における目的関数SNM及びWMは一般に、多種類の設計パラメータ群を入力とする複雑な関数計算となる。従って、各設計パラメータの値を例えば０から１までの間で変化させながら（１）式を数値計算した場合、歩留まりを最大にする最適な設計パラメータ群の組を算出するためには、膨大な計算量が必要となり、実質的には実時間内で最適化を行うことが困難である。
【００２７】
そこで、第１の実施形態では、目的関数モデル化部１０１が、図２の動作フローチャートで示される目的関数モデル化処理を実行することにより、目的関数近似多項式を算出する。
【００２８】
即ち、目的関数モデル化部１０１は、複数種類からなる設計パラメータ群の複数組をサンプリングする（ステップＳ２０１）。このサンプル組数は、それほど多くは必要とされない。
【００２９】
次に、目的関数モデル化部１０１は、特には図示しないシミュレータに対して、上記サンプル組に対するシミュレータ計算を実行させ、各サンプル組に対応する目的関数SNM及びWMの各値を数値計算させる（ステップＳ２０２）。１サンプルの設計パラメータ群に対する目的関数SNM及びWMの各数値計算には、２〜３分程度の時間がかかるが、サンプル組数がそれほど多くはないので、この計算処理は困難な処理ではない。
【００３０】
次に、目的関数モデル化部１０１は、目的関数SNM及びWMの各値と設計パラメータ群とからなる対の複数のサンプル組に対して例えば最小２乗法による近似処理を実行することにより、目的関数SNM及びWMのそれぞれを設計パラメータを含む多項式で数式近似した各目的関数近似多項式を算出する（ステップＳ２０３）。
【００３１】
目的関数モデル化部１０１は、目的関数SNM及びWMに対応して算出した各目的関数近似多項式について、モデル化の精度が十分であるか否かを判定する（ステップＳ２０４）。今、モデル化に最小２乗法が適用された場合、精度指標として自由度修正済決定係数等が利用される。目的関数モデル化部１０１は、自由度修正済決定係数の値が例えば０．９以上になったか否かが判定することにより、モデル化の精度を判定する（ステップＳ２０４）。
【００３２】
目的関数モデル化部１０１は、ステップＳ２０４にて、モデル化の精度が十分でないと判定した場合には、例えばステップＳ２０３のモデル化処理を実行し直すことで、或いは、ステップＳ２０１のサンプリングをやり直すことで、モデル化処理を繰り返す。
【００３３】
目的関数モデル化部１０１は、ステップＳ２０４にて、モデル化の精度が十分であると判定した場合には、目的関数SNM及びWMに対応して算出した各目的関数近似多項式を出力して、モデル化処理を終了する。
【００３４】
以上の目的関数モデル化部１０１の処理により、下記数式で例示されるような目的関数近似多項式が得られる。
SNM = -3.70880619227755703-1.815535443549214242e-2*x1+0.362756928799239723e-1*x2+0.529879430721035828e-1*x3-0.186187407180227748e-1*x4+0.378882808207316458e-1*x5+0.577218911880007530e-2*x6+15.4475497344388622*x7+7.61316609791377275*x8+11.1015094199909559*x9+11.1015094199909399*x10-1.84551068765900172*x11
・・・（２）
一般的には、SNMとWMは、次式のように表現できる。次式において、f1及びf2は、それぞれ例えば設計パラメータx1,...,x11に関する多項式の関数である。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
・・・（３）
【００３５】
このように、第１の実施形態では、少ないサンプル組数の設計パラメータ群を使って、実用的な近似精度を有する目的関数近似多項式を得ることができる。このようなモデル化により、図３に模式的に示されるように、例えば設計パラメータ空間（x１，x２）上で、図３（ａ）のプロットとして示されるように、わずかな数の設計パラメータ群のサンプル値を選択するだけで、それに関して目的関数モデル化部１０１によって算出される目的関数近似多項式は、図３（ｂ）に示されるように、サンプル値以外の部分を非常に滑らかに近似することができ、実用上十分な精度を有している。
【００３６】
第１の実施形態では、このようにして算出された目的関数近似多項式に、この多項式に含まれる設計パラメータに対して制約条件と限量記号を付加して生成される論理式が、論理式入力部１０２によって入力される。
【００３７】
これ以降、図１の限量記号消去部１０４、サンプル点生成部１０５、可能領域算出部１０６、及び可能領域表示部１０７は、図５の動作フローチャートで示される制御動作を実行する。
【００３８】
まず、基本的な動作として、図１の限量記号消去部１０４が、上記論理式から、限量記号が付された設計パラメータ（＝設計変数）を消去することにより、限量記号が付されていない表示座標軸（以下単に「軸」という）に対応する設計変数のみを含む関係式を生成する（図５のステップＳ５０１）。なお、論理式置換部１０３の動作については後述する。
【００３９】
図１の設計支援装置の動作実施例１として、設計者が、（３）式で示される目的関数近似多項式SNM及びWMを用いて、歩留まりの最大値を知りたいとする。
この場合、前述の（１）式及び（３）式に基づいて、制約条件が、下記のように設定される。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
歩留まり＝min（SNM，WM）
0 < xi < 1     (i=1,2,・・・,11)
上述の制約条件を論理式で表現すると、次式のようになる。
ex({x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
SNM > z and WM > z);
・・・（４）
ここで、exはexistsの意味であり、設計パラメータ（＝設計変数）x1〜x11 に、存在限量記号が付されていることを示している。即ち、上記（４）式には、
∃x1, ∃x2, ∃x3, ∃x4, ∃x5, ∃x6, ∃x7, ∃x8, ∃x9, ∃x10, ∃x11
が設定されている。また、（４）式では、各設計パラメータxiが、０より大きく１より小さい値をとり得ることを示している。更に（４）式において、SNM とWMは、（３）式のSNMとWMに等価な設計変数であり、x1〜x11 に関する多項式表現となっている。zは歩留まりを表す設計変数である。
【００４０】
図１の限量記号消去部１０４は、例えば上記（４）式の論理式から、ＱＥ法（Quantifier Elimination：限量記号消去法）により、限量記号が付されている設計変数（＝設計パラメータ）x1〜x11 を消去する処理を実行する。ＱＥ法の詳細については、本出願の発明者著による公知文献１「計算実代数幾何入門：ＣＡＤとＱＥの概要（数学セミナー第５５４号（２００７年１１月号）６４−７０頁（穴井宏和、横山和弘共著）日本評論社）」に、その処理方法の概要が開示されており、第１の実施形態でもその処理方法をそのまま用いている。
【００４１】
図４は、ＱＥ法の説明図である。論理式４０１は、変数x、y、ｗ、zに関する式であり、変数x、yについて存在限量記号が設定されている。論理式４０１は、「４０１として示される関係式が成立する変数x、yが存在する」という意味を有する。この論理式４０１に対してＱＥ法が適用されることにより、限量記号が付されている変数x、yが消去され、変数ｗ、zのみを含む関係式４０２が算出される。この結果、ｗとzの関係を、可能領域４０３として描画することができる。
【００４２】
上記（４）式に対してＱＥ法が適用された結果としては、zの範囲のみを示す関係を得ることができる。この結果、設計者は、zの最大値を容易に推測することができる。
図１の設計支援装置の動作実施例２として、設計者が、（３）式で示される目的関数近似多項式SNM及びWMを用いて、歩留まりと特定の設計パラメータx1との関係を知りたいとする。
【００４３】
この場合、次式のような論理式が設定される。
ex({x2,x3,x4,x5,x6,x7,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
SNM > z and WM > z);
・・・（５）
ここでは、設計パラメータx1においてのみ、存在限量記号が設定されていない。
【００４４】
図１の限量記号消去部１０４は、上記（５）式の論理式から、ＱＥ法により、限量記号が付されている設計変数（＝設計パラメータ）x2〜x11 を消去する処理を実行する。この結果、設計パラメータx1と歩留まりzのみからなる関係式を得ることができる。
【００４５】
以上のようにして、図１の限量記号消去部１０４において特定の設計変数のみの関係式が得られた後、例えば上述の動作実施例２の場合、図１のサンプル点生成部１０５は、次のような動作を実行する。即ち、サンプル点生成部１０５は、限量記号消去部１０４が生成した関係式において、その関係式内に残っている設計変数、例えば設計パラメータx1に関するサンプル点群（0 < x1 < 1）を生成する（図５のステップＳ５０２）。
【００４６】
次に、図１の可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群の中に、まだ未処理のサンプル点があるか否かを判定する（図５のステップＳ５０３）。
ステップＳ５０３の判定がＹＥＳの場合には、可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群から１点を抽出する（図５のステップＳ５０４）。
【００４７】
そして、可能領域算出部１０６は、そのサンプル点について、限量記号消去部１０４が生成した関係式を計算することにより、歩留まりzが取り得る値、即ちzの可能領域を算出する（図５のステップＳ５０５）。
【００４８】
そして、図１の可能領域表示部１０７が、上記サンプル点とそれに対応するzの値とから、x1とzをそれぞれ軸とする２次元座標上にプロットを行うことにより、zの可能領域を描画する（図５のステップＳ５０６）。
【００４９】
このようにして、設計者は、設計パラメータx1と歩留まりzの関係を容易に推測することができる。
なお、前述の動作実施例１の場合には、単純にzの範囲を示す関係式が得られるだけなので、特別な描画処理を実行する必要はない。
【００５０】
図１の設計支援装置の第１の実施形態において、上述の基本動作に加えて、設計対象が例えばＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）の場合、図１の論理式入力部１０２が入力する論理式には、目的関数モデル化部１０１が生成する目的関数近似多項式のほかに、所定の設計パラメータ組からサイズ（面積）、Vth、リーク電流、電源電圧等の設計量を計算するための関数等も含めることができる。
【００５１】
ここで、サイズsizeは例えば、次式のような関数で表現される。
size＝(1 + 2 * x4 + 3 * x5) * (6 + x2 + x3)      ・・・（６）
ここで、x2、x3、x4、x5等の設計パラメータは、図２２に示されるサイズを示す幅Ｗ１，Ｗ２，・・・や長さＬ１，Ｌ２・・・等に対応する。
【００５２】
また、Vth は例えば、多項式による関数f3を用いて、次式のような数式で表現される。
Vth = f3(x1,x4,x7)      ・・・（７）
更に、リーク電流Leakは例えば、指数関数f4を用いて、次式のような数式で表現される。
Leak = f4(x1,x4,x7)      ・・・（８）
上記（７）式及び（８）式において、x1、x4、x7等は、所定の設計パラメータである。
【００５３】
この場合には、設計者が、単純に歩留まりと設計パラメータとの関係だけでなく、歩留まりとサイズの関係、歩留まりとサイズとVth の関係、或いは、歩留まりとサイズとリーク電流の関係も知りたいという場合が生じ得る。
【００５４】
例えば、図１の設計支援装置の動作実施例３として、設計者が、歩留まりとサイズの関係を知りたい場合、前述の（１）式、（３）式、及び（６）式に基づいて、制約条件が、下記のように設定される。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
歩留まり＝min（SNM，WM）
0 < xi < 1     (i=1,2,・・・,11)
size=(6 + x2 + x3) * (1 + 2 * x4 + 3 * x5)
上述の制約条件を論理式で表現すると、次式のようになる。
ex({x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
(1 + 2 * x4 + 3 * x5) * (6 + x2 + x3) = size and
SNM > z and WM > z);
・・・（９）
上述の論理式に対して、図１の限量記号消去部１０４が実行する図５のステップＳ５０１において、上記（９）式の論理式から、ＱＥ法により、限量記号が付されている設計変数（＝設計パラメータ）x1〜x11 を消去する処理を実行しようとした場合を考える。この場合、（９）式においてsizeを示す関数は、設計パラメータに関する２次式となっているため、ＱＥ法における計算量が増加してしまい、限量記号消去部１０４の処理が実時間内に終了しなくなる可能性がある。
【００５５】
そこで、このような場合には、限量記号消去部１０４の実行に先立って、図１の論理式置換部１０３が動作をする。即ち、論理式置換部１０３は、論理式入力部１０２が入力した例えば（９）式の論理式について、次数が高い関係式部分を抽出する。そして、論理式置換部１０３は、抽出した部分について、因数分解を実行する。これにより、論理式置換部１０３は、次数の高い関係式を、設計パラメータに関する１次式で表すことのできる複数の因数に分割し、各因数に対して新たに設計変数x、y等を割り当てる。即ち、論理式置換部１０３は、（９）式の論理式を下記（１０）式に示されるような形式に置換する。
ex({x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
(1 + 2 * x4 + 3 * x5) = x and (6 + x2 + x3) = y and
SNM > z and WM > z);
・・・（１０）
【００５６】
上述の置換処理の結果、論理式置換部１０３から出力される上記（１０）式のような論理式に対して、限量記号消去部１０４が前述したＱＥ法の処理を実行する。図６は、上述の動作実施例３に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。図６において、図５の場合と同じステップ部分には図５の場合と同じステップ番号が付されている。
【００５７】
即ち、論理式置換部１０３は、（１０）式に対してＱＥ法を適用することにより、設計変数としてx，y，zのみを含む関係式を算出する（図６のステップＳ５０１）。この場合、（１０）式は、設計パラメータに関しては高次の項を含まないため、限量記号消去部１０４は、ＱＥ法を高速に実行することができる。
【００５８】
その後、図１のサンプル点生成部１０５は、限量記号消去部１０４が生成した関係式において、その関係式内に残っている設計変数x，yに関するサンプル点群（0 < x1 < 1）を生成する（図６のステップＳ５０２）。ここで例えば、設計対象のサイズを小さくすることが目的であれば、サイズが小さい点での描画精度を上げるために、x，yの値が小さい点を多くとるようにすればよい。
【００５９】
次に、図１の可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群の中に、まだ未処理のサンプル点があるか否かを判定する（図６のステップＳ５０３）。
ステップＳ５０３の判定がＹＥＳの場合には、可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群から１点を抽出する（図６のステップＳ５０４）。
【００６０】
そして、可能領域算出部１０６は、そのサンプル点について、限量記号消去部１０４が生成した関係式を計算することにより、歩留まりzが取り得る値、即ちzの可能領域を算出し、その中からzの最大値を算出する（図６のステップＳ５０５）。
【００６１】
そして、図１の可能領域表示部１０７が、上記サンプル点からサイズに対応する値x*y を計算し、x*y とそれに対応するzの値とから、x*y とzをそれぞれ軸とする２次元座標上にプロットを行うことにより、サイズとzの関係を描画する（図６のステップＳ５０６）。
【００６２】
このようにして、設計パラメータの高次の項を含むサイズに関する論理式が入力された場合であっても、論理式置換部１０３が高次の項を因数分解することにより、ＱＥ法を高速に適用することができる。この場合、サイズに対応するx*y の軸の値は、限量記号消去部１０４が出力する関係式からは直接には算出することはできないが、可能領域表示部１０７による描画処理時に、簡単に算出することができるため、処理効率は低下しない。
【００６３】
図７は、上述の動作実施例３に対応する可能領域表示部１０７による描画例を示した図であり、横軸がx*y 、縦軸が歩留まりzを示している。図６のステップＳ５０２で生成されたサンプル点群は１００００点である。この場合、図６のステップＳ５０５の関係式の計算は、数式計算であるため高速に実行することが可能である。図７において、塗りつぶされた部分以下が可能領域である。あるサイズでのx，yの組合せによりzの最大値が異なるため、線に厚みがでている。この描画例より、サイズ毎に歩留まりの最大値がどのくらいになるかを、直感的に把握することができる。
【００６４】
図８（ａ）は、１００００点のサンプル点群に対して従来のシミュレータによる数値計算が実行された場合に得られるサイズx*y に対するzの可能領域の描画例を示す図である。また、図８（ｂ）は、本実施形態による図７の描画例と従来例による図８（ａ）の描画例とを重ね合わせた描画例を示す図である。これらの図よりわかるように、例えば図８（ａ）の丸印で囲まれた領域では、従来例では、パレート境界まで算出することができていないが、本実施形態では、高速な計算処理であるにもかかわらず、パレート境界が精度良く求まっていることがわかる。
【００６５】
図９（ａ）は、２００００点のサンプル点群に対して従来のシミュレータによる数値計算が実行された場合に得られるサイズx*y に対するzの可能領域の描画例を示す図である。また、図９（ｂ）は、本実施形態による２００００点での描画例と従来例による図９（ａ）の描画例とを重ね合わせた描画例を示す図である。サイズ小、歩留まり大を目的としているため、従来例では、サンプル点群が２００００点に増加しても、描画点が左上に集中し、図９（ａ）の丸印として示されるように、全体を描画できていないことがわかる。本実施形態では、全体が描画されている。
【００６６】
図１の設計支援装置の動作実施例４として、設計者が、あるサイズでの特定の設計変数、例えば設計パラメータx11 と歩留まりの関係を知りたい場合、前述の（１）式、（３）式、及び（６）式に基づいて、制約条件が、下記のように設定される。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
歩留まり＝min（SNM，WM）
0 < xi < 1     (i=1,2,・・・,11)
size=(6 + x2 + x3) * (1 + 2 * x4 + 3 * x5)=28
上述の制約条件に対して、図１の論理式置換部１０３が置換処理を行った結果得られる論理式は、次式のようになる。
ex({x1,x2,x3,x4,x5,x6,x7,x8,x9,x10}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
(1 + 2 * x4 + 3 * x5) = x and (6 + x2 + x3) = y and x*y=28 and
SNM > z and WM > z);
・・・（１１）
【００６７】
上述の置換処理の結果、論理式置換部１０３から出力される上記（１１）式のような論理式に対して、限量記号消去部１０４が前述したＱＥ法の処理を実行する。図１０は、上述の動作実施例４に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。図１０において、図５の場合と同じステップ部分には図５の場合と同じステップ番号が付されている。
【００６８】
即ち、論理式置換部１０３は、（１１）式に対してＱＥ法を適用することにより、設計変数としてx，y，x11，zのみを含む関係式を算出する（図１０のステップＳ５０１）。この場合も、動作実施例３の場合と同様に、（１１）式は、設計パラメータに関しては高次の項を含まなくなっているため、限量記号消去部１０４は、ＱＥ法を高速に実行することができる。
【００６９】
その後、図１のサンプル点生成部１０５は、限量記号消去部１０４が生成した関係式において、その関係式内に残っている設計変数（x11,x,y=28/x）に関するサンプル点群を生成する（図１０のステップＳ５０２）。
【００７０】
次に、図１の可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群の中に、まだ未処理のサンプル点があるか否かを判定する（図１０のステップＳ５０３）。
ステップＳ５０３の判定がＹＥＳの場合には、可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群から１点を抽出する（図１０のステップＳ５０４）。
【００７１】
そして、可能領域算出部１０６は、そのサンプル点について、限量記号消去部１０４が生成した関係式を計算することにより、歩留まりzが取り得る値、即ちzの可能領域を算出し、その中からzの最大値を算出する（図１０のステップＳ５０５）。
【００７２】
そして、図１の可能領域表示部１０７が、上記サンプル点におけるx11 とzをそれぞれ軸とする２次元座標上にプロットを行うことにより、x11 とzの関係を描画する（図１０のステップＳ５０６）。この場合、サイズは固定なので、可能領域表示部１０７は、x,yは描画しない。
【００７３】
図１１は、上述の動作実施例４に対応する可能領域表示部１０７による描画例を示した図であり、横軸がx11、縦軸が歩留まりzを示している。図１０のステップＳ５０２で生成されたサンプル点群は３７００点である。図１１において、塗りつぶされた部分以下が可能領域である。X11,x,yの組合せによりzの最大値が異なるため、線に厚みがでている。この描画例より、x11の値毎に歩留まりの最大値がどのくらいになるかを、直感的に把握することができる。
【００７４】
図１２（ａ）は、３００００点のサンプル点群に対して従来のシミュレータによる数値計算が実行された場合に得られるx11に対するzの可能領域の描画例を示す図である。また、図１２（ｂ）は、本実施形態による３００００点の描画例と従来例による図１２（ａ）の描画例とを重ね合わせた描画例を示す図である。これらの図よりわかるように、例えば図１２（ａ）の丸印で囲まれた領域では、従来例では、パレート境界まで算出することができていないが、本実施形態では、高速な計算処理であるにもかかわらず、パレート境界が精度良く求まっていることがわかる。
【００７５】
図１３（ａ）は、５００００点のサンプル点群に対して従来のシミュレータによる数値計算が実行された場合に得られるx11に対するzの可能領域の描画例を示す図である。また、図１３（ｂ）は、本実施形態による５００００点の描画例と従来例による図１３（ａ）の描画例とを重ね合わせた描画例を示す図である。これらの図よりわかるように、従来例では、サンプル点群を５００００点としてもなお、x11の値が大きい部分に対応するｚを算出できていないことがわかる。
【００７６】
図１の設計支援装置の動作実施例５として、設計者が、歩留まりとサイズとVthの関係を知りたい場合、前述の（１）式、（３）式、（６）式、及び（７）式に基づいて、制約条件が、下記のように設定される。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
歩留まり＝min（SNM，WM）
0 < xi < 1     (i=1,2,・・・,11)
size＝(1 + 2 * x4 + 3 * x5) * (6 + x2 + x3)
Vth = f3(x1,x4,x7)
【００７７】
また、図１の設計支援装置の動作実施例６として、設計者が、歩留まりとサイズとリーク電流の関係を知りたい場合、前述の（１）式、（３）式、（６）式、及び（８）式に基づいて、制約条件が、下記のように設定される。
SNM=f1(x1,...,x11)
WM=f2(x1,...,x11)
歩留まり＝min（SNM，WM）
0 < xi < 1     (i=1,2,・・・,11)
size＝(1 + 2 * x4 + 3 * x5) * (6 + x2 + x3)
Leak = f4(x1,x4,x7)
【００７８】
上述の動作実施例５と動作実施例６は、Vth とLeakの関数の違いだけなので、以下の説明では、動作実施例５を例に説明する。
動作実施例５の制約条件を論理式で表現すると、次式のようになる。
ex({x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
(1 + 2 * x4 + 3 * x5) * (6 + x2 + x3) = size and f3(x1,x4,x7) = f  and
SNM > z and WM > z);
・・・（１２）
【００７９】
論理式置換部１０３は、sizeの部分については、動作実施例３等の場合と同様に、因数分解を実行し、因数毎に設計変数x,y への置換を行う。また、Vthに関するf3の部分は、設計パラメータの関数としての複雑な多項式となる。また、Leakに関するf4の部分は超越関数である指数関数となる。そこで、論理式置換部１０３は、これらの部分の関数式は、可能領域表示部１０７による描画時に計算することとし、上記関数式内の設計変数（設計パラメータ）x1,x4,x7が、ＱＥ法の適用後も関係式内に残るような処理を行う。この結果、論理式置換部１０３は、（１２）式の論理式を下記（１３）式に示されるような形式に置換する。
ex({x2,x3,x5,x6,x8,x9,x10,x11}, 
(0 < x1 < 1)  and  (0 < x2 < 1)  and (0 < x3 < 1)  and (0 < x4 < 1) and
(0 < x5 < 1)  and  (0 < x6 < 1)  and (0 < x7 < 1)  and (0 < x8 < 1) and
(0 < x9 < 1)  and  (0 < x10 < 1)  and (0 < x11 < 1)  and
(1 + 2 * x4 + 3 * x5) = x and (6 + x2 + x3) = y and  SNM > z and WM > z);
・・・（１３）
【００８０】
上述の置換処理の結果、論理式置換部１０３から出力される上記（１３）式のような論理式に対して、限量記号消去部１０４が前述したＱＥ法の処理を実行する。図１４は、上述の動作実施例５又は６に対する図５の動作フローチャートを、より具体的に表した動作フローチャートである。図１４において、図５の場合と同じステップ部分には図５の場合と同じステップ番号が付されている。
【００８１】
即ち、論理式置換部１０３は、（１０）式に対してＱＥ法を適用することにより、設計変数としてx1,x4,x7,x,y,zのみを含む関係式を算出する（図１４のステップＳ５０１）。
その後、図１のサンプル点生成部１０５は、限量記号消去部１０４が生成した関係式において、その関係式内に残っている設計変数x1,x4,x7,x,yに関するサンプル点群を生成する（図１４のステップＳ５０２）。
【００８２】
次に、図１の可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群の中に、まだ未処理のサンプル点があるか否かを判定する（図１４のステップＳ５０３）。
ステップＳ５０３の判定がＹＥＳの場合には、可能領域算出部１０６は、ステップＳ５０２で生成したサンプル点群から１点を抽出する（図１４のステップＳ５０４）。
【００８３】
そして、可能領域算出部１０６は、そのサンプル点について、限量記号消去部１０４が生成した関係式を計算することにより、歩留まりzが取り得る値、即ちzの可能領域を算出し、その中からzの最大値を算出する（図１４のステップＳ５０５）。
【００８４】
そして、図１の可能領域表示部１０７が、上記サンプル点からサイズに対応する値x*y とVthに対応するf3(x1,x4,x7)又はLeakに対応するf4(x1,x4,x7)を計算する。そして、可能領域表示部１０７は、x*y と、f3(x1,x4,x7)又はf4(x1,x4,x7)と、それに対応するzの値とから、x*y と、f3(x1,x4,x7)又はf4(x1,x4,x7)と、zをそれぞれ軸とする３次元座標上にプロットを行うことにより、サイズとVth又はLeakとzの関係を描画する（図１４のステップＳ５０６）。
【００８５】
このようにして、設計パラメータの複雑な関数を含むVthやLeakに関する論理式が入力された場合であっても、論理式置換部１０３がその関数部分を削除することにより、ＱＥ法を高速に適用することができる。また、可能領域表示部１０７が描画時にその関数値を計算することにより、適切な描画を行える。
【００８６】
図１５は、上述の動作実施例１〜６を実現するための、図１の論理式置換部１０３及び限量記号消去部１０４の詳細な動作を示す動作フローチャート、図１６は、その動作におけるデータ構成図である。
【００８７】
図１６に示されるように、まず論理式置換部１０３は、論理式入力部１０２が入力した論理式を、メモリ上のformula領域に格納し、限量記号が付されていない変数群を、メモリ上のlist領域に格納する（ステップＳ１５０１）。
【００８８】
前述した動作実施例１又は２のように、座標軸の情報に多項式以外の関数Ｆや次数の高い多項式ｆが含まれていない場合には、ステップＳ１５０２及びステップＳ１５０３の判定がＮＯとなって、ステップＳ１５０４が実行される。ここでは、論理式置換部１０３は、list領域（図１６参照）に含まれる変数の限量記号をformula領域の限量記号記述エリアから除去する（図１６の１６０３の状態から１６０４の状態への遷移）。
【００８９】
その後、限量記号消去部１０４は、formula領域の論理式に対して、ＱＥ法を適用して限量記号を含まない関係式を算出する。
前述した動作実施例６のように、座標軸の情報に多項式以外の関数Ｆが含まれている場合には、ステップＳ１５０２の判定がＹＥＳとなる。この結果、論理式置換部１０３は、formula領域のＦに関する部分を削除し（ステップＳ１５０６）、list領域にＦ内の引数（設計変数）を追加する（ステップＳ１５０７）。この動作は、例えば図１６の１６０１から１６０２への状態遷移として示される。
【００９０】
前述した動作実施例３から５のように、座標軸の情報に次数の高い多項式ｆが含まれる場合には、ステップＳ１５０３の判定がＹＥＳとなる。この結果、論理式置換部１０３は、まず、該当する多項式を因数分解する（ステップＳ１５０８）。
【００９１】
その結果、論理式置換部１０３は、因数の数ｎが１より大きいか否かを判定する（ステップＳ１５０９）。
因数の数ｎが１より大きければ、論理式置換部１０３は、formula領域内の各因数部分を新たな置換変数で置換し、formula領域にその内容を追加し（ステップＳ１５０９→Ｓ１５１０）、更に、list領域にその新たな置換変数を追加する（ステップＳ１５１１）。これは、前述の動作実施例３又は４に対応する。その後、論理式置換部１０３は、ステップＳ１５０３の判定処理に戻る。
【００９２】
因数の数ｎが１である場合には、論理式置換部１０３は、list領域にfの引数を追加し（ステップＳ１５０９→Ｓ１５１２）、更に、formula領域からｆに関する部分を削除する（ステップＳ１５１３）。その後、論理式置換部１０３は、ステップＳ１５０３の判定処理に戻る。
【００９３】
以上の処理により、論理式置換部１０３は、限量記号消去部１０４でのＱＥ法の演算が複雑にならないように、論理式を置換することができる。
以上説明した第１の実施形態では、可能領域表示部１０７が例えば図７に示されるような可能領域を表示させることができる。そして、設計者は、このような描画例に基づいて、サイズ毎に歩留まりの最大値がどのくらいになるかを、直感的に把握することができる。
【００９４】
しかしながら、設計者によっては、ディスプレイ上の描画領域からだけではなく、サイズと歩留まりの最大値との関係を、関数式として求めることを要求する場合もあり得る。
【００９５】
図１７は、サイズと歩留まりの最大値との関係を関数式として算出することを可能にする設計支援装置の第２の実施形態の構成図である。
図１７に示される第２の実施形態の構成は、図１に示される設計支援装置の第１の実施形態の構成に追加されることにより、サイズと歩留まりの最大値との関係を関数式として算出することを可能にする。
【００９６】
図１７において、最大値集合抽出部１７０１は、図１の可能領域算出部１０６が算出している可能領域値集合１７０３から、各サンプル点毎に歩留まりzが取り得る値の最大値集合１７０４を抽出する。
【００９７】
この最大値集合１７０４は、最大値多項式群算出部１７０２に入力する。
最大値多項式群算出部１７０２にはまた、図１の限量記号消去部１０４から、射影因子多項式集合１７０５が入力する。
【００９８】
最大値多項式群算出部１７０２は、最大値集合抽出部１７０１から入力される最大値集合１７０４を領域分割しながら、各分割領域毎にその領域内の最大値集合１７０４に最もフィットする射影因子を射影因子集合１７０５から選択する。そして、最大値多項式群算出部１７０２は、各分割領域毎に得た射影因子を、最大値多項式群１７０６として出力する。
【００９９】
上述の構成を有する第２の実施形態の動作について、以下に説明する。
前述したように、図１の限量記号消去部１０４は、図１の論理式置換部１０３から出力される論理式から、ＱＥ法により、限量記号が付されている設計変数（＝設計パラメータ）を消去する処理を実行する。ＱＥ法については、前述したように本出願の発明者著による公知文献１「計算実代数幾何入門：ＣＡＤとＱＥの概要（数学セミナー第５５４号（２００７年１１月号）６４−７０頁（穴井宏和、横山和弘共著）、日本評論社）」に、その処理方法の概要が開示されている。更に、同じシリーズで、公知文献２「計算実代数幾何入門：ＱＥによる最適化とその応用（数学セミナー第５５５号（２００７年１２月号）７５−８１頁）、公知文献３「計算実代数幾何入門：ＣＡＤアルゴリズム（前半）（数学セミナー第５５６号（２００８年１月号）７６−８３頁）、公知文献４「計算実代数幾何入門：ＣＡＤアルゴリズム（後半）（数学セミナー第５５７号（２００８年３月号）７９−８５頁）、及び公知文献５「計算実代数幾何入門：ＣＡＤによるＱＥ（数学セミナー第５５８号（２００８年４月号）８２−８９頁）に、その処理方法の詳細が開示されている。図１の限量記号消去部１０４は、上記公知文献１〜５に記載の方法に基づいて、ＣＡＤ（Cylindrical Algebraic Decomposition）と呼ばれる手法に基づくＱＥ処理を実行し、限量記号が付されている設計変数（＝設計パラメータ）を消去する。以下に、ＣＡＤによるＱＥ処理の概要を示す。
【０１００】
まず、図１の論理式置換部１０３から入力される（１０）式、（１１）式、又は（１３）式で示されるような代数的命題文である論理式を、一般的に次式のように表現する。
【数１】
2010211783.tif 000003
・・・（１４）
各Qiは、限量記号∀又は∃を表す。ここで、xk+1,xk+2,・・・,xnは限量記号付きの変数（設計パラメータ）を表す。一方、x1,・・・,xkは限量記号が付かない変数（設計パラメータ）を表し、自由変数と呼ばれる。
2010211783.tif 000004
は、代数的命題文である。図１の限量記号消去部１０４は、この命題文に対して現れる多項式に対してＣＡＤを計算することで、上記命題文に等価な、限量記号の付かない自由変数x1,・・・,xkのみで表現される論理式を求めることができる。これが、ＣＡＤを利用したＱＥと呼ばれる。
【０１０１】
具体的には、限量記号消去部１０４はまず、（１４）式中の命題文に現れる全ての不等式から多項式を取り出し、それらの集合をＦとする。この多項式集合中の各多項式は、自由変数x1,・・・,xkと限量記号付きの変数xk+1,xk+2,・・・,xnを含む実数係数の多項式集合Ｒ[x1,・・・,xn]に属する。
【０１０２】
次に、限量記号消去部１０４は、図１８（ａ）に示される「射影段階」と呼ばれる処理を実行する。ここでは、多項式集合Ｆが、その集合中の１つの設計パラメータxｎが従属変数とみなされて変数の数が１つ減らされた多項式集合Ｆ1に変換される。即ち、多項式集合Ｆ1中の各多項式は、変数x1,・・・,ｘn-1を含む実数係数の多項式集合Ｒ[x1,・・・,xn-1]に属する。続いて同様に、多項式集合Ｆ1が、その集合中の１つの設計パラメータxｎ-1が従属変数とみなされて変数の数が更に１つ減らされた多項式集合Ｆ2に変換される。即ち、多項式集合Ｆ2中の各多項式は、変数x1,・・・,ｘn-2を含む実数係数の多項式集合Ｒ[x1,・・・,xn-2]に属する。以下同様にして順次変数が１つずつ減らされた多項式集合が得られてゆき、最終的に、変数x1のみを含む実数係数の多項式集合Ｒ[x1]に属する多項式集合Ｆn-1が得られる。このように、多項式集合Ｆから１つずつ変数が減らされた多項式集合Ｆ1，Ｆ2，・・・，Ｆn-2，Ｆn-1を生成する処理を射影（Projection）と呼ぶ。図１８（ａ）では、１回の射影は「PROJ」と表現されている。従って、ｎ−１回の射影の繰返し「Ｆn-1＝PROJn-1（Ｆ）」として表現できる。ここで、各Ｆi（１≦ｉ≦ｎ−１）は、射影因子と呼ばれる。
【０１０３】
次に、限量記号消去部１０４は、図１８（ｂ）に示される「底段階」と呼ばれる処理を実行する。ここでは、上述の「射影段階」において得られた１変数x１のみを含む射影因子Ｆn-1の各多項式において、実根が数え上げられ各根が分離される。そして、算出された隣接する各実根間の任意の値と各実根とからなる点（これを「標本点」と呼ぶ）が算出される。図１８（ｂ）では、各実根「●」と各実根間の任意の各点「○」とからなる点が、標本点である。
【０１０４】
次に、限量記号消去部１０４は、図１８（ｃ）に示される「持ち上げ段階」と呼ばれる処理を実行する。ここでは、図１８（ｂ）に示される「底段階」で得られた標本点群の中から１点が選択され、その標本点の座標値が一段上の射影因子Ｆn-2に代入される。この結果、１変数x2のみを含む射影因子Ｆn-2の多項式において、その実根が数え上げられ各根が分離される。そして、算出された隣接する各実根間の任意の値と各実根とからなる点が、標本点として算出される。この処理は、図１８（ｂ）に示される「底段階」で得られた全ての標本点に対して実行される。各標本点によって代表される各区域は「細胞」と呼ばれ、この分割処理は「細胞分解」と呼ばれる。ここで、射影因子Ｆn-2に対応する細胞は、それを生成させた射影因子Ｆn-1の標本点が含まれる範囲を規定する変数x1に関する不等式等と、その細胞自身の標本点の範囲を規定する変数x2に関する不等式等とによって表現される。射影因子Ｆn-2に関して、全ての標本点が算出されたら、更に続いて、射影因子Ｆn-2に関して得られた各標本点を使って、射影因子Ｆn-3に対して同様の細胞分解処理が実行される。以上の「持ち上げ段階」における細胞分割処理は、図１８（ｃ）に示されるように、射影因子Ｆn-kに対応する各細胞の標本点が得られるまで繰り返し実行される。
【０１０５】
このようにして、限量記号の付かない自由変数x1,・・・,xkのみで表現される射影因子Ｆn-kと、それに対応する各細胞の標本点が得られる。この結果、限量記号消去部１０４は、射影因子Ｆn-kに対応する各標本点を使って、図１の論理式置換部１０３から入力される（１４）式で示される命題文を計算する。そして、その命題文が成立すれば、その標本点に対応する細胞を「有効な細胞」として選択する。ここで、射影因子Ｆn-kに対応する各細胞は、それを生成させた射影因子Ｆn-k+1の標本点に対応する細胞を表現する変数x1,・・・,ｘｋ−１に関する不等式等と、射影因子Ｆn-kに対応する各細胞自身の標本点の範囲を規定する変数xkに関する不等式等とによって表現される。従って、その細胞が有効な細胞として選択された場合には、その細胞を表現する不等式等が記憶される。以上の計算処理及び選択処理が、射影因子Ｆn-kに対応する全標本点に対して実行される。そして、限量記号消去部１０４は最終的に、有効な細胞として選択された各細胞に対応する不等式等の論理和と、射影因子Ｆn-kを構成する多項式とからなる論理式を、図１の論理式置換部１０３から入力される（１４）式で示される命題文に等価な論理式として出力する。上述の説明から理解されるように、この出力される論理式は、限量記号の付かない自由変数x1,・・・,xkのみで表現されている。このようにして、限量記号付きの変数（設計パラメータ）xk+1,xk+2,・・・,xnが消去される。
【０１０６】
以上のようにして、限量記号消去部１０４が生成した関係式において、図１のサンプル点生成部１０５がその関係式内に残っている設計変数（自由変数）に関するサンプル点群を生成する。そして、可能領域算出部１０６が、各サンプル点毎に、限量記号消去部１０４が生成した関係式に含まれる残りの設計変数の値を計算することにより、その関係式がとり得る可能領域を算出し、可能領域表示部１０７がその可能領域を表示する。
【０１０７】
この場合、限量記号消去部１０４が生成した関係式は、前述のように射影因子Ｆn-kを構成する多項式によって成り立っている。従って、例えば図７に示されるようにして表示される可能領域の外形は、射影因子Ｆn-kを構成する多項式に基づいて形成されているはずである。このため、例えば図１７の１７０４として示される可能領域中の最大値境界の輪郭も、射影因子Ｆn-kを構成する多項式に基づいて形成されているはずである。
【０１０８】
そこで、第２の実施形態ではまず、図１７の最大値集合抽出部１７０１が、図１の可能領域算出部１０６が算出した可能領域値集合１７０３から、各サンプル点毎に歩留まりzが取り得る値の最大値集合１７０４を抽出する。この動作は例えば、各サンプル点を形成する設計変数値（例えばx*y）に対応するｚの最大値を、可能領域値集合１７０３から選択する動作として実現される。
【０１０９】
次に、図１７の最大値多項式群算出部１７０２が、上記最大値集合１７０４と共に、図１の限量記号消去部１０４での前述したＣＡＤ処理において算出された射影因子Ｆn-kを構成する多項式を、射影因子多項式集合１７０５として入力する。そして、最大値多項式群算出部１７０２は、最大値集合１７０４を、射影因子多項式集合１７０５中の各多項式とマッチングさせることにより、その最大値集合１７０４を最も良く表す１つ以上の多項式を選択して出力する。これにより、設計者は、可能領域の最大値境界を示す多項式を得ることが可能となる。
【０１１０】
図１９は、最大値多項式群算出部１７０２の動作を示す動作フローチャートの一例を示す図である。この動作フローチャートは、説明の簡単のために、前述の（１４）式においてｋ＝１である場合、即ち、１つの設計変数ｘ1と例えば歩留まりを表す設計変数ｚとの関係における可能領域を算出する場合の処理を示すものである。
【０１１１】
この場合、射影因子Ｆn-k＝Ｆn-1を構成する多項式ｓの集合PF={hi}が、射影因子多項式集合１７０５として図１の限量記号消去部１０４から図１７の最大値多項式群算出部１７０２に入力される。また、限量記号消去部１０４から最大値多項式群算出部１７０２には、補助情報として、標本点SP1={P1,・・・,Pk}が入力される。ここで、標本点SP1={P1,・・・,Pk}は、射影因子Ｆn-1を構成する各多項式の実根P1,・・・,Pl(「l」はアルファベットの「エル」)（Ｐ１<・・・<Pl）と、隣接する各実根間の値Pl+1,・・・,Pkとから構成される（図１９のステップＳ１９０１）。
【０１１２】
次に、設計変数x1に関して、図１９のステップＳ１９０２に示される範囲Diが規定される。
続いて、上述のように規定された各範囲Diにおいて、全てのｊに対して、図１９のステップＳ１９０３に示されるHが計算される。この計算では、各Di毎に、その範囲Diに含まれる最大値集合１７０４と、各多項式hｊとの距離Hが計算される。
【０１１３】
そして、各Di毎に、ステップＳ１９０３にて計算された距離Hが最も小さい多項式hjが、その範囲Diにおいて可能領域の最大値輪郭を最も良く表す所望の多項式として出力される（図１９のステップＳ１９０４）。
【０１１４】
上述のステップＳ１９０３とＳ１９０４の処理は、各範囲Di毎に実行される。この結果、最大値多項式群算出部１７０２は、各範囲Diとそれに対応する多項式の組として、可能領域の最大値輪郭を最も良く表す最大値多項式群１７０６として出力する。
【０１１５】
今、簡単な例として、前述した（１４）式に相当する命題文が、具体的に次式のように与えられたとする。
z(θ)≡minxf(x)=x1x2,
2x1+x2≧θ,
x1+3x2≧θ/2,
−１≦x1≦1,
−１≦x2≦1,
0≦θ≦1.
【０１１６】
この命題文の場合には、以下の多項式集合に対してＣＡＤが構成され、変数x1とx2が消去される。
(z=x1x2∧2x1+x2≧θ∧x1+3x2≧θ/2∧−１≦x1≦1∧−１≦x2≦1∧0≦θ≦1).
【０１１７】
この場合、第１の実施形態では、可能領域は、図２０（ａ）に示されるように数値プロット表示として得られるだけである。一方、第２の実施形態では、ＣＡＤ処理の過程で得られる射影因子多項式集合１７０５から、次式で示される多項式群Ψ1(z,θ)とΨ1(z,θ)が最大値多項式群１７０６として出力される。
Ψ1(z,θ):[[z-1≦0, 2z-θ+1≧0]]
Ψ1(z,θ):[[z-1≦0, 6z-θ+2≧0]]
このようにして設計者は、可能領域の最大値輪郭を、適切な多項式として把握でき、より自由度の高いものづくり設計が可能となる。
【０１１８】
図２１は、図１で示される設計支援装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図２１に示されるコンピュータは、ＣＰＵ２１０１、メモリ２１０２、入力装置２１０３、出力装置２１０４、外部記憶装置２１０５、可搬記録媒体２１０９が挿入される可搬記録媒体駆動装置２１０６、及びネットワーク接続装置２１０７を有し、これらがバス２１０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【０１１９】
ＣＰＵ２１０１は、当該コンピュータ全体の制御を行う。メモリ２１０２は、プログラムの実行、データ更新等の際に、外部記憶装置２１０５（或いは可搬記録媒体２１０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ２１０１は、プログラムをメモリ２１０２に読み出して実行することにより、全体の制御を行う。
【０１２０】
入力装置２１０３は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置２１０３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ２１０１に通知する。
【０１２１】
出力装置２１０４は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置２１０４は、ＣＰＵ２１０１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【０１２２】
外部記憶装置２１０５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置２１０６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体２１０９を収容するもので、外部記憶装置２１０５の補助の役割を有する。
【０１２３】
ネットワーク接続装置２１０７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
第１又は第２の実施形態によるシステムは、それに必要な機能を搭載したプログラムをＣＰＵ２１０１が実行することで実現される。そのプログラムは、例えば外部記憶装置２１０５や可搬記録媒体２１０９に記録して配布してもよく、或いはネットワーク接続装置２１０７によりネットワークから取得できるようにしてもよい。
【産業上の利用可能性】
【０１２４】
開示する技術は、ものづくりにおける設計支援装置全般に利用することができる。
【符号の説明】
【０１２５】
１０１  目的関数モデル化部
１０２  論理式入力部
１０３  論理式置換部
１０４  限量記号消去部
１０５  サンプル点生成部
１０６  可能領域算出部
１０７  可能領域表示部
１７０１  最大値集合抽出部
１７０２  最大値多項式算出部
１７０３  可能領域値集合
１７０４  最大値集合
１７０５  射影因子多項式集合
１７０６  最大値多項式群
２１０１  ＣＰＵ
２１０２  メモリ
２１０３  入力装置
２１０４  出力装置
２１０５  外部記憶装置
２１０６  可搬記録媒体駆動装置
２１０７  ネットワーク接続装置
２１０８  可搬記録媒体
【図１】
2010211783.tif 000005
【図２】
2010211783.tif 000006
【図５】
2010211783.tif 000007
【図６】
2010211783.tif 000008
【図７】
2010211783.tif 000009
【図１０】
2010211783.tif 000010
【図１４】
2010211783.tif 000011
【図１５】
2010211783.tif 000012
【図１８】
2010211783.tif 000013
【図１９】
2010211783.tif 000014
【図２１】
2010211783.tif 000015
【図３】
2010211783.tif 000016
【図４】
2010211783.tif 000017
【図８】
2010211783.tif 000018
【図９】
2010211783.tif 000019
【図１１】
2010211783.tif 000020
【図１２】
2010211783.tif 000021
【図１３】
2010211783.tif 000022
【図１６】
2010211783.tif 000023
【図１７】
2010211783.tif 000024
【図２０】
2010211783.tif 000025
【図２２】
2010211783.tif 000026
【図２３】
2010211783.tif 000027
【図２４】
2010211783.tif 000028
【図２５】
2010211783.tif 000029