以下、図面を参照しながら実施の形態について説明する。
[第1の実施の形態]
まず、第1の実施の形態について説明する。
図1は、第1の実施の形態に係る情報処理装置の例を示した図である。図1に示すように、情報処理装置10は、記憶部11及び演算部12を有する。
記憶部11は、複数の評価指標に対応しそれぞれがパラメータと複数の評価指標の1つとの間の関係を示す複数の第1の関数13a、13bの情報を記憶する。パラメータは、例えば、評価対象の設計に関わるパラメータ、評価対象の製造プロセスにおける設定内容を規定するパラメータ、評価対象の実稼働条件を規定するパラメータなどであってもよい。評価指標は、例えば、評価対象の性能を表す指標や、評価対象の製造時に生じるコストなどを表す指標などであってもよい。
第1の関数13a、13bは、例えば、多項式又は有理式などであってもよい。また、第1の関数13a、13bは、例えば、利用者が任意に与えた数式、或いは、シミュレーションや実験などにより得られたデータを最小二乗法などの方法でフィッティングした近似式などであってもよい。なお、記憶部11は、Random Access Memory(RAM)などの揮発性記憶装置であってもよいし、Hard Disk Drive(HDD)やフラッシュメモリなどの不揮発性記憶装置であってもよい。
演算部12は、複数の第1の関数13a、13bの1つ以上を近似処理することで複数の評価指標に対応する複数の第2の関数14a、14bを算出する。例えば、第1の関数13a、13bが多項式で表現されている場合に、演算部12は、第1の関数13a、13bよりも次数が小さい近似多項式を計算し、当該近似多項式を第2の関数14a、14bに設定してもよい。近似処理は、例えば、多項式の次数を下げる方法であってもよいし、多項式の項数を低減させる方法などであってもよい。
演算部12は、複数の第1の関数13a、13bを用いてパラメータの変化に応じて複数の評価指標の値の組み合わせが変化する範囲を示す第1の範囲情報15a、15bを生成する。例えば、第1の範囲情報15a、15bは、複数の第1の関数13a、13bとパラメータの変化する範囲とを示す第1の論理式を数式処理することで算出されるものであってもよい。また、第1の論理式は、例えば、第1の関数13a、13bに含まれる変数のうち、パラメータに対応する変数を束縛変数とし、その他の変数及び第1の関数13a、13bの出力値を自由変数として、当該束縛変数が存在することを表す制約条件を含む論理式であってもよい。
演算部12は、複数の第2の関数14a、14bを用いてパラメータの変化に応じて複数の評価指標の値の組み合わせが変化する範囲を示す第2の範囲情報16a、16bを生成する。例えば、第2の範囲情報16a、16bは、複数の第2の関数14a、14bとパラメータの変化する範囲とを示す第2の論理式を数式処理することで算出されるものであってもよい。また、第2の論理式は、例えば、第2の関数14a、14bに含まれる変数のうち、パラメータに対応する変数を束縛変数とし、その他の変数及び第2の関数14a、14bの出力値を自由変数として、当該束縛変数が存在することを表す制約条件を含む論理式であってもよい。
演算部12は、第1の範囲情報15a、15bと第2の範囲情報16a、16bとを比較可能な形式で表示させる。例えば、演算部12は、範囲の内部を示す第1の範囲情報15a及び第2の範囲情報16aだけを同じ画面上に表示させてもよい。また、演算部12は、境界を示す第1の範囲情報15b及び第2の範囲情報16bだけを同じ画面上に表示してもよい。また、演算部12は、第1の範囲情報15a及び15bと、第2の範囲情報16a及び16bとを全て同じ画面上に表示させてもよい。
演算部12は、Central Processing Unit(CPU)やDigital Signal Processor(DSP)などのプロセッサであってもよい。また、演算部12は、Application Specific Integrated Circuit(ASIC)やField Programmable Gate Array(FPGA)などのプロセッサ以外の電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
第1の実施の形態に係る情報処理装置10によれば、第1の範囲情報15a、15bの一部又は全部と、第2の範囲情報16a、16bの一部又は全部とを比較可能な形式で表示させることで、数式処理の負荷を抑えた場合の分析結果への影響を可視化することができるようになる。また、近似処理の影響を考慮した上で、数式処理の負荷が低い第2の関数14a、14bを利用した適切な設計や評価などが行えるようになる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。
図2は、第2の実施の形態に係る評価支援システムの例を示した図である。図2に示すように、第2の実施の形態に係る評価支援システム100は、シミュレータ110、ネットワーク120、情報処理装置130、及び表示装置140を含む。
シミュレータ110は、評価の対象物及び評価の対象となる環境をシミュレートする装置である。例えば、シミュレータ110は、シミュレーション用に設計された専用の装置であってもよいし、シミュレーション用プログラムがインストールされた汎用のコンピュータであってもよい。例えば、シミュレータ110は、情報処理装置130と同じハードウェアを有するコンピュータであってもよい。
なお、第2の実施の形態においては、シミュレータ110によるシミュレーション結果を利用して評価指標を得る方法を紹介するが、実際に実験した結果を利用して評価指標を得る方法も考えられる。但し、以下では、説明の都合上、シミュレータ110におけるシミュレーション結果を利用することを前提に説明を進めることにする。
シミュレータ110は、入力されたパラメータに基づいて対象物及び環境をシミュレートし、当該対象物及び環境について所定の評価指標を計算する。例えば、ハードディスクのヘッド形状を最適化するために評価を実施する場合、対象物はハードディスクのヘッドとなる。また、環境は、想定されるハードディスクの内部環境となる。この場合、シミュレータ110は、ハードディスクの内部環境をシミュレートし、ヘッドの形状に関するパラメータの入力に応じてヘッドの性能に関する評価指標を計算する。
評価指標としては、例えば、性能やコストなどの指標が用いられる。性能に関する評価指標としては、例えば、耐久性、消費電力、動作環境(温度、湿度、気圧)などがある。また、コストに関する評価指標としては、費用、製造期間、歩留まりなどがある。なお、第2の実施の形態においては、互いにトレードオフの関係にある複数の評価指標を同時に考慮して最適化問題を解く多目的最適化について考える。
多目的最適化は、ハードディスクのヘッド設計の他、半導体メモリの設計や自動車の衝突安全設計など、ものづくりの現場における設計や評価の場面で利用されることが多い。評価支援システム100は、こうした様々な設計や評価の場面において利用することができる。例えば、評価支援システム100は、半導体メモリの設計(例えば、基板材料、基板形状、配線パターンなどの最適化)に利用することが可能である。また、評価支援システム100は、自動車の衝突安全設計(例えば、ボディの材質やボディの形状などの最適化)に利用することも可能である。
シミュレータ110により算出された評価指標の値、及び当該評価指標を計算する際にシミュレータ110に入力されたパラメータは、ネットワーク120を介して情報処理装置130に入力される。このとき、情報処理装置130には、パラメータと評価指標の値との組(以下、指標データ)が互いに対応付けて入力される。また、シミュレータ110で計算に用いた複数のパラメータに対応する複数の指標データが情報処理装置130に入力される。また、複数の評価指標を扱うため、評価指標毎に指標データが情報処理装置130に入力される。
なお、ネットワーク120は、有線の通信網で形成されていてもよいし、無線の通信網で形成されていてもよい。また、図2にはネットワーク120を介してシミュレータ110と情報処理装置130とが接続される例を示したが、シミュレータ110と情報処理装置130とがケーブルなどを介して直接接続されていてもよい。また、シミュレータ110と情報処理装置130とが一体に形成されていてもよい。例えば、シミュレータ110と同じようにコンピュータを動作させるソフトウェアモジュールを情報処理装置130に組み込み、情報処理装置130をシミュレータ110として動作させてもよい。
情報処理装置130は、指標データを用いて評価指標毎に目的関数を算出する。また、情報処理装置130は、評価指標毎の目的関数をそれぞれ簡略化する。また、情報処理装置130は、簡略化前の目的関数を含む第1の論理式及び簡略化後の目的関数を含む第2の論理式を生成し、第1及び第2の論理式に対する数式処理を実行する。そして、情報処理装置130は、数式処理の結果を表示装置140に表示させる。
表示装置140は、情報処理装置130による制御を受けて数式処理の結果を表示する。なお、表示装置140は、例えば、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Organic Electro-Luminescence Display(OELD)などの表示デバイスである。
図3は、第2の実施の形態に係る情報処理装置のハードウェアの例を示した図である。図3に示すように、情報処理装置130は、例えば、CPU901、RAM902、HDD903、画像信号処理部904、入力信号処理部905、ディスクドライブ906、及び通信インターフェース907を有する。なお、CPU901は、第1の実施の形態の演算部12の一例である。また、RAM902やHDD903は、第1の実施の形態の記憶部11の一例である。
CPU901は、プログラムに記述された命令を実行する演算器を含むプロセッサである。CPU901は、HDD903に記憶されているプログラムやデータの少なくとも一部をRAM902にロードし、プログラムに記述された命令を実行する。なお、CPU901は、複数のプロセッサコアを含んでいてもよい。また、情報処理装置130は、複数のCPU901を搭載していてもよい。この場合、情報処理装置130は、処理を並列実行することができる。
RAM902は、CPU901が実行するプログラムや、処理に用いられるデータを一時的に記憶するための揮発性メモリである。なお、情報処理装置130は、RAM902とは異なる種類のメモリを有していてもよい。また、情報処理装置130は、複数のメモリを備えていてもよい。
HDD903は、Operating System(OS)、ファームウェア、或いは、アプリケーションソフトウェアなどのプログラムや、処理に用いられるデータなどを記憶する不揮発性記憶装置の一例である。なお、情報処理装置130は、フラッシュメモリやSolid State Drive(SSD)など、HDD903とは異なる種類の記憶装置を有していてもよい。また、情報処理装置130は、複数の記憶装置を有していてもよい。
画像信号処理部904は、CPU901による制御を受け、情報処理装置130に接続された表示装置140に画像を出力する。表示装置140としては、例えば、CRTディスプレイ、LCD、PDP、OELDなどを用いることができる。
入力信号処理部905は、情報処理装置130に接続された入力デバイス92から入力信号を取得し、CPU901に通知する。入力デバイス92としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、トラックボール、リモートコントローラ、ボタンスイッチなどを用いることができる。
ディスクドライブ906は、記録媒体93に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体93としては、例えば、Flexible Disk(FD)、HDDなどの磁気ディスク、Compact Disc(CD)やDigital Versatile Disc(DVD)などの光ディスク、Magneto-Optical disk(MO)などの光磁気ディスクを用いることができる。ディスクドライブ906は、例えば、CPU901による制御を受け、記録媒体93から読み取ったプログラムやデータをRAM902又はHDD903に格納する。
通信インターフェース907は、ネットワーク120を介して他のコンピュータと通信を行うためのインターフェースである。通信インターフェース907は、有線インターフェースであってもよいし、無線インターフェースであってもよい。例えば、情報処理装置130は、通信インターフェース907を用いてシミュレータ110と通信する。
図4は、第2の実施の形態に係る情報処理装置の機能ブロックの例を示した図である。図4に示すように、第2の実施の形態に係る情報処理装置130は、目的関数計算部131、記憶部132、簡略化部133、数式処理部134、及び表示制御部135を有する。なお、目的関数計算部131、簡略化部133、数式処理部134、及び表示制御部135は、CPU901が実行するプログラムのモジュールとして実現できる。但し、目的関数計算部131、簡略化部133、数式処理部134、及び表示制御部135が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。
目的関数計算部131は、入力された指標データを利用し、パラメータの入力に応じて評価指標の値を出力する目的関数を計算する。例えば、目的関数計算部131は、最小二乗法などの手法により、指標データの集合にフィットする近似式(例えば、多項式や有理式など)を計算し、当該近似式を目的関数に設定する。なお、第2の実施の形態においては、複数の評価指標にそれぞれ対応する複数の目的関数が生成される。
目的関数計算部131により算出された目的関数は、記憶部132に格納される。記憶部132は、RAM902やHDD903に確保された記憶領域である。
簡略化部133は、記憶部132に格納された目的関数を読み出す。なお、簡略化部133は、目的関数計算部131から目的関数を直接取得してもよい。簡略化部133は目的関数を簡略化する。簡略化の方法としては、例えば、目的関数の次数を下げる方法や、目的関数の項数を減らす方法などが考えられる。
目的関数の次数を下げることで、当該目的関数を含む論理式に対して数式処理を実行する際に、演算負荷を低減することが可能になる。また、目的関数の項数を減らすことで、目的関数の最高次数を下げられない場合でも、当該目的関数を含む論理式に対して数式処理を実行する際に、演算負荷を低減することが可能になる。
目的関数の次数を下げる方法を適用する場合、簡略化部133は、所定のパラメータ範囲(以下、パラメータ範囲Dと称する。)において簡略化前の目的関数を近似する低次の近似式を算出し、当該近似式を簡略化後の目的関数に設定する。例えば、簡略化部133は、簡略化前の目的関数と簡略化後の目的関数との差がパラメータ範囲Dにおいて所定値(以下、近似判定値)より小さくなる低次の近似式を計算し、当該近似式を簡略化後の目的関数に設定する。
目的関数を多項式とした場合、簡略化部133は、簡略化前の目的関数よりも低次の多項式を用意し、簡略化前の目的関数との差がパラメータ範囲Dの全体において近似判定値より小さくなるように当該多項式の係数を計算する。そして、簡略化部133は、計算した係数を割り当てた低次の多項式を簡略化後の目的関数に設定する。なお、多項式の最高次数や、多項式に含まれる各項の次数などは、予め設定されていてもよいし、簡略化前の目的関数との差が近似判定値よりも小さくなる条件の下で最小の次数となるように簡略化部133により自動的に決定されるようにしてもよい。
目的関数の項数を減らす方法の場合、簡略化部133は、パラメータ範囲Dにおいて簡略化前の目的関数を近似する項数の少ない近似式を算出し、当該近似式を簡略化後の目的関数に設定する。例えば、簡略化部133は、簡略化前の目的関数と簡略化後の目的関数との差が近似判定値より小さく、かつ、項数の少ない近似式を計算し、当該近似式を簡略化後の目的関数に設定する。このとき、簡略化部133は、高次項の数を少なくするように項数を低減させる。例えば、N次の項又はM次の項(N>M)を省略できるならば、簡略化部133は、N次の項を省略した近似式を簡略化後の目的関数に設定する。
なお、パラメータ範囲Dは、例えば、対象物が実際に利用される環境、安全基準などで規定された環境、対象物の提供者又は需要者が要求する環境、或いは、その他の環境を想定して予め設定される。多くの場合、対象物の利用が想定される環境を考慮し、余裕を持たせたパラメータの範囲がパラメータ範囲Dとして予め設定される。また、近似判定値は、例えば、利用者が任意に設定してもよいし、指標データのばらつき度合いなどに基づいて決定してもよい。一例として、簡略化前の目的関数と指標データとの距離の最大値を近似判定値に設定する方法などが考えられる。
また、簡略化前の目的関数と簡略化後の目的関数との差は、ノルムで表現することができる。例えば、各目的関数が多項式で表現されている場合、多項式の係数を要素とするベクトルを考え、両目的関数に対応する2つのベクトルの差のノルムを当該両目的関数の差として用いる方法が考えられる。この場合、p次平均ノルムや最大値ノルムなどを利用することができる。また、多項式の差のノルムを両目的関数の差として用いる場合、H∞ノルムなどを利用することができる。
なお、ベクトルvを下記の式(1)で定義すると、ベクトルvのp次平均ノルムは、下記の式(2)のように表現される。また、ベクトルvの最大値ノルムは、下記の式(3)のように表現される。また、多項式FのH∞ノルムは、下記の式(4)のように表現される。但し、下記の式(4)に含まれるjは虚数単位である。
また、指標データの集合に対する簡略化前の目的関数のR2値と、指標データの集合に対する簡略化後の目的関数のR2値とを対比して、両目的関数の近似度合いを評価する方法も考えられる。但し、R2値は、相関係数Rの二乗である決定係数を表す。この方法では、例えば、両目的関数のR2値の差が近似判定値より小さくなるように、指標データの集合から簡略化後の目的関数が決定される。
簡略化部133により算出された簡略化後の目的関数は、記憶部132に格納される。数式処理部134は、記憶部132から簡略化前の目的関数及び簡略化後の目的関数を取得する。なお、数式処理部134は、簡略化後の目的関数を簡略化部133から直接取得してもよい。
図4に示すように、数式処理部134は、第1領域計算部1341、第1パレート計算部1342、第2領域計算部1343、及び第2パレート計算部1344を含む。簡略化前の目的関数は、第1領域計算部1341に入力される。一方、簡略化後の目的関数は、第2領域計算部1343に入力される。
第1領域計算部1341は、簡略化前の目的関数を用いて、数式処理の対象となる論理式を生成する。なお、論理式としては、例えば、一階述語論理式を用いることができる。なお、一階述語論理式とは、原子式(代数的等式、代数的不等式)、限量記号(全称記号、存在記号)、及び論理結合子(論理和、論理積、否定、含意など)を用いて表現される論理式である。
例えば、第1領域計算部1341は、簡略化前の目的関数に含まれる変数の中でパラメータが代入される変数を束縛変数とし、かつ、簡略化前の目的関数の出力値を自由変数に設定する。また、第1領域計算部1341は、束縛変数がパラメータ範囲Dに含まれることを制約条件に設定する。そして、第1領域計算部1341は、設定した制約条件の下で、簡略化前の目的関数を満たす束縛変数が存在することを表現した論理式を設定する。
第1領域計算部1341は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組が取り得る値の範囲(以下、実行可能領域)を表現した論理式を生成する。例えば、2つの評価指標を考える場合、2つの簡略化前の目的関数がある。仮に、簡略化前の目的関数の出力値だけが自由変数に設定されている場合、所定の数式処理により、2つの出力値の組が取り得る値の範囲を表す実行可能領域を表現した論理式が生成される。この実行可能領域は、2次元平面上に描くことができる。
また、所定の数式処理としては、例えば、CADやQEなどを用いることができる。QEについては、例えば、〔穴井宏和、横山和宏著、「QEの計算アルゴリズムとその応用」、東京大学出版会〕などに基本的な考え方が掲載されている。
ここで、QEによる最適化問題の解法について紹介する。QEは、計算機により、限量記号を含む論理式から、限量記号を含まない論理式を生成する技術である。簡単な例を挙げると、下記の式(5)に示す論理式が与えられた場合、この論理式にQEを適用すると、下記の式(6)に示す論理式が得られる。この例において、限量記号が付いたx1,x2,x3は束縛変数であり、限量記号が付かないyは自由変数である。下記の式(5)に示した論理式には限量記号が含まれるが、下記の式(6)に示した論理式には限量記号が含まれない。
この例のように、QEを適用すると、限量記号を含む論理式から、限量記号を含まない論理式を生成することができる。また、QEを用いると、上記の式(6)の結果から、下記の式(7)に示す最適化問題を解くことができる。つまり、上記の式(6)により最小値を求めたいyの範囲が与えられているため、正確に最小値−4を得ることができる。同様に、より複雑な問題に対しても同様の方法で最適化問題を解くことが可能である。
例えば、簡略化前の目的関数F0(x)及びG0(x)が与えられた場合に、第1領域計算部1341は、上記の例と同様にして、下記の式(8)に示す論理式に対する数式処理を実行し、自由変数y1及びy2の取り得る範囲を示す論理式を生成する。但し、下記の式(8)の中で、変数xはパラメータが代入される変数であり、φ(x)は変数xがパラメータ範囲Dに含まれることを示す制約条件を表している。また、変数xは、スカラーであってもよいし、ベクトルであってもよい。また、目的関数に変数x以外の変数が含まれている場合、その変数を自由変数に設定することも可能である。
第1領域計算部1341により生成された実行可能領域を表す論理式は、第1パレート計算部1342に入力される。第1パレート計算部1342は、実行可能領域を表す論理式に基づいてパレートフロントを計算する。パレートフロントは、実行可能領域の中で、少なくとも1つの自由変数が所定方向に向かって進んだ場合に到達する境界である。但し、自由変数が大きくなる方向に実行可能領域が広がっている場合、所定方向は、小さくなる方向である。逆に、自由変数が小さくなる方向に実行可能領域が広がっている場合、所定方向は、大きくなる方向である。この境界は、自由変数が2つの場合は線、自由変数が3つの場合は平面、自由変数が4つ以上の場合は超平面で表現される。
一方、第2領域計算部1343は、簡略化後の目的関数を用いて、数式処理の対象となる論理式を生成する。例えば、第2領域計算部1343は、簡略化後の目的関数に含まれる変数の中でパラメータが代入される変数を束縛変数とし、かつ、簡略化後の目的関数の出力値を自由変数に設定する。また、第2領域計算部1343は、束縛変数がパラメータ範囲Dに含まれることを制約条件に設定する。そして、第2領域計算部1343は、設定した制約条件の下で、簡略化前の目的関数を満たす束縛変数が存在することを表現した論理式を設定する。
第2領域計算部1343は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組が取り得る値の範囲である実行可能領域を表す論理式を生成する。例えば、2つの評価指標を考える場合、2つの簡略化後の目的関数がある。仮に、簡略化後の目的関数の出力値だけが自由変数に設定されている場合、所定の数式処理により、2つの出力値の組が取り得る値の範囲である実行可能領域を表す論理式が生成される。この実行可能領域は、2次元平面上に描くことができる。
第2領域計算部1343により生成された実行可能領域を表す論理式は、第2パレート計算部1344に入力される。第2パレート計算部1344は、実行可能領域を表す論理式に基づいてパレートフロントを計算する。
第1領域計算部1341及び第2領域計算部1343により生成された実行可能領域を表す論理式の情報と、第1パレート計算部1342及び第2パレート計算部1344により算出されたパレートフロントの情報とは、表示制御部135に入力される。表示制御部135は、入力された情報に基づき、簡略化前の目的関数に関する実行可能領域と、簡略化後の目的関数に関する実行可能領域とを表示装置140に表示させる。
このとき、表示制御部135は、2つの実行可能領域を同じ画面上に重ねて表示させる。また、表示制御部135は、2つの実行可能領域にそれぞれ対応する2つのパレートフロントを同じ画面上に重ねて表示させる。
このように、2つの実行可能領域を同じ画面上に重ねて表示させることで、利用者は、目的関数の簡略化に伴う影響を視覚的に認識することができるようになる。そのため、簡略化の影響を容易に見積もることが可能になる。その結果、簡略化後の目的関数に関する実行可能領域を用いて設計や評価を実施する場合などにおいて、簡略化の影響を考慮した設計や評価が可能になる。例えば、2つの実行可能領域の共通部分を把握し、その共通部分の範囲内で最適な設計や評価の条件を決めることが可能になる。
また、設計や評価を実施する際、最適解を表すパレートフロントを参照することが多い。このような場合も、2つのパレートフロントを同じ画面上に重ねて表示することで、利用者は、パレートフロントに対する簡略化の影響を容易に把握することが可能になる。その結果、数式処理の負荷を低減しつつも、簡略化の影響を考慮した設計や評価を実現することが可能になる。
上記のように、目的関数が簡略化されることで、数式処理の負荷が低減され、実行可能領域の計算に要する時間が短くなる。一方で、簡略化した目的関数を利用して設計や評価を行うにあたっては、数式処理の計算結果に簡略化が及ぼす影響を容易に把握できることが好ましい。こうした事情に鑑みて、簡略化の影響を視覚的に認識できるようにする情報処理装置130が考案された。情報処理装置130を用いると、簡略化に伴う計算結果への影響が明確となり、簡略化による影響を考慮した最適な設計や評価の条件を決めることが容易になる。
以下、互いにトレードオフの関係にある2つの評価指標(指標#1、指標#2)を考え、情報処理装置130による処理について説明する。この説明の中で、目的関数は、多項式であるとする。また、簡略化の方法は、次数を低減させる方法であるとする。もちろん、これらの前提は、あくまでも一例であり、評価指標の数、数式処理の種類、目的関数の関数形、及び簡略化の方法などは適宜変更することが可能である。
図5は、第2の実施の形態に係る目的関数の計算方法を示した図である。図5に示すように、パラメータが与えられると、シミュレータ110により、パラメータの値と指標#1の値とを含む指標データ、及びパラメータの値と指標#2の値とを含む指標データが生成される。また、目的関数計算部131により、指標#1に関する指標データを用いて目的関数F0が計算され、指標#2に関する指標データを用いて目的関数G0が計算される。このとき、目的関数計算部131は、最小二乗法などを用いて、指標#1に関する指標データ及び指標#2に関する指標データにそれぞれフィットする近似多項式を計算し、計算した2つの近似多項式をそれぞれ目的関数F0及びG0に設定する。
図6は、第2の実施の形態に係る簡略化の方法を示した図である。図6(A)のグラフにおいて、白丸は指標データを表し、実線は目的関数F0を表し、鎖線は簡略化後の目的関数F1を表す。また、図6(B)のグラフにおいて、黒丸は指標データを表し、実線は目的関数G0を表し、鎖線は簡略化後の目的関数G1を表す。
目的関数F0が得られると、簡略化部133は、図6(A)に示すように、目的関数F0を簡略化した目的関数F1を算出する。このとき、簡略化部133は、パラメータ範囲Dにおいて目的関数F0との差が近似判定値よりも小さく、かつ、目的関数F0よりも次数の低い目的関数F1を算出する。同様に、目的関数G0が得られると、簡略化部133は、図6(B)に示すように、目的関数G0を簡略化した目的関数G1を算出する。このとき、簡略化部133は、パラメータ範囲Dにおいて目的関数G0との差が近似判定値よりも小さく、かつ、目的関数G0よりも次数の低い目的関数G1を算出する。
図7は、第2の実施の形態に係る数式処理の例を示した図である。図7に示すように、目的関数F0及びG0が得られると、第1領域計算部1341は、下記の式(9)に示す論理式を設定する。第1領域計算部1341は、設定した論理式に対してQEを実行し、目的関数F0及びG0の出力値の組(y1,y2)が取り得る範囲である実行可能領域Φ0(y1,y2)を表す論理式を算出する。さらに、第1パレート計算部1342は、実行可能領域Φ0(y1,y2)のパレートフロントPF0を計算する。
同様に、目的関数F1及びG1が得られると、第2領域計算部1343は、下記の式(10)に示す論理式を設定する。第2領域計算部1343は、設定した論理式に対してQEを実行し、目的関数F1及びG1の出力値の組(y1,y2)が取り得る範囲である実行可能領域Φ1(y1,y2)を表す論理式を算出する。また、第2パレート計算部1344は、実行可能領域Φ1(y1,y2)のパレートフロントPF1を計算する。
表示制御部135は、2つの実行可能領域Φ0(y1,y2)及びΦ1(y1,y2)を比較可能な形式で表示装置140に表示させる。また、表示制御部135は、2つのパレートフロントPF0及びPF1を比較可能な形式で表示装置140に表示させる。かかる処理により、簡略化による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、簡略化後の目的関数に基づく実行可能領域やパレートフロントの計算結果を利用して設計や評価を実施する際に、簡略化の影響を考慮した設計や評価を行うことが可能になる。
次に、情報処理装置130による処理の流れについて説明する。
図8は、第2の実施の形態に係る情報処理装置による処理の流れを示した図である。
(S101)目的関数計算部131により、目的関数の計算が実行される。
(S102)簡略化部133により、目的関数の簡略化が実行される。
(S103)数式処理部134により、数式処理が実行される。
(S104)表示制御部135により、計算結果が表示される。
以下、上記の図8に示した各処理についてさらに説明する。
図9は、第2の実施の形態に係る目的関数の計算処理の流れを示した図である。図9に示した目的関数の計算処理は、主に目的関数計算部131が実行する。
(S111)目的関数計算部131は、シミュレータ110により算出された指標#1に関する指標データ及び指標#2に関する指標データを取得する。例えば、目的関数計算部131は、ネットワーク120を介してシミュレータ110から各指標に関する指標データを取得する。
(S112)目的関数計算部131は、指標#1に関する指標データから目的関数F0を算出する。例えば、目的関数計算部131は、最小二乗法などにより、指標#1に関する指標データの集合にフィットする近似多項式を算出し、当該近似多項式を目的関数F0に設定する。
(S113)目的関数計算部131は、指標#2に関する指標データから目的関数G0を算出する。例えば、目的関数計算部131は、最小二乗法などにより、指標#2に関する指標データの集合にフィットする近似多項式を算出し、当該近似多項式を目的関数G0に設定する。なお、S113の処理は、S112の処理と順序を入れ替えてもよい。
(S114)目的関数計算部131は、算出した目的関数F0及びG0を出力する。例えば、目的関数F0及びG0は、記憶部132に格納されるか、簡略化部133に入力される。S114の処理を完了すると、目的関数の計算処理は終了する。
図10は、第2の実施の形態に係る目的関数の簡略化処理の流れを示した図である。図10に示した目的関数の簡略化処理は、主に簡略化部133が実行する。
(S121)簡略化部133は、パラメータ範囲Dを取得する。パラメータ範囲Dは、利用者が任意に決められるようにしてもよいし、評価対象の稼働条件などを考慮して予め決められていてもよい。例えば、パラメータ範囲Dは、入力デバイス92を介して利用者が入力したものであってもよいし、HDD903などに予め格納されたものであってもよいし、ネットワーク120を介して提供されるものであってもよい。
(S122)簡略化部133は、目的関数F0及びG0を取得する。例えば、簡略化部133は、記憶部132に格納された目的関数F0及びG0を読み出す。なお、簡略化部133は、記憶部132から目的関数F0及びG0を読み出すことに代えて目的関数計算部131から目的関数F0及びG0を直接取得してもよい。また、簡略化部133は、記憶部132から目的関数F0及びG0を読み出すことと併せて目的関数計算部131から目的関数F0及びG0を直接取得してもよい。
(S123)簡略化部133は、目的関数F0を簡略化した目的関数F1を算出する。例えば、簡略化部133は、目的関数F0よりも次数の低い多項式を用意し、当該多項式と目的関数F0との差が近似判定値よりも小さくなるように多項式の係数を決定する。このとき、簡略化部133は、多項式と目的関数F0との差が最小となるように当該多項式の係数を決定してもよい。簡略化部133は、決定した係数を割り当てた多項式を目的関数F1に設定する。
(S124)簡略化部133は、目的関数G0を簡略化した目的関数G1を算出する。例えば、簡略化部133は、目的関数G0よりも次数の低い多項式を用意し、当該多項式と目的関数G0との差が近似判定値よりも小さくなるように多項式の係数を決定する。このとき、簡略化部133は、多項式と目的関数G0との差が最小となるように当該多項式の係数を決定してもよい。簡略化部133は、決定した係数を割り当てた多項式を目的関数G1に設定する。なお、S124の処理は、S123の処理と順序を入れ替えてもよい。
(S125)簡略化部133は、目的関数F0、G0、F1、G1を出力する。例えば、目的関数F0、G0、F1、G1は、記憶部132に格納されるか、数式処理部134に入力される。S125の処理を完了すると、目的関数の簡略化は終了する。
図11は、第2の実施の形態に係る数式処理の流れを示した図である。図11に示した数式処理は、主に数式処理部134が実行する。
(S131)数式処理部134は、パラメータ範囲Dを取得する。
(S132)数式処理部134は、目的関数F0、G0、F1、G1を取得する。例えば、数式処理部134は、記憶部132に格納された目的関数F0、G0、F1、G1の一部又は全部を読み出す。なお、数式処理部134は、記憶部132から目的関数F0、G0、F1、G1の一部又は全部を読み出すことに代えて簡略化部133から目的関数F0、G0、F1、G1の一部又は全部を直接取得してもよい。また、数式処理部134は、記憶部132から目的関数F0、G0、F1、G1の一部又は全部を読み出すことと併せて簡略化部133から目的関数F0、G0、F1、G1の一部又は全部を直接取得してもよい。
目的関数F0及びG0は、第1領域計算部1341に入力される。目的関数F1及びG1は、第2領域計算部1343に入力される。
(S133)第1領域計算部1341は、目的関数F0及びG0に基づく論理式L0を設定する。例えば、論理式L0は、上記の式(9)で表現される。
(S134)第1領域計算部1341は、論理式L0に対する数式処理を実行し、実行可能領域Φ0を表す論理式を算出する。第1パレート計算部1342は、第1領域計算部1341により算出された論理式に基づいて実行可能領域Φ0のパレートフロントPF0を算出する。
(S135)第2領域計算部1343は、目的関数F1及びG1に基づく論理式L1を設定する。例えば、論理式L1は、上記の式(10)で表現される。
(S136)第2領域計算部1343は、論理式L1に対する数式処理を実行し、実行可能領域Φ1を表す論理式を算出する。第2パレート計算部1344は、第2領域計算部1343により算出された論理式に基づいて実行可能領域Φ1のパレートフロントPF1を算出する。なお、S135及びS136の処理は、S133及びS134の処理と順序を入れ替えてもよい。
(S137)数式処理部134は、実行可能領域Φ0及びΦ1の情報と、パレートフロントPF0及びPF1の情報とを出力する。例えば、実行可能領域Φ0及びΦ1の情報と、パレートフロントPF0及びPF1の情報とは、表示制御部135に入力される。なお、実行可能領域Φ0及びΦ1の情報と、パレートフロントPF0及びPF1の情報とは、記憶部132に格納されてもよい。S137の処理を完了すると、数式処理の実行は完了する。
図12は、第2の実施の形態に係る計算結果の表示方法を示した図である。図12に示すように、実行可能領域Φ0及びΦ1の情報とパレートフロントPF0及びPF1の情報とを得た表示制御部135は、実行可能領域Φ0及びΦ1を同じ画面上に重ねて表示させる。また、表示制御部135は、パレートフロントPF0及びPF1を同じ画面上に重ねて表示させる。図12の例では、パレートフロントを境界とし、自由変数y1及びy2がそれぞれ大きくなる方向に向かって広がる領域(ハッチングを施した領域)が実行可能領域を表している。また、図12の例では、実行可能領域Φ0及びΦ1が重なる共通領域を実行可能領域Φ0及びΦ1とは異なるハッチングで表現している。
図12に示した表示例のように、同じ座標系に実行可能領域Φ0及びΦ1を重ねて表示させることで、実行可能領域Φ0及びΦ1が重なる共通領域を容易に視認することが可能になる。また、パレートフロントPF0及びPF1を重ねて表示させることで、最適解の近傍における簡略化の影響を容易に視認することが可能になる。共通領域を除く実行可能領域Φ0及びΦ1の一部領域が簡略化による影響を表している。例えば、この一部領域の面積を見積もることにより、簡略化による影響の大きさを評価することができる。また、自由変数が共通領域内に収まるようにパラメータの設定などを行うことで、簡略化の影響に左右されにくい設計や評価などが行えるようになる。
なお、図12の例では実行可能領域Φ0及びΦ1とパレートフロントPF0及びPF1とを同じ座標系に重ねて表示させる表示方法を示したが、パレートフロントPF0及びPF1だけを同じ座標系に重ねて表示させる表示方法なども考えられる。また、実行可能領域Φ0及びΦ1だけを同じ座標系に重ねて表示させる表示方法なども考えられる。また、評価指標が3つ以上ある場合には、実行可能領域Φ0及びΦ1やパレートフロントPF0及びPF1を立体表示させる表示方法や、等高線表示させる表示方法なども考えられる。また、表現方法としては、例えば、網掛け、色彩、線種、立体表現、透過表現などが考えられる。
ここで、下記の式(11)及び式(12)に示した目的関数F0及びG0について実行可能領域Φ0及びΦ1とパレートフロントPF0及びPF1とを計算した計算例を示す。
図13は、第2の実施の形態に係る簡略化計算の例を示した図である。上記の式(11)に示した目的関数F0は、図13(A)の実線で示したグラフにより表現される。例えば、パラメータxが3から9の範囲で目的関数F0に近似する2次多項式を求めると、下記の式(13)で表現される2次多項式F1が得られる。そこで、この2次多項式F1を簡略化後の目的関数に設定することとする。目的関数F1は、図13(A)の鎖線で表現される。
一方、上記の式(12)に示した目的関数G0は、図13(B)の実線で示したグラフにより表現される。2次多項式F1を求めた場合と同様に、パラメータxが3から9の範囲で目的関数G0に近似する2次多項式を求めると、下記の式(14)で表現される2次多項式G1が得られる。そこで、この2次多項式G1を簡略化後の目的関数に設定することとする。目的関数G1は、図13(B)の鎖線で表現される。
図14は、第2の実施の形態に係る計算結果の表示方法を示した図である。目的関数F0、G0、F1、G1が得られると、数式処理により実行可能領域Φ0及びΦ1を算出することができる。目的関数F0、G0、F1、G1がそれぞれ上記の式(11)〜(14)により与えられ、パラメータ範囲Dが下記の式(15)で与えられる場合、実行可能領域Φ0及びΦ1は、図14のようになる。但し、図14(B)は、図14(A)の一部Rを拡大表示したものである。参考までに、実行可能領域Φ1は、下記の式(16)に示した論理式で表現される。
以上説明したように、第2の実施の形態に係る技術を適用すると、簡略化による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、簡略化後の目的関数に基づく実行可能領域やパレートフロントの計算結果を利用して設計や評価を実施する際に、簡略化の影響を考慮した設計や評価を行うことが可能になる。言い換えれば、簡略化の影響を十分に認識した上で、演算負荷の低い簡略化後の目的関数を利用することが可能になる。また、簡略化の影響を確かめながら、計算結果への影響が少ない簡略化の方法を決めることも可能になる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。
図15は、第3の実施の形態に係る拡張パラメータ範囲の設定例を示した図である。
第2の実施の形態に関する説明の中で、一例として目的関数F0を簡略化して目的関数F1を得る方法について紹介した。この方法は、パラメータ範囲Dにおいて目的関数F0に近似する近似式を求め、当該近似式を目的関数F1に設定するというものであった。そのため、パラメータ範囲Dにおいて目的関数F0と目的関数F1とは十分に近似する。しかし、パラメータがパラメータ範囲Dを逸脱した場合、目的関数F0と目的関数F1との差が大きく開いてしまう可能性がある。目的関数G0と目的関数G1との差についても同様である。
例えば、製品の設計などを行う場合、簡略化の際に考慮するパラメータ範囲Dは、図15に示すように、実際に製品が利用される環境を想定したパラメータ範囲(実利用範囲Dr)よりも広く設定されることが多い。例えば、パラメータ範囲Dは、製品の動作保証環境や製品の規格などに基づいて想定される実利用範囲Drよりも広く設定される。つまり、製品の利用者が動作保証環境とは少し異なる環境で利用した場合でも、製品が直ちに故障してしまうことがないように余裕をみてパラメータ範囲Dが設定されるのである。但し、近似式を利用していることから、パラメータがパラメータ範囲Dを逸脱した場合の影響についても事前に把握しておくことが好ましい。
そこで、本件発明者は、パラメータの逸脱による計算結果への影響を見積もれるようにする方法を検討した。第3の実施の形態では、このようにパラメータがパラメータ範囲Dを逸脱した場合の影響を可視化する方法を紹介する。
以下の説明では、図15に示した表現を用い、パラメータがパラメータ範囲Dの上限を上回る逸脱の量をδ1、パラメータがパラメータ範囲Dの下限を下回る逸脱の量をδ2と表記する。なお、δ1及びδ2は同じ値δに設定してもよい。また、逸脱を考慮したパラメータ範囲を拡張パラメータ範囲Dδと表現することにする。また、第3の実施の形態に係る評価支援システムは、第2の実施の形態に係る評価支援システム100において情報処理装置130を第3の実施の形態に係る情報処理装置230に置き換えたものである。
図16は、第3の実施の形態に係る情報処理装置の機能ブロックの例を示した図である。図16に示すように、第3の実施の形態に係る情報処理装置230は、目的関数計算部231、記憶部232、簡略化部233、数式処理部234、及び表示制御部235を有する。
なお、情報処理装置230は、第2の実施の形態に係る情報処理装置130と同じハードウェアを有する。また、目的関数計算部231、簡略化部233、数式処理部234、及び表示制御部235は、CPU901が実行するプログラムのモジュールとして実現できる。また、簡略化部233、数式処理部234、及び表示制御部235が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。また、記憶部232は、RAM902やHDD903に確保された記憶領域である。
但し、目的関数計算部231、記憶部232、及び簡略化部233は、それぞれ第2の実施の形態に係る目的関数計算部131、記憶部132、及び簡略化部133と実質的に同じ処理を実行する。従って、第2の実施の形態と実質的に同じ事項については説明を省略し、第2の実施の形態と相違する事項を中心に説明を行う。以下、主に数式処理部234及び表示制御部235について説明する。
図16に示すように、数式処理部234は、第1領域計算部2341、第1パレート計算部2342、第2領域計算部2343、及び第2パレート計算部2344を有する。さらに、数式処理部234は、第3領域計算部2345、第3パレート計算部2346、第4領域計算部2347、及び第4パレート計算部2348を有する。
簡略化前の目的関数F0及びG0は、第1領域計算部2341及び第3領域計算部2345に入力される。一方、簡略化後の目的関数F1及びG1は、第2領域計算部2343及び第4領域計算部2347に入力される。
第1領域計算部2341は、簡略化前の目的関数F0及びG0に含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、簡略化前の目的関数F0及びG0の出力値を自由変数y1及びy2に設定する。また、第1領域計算部2341は、束縛変数がパラメータ範囲Dに含まれることを制約条件に設定する。そして、第1領域計算部2341は、設定した制約条件の下で、簡略化前の目的関数F0及びG0を満たす束縛変数が存在することを表現した下記の式(17)に示す論理式を設定する。
第1領域計算部2341は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φ0を表現した論理式を生成する。第1領域計算部2341により生成された実行可能領域Φ0を表す論理式は、第1パレート計算部2342に入力される。第1パレート計算部2342は、実行可能領域Φ0を表す論理式に基づいてパレートフロントPF0を計算する。
第2領域計算部2343は、簡略化後の目的関数F1及びG1に含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、簡略化後の目的関数F1及びG1の出力値を自由変数y1及びy2に設定する。また、第2領域計算部2343は、束縛変数がパラメータ範囲Dに含まれることを制約条件に設定する。そして、第2領域計算部2343は、設定した制約条件の下で、簡略化後の目的関数F1及びG1を満たす束縛変数が存在することを表現した下記の式(18)に示す論理式を設定する。
第2領域計算部2343は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φ1を表現した論理式を生成する。第2領域計算部2343により生成された実行可能領域Φ1を表す論理式は、第2パレート計算部2344に入力される。第2パレート計算部2344は、実行可能領域Φ1を表す論理式に基づいてパレートフロントPF1を計算する。
第3領域計算部2345は、簡略化前の目的関数F0及びG0に含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、簡略化前の目的関数F0及びG0の出力値を自由変数y1及びy2に設定する。また、第3領域計算部2345は、束縛変数が拡張パラメータ範囲Dδに含まれることを制約条件に設定する。そして、第3領域計算部2345は、設定した制約条件の下で、簡略化前の目的関数F0及びG0を満たす束縛変数が存在することを表現した下記の式(19)に示す論理式を設定する。
第3領域計算部2345は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φ0δを表現した論理式を生成する。第3領域計算部2345により生成された実行可能領域Φ0δを表す論理式は、第3パレート計算部2346に入力される。第3パレート計算部2346は、実行可能領域Φ0δを表す論理式に基づいてパレートフロントPF0δを計算する。
第4領域計算部2347は、簡略化後の目的関数F1及びG1に含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、簡略化後の目的関数F1及びG1の出力値を自由変数y1及びy2に設定する。また、第4領域計算部2347は、束縛変数が拡張パラメータ範囲Dδに含まれることを制約条件に設定する。そして、第4領域計算部2347は、設定した制約条件の下で、簡略化後の目的関数F1及びG1を満たす束縛変数が存在することを表現した下記の式(20)に示す論理式を設定する。
第4領域計算部2347は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φ1δを表現した論理式を生成する。第4領域計算部2347により生成された実行可能領域Φ1δを表す論理式は、第4パレート計算部2348に入力される。第4パレート計算部2348は、実行可能領域Φ1δを表す論理式に基づいてパレートフロントPF1δを計算する。
表示制御部235は、実行可能領域Φ0(y1,y2)、Φ1(y1,y2)、Φ0δ(y1,y2)、Φ1δ(y1,y2)のうち少なくとも2つを比較可能な形式で表示装置140に表示させる。また、表示制御部235は、パレートフロントPF0、PF1、PF0δ、PF1δのうち少なくとも2つを比較可能な形式で表示装置140に表示させる。
例えば、パレートフロントPF0及びPF0δを同じ画面上で重ねて表示させれば、パラメータの逸脱による実行可能領域Φ0への影響を視覚的に把握することが可能になる。また、パレートフロントPF1及びPF1δを同じ画面上で重ねて表示させれば、パラメータの逸脱による実行可能領域Φ1への影響を視覚的に把握することが可能になる。また、パレートフロントPF0及びPF1δを同じ画面上で重ねて表示させれば、パラメータの逸脱及び簡略化による実行可能領域Φ0への影響を視覚的に把握することが可能になる。
上記のように、第3の実施の形態に係る情報処理装置230によれば、パラメータの逸脱による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、パラメータの逸脱による影響を考慮した、より堅牢な設計や評価を行うことが可能になる。
次に、情報処理装置230による処理の流れについて説明する。但し、情報処理装置230が実行する処理は、第2の実施の形態に係る処理と同様、目的関数の計算、目的関数の簡略化、数式処理の実行、及び結果の表示を含む(図8を参照)。また、目的関数の計算及び目的関数の簡略化に係る処理の内容は、第2の実施の形態に係る目的関数の計算及び目的関数の簡略化に係る処理と実質的に同じである。従って、ここでは情報処理装置230による数式処理の流れについて説明する。
図17は、第3の実施の形態に係る数式処理の流れを示した図である。図17に示した数式処理は、主に数式処理部234が実行する。
(S231)数式処理部234は、パラメータ範囲D及び拡張パラメータ範囲Dδを取得する。パラメータ範囲D及び拡張パラメータ範囲Dδは、利用者が任意に決められるようにしてもよいし、評価対象の稼働条件などを考慮して予め決められていてもよい。例えば、パラメータ範囲D及び拡張パラメータ範囲Dδは、入力デバイス92を介して利用者が入力したものであってもよいし、HDD903などに予め格納されたものであってもよいし、ネットワーク120を介して提供されるものであってもよい。
(S232)数式処理部234は、目的関数F0、G0、F1、G1を取得する。例えば、数式処理部234は、記憶部232に格納された目的関数F0、G0、F1、G1の一部又は全部を読み出す。なお、数式処理部234は、記憶部232から目的関数F0、G0、F1、G1の一部又は全部を読み出すことに代えて、簡略化部233から目的関数F0、G0、F1、G1の一部又は全部を直接取得してもよい。また、数式処理部234は、記憶部232から目的関数F0、G0、F1、G1の一部又は全部を読み出すことと併せて、簡略化部233から目的関数F0、G0、F1、G1の一部又は全部を直接取得してもよい。
目的関数F0及びG0は、第1領域計算部2341及び第3領域計算部2345に入力される。目的関数F1及びG1は、第2領域計算部2343及び第4領域計算部2347に入力される。
(S233)第1領域計算部2341は、目的関数F0及びG0に基づく論理式L0を設定する。但し、論理式L0は、上記の式(17)で表現される。また、第3領域計算部2345は、目的関数F0及びG0に基づく論理式L0δを設定する。但し、論理式L0δは、上記の式(19)で表現される。
(S234)第1領域計算部2341は、論理式L0に対する数式処理を実行し、実行可能領域Φ0を表す論理式を算出する。第1パレート計算部2342は、第1領域計算部2341により算出された論理式に基づいて実行可能領域Φ0のパレートフロントPF0を算出する。
(S235)第3領域計算部2345は、論理式L0δに対する数式処理を実行し、実行可能領域Φ0δを表す論理式を算出する。第3パレート計算部2346は、第3領域計算部2345により算出された論理式に基づいて実行可能領域Φ0δのパレートフロントPF0δを算出する。なお、S235の処理は、S234の処理と順序を入れ替えてもよい。
(S236)第2領域計算部2343は、目的関数F1及びG1に基づく論理式L1を設定する。但し、論理式L1は、上記の式(18)で表現される。また、第4領域計算部2347は、目的関数F1及びG1に基づく論理式L1δを設定する。但し、論理式L1δは、上記の式(20)で表現される。
(S237)第2領域計算部2343は、論理式L1に対する数式処理を実行し、実行可能領域Φ1を表す論理式を算出する。第2パレート計算部2344は、第2領域計算部2343により算出された論理式に基づいて実行可能領域Φ1のパレートフロントPF1を算出する。
(S238)第4領域計算部2347は、論理式L1δに対する数式処理を実行し、実行可能領域Φ1δを表す論理式を算出する。第4パレート計算部2348は、第4領域計算部2347により算出された論理式に基づいて実行可能領域Φ1δのパレートフロントPF1δを算出する。なお、S238の処理は、S237の処理と順序を入れ替えてもよい。
(S239)数式処理部234は、実行可能領域Φ0、Φ1、Φ0δ、Φ1δの情報と、パレートフロントPF0、PF1、PF0δ、PF1δの情報とを出力する。例えば、実行可能領域Φ0、Φ1、Φ0δ、Φ1δの情報と、パレートフロントPF0、PF1、PF0δ、PF1δの情報とは、表示制御部235に入力される。なお、実行可能領域Φ0、Φ1、Φ0δ、Φ1δの情報と、パレートフロントPF0、PF1、PF0δ、PF1δの情報とは、記憶部232に格納されてもよい。S239の処理を完了すると、数式処理の実行は完了する。なお、S233〜S235の処理は、S236〜S238の処理と順序を入れ替えてもよい。
図18は、第3の実施の形態に係る計算結果の第1の表示方法を示した図である。図18(A)に示すように、実行可能領域Φ0及びΦ0δの情報とパレートフロントPF0及びPF0δの情報とを得た表示制御部235は、実行可能領域Φ0及びΦ0δを同じ画面上に重ねて表示させる。また、表示制御部235は、パレートフロントPF0及びPF0δを同じ画面上に重ねて表示させる。図18の例では、実行可能領域Φ0及びΦ0δが重なる共通領域の表示を省略し、実行可能領域Φ0及びΦ0δの差異を表示する表示方法が採られている。この表示方法によると、パラメータの逸脱による実行可能領域Φ0への影響を容易に視認することが可能になる。
また、図18(B)に示すように、実行可能領域Φ1及びΦ1δの情報とパレートフロントPF1及びPF1δの情報とを得た表示制御部235は、実行可能領域Φ1及びΦ1δを同じ画面上に重ねて表示させる。また、表示制御部235は、パレートフロントPF1及びPF1δを同じ画面上に重ねて表示させる。図18の例では、実行可能領域Φ1及びΦ1δが重なる共通領域の表示を省略し、実行可能領域Φ1及びΦ1δの差異を表示する表示方法が採られている。この表示方法によると、パラメータの逸脱による実行可能領域Φ1への影響を容易に視認することが可能になる。
図19は、第3の実施の形態に係る計算結果の第2の表示方法を示した図である。図19に示すように、実行可能領域Φ0及びΦ1δの情報とパレートフロントPF0及びPF1δの情報とを得た表示制御部235は、実行可能領域Φ0及びΦ1δを同じ画面上に重ねて表示させる。また、表示制御部235は、パレートフロントPF0及びPF1δを同じ画面上に重ねて表示させる。図19の例では、実行可能領域Φ0及びΦ1δが重なる共通領域の表示を省略し、実行可能領域Φ0及びΦ1δの差異を表示する表示方法が採られている。この表示方法によると、パラメータの逸脱及び簡略化による実行可能領域Φ0への影響を容易に視認することが可能になる。
図20は、第3の実施の形態に係る計算結果の表示方法を示した図である。ここでは、第2の実施の形態に係る説明の中で例示した上記の式(11)及び式(12)で表現される目的関数F0及びG0について実行可能領域Φ0及びΦ0δとパレートフロントPF0及びPF0δとを計算した計算例を示す。但し、パラメータ範囲Dは上記の式(15)で与えられ、拡張パラメータ範囲Dδは下記の式(21)で与えられるものとした。この場合、実行可能領域Φ0及びΦ0δは、図20のようになる。但し、図20(B)は、図20(A)の一部Rを拡大表示したものである。なお、図20の例では、実行可能領域Φ0及びΦ0δが重なる共通領域の表示を省略し、実行可能領域Φ0及びΦ0δの差異を表示する表示方法が採られている。
以上説明したように、第3の実施の形態に係る技術を適用すると、パラメータの逸脱による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、実行可能領域やパレートフロントの計算結果を利用して設計や評価を実施する際に、パラメータの逸脱による影響を考慮した堅牢な設計や評価を行うことが可能になる。
また、パラメータの逸脱による影響を確かめながら、計算結果への影響が少ない簡略化の方法を決めることも可能になる。例えば、予め用意した逸脱δ1及びδ2の値を変更しつつ、2つのパレートフロントPF0及びPF0δに挟まれた領域を確認することで、パラメータの逸脱による影響を評価することが可能になる。従って、許容可能な逸脱δ1及びδ2の範囲を定量的に見積もることができるようになる。
[第4の実施の形態]
次に、第4の実施の形態について説明する。第4の実施の形態では、第3の実施の形態と同様、パラメータの逸脱による影響を視覚化する方法を紹介する。また、第4の実施の形態においても、第3の実施の形態に係る説明の中で導入した拡張パラメータ範囲Dδの表現を同様に用いることにする。また、第4の実施の形態に係る評価支援システムは、第2の実施の形態に係る評価支援システム100において情報処理装置130を第4の実施の形態に係る情報処理装置330に置き換えたものであるとする。
図21は、第4の実施の形態に係る情報処理装置の機能ブロックの例を示した図である。図21に示すように、第4の実施の形態に係る情報処理装置330は、目的関数計算部331、数式処理部332、及び表示制御部333を有する。
なお、情報処理装置330は、第2の実施の形態に係る情報処理装置130と同じハードウェアを有する。また、目的関数計算部331、数式処理部332、及び表示制御部333は、CPU901が実行するプログラムのモジュールとして実現できる。但し、目的関数計算部331、数式処理部332、及び表示制御部333が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。
但し、目的関数計算部331は、第2の実施の形態に係る目的関数計算部131と実質的に同じ処理を実行する。従って、第2の実施の形態と実質的に同じ事項については説明を省略し、第2の実施の形態と相違する事項を中心に説明を行う。以下、主に数式処理部332及び表示制御部333について説明する。
図21に示すように、数式処理部332は、第1領域計算部3321、第1パレート計算部3322、第2領域計算部3323、及び第2パレート計算部3324を有する。また、目的関数計算部331により算出された目的関数F及びGは、それぞれ第1領域計算部3321及び第2領域計算部3323に入力される。
第1領域計算部3321は、目的関数F及びGに含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、目的関数F及びGの出力値を自由変数y1及びy2に設定する。また、第1領域計算部3321は、束縛変数がパラメータ範囲Dに含まれることを制約条件に設定する。そして、第1領域計算部3321は、設定した制約条件の下で、目的関数F及びGを満たす束縛変数が存在することを表現した下記の式(22)に示す論理式を設定する。
第1領域計算部3321は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φを表現した論理式を生成する。第1領域計算部3321により生成された実行可能領域Φを表す論理式は、第1パレート計算部3322に入力される。第1パレート計算部3322は、実行可能領域Φを表す論理式に基づいてパレートフロントPFを計算する。
第2領域計算部3323は、目的関数F及びGに含まれる変数の中でパラメータが代入される変数xを束縛変数とし、かつ、目的関数F及びGの出力値を自由変数y1及びy2に設定する。また、第2領域計算部3323は、束縛変数が拡張パラメータ範囲Dδに含まれることを制約条件に設定する。そして、第2領域計算部3323は、設定した制約条件の下で、目的関数F及びGを満たす束縛変数が存在することを表現した下記の式(23)に示す論理式を設定する。
第2領域計算部3323は、設定した論理式に所定の数式処理を施して束縛変数を消去し、自由変数の組(y1,y2)が取り得る値の範囲である実行可能領域Φδを表現した論理式を生成する。第2領域計算部3323により生成された実行可能領域Φδを表す論理式は、第2パレート計算部3324に入力される。第2パレート計算部3324は、実行可能領域Φδを表す論理式に基づいてパレートフロントPFδを計算する。
表示制御部333は、実行可能領域Φ(y1,y2)及びΦδ(y1,y2)を比較可能な形式で表示装置140に表示させる。また、表示制御部333は、パレートフロントPF及びPFδを比較可能な形式で表示装置140に表示させる。例えば、パレートフロントPF及びPFδを同じ画面上で重ねて表示させれば、パラメータの逸脱による実行可能領域Φへの影響を視覚的に把握することが可能になる。
上記のように、第4の実施の形態に係る情報処理装置330によれば、パラメータの逸脱による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、パラメータの逸脱による影響を考慮した、より堅牢な設計や評価を行うことが可能になる。
図22は、第4の実施の形態に係る数式処理の例を示した図である。図22に示すように、第4の実施の形態においては、目的関数F及びGとパラメータ範囲Dとに関する論理式、及び、目的関数F及びGと拡張パラメータ範囲Dδとに関する論理式に対して数式処理が実行される。そして、各論理式に対する数式処理の結果得られた実行可能領域Φ及びΦδが比較可能な形式で表示される。また、実行可能領域Φ及びΦδから算出されたパレートフロントPF及びPFδが比較可能な形式で表示される。
次に、情報処理装置330による処理の流れについて説明する。
図23は、第4の実施の形態に係る情報処理装置による処理の流れを示した図である。
(S301)目的関数計算部331により、目的関数の計算が実行される。
(S302)数式処理部332により、数式処理が実行される。
(S303)表示制御部333により、計算結果が表示される。
以下、上記の図23に示した各処理についてさらに説明する。但し、情報処理装置330が実行する処理のうち、目的関数の計算処理は、第2の実施の形態に係る情報処理装置130が実行する目的関数の計算処理と実質的に同じである。従って、ここでは情報処理装置330による数式処理の流れについて詳細に説明する。
図24は、第4の実施の形態に係る数式処理の流れを示した図である。図24に示した数式処理は、主に数式処理部332が実行する。
(S311)数式処理部332は、パラメータ範囲D及び拡張パラメータ範囲Dδを取得する。パラメータ範囲D及び拡張パラメータ範囲Dδは、利用者が任意に決められるようにしてもよいし、評価対象の稼働条件などを考慮して予め決められていてもよい。例えば、パラメータ範囲D及び拡張パラメータ範囲Dδは、入力デバイス92を介して利用者が入力したものであってもよいし、HDD903などに予め格納されたものであってもよいし、ネットワーク120を介して提供されるものであってもよい。
(S312)数式処理部332は、目的関数F及びGを取得する。なお、目的関数F及びGは、第1領域計算部3321及び第2領域計算部3323に入力される。
(S313)第1領域計算部3321は、目的関数F及びGに基づく論理式Lを設定する。但し、論理式Lは、上記の式(22)で表現される。また、第2領域計算部3323は、目的関数F及びGに基づく論理式Lδを設定する。但し、論理式Lδは、上記の式(23)で表現される。
(S314)第1領域計算部3321は、論理式Lに対する数式処理を実行し、実行可能領域Φを表す論理式を算出する。第1パレート計算部3322は、第1領域計算部3321により算出された論理式に基づいて実行可能領域ΦのパレートフロントPFを算出する。
(S315)第2領域計算部3323は、論理式Lδに対する数式処理を実行し、実行可能領域Φδを表す論理式を算出する。第2パレート計算部3324は、第2領域計算部3323により算出された論理式に基づいて実行可能領域ΦδのパレートフロントPFδを算出する。なお、S315の処理は、S314の処理と順序を入れ替えてもよい。
(S316)数式処理部332は、実行可能領域Φ及びΦδの情報と、パレートフロントPF及びPFδの情報とを出力する。例えば、実行可能領域Φ及びΦδの情報と、パレートフロントPF及びPFδの情報とは、表示制御部333に入力される。S316の処理を完了すると、数式処理の実行は完了する。
図25は、第4の実施の形態に係る計算結果の表示方法を示した図である。図25に示すように、実行可能領域Φ及びΦδの情報とパレートフロントPF及びPFδの情報とを得た表示制御部333は、実行可能領域Φ及びΦδを同じ画面上に重ねて表示させる。また、表示制御部333は、パレートフロントPF及びPFδを同じ画面上に重ねて表示させる。図25の例では、実行可能領域Φ及びΦδが重なる共通領域の表示を省略し、実行可能領域Φ及びΦδの差異を表示する表示方法が採られている。この表示方法によると、パラメータの逸脱による実行可能領域Φへの影響を容易に視認することが可能になる。
以上説明したように、第4の実施の形態に係る技術を適用すると、パラメータの逸脱による計算結果への影響を利用者が視覚的に認識することが可能になる。その結果、実行可能領域やパレートフロントの計算結果を利用して設計や評価を実施する際に、パラメータの逸脱による影響を考慮した堅牢な設計や評価を行うことが可能になる。
また、パラメータの逸脱による影響を確かめながら、計算結果への影響が少ない簡略化の方法を決めることも可能になる。例えば、予め用意した逸脱δ1及びδ2の値を変更しつつ、2つのパレートフロントPF及びPFδに挟まれた領域を確認することで、パラメータの逸脱による影響を見積もることが可能になる。従って、許容可能な逸脱δ1及びδ2の範囲を定量的に評価することができるようになる。