以下に、本願の開示する応答曲面計算プログラム、応答曲面計算装置及び応答曲面計算方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。
[実施例1に係る応答曲面計算装置の機能構成の一例]
図1は、実施例1に係る応答曲面計算装置の機能構成の一例を示す図である。図1の例に示すように、応答曲面計算装置1は、入力部2、通信部3、記憶部4及び制御部5を有する。
本実施例に係る応答曲面計算装置1は、「説明変数1」及び「説明変数2」の2つの種類の説明変数並びに「追加変数1」及び「追加変数2」の2つの種類の追加変数から、「目的変数3」を計算するための応答曲面を計算する。「説明変数1」及び「説明変数2」、「追加変数1」及び「追加変数2」、並びに、「目的変数3」の各変数については、後述する。
入力部2は、各種情報を制御部5に入力する。例えば、入力部2は、応答曲面計算装置1のユーザから後述の応答曲面計算処理を実行するための指示を受け付けた場合には、受け付けた指示を制御部5に入力する。また、入力部2は、ユーザから、後述する「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値を受け付けた場合には、受け付けた値を制御部5に入力する。入力部2のデバイスの一例としては、マウスやキーボードなどが挙げられる。
通信部3は、応答曲面計算装置1と、図示しない他の装置との通信を行うためのインターフェースである。通信部3は、図示しないネットワークを介して他の装置に接続されている。例えば、通信部3は、後述の出力制御部10から後述の応答曲面を受信した場合には、受信した応答曲面を、ネットワークを介して、他の装置に送信する。
記憶部4は、各種情報を記憶する。例えば、記憶部4は、後述の第4の計算部9によって計算された応答曲面4aを記憶する。応答曲面4aは、後述の応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」である。
記憶部14は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
制御部5は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部5は、第1の計算部6と、第2の計算部7と、第3の計算部8と、第4の計算部9と、出力制御部10とを有する。
第1の計算部6は、以下に説明するように、それぞれ異なる種類の目的変数の近似値を計算するための複数の応答曲面のそれぞれによって、異なる種類の目的変数の近似値が計算される際に用いられる複数の種類の説明変数の値の組合せを複数計算する。
第1の計算部6の一態様について説明する。例えば、第1の計算部6は、入力部2から応答曲面計算処理を実行するための指示が入力されると、入力部2から「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値が入力されたか否かを判定する。
ここで、「説明変数1」は、例えば、車両のボディの全長を示す変数であり、「説明変数2」は、例えば、車両のボディの全幅を示す変数である。また、「説明変数1」及び「説明変数2」の2つの説明変数は、例えば、「目的変数1」である車両の燃費を計算するための応答曲面「f1(説明変数1,説明変数2)」によって車両の燃費が計算される際に用いられる2つの説明変数である。また、「説明変数1」及び「説明変数2」の2つの説明変数は、「目的変数2」であるボディの価格を計算するための応答曲面「f2(説明変数1,説明変数2)」によってボディの価格が計算される際に用いられる2つの説明変数でもある。
「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値が入力された場合には、第1の計算部6は、次の処理を行う。すなわち、第1の計算部6は、「説明変数1」の下限の値から上限の値までの範囲内で、「説明変数1」の値を複数サンプリング(抽出)し、「説明変数2」の下限の値から上限の値までの範囲内で、「説明変数2」の値を複数サンプリングする。図2は、「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値の一例を示す図である。図2の例に示すように、「説明変数1」の上限の値「3.0」及び下限の値「1.0」、並びに、「説明変数2」の上限の値「6.0」及び下限の値「4.0」が入力された場合には、第1の計算部6は、次の処理を行う。すなわち、第1の計算部6は、「説明変数1」の下限の値「1.0」から上限の値「3.0」までの範囲内で、「説明変数1」の値を複数サンプリングする。例えば、第1の計算部6は、値「1.0」と、値「3.0」とをサンプリングする。また、第1の計算部6は、「説明変数2」の下限の値「4.0」から上限の値「6.0」までの範囲内で、「説明変数2」の値を複数サンプリングする。例えば、第1の計算部6は、値「4.0」と、値「6.0」とをサンプリングする。
そして、第1の計算部6は、サンプリングした「説明変数1」の値と、サンプリングした「説明変数2」の値との組合せを複数計算する。図3は、サンプリングした「説明変数1」の値と、サンプリングした「説明変数2」の値との組合せを複数計算した結果の一例を示す図である。例えば、図3の例に示すように、第1の計算部6は、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せと、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せとの2つの組合せを計算する。ここで、第1の計算部6は、例えば、ある組合せにおける「説明変数1」の値が、他の組合せにおける「説明変数1」の値に用いられないように、複数の組合せを計算する。さらに、第1の計算部6は、例えば、ある組合せにおける「説明変数2」の値が、他の組合せにおける「説明変数2」の値に用いられないように、複数の組合せを計算する。
なお、第1の計算部6は、ラテン超方格法を用いて、図3の例に示すように、サンプリングした「説明変数1」の値と、サンプリングした「説明変数2」の値との組合せを複数計算することもできる。このように、ラテン超方格法を用いることで、第1の計算部6は、ある組合せにおける「説明変数1」の値が、他の組合せにおける「説明変数1」の値に用いられないように、複数の組合せを計算することができる。さらに、第1の計算部6は、ある組合せにおける「説明変数2」の値が、他の組合せにおける「説明変数2」の値に用いられないように、複数の組合せを計算することができる。ここで、ラテン超方格法を用いる場合には、例えば、サンプリングした同一の種類の説明変数の値が並ぶ方向を「列」の方向とし、組合せにおける各説明変数の値が並ぶ方向を「行」の方向とする。
そして、第1の計算部6は、計算した、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する。このようにコピーを作成する理由は、後述する第2の計算部7において、「追加変数1」の値と「追加変数2」の値との後述する複数の組合せのそれぞれを、「説明変数1」の値と「説明変数2」の値との複数の同一の組合せのそれぞれに対応付けるためである。
図4は、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する処理の一例を説明するための図である。例えば、第1の計算部6は、図4に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せと同一の組合せのコピーを2つ作成して、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せを3つ作成する。このように3つの組合せを作成する理由は、後述する第2の計算部7において、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せに対して、後述する3つの「追加変数1」の値と「追加変数2」の値との組合せが計算されるからである。なお、第1の計算部6は、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せと同一の組合せのコピーを2つ以上作成して、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せを3つ以上作成することもできる。
また、第1の計算部6は、図4に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せと同一の組合せのコピーを2つ作成して、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せを3つ作成する。このように3つの組合せを作成する理由は、後述する第2の計算部7において、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せに対して、後述する3つの「追加変数1」の値と「追加変数2」の値との組合せが計算されるからである。なお、第1の計算部6は、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せと同一の組合せのコピーを2つ以上作成して、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せを3つ以上作成することもできる。
第2の計算部7は、以下に説明するように、第1の計算部6により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。
第2の計算部7の一態様について説明する。例えば、第2の計算部7は、第1の計算部6により「説明変数1」の値と「説明変数2」の値との組合せが複数計算され、計算された組合せのコピーが作成されると、次の処理を行う。すなわち、第2の計算部7は、「目的変数1」及び「目的変数2」の目的変数の種類の数「2」と同一の数の種類の追加変数である「追加変数1」及び「追加変数2」のそれぞれについて、「0.0」から「1.0」までを含む範囲内で複数の値をサンプリングする。第2の計算部7は、例えば、「追加変数1」の値の範囲である「0.0」から「1.0」までの範囲内で、端点である「追加変数1」の値「0.0」と値「1.0」とをサンプリングする。また、第2の計算部7は、例えば、「追加変数2」の値の範囲である「0.0」から「1.0」までを含む範囲内で、端点である「追加変数2」の値「0.0」と値「1.0」とをサンプリングする。
ここで、「追加変数1」及び「追加変数2」は、例えば、「目的変数1」及び「目的変数2」を重み付けするための変数である。
そして、第2の計算部7は、第1の計算部6により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。図5は、第2の計算部が、第1の計算部により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する処理の一例を説明するための図である。図5に示すように、第2の計算部7は、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」との組合せ(以下、「組合せ1」と称する)に対して、次のような「追加変数1」及び「追加変数2」の各値の組合せを計算する。すなわち、第2の計算部7は、「組合せ1」に対して、サンプリングした「追加変数1」の値「1.0」とサンプリングした「追加変数2」の値「0.0」との組合せを計算する。また、第2の計算部7は、「組合せ1」に対して、サンプリングした「追加変数1」の値「0.0」とサンプリングした「追加変数2」の値「1.0」との組合せを計算する。また、第2の計算部7は、「組合せ1」に対して、サンプリングした「追加変数1」の値「0.0」とサンプリングした「追加変数2」の値「0.0」との組合せを計算する。
ここで、「追加変数1」及び「追加変数2」の各値の組合せの個数は、(追加変数1,追加変数2)=(1.0,0.0)、(0.0,1.0)、(0.0,0.0)、(1.0,1.0)の4通りが考えられる。本実施例に係る第2の計算部7は、「組合せ1」に対して、「追加変数1」及び「追加変数2」の各値の4通りの組合せのうち3つの組合せを計算する。このため、「組合せ1」に対して、2通り以下の組合せを計算した場合よりも、後述の第4の計算部9により応答曲面が計算される際に用いられるデータ数が多くなる。したがって、「組合せ1」に対して、2通り以下の組合せを計算した場合よりも、上述した3つの組合せを計算した場合のほうが、後述の第4の計算部9によって計算される応答曲面の精度が高くなる。
また、図5に示すように、第2の計算部7は、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」との組合せ(以下、「組合せ2」と称する)に対して、次のような「追加変数1」及び「追加変数2」の各値の組合せを計算する。すなわち、第2の計算部7は、「組合せ2」に対して、サンプリングした「追加変数1」の値「1.0」とサンプリングした「追加変数2」の値「0.0」との組合せを計算する。また、第2の計算部7は、「組合せ2」に対して、サンプリングした「追加変数1」の値「0.0」とサンプリングした「追加変数2」の値「1.0」との組合せを計算する。また、第2の計算部7は、「組合せ2」に対して、サンプリングした「追加変数1」の値「1.0」とサンプリングした「追加変数2」の値「1.0」との組合せを計算する。
本実施例に係る第2の計算部7は、「組合せ2」に対して、「追加変数1」及び「追加変数2」の各値の4通りの組合せのうち3つの組合せを計算する。このため、「組合せ2」に対して、2通り以下の組合せを計算した場合よりも、後述の第4の計算部9により応答曲面が計算される際に用いられるデータ数が多くなる。したがって、「組合せ2」に対して、2通り以下の組合せを計算した場合よりも、上述した3つの組合せを計算した場合のほうが、後述の第4の計算部9により計算される応答曲面の精度が高くなる。
また、第2の計算部7は、「組合せ1」及び「組合せ2」の全体に対して、サンプリングした「追加変数1」の値と、サンプリングした「追加変数2」の値との全ての組合せ(4通りの組合せ)を計算する。このように、第2の計算部7は、全ての組合せを網羅するように、サンプリングした「追加変数1」の値と、サンプリングした「追加変数2」の値との組合せを計算する。このため、計算した組合せの数が全ての組合せを網羅しない場合と比べて、後述の第4の計算部9によって計算される応答曲面の精度が高くなる。
第3の計算部8は、以下に説明するように、第1の計算部6により計算された説明変数の値の組合せと、第2の計算部7により計算された追加変数の値の組合せとを組み合わせた組合せごとに、以下の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて、説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する。そして、第3の計算部8は、「目的変数1」の近似値及び「目的変数2」の近似値を、追加変数の値の組合せが示す追加変数の値(「追加変数1」及び「追加変数2」の各値)のそれぞれによって重み付けして、新たな「目的変数3」の近似値を計算する。ここで、「目的変数3」は、追加変数の値の組合せに応じて、異なる種類の目的変数(「目的変数1」及び「目的変数2」)のうちのいずれかの目的変数を示すような目的変数である。
第3の計算部8の一態様について説明する。例えば、第2の計算部7により図5の例に示すような「追加変数1」の値と「追加変数2」の値との組合せが計算された場合を例に挙げて説明する。この場合には、第3の計算部8は、「説明変数1」の値と「説明変数2」の値の組合せと、「追加変数1」の値と「追加変数2」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第3の計算部8は、複数の応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する。
図6は、「目的変数1」の近似値及び「目的変数2」の近似値を計算する処理の一例を説明するための図である。例えば、第3の計算部8は、図6に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」の組合せと、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数1」の近似値「0.5」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数2」の近似値「0.7」を計算する。
また、第3の計算部8は、図6に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」の組合せと、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数1」の近似値「0.6」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数2」の近似値「0.8」を計算する。
また、第3の計算部8は、図6に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」の組合せと、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数1」の近似値「0.5」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数2」の近似値「0.7」を計算する。
また、第3の計算部8は、図6に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」の組合せと、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数1」の近似値「0.6」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数2」の近似値「0.8」を計算する。
また、第3の計算部8は、図6に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「6.0」の組合せと、「追加変数1」の値「0.0」と「追加変数2」の値「0.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数1」の近似値「0.5」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「6.0」から、「目的変数2」の近似値「0.7」を計算する。
また、第3の計算部8は、図6に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「4.0」の組合せと、「追加変数1」の値「1.0」と「追加変数2」の値「1.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数1」の近似値「0.6」を計算する。さらに、第3の計算部8は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「4.0」から、「目的変数2」の近似値「0.8」を計算する。
そして、第3の計算部8は、下記の式(1)を用いて、次の処理を行う。すなわち、第3の計算部8は、「目的変数1」の近似値A及び「目的変数2」の近似値Bを、追加変数の値の組合せが示す「追加変数1」の値α及び「追加変数2」の値βのそれぞれによって重み付けして、新たな「目的変数3」の近似値Cを計算する。
C=A×α+B×β (1)
図7は、「目的変数3」の近似値を計算する処理の一例を説明するための図である。例えば、図6の例に示す「目的変数1」の近似値及び「目的変数2」の近似値を計算した場合には、第3の計算部8は、図7の例に示すように「目的変数3」の近似値を計算する。例えば、第3の計算部8は、図6に示すような、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せと「目的変数1」の値「0.5」と「目的変数2」の値「0.7」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「0.5」(0.5×1.0+0.7×0.0)を計算する。
また、第3の計算部8は、図6に示すような、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せと「目的変数1」の値「0.6」と「目的変数2」の値「0.8」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「0.6」(0.6×1.0+0.8×0.0)を計算する。
また、第3の計算部8は、図6に示すような、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せと「目的変数1」の値「0.5」と「目的変数2」の値「0.7」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「0.7」(0.5×0.0+0.7×1.0)を計算する。
また、第3の計算部8は、図6に示すような、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せと「目的変数1」の値「0.6」と「目的変数2」の値「0.8」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「0.8」(0.6×0.0+0.8×1.0)を計算する。
また、第3の計算部8は、図6に示すような、「追加変数1」の値「0.0」と「追加変数2」の値「0.0」との組合せと「目的変数1」の値「0.5」と「目的変数2」の値「0.7」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「0.0」(0.5×0.0+0.7×0.0)を計算する。
また、第3の計算部8は、図6に示すような、「追加変数1」の値「1.0」と「追加変数2」の値「1.0」との組合せと「目的変数1」の値「0.6」と「目的変数2」の値「0.8」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部8は、式(1)を用いて、図7の例に示すように、「目的変数3」の近似値「1.4」(0.6×1.0+0.8×1.0)を計算する。
ここで、「目的変数3」の近似値Cは、「追加変数1」の値が「1.0」であり「追加変数2」の値が「0.0」である場合には、式(1)より、Aとなる。この場合、「目的変数3」は、「目的変数1」に対応する。また、「目的変数3」の近似値Cは、「追加変数1」の値が「0.0」であり「追加変数2」の値が「1.0」である場合には、式(1)より、Bとなる。この場合、「目的変数3」は、「目的変数2」に対応する。すなわち、「目的変数3」は、追加変数の値の組合せに応じて、「目的変数1」及び「目的変数2」のうちのいずれかの目的変数を示すような目的変数である。
第4の計算部9は、以下に説明するように、第1の計算部6により計算された説明変数の値の組合せ、第2の計算部7により計算された追加変数の値の組合せ、及び、第3の計算部8により計算された「目的変数3」の近似値に基づいて、次の処理を行う。すなわち、第4の計算部9は、1つの応答曲面を計算する。ここで、かかる応答曲面は、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面である。また、かかる応答曲面は、「説明変数1」、「説明変数2」、「追加変数1」及び「追加変数2」から、「目的変数3」を計算するための応答曲面である。
第4の計算部9の一態様について説明する。例えば、第4の計算部9は、第1の計算部6により計算された説明変数の値の組合せ、第2の計算部7により計算された追加変数の値の組合せ、及び、第3の計算部8により計算された「目的変数3」の近似値を用いて、次の処理を行う。すなわち、第4の計算部9は、所定の応答曲面を計算する方法により、「説明変数1」、「説明変数2」、「追加変数1」及び「追加変数2」から「目的変数3」を計算するための応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算する。ここで、所定の応答曲面を計算する方法の一例としては、SVM(Support Vector Machine)、RVM(Relevance Vector Machine)、ガウシアンプロセス等が挙げられるが、所定の応答曲面を計算する方法は、これらに限られない。また、以下の説明では、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算する際に用いられる上述した説明変数の値の組合せ、追加変数の値の組合せ、及び、「目的変数3」の近似値のデータを、「応答曲面生成用データ」と称する。
そして、第4の計算部9は、第1の計算部6によりサンプリングされた「説明変数1」の値と第1の計算部6によりサンプリングされた「説明変数2」の値との組合せを複数計算する。ここで、第4の計算部9は、例えば、第1の計算部6により計算された組合せと異なるように、「説明変数1」の値と「説明変数2」の値との組合せを複数計算する。
図8は、「説明変数1」の値と「説明変数2」の値との組合せを複数計算する処理の一例を説明するための図である。例えば、図8に示すように、第4の計算部9は、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」との組合せ、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」との組合せを計算する。ここで、第4の計算部9は、例えば、第1の計算部6により計算された組合せと異なるように、「説明変数1」の値と「説明変数2」の値との組合せを複数計算する。また、第4の計算部9は、例えば、ある組合せにおける「説明変数1」の値が、他の組合せにおける「説明変数1」の値に用いられないように、複数の組合せを計算する。さらに、第4の計算部9は、例えば、ある組合せにおける「説明変数2」の値が、他の組合せにおける「説明変数2」の値に用いられないように、複数の組合せを計算する。
なお、第4の計算部9は、ラテン超方格法を用いて、図8の例に示すように、「説明変数1」の値と「説明変数2」の値との組合せを複数計算することもできる。このように、ラテン超方格法を用いることで、第4の計算部9は、ある組合せにおける「説明変数1」の値が、他の組合せにおける「説明変数1」の値に用いられないように、複数の組合せを計算することができる。さらに、第4の計算部9は、ある組合せにおける「説明変数2」の値が、他の組合せにおける「説明変数2」の値に用いられないように、複数の組合せを計算することができる。ここで、ラテン超方格法を用いる場合には、例えば、第1の計算部6によりサンプリングされた同一の種類の説明変数の値が並ぶ方向を「列」の方向とし、組合せにおける各説明変数の値が並ぶ方向を「行」の方向とする。
そして、第4の計算部9は、計算した、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する。このようにコピーを作成する理由は、後述するように、「追加変数1」の値と「追加変数2」の値との複数の組合せのそれぞれを、「説明変数1」の値と「説明変数2」の値との同一の組合せに対応付けるためである。
図9は、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する処理の一例を説明するための図である。例えば、第4の計算部9は、図9に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」との組合せと同一の組合せのコピーを1つ作成して、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」との組合せを2つ作成する。このように2つの組合せを作成する理由は、後述する処理において、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」との組合せに対して、後述する2つの「追加変数1」の値と「追加変数2」の値との組合せが計算されるからである。
また、第4の計算部9は、図9に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」との組合せと同一の組合せのコピーを1つ作成して、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」との組合せを2つ作成する。このように2つの組合せを作成する理由は、後述する処理において、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」との組合せに対して、後述する2つの「追加変数1」の値と「追加変数2」の値との組合せが計算されるからである。
そして、第4の計算部9は、第2の計算部7によりサンプリングされた「追加変数1」の値と「追加変数2」の値との組合せを計算する。図10は、第4の計算部が、追加変数の値の組合せを計算する場合の一例を説明するための図である。図10に示すように、第4の計算部9は、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」との組合せ(以下、「組合せ3」と称する)に対して、次のような「追加変数1」及び「追加変数2」の各値の組合せを計算する。すなわち、第4の計算部9は、「組合せ3」に対して、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せ、及び、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せを計算する。
また、図10に示すように、第4の計算部9は、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」との組合せ(以下、「組合せ4」と称する)に対して、次のような、サンプリングされた値の組合せを計算する。すなわち、第4の計算部9は、「組合せ4」に対して、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せ、及び、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せを計算する。
そして、第4の計算部9は、「説明変数1」の値と「説明変数2」の値の組合せと、「追加変数1」の値と「追加変数2」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第4の計算部9は、複数の応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて、説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する。
図11は、「目的変数1」の近似値及び「目的変数2」の近似値を計算する処理の一例を説明するための図である。例えば、第4の計算部9は、図11に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」の組合せと、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第4の計算部9は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「4.0」から、「目的変数1」の近似値「0.5」を計算する。さらに、第4の計算部9は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「4.0」から、「目的変数2」の近似値「0.6」を計算する。
また、第4の計算部9は、図11に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」の組合せと、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第4の計算部9は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「6.0」から、「目的変数1」の近似値「0.7」を計算する。さらに、第4の計算部9は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「6.0」から、「目的変数2」の近似値「0.8」を計算する。
また、第4の計算部9は、図11に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」の組合せと、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第4の計算部9は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「4.0」から、「目的変数1」の近似値「0.5」を計算する。さらに、第4の計算部9は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「1.0」及び「説明変数2」の値「4.0」から、「目的変数2」の近似値「0.6」を計算する。
また、第4の計算部9は、図11に示すように、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」の組合せと、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せとを組み合わせた組合せにおいて、下記の処理を行う。すなわち、第4の計算部9は、応答曲面「f1(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「6.0」から、「目的変数1」の近似値「0.7」を計算する。さらに、第4の計算部9は、応答曲面「f2(説明変数1,説明変数2)」を用いて、「説明変数1」の値「3.0」及び「説明変数2」の値「6.0」から、「目的変数2」の近似値「0.8」を計算する。
そして、第4の計算部9は、式(1)を用いて、次の処理を行う。すなわち、第4の計算部9は、「目的変数1」の近似値A及び「目的変数2」の近似値Bを、追加変数の値の組合せが示す追加変数の値(「追加変数1」の値α及び「追加変数2」の値β)のそれぞれによって重み付けして、「目的変数3」の近似値Cを計算する。
図12は、「目的変数3」の近似値を計算する処理の一例を説明するための図である。例えば、図11の例に示すように「目的変数1」の近似値及び「目的変数2」の近似値を計算した場合には、第4の計算部9は、図12の例に示すように「目的変数3」の近似値を計算する。例えば、第4の計算部9は、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せと「目的変数1」の値「0.5」と「目的変数2」の値「0.6」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第4の計算部9は、式(1)を用いて、図12の例に示すように、「目的変数3」の近似値「0.5」(0.5×1.0+0.6×0.0)を計算する。
また、第4の計算部9は、「追加変数1」の値「1.0」と「追加変数2」の値「0.0」との組合せと「目的変数1」の値「0.7」と「目的変数2」の値「0.8」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第4の計算部9は、式(1)を用いて、図12の例に示すように、「目的変数3」の近似値「0.7」(0.7×1.0+0.8×0.0)を計算する。
また、第4の計算部9は、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せと「目的変数1」の値「0.5」と「目的変数2」の値「0.6」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第4の計算部9は、式(1)を用いて、図12の例に示すように、「目的変数3」の近似値「0.6」(0.5×0.0+0.6×1.0)を計算する。
また、第4の計算部9は、「追加変数1」の値「0.0」と「追加変数2」の値「1.0」との組合せと「目的変数1」の値「0.7」と「目的変数2」の値「0.8」との組合せを組み合わせた組合せにおいて、次の処理を行う。すなわち、第4の計算部9は、式(1)を用いて、図12の例に示すように、「目的変数3」の近似値「0.8」(0.7×0.0+0.8×1.0)を計算する。
そして、第4の計算部9は、計算した応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、次の処理を行う。すなわち、第4の計算部9は、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」と「追加変数1」の値「1.0」と「追加変数2」の値「0.0」とから、「目的変数3」の近似値Y1を計算する。ここで、近似値Y1は、「目的変数1」の値に対応する。
また、第4の計算部9は、計算した応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、次の処理を行う。すなわち、第4の計算部9は、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」と「追加変数1」の値「1.0」と「追加変数2」の値「0.0」とから、「目的変数3」の近似値Y2を計算する。ここで、近似値Y2は、「目的変数1」の値に対応する。
また、第4の計算部9は、計算した応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、次の処理を行う。すなわち、第4の計算部9は、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」と「追加変数1」の値「0.0」と「追加変数2」の値「1.0」とから、「目的変数3」の近似値Y3を計算する。ここで、近似値Y3は、「目的変数2」の値に対応する。
また、第4の計算部9は、計算した応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、次の処理を行う。すなわち、第4の計算部9は、「説明変数1」の値「3.0」と「説明変数2」の値「6.0」と「追加変数1」の値「0.0」と「追加変数2」の値「1.0」とから、「目的変数3」の近似値Y4を計算する。ここで、近似値Y4は、「目的変数2」の値に対応する。
そして、第4の計算部9は、近似値Y1と近似値Y3との関係、及び、近似値Y2と近似値Y4との関係の全ての関係が所定の関係を満たすか否かを判定する。例えば、車両の燃費の近似値に所定係数εを乗じた値よりも、ボディの価格が大きいという関係がある場合について説明する。この場合、第4の計算部9は、近似値Y1,Y3の各値が、「Y3>Y1×ε」という関係を満たすとともに、近似値Y2,Y4の各値が、「Y4>Y2×ε」という関係を満たすか否かを判定する。
全ての関係を満たさないと判定した場合、第4の計算部9は、所定の関係を満たさないと判定された「目的変数3」の近似値が、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により計算される場合に用いられた次の各値を特定する。すなわち、第4の計算部9は、「説明変数1」、「説明変数2」、「追加変数1」及び「追加変数2」の各値を特定する。
そして、第4の計算部9は、特定した「説明変数1」、「説明変数2」、「追加変数1」及び「追加変数2」の各値から計算された上述の「目的変数1」及び「目的変数2」の各近似値A、Bを特定する。そして、第4の計算部9は、特定した「目的変数1」及び「目的変数2」の各近似値A、Bから、式(1)により計算された上述の「目的変数3」の近似値Cを特定する。
そして、第4の計算部9は、特定した「説明変数1」の値と、「説明変数2」の値と、「追加変数1」の値と、「追加変数2」の値と、「目的変数3」の近似値Cとを、上述の「応答曲面生成用データ」に追加する。
図13は、各種の値を「応答曲面生成用データ」に追加する処理の一例を説明するための図である。例えば、第4の計算部9が、図7に示すデータに基づいて応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算し、計算した応答曲面を用いて、図12に示すデータから、近似値Y1,Y2,Y3,Y4を計算した場合について説明する。この場合に、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により得られた近似値Y1と近似値Y3との関係が「Y3>Y1×ε」という関係を満たさないと判定したとき、第4の計算部9は、次の処理を行う。すなわち、第4の計算部9は、関係を満たさないと判定された「目的変数3」の近似値Y1を計算する際に用いられた「説明変数1」の値「1.0」、「説明変数2」の値「4.0」、「追加変数1」の値「1.0」及び「追加変数2」の値「0.0」を特定する。また、第4の計算部9は、関係を満たさないと判定された「目的変数3」の近似値Y3を計算する際に用いられた「説明変数1」の値「1.0」、「説明変数2」の値「4.0」、「追加変数1」の値「0.0」及び「追加変数2」の値「1.0」を特定する。
そして、第4の計算部9は、「説明変数1」の値「1.0」、「説明変数2」の値「4.0」、「追加変数1」の値「1.0」及び「追加変数2」の値「0.0」から計算された「目的変数1」の近似値「0.5」、「目的変数2」の近似値「0.6」を特定する。そして、第4の計算部9は、「目的変数1」の近似値「0.5」及び「目的変数2」の近似値「0.6」から、式(1)により計算された上述の「目的変数3」の近似値「0.5」を特定する。
また、第4の計算部9は、「説明変数1」の値「1.0」、「説明変数2」の値「4.0」、「追加変数1」の値「0.0」及び「追加変数2」の値「1.0」から計算された「目的変数1」の近似値「0.5」、「目的変数2」の近似値「0.6」を特定する。そして、第4の計算部9は、「目的変数1」の近似値「0.5」及び「目的変数2」の近似値「0.6」から、式(1)により計算された上述の「目的変数3」の近似値「0.6」を特定する。
そして、第4の計算部9は、図13に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」と「追加変数1」の値「1.0」と「追加変数2」の値「0.0」と「目的変数3」の近似値「0.5」とを「応答曲面生成用データ」に追加する。さらに、第4の計算部9は、図13に示すように、「説明変数1」の値「1.0」と「説明変数2」の値「4.0」と「追加変数1」の値「0.0」と「追加変数2」の値「1.0」と「目的変数3」の近似値「0.6」とを「応答曲面生成用データ」に追加する。
そして、第4の計算部9は、各種の値が追加された「応答曲面生成用データ」を用いて、再び、上述した方法と同様の方法で、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を新たに計算する。そして、第4の計算部9は、新たに計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、再び、近似値Y1,Y2,Y3,Y4を新たに計算する。そして、第4の計算部9は、再び、近似値Y1と近似値Y3との関係、及び、近似値Y2と近似値Y4との関係の全ての関係が所定の関係を満たすか否かを判定する。
そして、第4の計算部9は、全ての関係が所定の関係を満たすと判定するまで、繰り返し、上述した処理を行う。すなわち、第4の計算部9は、各種の値を「応答曲面生成用データ」へ追加し、値が追加された「応答曲面生成用データ」を用いて応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算し、所定の関係を満たすか否かを判定する。これにより、第4の計算部9は、計算の結果得られる「目的変数3」の近似値間の関係が「目的変数1」及び「目的変数2」間における所定の関係を満たすような応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算することができる。
ここで、計算の結果得られた応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により計算される目的変数の種類について説明する。「追加変数1」の値を「1.0」、「追加変数2」の値を「0.0」とする場合には、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により、次の値が計算される。すなわち、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により、「説明変数1」及び「説明変数2」の各値に応じた「目的変数1」の値が計算される。
また、「追加変数1」の値を「0.0」、「追加変数2」の値を「1.0」とする場合には、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により、次の値が計算される。すなわち、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により、「説明変数1」及び「説明変数2」の各値に応じた「目的変数2」の値が計算される。
出力制御部10は、各種の情報を出力する。出力制御部10の一態様について説明する。例えば、出力制御部10は、第4の計算部9により全ての関係が所定の関係を満たすと判定された場合には、計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを記憶部4に格納する。そして、出力制御部10は、計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを図示しない他の装置に送信するために、次の処理を行う。すなわち、第4の計算部9は、計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを通信部3に送信する。これにより、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aが他の装置に送信される。
制御部5は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの回路である。
[処理の流れ]
次に、実施例1に係る応答曲面計算装置1が実行する処理の流れについて説明する。図14A及び図14Bは、実施例1に係る応答曲面計算処理の手順を示すフローチャートである。実施例1に係る応答曲面計算処理は、例えば、入力部2から、応答曲面計算処理を実行するための指示が制御部5に入力された場合に、制御部5により実行される。
図14Aに示すように、第1の計算部6は、入力部2から「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値が入力されたか否かを判定する(S101)。
入力部2から「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値が入力されていない場合(S101;No)には、第1の計算部6は、再び、S101の処理を行う。
一方、入力部2から「説明変数1」の上限の値及び下限の値、並びに、「説明変数2」の上限の値及び下限の値が入力された場合(S101;Yes)には、第1の計算部6は、次の処理を行う。すなわち、第1の計算部6は、「説明変数1」の下限の値から上限の値までの範囲内で、「説明変数1」の値を複数サンプリングし、「説明変数2」の下限の値から上限の値までの範囲内で、「説明変数2」の値を複数サンプリングする(S102)。
そして、第1の計算部6は、サンプリングした「説明変数1」の値と、サンプリングした「説明変数2」の値との組合せを複数計算する(S103)。
そして、第1の計算部6は、計算した、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する(S104)。
そして、第2の計算部7は、目的変数の種類の数「2」と同一の数の種類の追加変数である「追加変数1」及び「追加変数2」のそれぞれについて、「0.0」から「1.0」までを含む範囲内で複数の値をサンプリングする(S105)。
そして、第2の計算部7は、第1の計算部6により計算された複数の種類の説明変数の値の組合せごとに、サンプリングした「追加変数1」の値とサンプリングした「追加変数2」の値との組合せを計算する(S106)。
そして、第3の計算部8は、「説明変数1」の値と「説明変数2」の値の組合せと、「追加変数1」の値と「追加変数2」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第3の計算部8は、応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する(S107)。
そして、第3の計算部8は、式(1)を用いて、次の処理を行う。すなわち、第3の計算部8は、「目的変数1」の近似値A及び「目的変数2」の近似値Bを、追加変数の値の組合せが示す「追加変数1」の値α及び「追加変数2」の値βのそれぞれによって重み付けして、新たな「目的変数3」の近似値Cを計算する(S108)。
図14Bに示すように、第4の計算部9は、応答曲面生成用データを用いて、所定の応答曲面を計算する方法により、応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算する(S109)。
そして、第4の計算部9は、第1の計算部6によりサンプリングされた「説明変数1」の値と第1の計算部6によりサンプリングされた「説明変数2」の値との組合せを複数計算する(S110)。ここで、第4の計算部9は、例えば、第1の計算部6により計算された組合せと異なるように、「説明変数1」の値と「説明変数2」の値との組合せを複数計算する。
そして、第4の計算部9は、計算した、「説明変数1」の値と「説明変数2」の値との組合せと同一の組合せのコピーを作成する(S111)。
そして、第4の計算部9は、第2の計算部7によりサンプリングされた「追加変数1」の値と「追加変数2」の値との組合せを計算する(S112)。
そして、第4の計算部9は、「説明変数1」の値と「説明変数2」の値の組合せと、「追加変数1」の値と「追加変数2」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第4の計算部9は、応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて、説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する(S113)。
そして、第4の計算部9は、式(1)を用いて、次の処理を行う。すなわち、第4の計算部9は、「目的変数1」の近似値A及び「目的変数2」の近似値Bを、追加変数の値の組合せが示す「追加変数1」の値α及び「追加変数2」の値βのそれぞれによって重み付けして、「目的変数3」の近似値Cを計算する(S114)。
そして、第4の計算部9は、計算した応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を用いて、次の処理を行う。すなわち、第4の計算部9は、「説明変数1」の値と「説明変数2」の値と「追加変数1」の値と「追加変数2」の値とから、「目的変数3」の近似値Y1〜Y4を計算する(S115)。
そして、第4の計算部9は、近似値Y1と近似値Y3との関係、及び、近似値Y2と近似値Y4との関係の全ての関係が所定の関係を満たすか否かを判定する(S116)。
全ての関係を満たさない場合(S116;No)、第4の計算部9は、所定の関係を満たさないと判定された「目的変数3」の近似値が応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」により計算される際に用いられた次の各値を特定する。すなわち、第4の計算部9は、「説明変数1」の値と「説明変数2」の値と「追加変数1」の値と「追加変数2」の値とを特定する(S117)。
そして、第4の計算部9は、特定した「説明変数1」、「説明変数2」、「追加変数1」及び「追加変数2」の各値から計算された上述の「目的変数1」及び「目的変数2」の各近似値A、Bを特定する。そして、第4の計算部9は、特定した「目的変数1」及び「目的変数2」の各近似値A、Bから計算された上述の「目的変数3」の近似値Cを特定する(S118)。
そして、第4の計算部9は、特定した「説明変数1」の値と、「説明変数2」の値と、「追加変数1」の値と、「追加変数2」の値と、「目的変数3」の近似値Cとを、上述の「応答曲面生成用データ」に追加し(S119)、S109に戻る。
一方、全ての関係が所定の関係を満たす場合(S116;Yes)には、出力制御部10は、新たに計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを記憶部4に格納する(S120)。そして、出力制御部10は、計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを図示しない他の装置に送信するために、次の処理を行う。すなわち、第4の計算部9は、計算された応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」4aを通信部3に送信し(S121)、応答曲面計算処理を終了する。
上述してきたように、応答曲面計算装置1は、それぞれ異なる種類の目的変数の近似値を計算するための複数の応答曲面のそれぞれによって、異なる種類の目的変数の近似値が計算される際に用いられる複数の種類の説明変数の値の組合せを複数計算する。そして、応答曲面計算装置1は、計算した複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。そして、応答曲面計算装置1は、計算した説明変数の値の組合せと、計算した追加変数の値の組合せとを組み合わせた組合せごとに、以下の処理を行う。すなわち、応答曲面計算装置1は、複数の応答曲面「f1(説明変数1,説明変数2)」及び「f2(説明変数1,説明変数2)」のそれぞれを用いて説明変数の値の組合せから「目的変数1」の近似値及び「目的変数2」の近似値を計算する。そして、応答曲面計算装置1は、「目的変数1」の近似値及び「目的変数2」の近似値を追加変数の値の組合せが示す「追加変数1」の値及び「追加変数2」の値のそれぞれによって重み付けして、新たな「目的変数3」の近似値を計算する。ここで、「目的変数3」は、上述したように、追加変数の値の組合せに応じて、異なる種類の目的変数(「目的変数1」及び「目的変数2」)のうちのいずれかの目的変数を示すような目的変数である。そして、応答曲面計算装置1は、計算した説明変数の値の組合せ、計算した追加変数の値の組合せ、及び、計算した「目的変数3」の近似値に基づいて、次の処理を行う。すなわち、応答曲面計算装置1は、1つの応答曲面「f3(説明変数1,説明変数2,追加変数1,追加変数2)」を計算する。ここで、かかる応答曲面は、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面である。また、かかる応答曲面は、「説明変数1」、「説明変数2」、「追加変数1」、「追加変数2」から、「目的変数3」を計算するための応答曲面である。上述したように、応答曲面計算装置1によれば、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面を計算することができる。それゆえ、応答曲面計算装置1によれば、複数の目的変数間で所定の関係がある場合に、所定の関係を満たすような複数の目的変数を計算することが可能な応答曲面を計算することができる。
また、応答曲面計算装置1は、複数の種類の説明変数の値の組合せ、追加変数の値の組合せ及び異なる種類の目的変数の近似値を含むデータに基づいて、説明変数及び追加変数から、異なる種類の目的変数を計算するための応答曲面を暫定的に計算する。そして、応答曲面計算装置1は、暫定的に計算された応答曲面により得られる目的変数の関係が異なる種類の目的変数間における所定の関係を満たすまで、次の処理を行う。すなわち、応答曲面計算装置1は、所定の関係を満たさない場合の複数の種類の説明変数の値の組合せに係る情報をデータに追加し、情報が追加されたデータに基づいて暫定的な応答曲面を新たに計算する処理を繰り返し行う。これにより、応答曲面計算装置1は、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面を計算することができる。
また、応答曲面装置1は、全ての組合せを網羅するように、サンプリングした「追加変数1」の値と、サンプリングした「追加変数2」の値との組合せを計算する。図15は、実施例1に係る応答曲面計算装置が奏する効果の一例を説明するための図である。図15の例は、実施例1に係る応答曲面計算装置により計算された応答曲面により計算された目的変数の誤差と、計算する目的変数ごとに異なる応答曲面を用いて異なる目的変数を計算する従来手法により計算された目的変数の誤差との比較例を示す。ここで、目的変数の誤差は、例えば、計算機シミュレーションにより計算された目的変数の計算値と、応答曲面により計算された目的変数の近似値との差の2乗平均で表される。したがって、応答曲面は、計算した目的変数の誤差が小さくなるほど、精度の高い近似値を計算できることとなる。図15に示すように、応答曲面計算装置1により計算された応答曲面により計算された目的変数「binh1」の誤差の方が、従来手法により計算された目的変数「binh1」の誤差よりも小さい。その他の目的変数「zdt1」,「zdt2」,「zdt3」についても同様である。したがって、応答曲面装置1によれば、従来手法よりも、精度の高い目的変数の近似値を計算できる応答曲面を計算することができる。
[実施例2に係る応答曲面計算装置の機能構成の一例]
次に、実施例2に係る応答曲面計算装置について説明する。図16は、実施例2に係る応答曲面計算装置の機能構成の一例を示す図である。図16の例に示すように、実施例2に係る応答曲面計算装置11は、入力部12、通信部13、記憶部14及び制御部15を有する。
本実施例に係る応答曲面計算装置11は、「説明変数3」、「説明変数4」及び「説明変数5」の3つの種類の説明変数並びに「追加変数3」及び「追加変数4」の2つの種類の追加変数から、「目的変数6」を計算するための応答曲面を計算する。「説明変数3」、「説明変数4」及び「説明変数5」、「追加変数3」及び「追加変数4」、並びに、「目的変数6」の各変数については、後述する。
入力部12は、各種情報を制御部15に入力する。例えば、入力部12は、応答曲面計算装置11のユーザから後述の応答曲面計算処理を実行するための指示を受け付けた場合には、受け付けた指示を制御部15に入力する。また、入力部12は、ユーザから、後述する「説明変数3」の上限の値及び下限の値、「説明変数4」の上限の値及び下限の値、並びに、「説明変数5」の上限の値及び下限の値を受け付けた場合には、受け付けた値を制御部15に入力する。入力部12のデバイスの一例としては、マウスやキーボードなどが挙げられる。
通信部13は、応答曲面計算装置11と、図示しない他の装置との通信を行うためのインターフェースである。通信部13は、図示しないネットワークを介して他の装置に接続されている。例えば、通信部13は、後述の出力制御部20から後述の応答曲面を受信した場合には、受信した応答曲面を、ネットワークを介して、他の装置に送信する。
記憶部14は、各種情報を記憶する。例えば、記憶部14は、後述の第4の計算部19によって計算された応答曲面14aを記憶する。応答曲面14aは、後述の応答曲面f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)である。また、以下の説明では、「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を、「f6」と略記する場合がある。
記憶部14は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図16に示すように、制御部15は、第1の計算部16と、第2の計算部17と、第3の計算部18と、第4の計算部19と、出力制御部20とを有する。
第1の計算部16は、以下に説明するように、それぞれ異なる種類の目的変数の近似値を計算するための複数の第1の応答曲面のそれぞれによって、異なる種類の目的変数の近似値が計算される際に用いられる複数の種類の説明変数の値の組合せを複数計算する。
第1の計算部16の一態様について説明する。例えば、第1の計算部16は、入力部12から応答曲面計算処理を実行するための指示が入力されると、入力部12から「説明変数3」、「説明変数4」及び「説明変数5」のそれぞれの説明変数の上限の値及び下限の値が入力されたか否かを判定する。
ここで、「説明変数3」は、例えば、車両のボディの全長を示す変数であり、「説明変数4」は、例えば、車両のボディの全幅を示す変数であり、「説明変数5」は、例えば、車両のボディの全高を示す変数である。また、「説明変数3」、「説明変数4」及び「説明変数5」の3つの説明変数は、次のような説明変数である。例えば、かかる3つの説明変数は、「目的変数4」である車両の燃費を計算するための応答曲面「f4(説明変数3,説明変数4,説明変数5)」によって車両の燃費が計算される際に用いられる3つの説明変数である。また、「説明変数3」、「説明変数4」及び「説明変数5」は、「目的変数5」であるボディの価格を計算するための応答曲面「f5(説明変数3,説明変数4,説明変数5)」によってボディの価格が計算される際に用いられる3つの説明変数でもある。
「説明変数3」、「説明変数4」及び「説明変数5」のそれぞれの説明変数の上限の値及び下限の値が入力された場合には、第1の計算部16は、次の処理を行う。すなわち、第1の計算部16は、「説明変数3」の下限の値から上限の値までの範囲内で、「説明変数3」の値を複数サンプリングする。また、第1の計算部16は、「説明変数4」の下限の値から上限の値までの範囲内で、「説明変数4」の値を複数サンプリングする。さらに、第1の計算部16は、「説明変数5」の下限の値から上限の値までの範囲内で、「説明変数5」の値を複数サンプリングする。図17は、「説明変数3」の上限の値及び下限の値、「説明変数4」の上限の値及び下限の値、並びに、「説明変数5」の上限の値及び下限の値の一例を示す図である。図17の例に示すように、「説明変数3」、「説明変数4」及び「説明変数5」の上限の値「X3max」、「X4max」、「X5max」及び下限の値「X3min」、「X4min」、「X5min」が入力された場合には、第1の計算部16は、次の処理を行う。すなわち、第1の計算部16は、「説明変数3」の下限の値「X3min」から上限の値「X3max」までの範囲内で、「説明変数3」の値を複数サンプリングする。例えば、第1の計算部16は、値「X31」と、値「X32」と、値「X33」とをサンプリングする。また、第1の計算部16は、「説明変数4」の下限の値「X4min」から上限の値「X4max」までの範囲内で、「説明変数4」の値を複数サンプリングする。例えば、第1の計算部16は、値「X41」と、値「X42」と、値「X43」とをサンプリングする。また、第1の計算部16は、「説明変数5」の下限の値「X5min」から上限の値「X5max」までの範囲内で、「説明変数5」の値を複数サンプリングする。例えば、第1の計算部16は、値「X51」と、値「X52」と、値「X53」とをサンプリングする。
そして、第1の計算部16は、サンプリングした「説明変数3」の値と、サンプリングした「説明変数4」の値と、サンプリングした「説明変数5」の値との組合せを複数計算する。図18は、サンプリングした「説明変数3」の値と、サンプリングした「説明変数4」の値と、サンプリングした「説明変数5」の値との組合せを複数計算した結果の一例を示す図である。図18の例は、第1の計算部16が3つの組合せを計算した場合を示す。例えば、図18の例に示すように、第1の計算部16は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せを計算する。また、第1の計算部16は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せを計算する。また、第1の計算部16は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せを計算する。ここで、第1の計算部16は、例えば、ある組合せにおける「説明変数3」の値が、他の組合せにおける「説明変数3」の値に用いられないように、複数の組合せを計算する。また、第1の計算部16は、例えば、ある組合せにおける「説明変数4」の値が、他の組合せにおける「説明変数4」の値に用いられないように、複数の組合せを計算する。また、第1の計算部16は、例えば、ある組合せにおける「説明変数5」の値が、他の組合せにおける「説明変数5」の値に用いられないように、複数の組合せを計算する。
なお、第1の計算部16は、ラテン超方格法を用いて、図18の例に示すように、サンプリングした「説明変数3」の値と、サンプリングした「説明変数4」の値と、サンプリングした「説明変数5」の値との組合せを複数計算することもできる。このように、ラテン超方格法を用いることで、第1の計算部16は、ある組合せにおける「説明変数3」の値が、他の組合せにおける「説明変数3」の値に用いられないように、複数の組合せを計算することができる。また、第1の計算部16は、ある組合せにおける「説明変数4」の値が、他の組合せにおける「説明変数4」の値に用いられないように、複数の組合せを計算することができる。また、第1の計算部16は、ある組合せにおける「説明変数5」の値が、他の組合せにおける「説明変数5」の値に用いられないように、複数の組合せを計算することができる。ここで、ラテン超方格法を用いる場合には、例えば、サンプリングした同一の種類の説明変数の値が並ぶ方向を「列」の方向とし、組合せにおける各説明変数の値が並ぶ方向を「行」の方向とする。
そして、第1の計算部16は、計算した、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せと同一の組合せのコピーを作成する。このようにコピーを作成することで、後述する第2の計算部17において、次のような処理を行うことができる。すなわち、後述する第2の計算部17において、「追加変数3」の値と「追加変数4」の値との後述する複数の組合せのそれぞれを、「説明変数3」、「説明変数4」及び「説明変数5」の各値の同一の組合せに対応付けることができる。
図19は、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せと同一の組合せのコピーを作成する処理の一例を説明するための図である。例えば、第1の計算部16は、図19に示すように、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せと同一の組合せのコピーを2つ作成する。この結果、第1の計算部16は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せを3つ作成する。このように3つの組合せを作成する理由は、後述する第2の計算部17において、この3つの組合せのそれぞれに対して、後述する3つの「追加変数3」の値と「追加変数4」の値との組合せのそれぞれが計算されるからである。なお、第1の計算部16は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せと同一の組合せのコピーを2つ以上作成することもできる。すなわち、第1の計算部16は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せを3つ以上作成することができる。
また、第1の計算部16は、図19に示すように、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せと同一の組合せのコピーを2つ作成する。この結果、第1の計算部16は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せを3つ作成する。このように3つの組合せを作成する理由は、後述する第2の計算部17において、この3つの組合せのそれぞれに対して、後述する3つの「追加変数3」の値と「追加変数4」の値との組合せのそれぞれが計算されるからである。なお、第1の計算部16は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せと同一の組合せのコピーを2つ以上作成することもできる。すなわち、第1の計算部16は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せを3つ以上作成することができる。
また、第1の計算部16は、図19に示すように、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せと同一の組合せのコピーを2つ作成する。この結果、第1の計算部16は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せを3つ作成する。このように3つの組合せを作成する理由は、後述する第2の計算部17において、この3つの組合せのそれぞれに対して、後述する3つの「追加変数3」の値と「追加変数4」の値との組合せのそれぞれが計算されるからである。なお、第1の計算部16は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せと同一の組合せのコピーを2つ以上作成することもできる。すなわち、第1の計算部16は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せを3つ以上作成することができる。
第2の計算部17は、以下に説明するように、第1の計算部16により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。
第2の計算部17の一態様について説明する。例えば、第2の計算部17は、第1の計算部16により「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せが複数計算され、計算された組合せのコピーが作成されると、次の処理を行う。すなわち、第2の計算部17は、「目的変数4」及び「目的変数5」の目的変数の種類の数「2」と同一の数の種類の追加変数である「追加変数3」及び「追加変数4」のそれぞれについて、「0.0」から「1.0」までを含む範囲内で複数の値をサンプリングする。
第2の計算部17は、例えば、「追加変数3」の値の範囲である「0.0」から「1.0」までの範囲内で、端点である「追加変数3」の値「0.0」と値「1.0」とをサンプリングする。また、第2の計算部17は、「追加変数3」の値の範囲である「0.0」から「1.0」までの範囲内で、「追加変数3」の値「W31」と値「W32」と値「W33」とをサンプリングする。例えば、第2の計算部17は、「追加変数3」の値の範囲である「0.0」から「1.0」までの範囲内で、乱数「W31」、「W32」、「W33」を生成することで、「追加変数3」の値「W31」と値「W32」と値「W33」とをサンプリングする。
また、第2の計算部17は、例えば、「追加変数4」の値の範囲である「0.0」から「1.0」までの範囲内で、端点である「追加変数4」の値「0.0」と値「1.0」とをサンプリングする。また、第2の計算部17は、「追加変数4」の値の範囲である「0.0」から「1.0」までの範囲内で、「追加変数4」の値「W41」と値「W42」と値「W43」とをサンプリングする。例えば、第2の計算部17は、「追加変数4」の値の範囲である「0.0」から「1.0」までの範囲内で、乱数「W41」、「W42」、「W43」を生成することで、「追加変数4」の値「W41」と値「W42」と値「W43」とをサンプリングする。
ここで、「追加変数3」及び「追加変数4」は、例えば、上述した「目的変数4」及び「目的変数5」を重み付けするための変数である。
そして、第2の計算部17は、第1の計算部16により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。図20は、第2の計算部が、第1の計算部により計算された複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する処理の一例を説明するための図である。図20に示すように、第2の計算部17は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せ(以下、「組合せ5」と称する)に対して、次の処理を行う。すなわち、第2の計算部17は、「組合せ5」に対して、サンプリングした「追加変数3」の値「1.0」とサンプリングした「追加変数4」の値「0.0」との組合せを計算する。また、第2の計算部17は、「組合せ5」に対して、サンプリングした「追加変数3」の値「0.0」とサンプリングした「追加変数4」の値「1.0」との組合せを計算する。また、第2の計算部17は、「組合せ5」に対して、サンプリングした「追加変数3」の値「W31」とサンプリングした「追加変数4」の値「W41」との組合せを計算する。
また、図20に示すように、第2の計算部17は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せ(以下、「組合せ6」と称する)に対して、次の処理を行う。すなわち、第2の計算部17は、「組合せ6」に対して、サンプリングした「追加変数3」の値「1.0」とサンプリングした「追加変数4」の値「0.0」との組合せを計算する。また、第2の計算部17は、「組合せ6」に対して、サンプリングした「追加変数3」の値「0.0」とサンプリングした「追加変数4」の値「1.0」との組合せを計算する。また、第2の計算部17は、「組合せ6」に対して、サンプリングした「追加変数3」の値「W32」とサンプリングした「追加変数4」の値「W42」との組合せを計算する。
また、図20に示すように、第2の計算部17は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せ(以下、「組合せ7」と称する)に対して、次の処理を行う。すなわち、第2の計算部17は、「組合せ7」に対して、サンプリングした「追加変数3」の値「1.0」とサンプリングした「追加変数4」の値「0.0」との組合せを計算する。また、第2の計算部17は、「組合せ7」に対して、サンプリングした「追加変数3」の値「0.0」とサンプリングした「追加変数4」の値「1.0」との組合せを計算する。また、第2の計算部17は、「組合せ7」に対して、サンプリングした「追加変数3」の値「W33」とサンプリングした「追加変数4」の値「W43」との組合せを計算する。
なお、第2の計算部17は、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せごとに、サンプリングした「追加変数3」の値とサンプリングした「追加変数4」の値との全ての組合せを計算することもできる。
第3の計算部18は、以下に説明するように、第1の計算部16により計算された説明変数の値の組合せと、第2の計算部17により計算された追加変数の値の組合せとを組み合わせた組合せごとに、以下の処理を行う。すなわち、第3の計算部18は、複数の応答曲面「f4(説明変数3,説明変数4,説明変数5)」及び「f5(説明変数3,説明変数4,説明変数5)」のそれぞれを用いて説明変数の値の組合せから「目的変数4」及び「目的変数5」の各近似値を計算する。そして、第3の計算部18は、「目的変数4」の近似値及び「目的変数5」の近似値を追加変数の値の組合せが示す追加変数の値(「追加変数3」及び「追加変数4」の各値)のそれぞれによって重み付けして、新たな「目的変数6」の近似値を計算する。ここで、「目的変数6」は、追加変数の値の組合せに応じて、異なる種類の目的変数(「目的変数4」及び「目的変数5」)のうちのいずれかの目的変数を示すような目的変数である。
第3の計算部18の一態様について説明する。例えば、第2の計算部17により図20の例に示すような「追加変数3」の値と「追加変数4」の値との組合せが計算された場合を例に挙げて説明する。この場合には、第3の計算部18は、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せと、「追加変数3」の値と「追加変数4」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第3の計算部18は、応答曲面「f4(説明変数3,説明変数4,説明変数5)」及び「f5(説明変数3,説明変数4,説明変数5)」のそれぞれを用いて、説明変数の値の組合せから「目的変数4」の近似値及び「目的変数5」の近似値を計算する。
図21は、「目的変数4」の近似値及び「目的変数5」の近似値を計算する処理の一例を説明するための図である。例えば、第3の計算部18は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せと、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から「目的変数4」の近似値「Y41」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から、「目的変数5」の近似値「Y51」を計算する。
また、第3の計算部18は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せと、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から「目的変数4」の近似値「Y42」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から、「目的変数5」の近似値「Y52」を計算する。
また、第3の計算部18は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せと、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から「目的変数4」の近似値「Y43」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から、「目的変数5」の近似値「Y53」を計算する。
また、第3の計算部18は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せと、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から「目的変数4」の近似値「Y41」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から、「目的変数5」の近似値「Y51」を計算する。
また、第3の計算部18は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せと、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から「目的変数4」の近似値「Y42」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から、「目的変数5」の近似値「Y52」を計算する。
また、第3の計算部18は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せと、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から「目的変数4」の近似値「Y43」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から、「目的変数5」の近似値「Y53」を計算する。
また、第3の計算部18は、「説明変数3」の値「X31」と「説明変数4」の値「X41」と「説明変数5」の値「X51」との組合せと、「追加変数3」の値「W31」と「追加変数4」の値「W41」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から「目的変数4」の近似値「Y41」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X31」、「X41」、「X51」から、「目的変数5」の近似値「Y51」を計算する。
また、第3の計算部18は、「説明変数3」の値「X32」と「説明変数4」の値「X42」と「説明変数5」の値「X52」との組合せと、「追加変数3」の値「W32」と「追加変数4」の値「W42」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から「目的変数4」の近似値「Y42」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X32」、「X42」、「X52」から、「目的変数5」の近似値「Y52」を計算する。
また、第3の計算部18は、「説明変数3」の値「X33」と「説明変数4」の値「X43」と「説明変数5」の値「X53」との組合せと、「追加変数3」の値「W33」と「追加変数4」の値「W43」との組合せとを組み合わせた組合せにおいて次の処理を行う。すなわち、第3の計算部18は、図21に示すように、応答曲面「f4(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から「目的変数4」の近似値「Y43」を計算する。さらに、第3の計算部18は、応答曲面「f5(説明変数3,説明変数4,説明変数5)」を用いて「説明変数3」、「説明変数4」、「説明変数5」の各値「X33」、「X43」、「X53」から、「目的変数5」の近似値「Y53」を計算する。
そして、第3の計算部18は、下記の式(2)を用いて、次の処理を行う。すなわち、第3の計算部18は、「目的変数4」の近似値K及び「目的変数5」の近似値Lを、追加変数の値の組合せが示す「追加変数3」の値γ及び「追加変数4」の値ζのそれぞれによって重み付けして、新たな「目的変数6」の近似値Mを計算する。
M=K×γ+L×ζ (2)
図22は、「目的変数6」の近似値を計算する処理の一例を説明するための図である。例えば、図21の例に示す「目的変数4」の近似値及び「目的変数5」の近似値を計算した場合には、第3の計算部18は、図22の例に示すように「目的変数6」の近似値を計算する。例えば、第3の計算部18は、図21に示すような、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せと、「目的変数4」の値「Y41」と「目的変数5」の値「Y51」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y41」(Y41×1.0+Y51×0.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せと、「目的変数4」の値「Y42」と「目的変数5」の値「Y52」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y42」(Y42×1.0+Y52×0.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「1.0」と「追加変数4」の値「0.0」との組合せと、「目的変数4」の値「Y43」と「目的変数5」の値「Y53」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y43」(Y43×1.0+Y53×0.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せと、「目的変数4」の値「Y41」と「目的変数5」の値「Y51」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y51」(Y41×0.0+Y51×1.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せと、「目的変数4」の値「Y42」と「目的変数5」の値「Y52」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y52」(Y42×0.0+Y52×1.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「0.0」と「追加変数4」の値「1.0」との組合せと、「目的変数4」の値「Y43」と「目的変数5」の値「Y53」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y53」(Y43×0.0+Y53×1.0)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「W31」と「追加変数4」の値「W41」との組合せと、「目的変数4」の値「Y41」と「目的変数5」の値「Y51」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y41W31+Y51W41」(Y41×W31+Y51×W41)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「W32」と「追加変数4」の値「W42」との組合せと、「目的変数4」の値「Y42」と「目的変数5」の値「Y52」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y42W32+Y52W42」(Y42×W32+Y52×W42)を計算する。
また、第3の計算部18は、図21に示すような、「追加変数3」の値「W33」と「追加変数4」の値「W43」との組合せと、「目的変数4」の値「Y43」と「目的変数5」の値「Y53」との組合せとを組み合わせた組合せにおいて、次の処理を行う。すなわち、第3の計算部18は、式(2)を用いて、図22の例に示すように、「目的変数6」の近似値「Y43W33+Y53W43」(Y43×W33+Y53×W43)を計算する。
ここで、「目的変数6」の近似値Mは、「追加変数3」の値が「1.0」であり「追加変数4」の値が「0.0」である場合には、式(2)より、Kとなる。この場合、「目的変数6」は、「目的変数4」に対応する。また、「目的変数6」の近似値Mは、「追加変数3」の値が「0.0」であり「追加変数4」の値が「1.0」である場合には、式(2)より、Lとなる。この場合、「目的変数6」は、「目的変数5」に対応する。すなわち、「目的変数6」は、追加変数の値の組合せに応じて、「目的変数4」及び「目的変数5」のうちのいずれかの目的変数を示すような目的変数である。
第4の計算部19は、以下に説明するように、第1の計算部16により計算された説明変数の値の組合せ、第2の計算部17により計算された追加変数の値の組合せ、及び、第3の計算部18により計算された「目的変数6」の近似値に基づいて、次の処理を行う。すなわち、第4の計算部19は、第2の応答曲面を計算する。ここで、第2の応答曲面は、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面である。また、第2の応答曲面は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」及び「追加変数4」から「目的変数6」を計算するための応答曲面である。
例えば、第4の計算部19は、以下に説明するように、第1の計算部16により計算された説明変数の値の組合せ、第2の計算部17により計算された追加変数の値の組合せ、第3の計算部18により計算された「目的変数6」の近似値に基づいて次の処理を行う。すなわち、第4の計算部19は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」及び「追加変数4」から「目的変数6」を計算するための複数の第3の応答曲面を計算する。そして、第4の計算部19は、次の2つの条件を満たすような、複数の第3の応答曲面のそれぞれにより計算された「目的変数6」の近似値を重み付けるための係数を計算する。1つ目の条件は、第3の計算部18により計算された「目的変数6」の近似値と、複数の第3の応答曲面のそれぞれによって計算された「目的変数6」の近似値のそれぞれを重み付けした値との差が最小となるという条件である。2つ目の条件は、複数の第3の応答曲面のそれぞれによって計算された「目的変数6」の近似値を重み付けした結果得られる「目的変数6」の近似値の関係が、「目的変数4」及び「目的変数5」間における所定の関係を満たすという条件である。そして、第4の計算部19は、複数の第3の応答曲面のそれぞれを、複数の第3の応答曲面のそれぞれに対応する係数で重み付けして、第2の応答曲面を計算する。
第4の計算部19の一態様について説明する。例えば、第4の計算部19は、第1の計算部16により計算された説明変数の値の組合せ、第2の計算部17により計算された追加変数の値の組合せ、及び、第3の計算部18により計算された「目的変数6」の近似値を用いて、次の処理を行う。すなわち、第4の計算部19は、所定の応答曲面を計算する方法により、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」及び「追加変数4」から「目的変数6」を計算するための複数の応答曲面を計算する。以下の説明では、第4の計算部19により計算される複数の応答曲面の数が3つである場合について説明する。また、この3つの応答曲面のうち2つの応答曲面が、「f7(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」、「f8(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」である場合について説明する。さらに、3つの応答曲面のうち残りの1つの応答曲面が、「f9(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」である場合について説明する。ここで、所定の応答曲面を計算する方法の一例としては、SVM、RVM、ガウシアンプロセス等が挙げられるが、所定の応答曲面を計算する方法は、これらに限られない。
以下の説明では、「f7(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を「f7」と略記し、「f8(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を「f8」と略記する場合がある。同様に、以下の説明では、「f9(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を「f9」と略記する場合がある。
例えば、第4の計算部19は、図22の例に示す1行目〜3行目の3つの行が示す各データを用いて、所定の応答曲面を計算する方法により、応答曲面「f7(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。ここで、応答曲面「f7(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」、「追加変数4」から「目的変数6」を計算するための応答曲面である。
また、第4の計算部19は、図22の例に示す4行目〜6行目の3つの行が示す各データを用いて、所定の応答曲面を計算する方法により、応答曲面「f8(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。ここで、応答曲面「f8(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」、「追加変数4」から「目的変数6」を計算するための応答曲面である。
また、第4の計算部19は、図22の例に示す7行目〜9行目の3つの行が示す各データを用いて、所定の応答曲面を計算する方法により、応答曲面「f9(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。ここで、応答曲面「f9(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」、「追加変数4」から「目的変数6」を計算するための応答曲面である。
そして、第4の計算部19は、3つの応答曲面f7、f8、f9を計算すると、線形計画法を用いて、次の処理を行う。すなわち、第4の計算部19は、次の2つの条件を満たすような、3つの応答曲面f7、f8、f9のそれぞれを重み付けるための係数S1、S2、S3を計算する。1つ目の条件は、第3の計算部18により計算された「目的変数6」の近似値と、3つの応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値のそれぞれを係数S1、S2、S3で重み付けした値との差が最小となるという条件である。
2つ目の条件は、応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値を係数S1、S2、S3で重み付けした結果得られる「目的変数6」の近似値の関係が、次のような関係を満たすという条件である。すなわち、2つ目の条件は、かかる「目的変数6」の近似値の関係が、「目的変数4」及び「目的変数5」間における所定の関係を満たすという条件である。例えば、車両の燃費の近似値に所定係数εを乗じた値よりも、ボディの価格が大きいという関係がある場合について説明する。この場合には、「目的変数4」及び「目的変数5」間における所定の関係は、「「目的変数5」の近似値>「目的変数4」の近似値×ε」という関係である。
そして、係数S1、S2、S3を計算すると、第4の計算部19は、下記の式(3)を用いて、次の処理を行う。すなわち、第4の計算部19は、応答曲面f7、f8、f9のそれぞれを、応答曲面f7、f8、f9のそれぞれに対応する係数S1、S2、S3で重み付けして、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。
f6=f7×S1+f8×S2+f9×S3 (3)
これにより、第4の計算部19は、計算の結果得られる「目的変数6」の近似値間の関係が「目的変数4」及び「目的変数5」間における所定の関係を満たすような応答曲面「f6」を計算することができる。
ここで、計算の結果得られた応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」により計算される目的変数の種類について説明する。「追加変数3」の値を「1」、「追加変数4」の値を「0」とする場合には、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」により、次の値が計算される。すなわち、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」により、「説明変数3」、「説明変数4」及び「説明変数5」の各値に応じた「目的変数4」の値が計算される。
また、「追加変数3」の値を「0」、「追加変数4」の値を「1」とする場合には、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」により、次の値が計算される。すなわち、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」により、「説明変数3」、「説明変数4」及び「説明変数5」の各値に応じた「目的変数5」の値が計算される。
出力制御部20は、各種の情報を出力する。出力制御部20の一態様について説明する。例えば、出力制御部20は、第4の計算部19により応答曲面「f6」が計算された場合には、計算された応答曲面「f6」14aを記憶部14に格納する。そして、出力制御部20は、計算された応答曲面「f6」14aを図示しない他の装置に送信するために、次の処理を行う。すなわち、第4の計算部19は、計算された応答曲面「f6」14aを通信部3に送信する。これにより、応答曲面「f6」14aが他の装置に送信される。
制御部15は、ASIC、FPGA、CPU、MPUなどの回路である。
[処理の流れ]
次に、実施例2に係る応答曲面計算装置11が実行する処理の流れについて説明する。図23は、実施例2に係る応答曲面計算処理の手順を示すフローチャートである。実施例2に係る応答曲面計算処理は、例えば、入力部12から、応答曲面計算処理を実行するための指示が制御部15に入力された場合に、制御部15により実行される。
図23に示すように、第1の計算部16は、入力部12から「説明変数3」、「説明変数4」及び「説明変数5」のそれぞれの説明変数の上限の値及び下限の値が入力されたか否かを判定する(S201)。
入力部12から「説明変数3」、「説明変数4」及び「説明変数5」のそれぞれの説明変数の上限の値及び下限の値が入力されていない場合(S201;No)には、第1の計算部16は、再び、S201の処理を行う。
一方、入力部12から「説明変数3」、「説明変数4」及び「説明変数5」のそれぞれの説明変数の上限の値及び下限の値が入力された場合(S201;Yes)には、第1の計算部16は、次の処理を行う。すなわち、第1の計算部16は、「説明変数3」の下限の値から上限の値までの範囲内で、「説明変数3」の値を複数サンプリングする。また、第1の計算部16は、「説明変数4」の下限の値から上限の値までの範囲内で、「説明変数4」の値を複数サンプリングする。さらに、第1の計算部16は、「説明変数5」の下限の値から上限の値までの範囲内で、「説明変数5」の値を複数サンプリングする(S202)。
そして、第1の計算部16は、サンプリングした「説明変数3」の値と、サンプリングした「説明変数4」の値と、サンプリングした「説明変数5」の値との組合せを複数計算する(S203)。
そして、第1の計算部16は、計算した、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せと同一の組合せのコピーを作成する(S204)。
そして、第2の計算部17は、「目的変数4」及び「目的変数5」の目的変数の種類の数「2」と同一の数の種類の追加変数である「追加変数3」及び「追加変数4」のそれぞれについて、次のような処理を行う。すなわち、第2の計算部17は、「0.0」から「1.0」までを含む範囲内で複数の値をサンプリングする(S205)。
そして、第2の計算部17は、第1の計算部16により計算された複数の種類の説明変数の値の組合せごとに、サンプリングした「追加変数1」の値とサンプリングした「追加変数2」の値との組合せを計算する(S206)。
第3の計算部18は、「説明変数3」の値と「説明変数4」の値と「説明変数5」の値との組合せと、「追加変数3」の値と「追加変数4」の値との組合せとを組み合わせた組合せごとに、次の処理を行う。すなわち、第3の計算部18は、応答曲面「f4(説明変数3,説明変数4,説明変数5)」、「f5(説明変数3,説明変数4,説明変数5)」を用いて、説明変数の値の組合せから「目的変数4」、「目的変数5」の各近似値を計算する(S207)。
そして、第3の計算部18は、式(2)を用いて、次の処理を行う。すなわち、第3の計算部18は、「目的変数4」の近似値K及び「目的変数5」の近似値Lを、「追加変数3」の値γ及び「追加変数4」の値ζのそれぞれによって重み付けして、新たな「目的変数6」の近似値Mを計算する(S208)。
そして、第4の計算部19は、第1の計算部16により計算された説明変数の値の組合せ、第2の計算部17により計算された追加変数の値の組合せ、及び、第3の計算部18により計算された「目的変数6」の近似値を用いて、次の処理を行う。すなわち、第4の計算部19は、所定の応答曲面を計算する方法により、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」及び「追加変数4」から「目的変数6」を計算するための複数の応答曲面f7、f8、f9を計算する(S209)。
そして、第4の計算部19は、線形計画法を用いて、次の処理を行う。すなわち、第4の計算部19は、上述した2つの条件を満たすような、3つの応答曲面f7、f8、f9のそれぞれを重み付けるための係数S1、S2、S3を計算する(S210)。
そして、第4の計算部19は、式(3)を用いて、次の処理を行う。すなわち、第4の計算部19は、応答曲面f7、f8、f9のそれぞれを、係数S1、S2、S3で重み付けして、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する(S211)。
出力制御部20は、第4の計算部19により計算された応答曲面「f6」14aを記憶部14に格納する(S212)。そして、出力制御部20は、計算された応答曲面「f6」14aを図示しない他の装置に送信するために、次の処理を行う。すなわち、第4の計算部19は、計算された応答曲面「f6」14aを通信部3に送信し(S213)、応答曲面計算処理を終了する。
上述してきたように、応答曲面計算装置11は、それぞれ異なる種類の目的変数の近似値を計算するための複数の応答曲面のそれぞれによって、異なる種類の目的変数の近似値が計算される際に用いられる複数の種類の説明変数の値の組合せを複数計算する。そして、応答曲面計算装置11は、計算した複数の種類の説明変数の値の組合せごとに、目的変数の種類の数と同一の数の種類の追加変数の値の組合せを計算する。そして、応答曲面計算装置11は、計算した説明変数の値の組合せと、計算した追加変数の値の組合せとを組み合わせた組合せごとに、以下の処理を行う。すなわち、応答曲面計算装置11は、複数の応答曲面「f4」及び「f5」のそれぞれを用いて説明変数の値の組合せから「目的変数4」の近似値及び「目的変数5」の近似値を計算する。そして、応答曲面計算装置11は、「目的変数4」の近似値及び「目的変数5」の近似値を追加変数の値の組合せが示す「追加変数3」の値及び「追加変数4」の値のそれぞれによって重み付けして、新たな「目的変数6」の近似値を計算する。ここで、「目的変数6」は、上述したように、追加変数の値の組合せに応じて、異なる種類の目的変数(「目的変数4」及び「目的変数5」)のうちのいずれかの目的変数を示すような目的変数である。そして、応答曲面計算装置11は、計算した説明変数の値の組合せ、計算した追加変数の値の組合せ、及び、計算した「目的変数6」の近似値に基づいて、次の処理を行う。すなわち、応答曲面計算装置11は、1つの応答曲面「f6」を計算する。ここで、かかる応答曲面「f6」は、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面である。また、かかる応答曲面「f6」は、「説明変数3」、「説明変数4」、「説明変数5」、「追加変数3」、「追加変数4」から、「目的変数6」を計算するための応答曲面である。上述したように、応答曲面計算装置11によれば、計算の結果得られる新たな目的変数の近似値間の関係が目的変数間における所定の関係を満たすような応答曲面を計算することができる。それゆえ、応答曲面計算装置11によれば、複数の目的変数間で所定の関係がある場合に、所定の関係を満たすような複数の目的変数を計算することが可能な応答曲面を計算することができる。
また、応答曲面計算装置11は、複数の種類の説明変数の値の組合せ、追加変数の値の組合せ及び「目的変数6」の近似値に基づいて、複数の応答曲面「f7」、「f8」、「f9」を計算する。そして、応答曲面計算装置11は、線形計画法を用いて、次の処理を行う。すなわち、応答曲面計算装置11は、次の2つの条件を満たすような、3つの応答曲面f7、f8、f9のそれぞれを重み付けるための係数S1、S2、S3を計算する。1つ目の条件は、第3の計算部18により計算された「目的変数6」の近似値と、3つの応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値のそれぞれを係数S1、S2、S3で重み付けした値との差が最小となるという条件である。2つ目の条件は、応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値を係数S1、S2、S3で重み付けした結果得られる「目的変数6」の近似値の関係が、次のような関係を満たすという条件である。すなわち、2つ目の条件は、かかる「目的変数6」の近似値の関係が、「目的変数4」及び「目的変数5」間における所定の関係を満たすという条件である。そして、応答曲面計算装置11は、式(3)を用いて、次の処理を行う。すなわち、第4の計算部19は、応答曲面f7、f8、f9のそれぞれを、係数S1、S2、S3で重み付けして、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。これにより、応答曲面計算装置11は、計算の結果得られる「目的変数6」の近似値間の関係が「目的変数4」及び「目的変数5」間における所定の関係を満たすような応答曲面「f6」を計算することができる。
また、応答曲面装置11は、上述したように、全ての組合せを網羅するように、「追加変数3」の値と「追加変数4」の値との組合せを計算することもできる。この場合、以下に説明するように、精度の高い応答曲面を計算することができる。応答曲面計算装置11により計算された応答曲面「f6」の精度と、計算する目的変数ごとに異なる応答曲面を用いて異なる目的変数を計算する従来手法における応答曲面の精度とを計算した実験の結果を説明する。応答曲面計算装置11により計算された応答曲面「f6」の精度は、「0.12」であり、従来手法における応答曲面の精度は、「0.32」である。なお、応答曲面f7、f8、f9のそれぞれについて、精度を計算することができる。ここで、精度の値は、小さいほど、応答曲面の精度が高いことを示す。したがって、応答曲面装置11によれば、従来手法よりも、精度の高い応答曲面を計算することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、上述した実施例2において、第4の計算部19は、3つの応答曲面f7、f8、f9を計算すると、線形計画法を用いて、次の処理を行うことができる。すなわち、第4の計算部19は、以下の2つの条件を満たすような、3つの応答曲面f7、f8、f9のそれぞれを重み付けるための係数S1、S2、S3を計算する。これに加えて、第4の計算部19は、以下の2つの条件を満たすような、定数S4を計算する。1つ目の条件は、第3の計算部18により計算された「目的変数6」の近似値と、3つの応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値のそれぞれを係数S1、S2、S3で重み付けした値に定数S4を加算した値との差が最小となるという条件である。
2つ目の条件は、応答曲面f7、f8、f9のそれぞれによって計算された「目的変数6」の近似値を係数S1、S2、S3で重み付けした値に定数S4を加えた結果得られる「目的変数6」の近似値の関係が、次のような関係を満たすという条件である。すなわち、2つ目の条件は、かかる「目的変数6」の近似値の関係が、「目的変数4」及び「目的変数5」間における所定の関係を満たすという条件である。例えば、車両の燃費の近似値に所定係数εを乗じた値よりも、ボディの価格が大きいという関係がある場合について説明する。この場合には、「目的変数4」及び「目的変数5」間における所定の関係は、「「目的変数5」の近似値>「目的変数4」の近似値×ε」という関係である。
そして、係数S1、S2、S3、定数S4を計算すると、第4の計算部19は、下記の式(4)を用いて、次の処理を行う。すなわち、第4の計算部19は、応答曲面f7、f8、f9のそれぞれを、係数S1、S2、S3で重み付けした値に定数S4を加算して、応答曲面「f6(説明変数3,説明変数4,説明変数5,追加変数3,追加変数4)」を計算する。
f6=f7×S1+f8×S2+f9×S3+S4 (4)
このようにして、第4の計算部19は、計算の結果得られる「目的変数6」の近似値間の関係が「目的変数4」及び「目的変数5」間における所定の関係を満たすような応答曲面「f6」を計算することができる。
また、実施例1では、車両の全長及び全幅を説明変数とし、車両の燃費及びボディの価格を目的変数とし、2種類の追加変数を用いて、計算の結果得られる目的変数の近似値が、所定の関係を満たす応答曲面を計算する場合について説明した。また、実施例2では、車両の全長、全幅及び全高を説明変数とし、車両の燃費及びボディの価格を目的変数とし、2種類の追加変数を用いて、計算の結果得られる目的変数の近似値が、所定の関係を満たす応答曲面を計算する場合について説明した。しかしながら、開示の装置は、これに限られない。
図24は、実施例1及び実施例2の変形例を説明するための図である。図24の例は、プリント基板50上に搭載された3つの電子部品51、52、53を示す。3つの電子部品51、52、53は、炉に入れられて、はんだが溶かされてプリント基板50にはんだ付けされる。ここで、はんだ付けにおいて、プリント基板50上の電子部品51、52、53のそれぞれの温度Ta、Tb、Tcは、均一であることが好ましく考えられている。また、電子部品51の温度Taは、プリント基板50上の電子部品51の位置(Xa,Ya)、電子部品52の位置(Xb,Yb)、電子部品53の位置(Xc,Yc)の3つの説明変数から、次のような応答曲面により計算される。すなわち、電子部品51の温度Taは、応答曲面「f11((Xa,Ya),(Xb,Yb),(Xc,Yc))」により、3つの説明変数から計算される。ここで、各電子部品の位置は、例えば、X−Y座標の原点に最も近い位置の座標である。
また、電子部品52の温度Tbは、プリント基板50上の電子部品51の位置(Xa,Ya)、電子部品52の位置(Xb,Yb)、電子部品53の位置(Xc,Yc)の3つの説明変数から、次のような応答曲面により計算される。すなわち、電子部品52の温度Tbは、応答曲面「f12((Xa,Ya),(Xb,Yb),(Xc,Yc))」により、3つの説明変数から計算される。
また、電子部品53の温度Tcは、プリント基板50上の電子部品51の位置(Xa,Ya)、電子部品52の位置(Xb,Yb)、電子部品53の位置(Xc,Yc)の3つの説明変数から、次のような応答曲面により計算される。すなわち、電子部品53の温度Tcは、応答曲面「f13((Xa,Ya),(Xb,Yb),(Xc,Yc))」により、3つの説明変数から計算される。
また、各電子部品の特性の違いにより、温度Ta≦温度Tbという関係、及び、温度Tb≦温度Tcという関係がある。また、電子部品51の位置(Xa,Ya)は、領域51aの範囲内であり、電子部品52の位置(Xb,Yb)は、領域52aの範囲内であり、電子部品53の位置(Xc,Yc)は、領域53aの範囲内である。
上述したような場合に、開示の装置は、実施例1または実施例2と同様の方法で、計算の結果得られる温度Ta、Tb、Tcが、温度Ta≦温度Tbという関係及び温度Tb≦温度Tcという関係を満たすような1つの応答曲面を計算することができる。この場合には、開示の装置は、電子部品51、52、53のそれぞれの位置(Xa,Ya)、(Xb,Yb)、(Xc,Yc)を説明変数とする。また、開示の装置は、温度Ta、温度Tb及び温度Tcを3つの目的変数とする。そして、開示の装置は、3種類の追加変数を用いて、計算の結果得られる温度Ta、Tb、Tcが、温度Ta≦温度Tbという関係及び温度Tb≦温度Tcという関係を満たすような1つの応答曲面を計算する。
また、車両のボディの全長及び全幅から、応答曲面「f21(全長,全幅)」により、衝突安全性が計算され、また、車両のボディの全長及び全幅から、応答曲面「f22(全長,全幅)」により、車両の燃費が計算される場合について説明する。この場合においても、開示の装置は、実施例1または実施例2と同様の方法で、計算の結果得られる衝突安全性及び燃費が、所定の関係を満たすような1つの応答曲面を計算することができる。
また、開示の装置は、実施例1において、図8〜図12の計算結果に代えて、図3〜図7の計算結果を用いて、上述した方法と同様の方法で、計算の結果得られる目的変数の近似値が、所定の関係を満たす応答曲面を計算することもできる。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[応答曲面計算プログラム]
また、上記の各実施例で説明した応答曲面計算装置1,11の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図25を用いて、上記の各実施例で説明した応答曲面計算装置1,11と同様の機能を有する応答曲面計算プログラムを実行するコンピュータの一例を説明する。図25は、応答曲面計算プログラムを実行するコンピュータを示す図である。
図25に示すように、コンピュータ300は、CPU310、ROM320、HDD(Hard Disk Drive)330、RAM340を有する。これら各機器310〜340は、バス350を介して接続されている。
ROM320には、OS(Operating System)などの基本プログラムが記憶されている。また、HDD330には、上記の各実施例で示す第1の計算部、第2の計算部、第3の計算部、第4の計算部、出力制御部と同様の機能を発揮する応答曲面計算プログラム330aが予め記憶される。
そして、CPU310が、応答曲面計算プログラム330aをHDD330から読み出して実行する。
なお、上記した応答曲面計算プログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に応答曲面計算プログラム330aを記憶させておく。そして、コンピュータ300がこれらから応答曲面計算プログラム330aを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに応答曲面計算プログラム330aを記憶させておく。そして、コンピュータ300がこれらから応答曲面計算プログラム330aを読み出して実行するようにしてもよい。