(57)【要約】【課題】複数の評価指標の値を含むデータを評価するための評価関数を効率的に決定すること。【解決手段】記憶部１１は、それぞれが２以上の評価指標の値１４を含む複数のデータサンプル１３を記憶する。演算部１２は、複数のデータサンプル１３の少なくとも一部について複数のデータサンプル１３の中での相対的な優劣を示す優劣情報１７の入力を受け付ける。演算部１２は、それぞれが２以上の評価指標に対応する変数Ｘjと重みＷjとを含む複数の評価関数１５のうち少なくとも１つの評価関数について、変数Ｘjに各データサンプル１３の２以上の評価指標の値１４を代入したときに優劣情報１７に応じた複数のデータサンプル１３の間の優劣関係に適合する関数値１６が算出されるように重みＷjを設定可能か判定する。演算部１２は、複数の評価関数１５の中から重みＷjを設定可能と判定した評価関数１５を選択する。【選択図】図１
2014074994.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する評価支援方法であって、
それぞれが２以上の評価指標の値を含む複数のデータサンプルを取得し、
前記複数のデータサンプルの少なくとも一部について、前記複数のデータサンプルの中での相対的な優劣を示す優劣情報の入力を受け付け、
それぞれが前記２以上の評価指標に対応する変数と重みとを含む複数の評価関数のうち少なくとも１つの評価関数について、前記変数に各データサンプルの前記２以上の評価指標の値を代入したときに前記優劣情報に応じた前記複数のデータサンプルの間の優劣関係に適合する関数値が算出されるように前記重みを設定可能か判定し、前記複数の評価関数の中から前記重みを設定可能と判定した評価関数を選択する
評価支援方法。
【請求項２】
前記選択では、一の評価関数について前記重みを設定可能でないと判定すると、前記一の評価関数よりも次数の高い他の評価関数について前記判定を行う
請求項１に記載の評価支援方法。
【請求項３】
前記複数のデータサンプルの間で前記２以上の評価指標の値を比較することで各データサンプルの優劣の初期値を算出し、算出した前記優劣の初期値を出力し、
前記優劣情報の入力は、前記複数のデータサンプルの少なくとも一部について前記優劣の初期値を修正する入力である
請求項１又は２に記載の評価支援方法。
【請求項４】
前記判定では、前記変数に各データサンプルの前記２以上の評価指標の値を代入することで、前記複数のデータサンプルに対応し前記重みを含む複数の式を算出し、前記複数の式を用いて前記複数のデータサンプルの間の優劣関係を表現した制約式を算出し、前記制約式の中で前記重みが解をもつか判定する
請求項１乃至３の何れか一項に記載の評価支援方法。
【請求項５】
前記選択した評価関数に含まれる前記重みを、当該選択した評価関数について前記重みを設定可能か判定するときに用いた前記制約式を用いて算出する
請求項４に記載の評価支援方法。
【請求項６】
前記複数のデータサンプルの間で前記２以上の評価指標の値を比較することで、前記複数のデータサンプルを３以上の優劣レベルに区分し、
前記判定では、前記優劣レベルに応じて前記複数のデータサンプルから一部のデータサンプルを除外して、前記重みを設定可能か判定する
請求項１乃至５の何れか一項に記載の評価支援方法。
【請求項７】
それぞれが２以上の評価指標の値を含む複数のデータサンプルを記憶する記憶部と、
前記複数のデータサンプルの少なくとも一部について前記複数のデータサンプルの中での相対的な優劣を示す優劣情報の入力を受け付け、それぞれが前記２以上の評価指標に対応する変数と重みとを含む複数の評価関数のうち少なくとも１つの評価関数について、前記変数に各データサンプルの前記２以上の評価指標の値を代入したときに前記優劣情報に応じた前記複数のデータサンプルの間の優劣関係に適合する関数値が算出されるように前記重みを設定可能か判定し、前記複数の評価関数の中から前記重みを設定可能と判定した評価関数を選択する演算部と
を有する情報処理装置。
【請求項８】
コンピュータに、
それぞれが２以上の評価指標の値を含む複数のデータサンプルを取得し、
前記複数のデータサンプルの少なくとも一部について、前記複数のデータサンプルの中での相対的な優劣を示す優劣情報の入力を受け付け、
それぞれが前記２以上の評価指標に対応する変数と重みとを含む複数の評価関数のうち少なくとも１つの評価関数について、前記変数に各データサンプルの前記２以上の評価指標の値を代入したときに前記優劣情報に応じた前記複数のデータサンプルの間の優劣関係に適合する関数値が算出されるように前記重みを設定可能か判定し、前記複数の評価関数の中から前記重みを設定可能と判定した評価関数を選択する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価支援方法、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
現在、コンピュータの演算能力の向上に伴って、様々な分野でコンピュータシミュレーションが利用されている。例えば、機械製品や電子製品の設計を支援するため、温度・気圧などのパラメータをある値に設定したときの応答速度・製造コストなどの評価指標を、コンピュータシミュレーションを通じて予測する。これにより、適切なパラメータや適切な評価指標の組み合わせを見つけることが容易となり、試作品を製造する回数を減らして機械製品や電子製品などを効率的に設計できるようになる。
【０００３】
コンピュータシミュレーションの結果を分析するとき、しばしば数理最適化技術が利用される。数理最適化技術には、入力として数値を受け取り計算結果として数値を出力する数値解析と、入力として数式を受け取り、数式を記号的に処理する数式処理とが含まれる。数式処理の方法としては、例えば、Cylindrical Algebraic Decomposition（ＣＡＤ）や限量子消去（ＱＥ：Quantifier Elimination）などが挙げられる。数式処理技術を利用することで、例えば、制約条件を満たす最適解の有無を判定することや、グラフ上で特定条件を満たす領域や境界を算出することができる。
【０００４】
複数の評価指標の間にトレードオフの関係があるとき、上記のような数理最適化技術を用いて、複数の評価指標全体の最適化を試みる多目的最適化を行うことがある。例えば、数式処理技術に関し、ハードディスクのスライダ形状などの設計を支援するため、複数の評価関数を多項式で表現し、これら複数の評価関数をＱＥ法により数式処理する方法が提案されている。数式処理を用いることで、複数の評価指標の値が取り得る領域を計算して表示することができる。また、数値解析技術に関し、コンピュータシミュレーションを繰り返し実行した結果を用いて、複数の評価指標の値の重み付き和を最小化する最適解の計算方法が提案されている。
【０００５】
数式処理技術を適用すれば、コンピュータシミュレーションの実行回数が少なくて済むため、数値解析技術を適用する場合に比べて演算負荷を低減できる。但し、数式処理技術を適用する場合には、数式処理の対象となる数式を得るために、コンピュータシミュレーションで得られるデータを利用した近似式の計算が行われる。そのため、数式処理技術を適用する場合には近似の精度が問題となる場合がある。従って、数式処理技術では期待する精度の解を得ることが難しい場合には、上記の数値解析技術が適用され得る。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１６９５５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、複数の評価指標の値を含むあるデータが他のデータより良いデータであるか否かは、データ自身を比較するだけでは画一的に判断することが難しいことが多い。例えば、トレードオフの関係にある２つの評価指標が存在し、コンピュータシミュレーションを通じて、他のデータと比べて一方の評価指標の値は少し不利であるが他方の評価指標の値は大きく有利であるデータが取得されたとする。このとき、取得されたデータが他のデータより良いと言えるか否かは、製品設計の方針や良否を判断するユーザの意向などに依存する。
【０００８】
そのため、データの良否を総合的に判断するための評価指標を出力する評価関数を用いてデータを評価するにあたり、ユーザの意向に沿うような評価関数の決定が行われる。例えば、評価関数の形（次数・項数など）や重み付き和に含まれる重みを変えながら、幾つかのデータサンプルを評価して、適切な評価関数が決定される。しかし、このような評価関数の決定方法は、ユーザが自らの経験に基づいて試行錯誤的に行うものである。そのため、このような評価関数の決定方法では、決定された評価関数が適切か否かはユーザの能力に依存してしまう。また、このような評価関数の決定方法は、評価関数を決定するための作業負担が大きい。
【０００９】
そこで、一側面では、本発明は、複数の評価指標の値を含むデータを評価するための評価関数を効率的に決定することが可能な評価支援方法、情報処理装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
一側面では、コンピュータが実行する評価支援方法が提供される。このコンピュータは、それぞれが２以上の評価指標の値を含む複数のデータサンプルを取得する。また、このコンピュータは、複数のデータサンプルの少なくとも一部について、複数のデータサンプルの中での相対的な優劣を示す優劣情報の入力を受け付ける。また、このコンピュータは、それぞれが２以上の評価指標に対応する変数と重みとを含む複数の評価関数のうち少なくとも１つの評価関数について、変数に各データサンプルの２以上の評価指標の値を代入したときに優劣情報に応じた複数のデータサンプルの間の優劣関係に適合する関数値が算出されるように重みを設定可能か判定し、複数の評価関数の中から重みを設定可能と判定した評価関数を選択する。
【発明の効果】
【００１１】
一側面では、複数の評価指標の値を含むデータを評価するための評価関数を効率的に決定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る情報処理装置の例を示した図である。
【図２】第２の実施の形態に係る情報処理装置のハードウェアの例を示した図である。
【図３】第２の実施の形態に係る情報処理装置の例を示した図である。
【図４】単目的最適化及び多目的最適化について説明した図である。
【図５】第２の実施の形態に係る評価データに対する優劣の判定方法について説明した図である。
【図６】第２の実施の形態に係る優劣の変更方法について説明した図である。
【図７】第２の実施の形態に係るデータテーブルの構造及び優劣の対応付けについて説明した図である。
【図８】第２の実施の形態に係る制約式の生成方法について説明した図である。
【図９】第２の実施の形態に係る情報処理装置による処理の流れを示した図である。
【図１０】第２の実施の形態に係る評価関数の生成処理について処理の流れを示した図である。
【図１１】第２の実施の形態に係る最適化計算について処理の流れを示した図である。
【図１２】複数の重みの組のそれぞれに対する適切なパラメータの計算方法について示した図である。
【図１３】第２の実施の形態に係るパラメータ計算について処理の流れを示した図である。
【図１４】第２の実施の形態の一変形例に係る最適化計算について処理の流れを示した図である。
【図１５】第３の実施の形態に係る情報処理装置の例を示した図である。
【図１６】第３の実施の形態に係る優劣の定量化方法について説明した図である。
【図１７】第３の実施の形態に係る情報処理装置による処理の流れを示した図である。
【図１８】第３の実施の形態に係る制約式の計算処理について処理の流れを示した図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら実施の形態について説明する。
［第１の実施の形態］
まず、第１の実施の形態について説明する。
【００１４】
図１は、第１の実施の形態に係る情報処理装置の例を示した図である。図１に示すように、第１の実施の形態に係る情報処理装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、Random Access Memory（ＲＡＭ）などの揮発性記憶装置であってもよいし、Hard Disk Drive（ＨＤＤ）やフラッシュメモリなどの不揮発性記憶装置であってもよい。また、演算部１２は、Central Processing Unit（ＣＰＵ）やDigital Signal Processor（ＤＳＰ）などのプロセッサであってもよい。また、演算部１２は、Application Specific Integrated Circuit（ＡＳＩＣ）やField Programmable Gate Array（ＦＰＧＡ）などのプロセッサ以外の電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１５】
記憶部１１は、それぞれが２以上の評価指標の値１４Ａ、…、１４Ｃを含む複数のデータサンプル１３Ａ、…、１３Ｃを記憶する。また、演算部１２は、複数のデータサンプル１３Ａ、…、１３Ｃの少なくとも一部について複数のデータサンプル１３Ａ、…、１３Ｃの中での相対的な優劣を示す優劣情報１７の入力を受け付ける。
【００１６】
また、演算部１２は、それぞれが２以上の評価指標Ｘjと重みＷjとを含む複数の評価関数１５のうち少なくとも１つの評価関数について、評価指標Ｘjに各データサンプル１３Ａ、…、１３Ｃの２以上の評価指標の値１４Ａ、…、１４Ｃを代入したときに優劣情報１７に応じた複数のデータサンプル１３Ａ、…、１３Ｃの間の優劣関係に適合する関数値１６Ａ、…、１６Ｃが算出されるように重みＷjを設定可能か判定する。
【００１７】
評価関数１５は、例えば、ｊが１からｎまでの範囲で重みＷjと評価指標の値Ｘjとを積算して足し合わせた下記の式（１）で表現される式Ｑ（Ｘ）のように設定されてもよい。また、評価関数１５は、例えば、下記の式（２）に示すように、評価指標の値に関する２次の項を含む形に設定されてもよい。また、評価関数１５は、例えば、評価指標の値に関する３次以上の項を含むように設定されてもよい。
【００１８】
【数１】
2014074994.tif 000003
【００１９】
【数２】
2014074994.tif 000004
【００２０】
ここで、より優れたデータサンプルほど評価関数の値が小さくなるように優劣情報１７を設定する場合について考える。
仮に、データサンプル１３Ａよりもデータサンプル１３Ｃが優れているならば、データサンプル１３Ａに対応する関数値ＱAよりもデータサンプル１３Ｃに対応する関数値ＱCが小さくなる。この場合、下記の式（３）に示すような優劣情報１７が得られる。逆に、データサンプル１３Ｃよりもデータサンプル１３Ａが優れているならば、データサンプル１３Ａに対応する関数値ＱAよりもデータサンプル１３Ｃに対応する関数値ＱCが大きくなる。この場合、下記の式（４）に示すような優劣情報１７が得られる。
【００２１】
同様に、複数のデータサンプル１３Ａ、…、１３Ｃに関する他の関係についても優劣情報１７が得られる。演算部１２は、このような優劣情報１７の入力を受け付ける。
【００２２】
【数３】
2014074994.tif 000005
【００２３】
【数４】
2014074994.tif 000006
【００２４】
演算部１２は、複数の評価関数１５の中から重みＷjを設定可能と判定した評価関数１５を選択する。例えば、演算部１２は、数式処理により、優劣情報１７に適合する関数値１６Ａ、…、１６Ｃが算出されるような重みＷjを設定可能か否か判定してもよい。また、演算部１２は、優劣情報１７に適合する関数値１６Ａ、…、１６Ｃが算出されるような重みを設定可能な評価関数１５の中から、より次数の低い評価関数１５を選択してもよい。
【００２５】
第１の実施の形態に係る情報処理装置１０によれば、優劣情報に適合する関数値が算出されるような重みを設定可能な評価関数が選択される。そのため、複数の評価指標の値を含むデータを評価するための評価関数を効率的に決定することが可能になる。
【００２６】
［第２の実施の形態］
次に、第２の実施の形態について説明する。
図２は、第２の実施の形態に係る情報処理装置のハードウェアの例を示した図である。
【００２７】
図２に示すように、情報処理装置１００は、例えば、ＣＰＵ９０１、ＲＡＭ９０２、ＨＤＤ９０３、画像信号処理部９０４、入力信号処理部９０５、ディスクドライブ９０６、及び通信インターフェース９０７を有する。なお、ＣＰＵ９０１は、第１の実施の形態の演算部１２の一例である。また、ＲＡＭ９０２やＨＤＤ９０３は、第１の実施の形態の記憶部１１の一例である。
【００２８】
ＣＰＵ９０１は、プログラムに記述された命令を実行する演算器を含むプロセッサである。ＣＰＵ９０１は、ＨＤＤ９０３に記憶されているプログラムやデータの少なくとも一部をＲＡＭ９０２にロードし、プログラムに記述された命令を実行する。なお、ＣＰＵ９０１は、複数のプロセッサコアを含んでいてもよい。また、情報処理装置１００は、複数のＣＰＵ９０１を搭載していてもよい。この場合、情報処理装置１００は、処理を並列実行することができる。
【００２９】
ＲＡＭ９０２は、ＣＰＵ９０１が実行するプログラムや、処理に用いられるデータを一時的に記憶するための揮発性メモリである。なお、情報処理装置１００は、ＲＡＭ９０２とは異なる種類のメモリを有していてもよい。また、情報処理装置１００は、複数のメモリを備えていてもよい。
【００３０】
ＨＤＤ９０３は、Operating System（ＯＳ）、ファームウェア、或いは、アプリケーションソフトウェアなどのプログラムや、処理に用いられるデータなどを記憶する不揮発性記憶装置の一例である。なお、情報処理装置１００は、フラッシュメモリやSolid State Drive（ＳＳＤ）など、ＨＤＤ９０３とは異なる種類の記憶装置を有していてもよい。また、情報処理装置１００は、複数の記憶装置を有していてもよい。
【００３１】
画像信号処理部９０４は、ＣＰＵ９０１による制御を受け、情報処理装置１００に接続された表示装置９１に画像を出力する。表示装置９１は、例えば、Cathode Ray Tube（ＣＲＴ）ディスプレイ、Liquid Crystal Display（ＬＣＤ）、Plasma Display Panel（ＰＤＰ）、Organic Electro-Luminescence Display（ＯＥＬＤ）などの表示デバイスである。
【００３２】
入力信号処理部９０５は、情報処理装置１００に接続された入力デバイス９２から入力信号を取得し、ＣＰＵ９０１に通知する。入力デバイス９２としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、トラックボール、リモートコントローラ、ボタンスイッチなどを用いることができる。
【００３３】
ディスクドライブ９０６は、記録媒体９３に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体９３としては、例えば、Flexible Disk（ＦＤ）、ＨＤＤなどの磁気ディスク、Compact Disc（ＣＤ）やDigital Versatile Disc（ＤＶＤ）などの光ディスク、Magneto-Optical disk（ＭＯ）などの光磁気ディスクを用いることができる。ディスクドライブ９０６は、例えば、ＣＰＵ９０１による制御を受け、記録媒体９３から読み取ったプログラムやデータをＲＡＭ９０２又はＨＤＤ９０３に格納する。
【００３４】
通信インターフェース９０７は、ネットワーク９４を介して他のコンピュータと通信を行うためのインターフェースである。通信インターフェース９０７は、有線インターフェースであってもよいし、無線インターフェースであってもよい。
【００３５】
図３は、第２の実施の形態に係る情報処理装置の例を示した図である。
図３に示すように、情報処理装置１００は、パラメータ入力部１０１、シミュレーション実行部１０２、優劣判定部１０３、判定結果出力部１０４、記憶部１０５、及び優劣情報入力部１０６を有する。また、情報処理装置１００は、制約式生成部１０７、数式処理部１０８、評価関数生成部１０９、重み計算部１１０、及び最適化計算部１１１を有する。
【００３６】
なお、パラメータ入力部１０１、シミュレーション実行部１０２、優劣判定部１０３、判定結果出力部１０４、優劣情報入力部１０６は、ＣＰＵ９０１が実行するプログラムのモジュールとして実現できる。また、パラメータ入力部１０１、シミュレーション実行部１０２、優劣判定部１０３、判定結果出力部１０４、優劣情報入力部１０６が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。
【００３７】
また、制約式生成部１０７、数式処理部１０８、評価関数生成部１０９、重み計算部１１０、及び最適化計算部１１１は、ＣＰＵ９０１が実行するプログラムのモジュールとして実現できる。また、制約式生成部１０７、数式処理部１０８、評価関数生成部１０９、重み計算部１１０、及び最適化計算部１１１が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。また、記憶部１０５は、ＲＡＭ９０２やＨＤＤ９０３に確保された記憶領域である。
【００３８】
パラメータ入力部１０１には、評価指標の計算に用いるパラメータが入力される。例えば、パラメータは、入力デバイス９２を用いてユーザにより入力されてもよいし、ネットワーク９４を介して外部の端末装置やサーバ装置から取得されてもよい。また、パラメータは、例えば、評価対象の設計に関わるパラメータ、評価対象の製造プロセスにおける設定内容を規定するパラメータ、評価対象の実稼働条件を規定するパラメータなどであってもよい。
【００３９】
評価指標は、例えば、評価対象の性能を表す指標や、評価対象の製造時に生じるコストなどを表す指標などであってもよい。性能に関する評価指標としては、例えば、耐久性、消費電力、動作環境（温度、湿度、気圧）などがある。また、コストに関する評価指標としては、費用、製造期間、歩留まりなどがある。なお、第２の実施の形態においては、性能とコストとの間の関係のように、互いにトレードオフの関係にある複数の評価指標を同時に考慮する多目的最適化問題について考える。
【００４０】
多目的最適化は、ハードディスクのヘッド設計や半導体メモリの設計、或いは、自動車の衝突安全設計やエンジン性能の設計など、ものづくりの現場における設計や評価の場面で利用されることが多い。例えば、多目的最適化は、半導体メモリの設計における基板材料、基板形状、配線パターンなどの最適化に利用される。また、多目的最適化は、自動車の衝突安全設計におけるボディの材質やボディの形状などの最適化に利用される。また、多目的最適化は、エンジン性能の設計におけるガソリン量や噴射タイミングなどの最適化に利用される。
【００４１】
パラメータ入力部１０１に入力されたパラメータは、記憶部１０５に格納される。また、記憶部１０５に格納されたパラメータは、シミュレーション実行部１０２により読み出される。なお、パラメータ入力部１０１に入力されたパラメータは、シミュレーション実行部１０２に直接入力されてもよい。
【００４２】
シミュレーション実行部１０２は、パラメータに基づいて評価の対象物及び当該対象物がおかれた環境をシミュレートし、当該対象物及び環境における評価指標を計算する。例えば、シミュレーション実行部１０２は、ヘッドの形状を規定するパラメータの入力に応じて、ヘッドの性能を示す評価指標の値及び製造コストを示す評価指標の値を算出する。また、シミュレーション実行部１０２は、パラメータの入力に応じて、エンジンから排出される煤の量やＮＯxの量を示す評価指標の値を算出する。
【００４３】
シミュレーション実行部１０２により計算された複数の評価指標の値（以下、評価データと呼ぶことがある。）は、パラメータと対応付けて記憶部１０５に格納される。また、記憶部１０５に格納された評価データは、優劣判定部１０３により読み出される。なお、評価データは、優劣判定部１０３に直接入力されてもよい。また、記憶部１０５には、パラメータ入力部１０１に入力された複数のパラメータに基づいて算出された複数の評価データが格納される。
【００４４】
優劣判定部１０３は、記憶部１０５に格納された各評価データの優劣を判定する。例えば、少なくとも１つの評価指標について、ある一の評価データが他の評価データよりも良い値を有する場合、一の評価データは、他の評価データよりも良いとする。また、優劣判定部１０３は、ある一の評価データが他の全ての評価データよりも良い場合、その一の評価データを優れた評価データであると判定する。また、優劣判定部１０３は、優れた評価データ以外の評価データを劣った評価データであると判定する。
【００４５】
優劣判定部１０３による判定の結果は、判定結果出力部１０４に入力される。また、優劣判定部１０３による判定の結果は、記憶部１０５に格納される。
判定結果出力部１０４は、各評価データの優劣をユーザに提示する。例えば、判定結果出力部１０４は、画像信号処理部９０４を介して各評価データの優劣を表示装置９１に表示させる。表示方法としては、例えば、各評価データを示すオブジェクトをマップ上に表示し、各評価データに優劣を示すテキストデータを付与する方法が考えられる。また、優劣に応じて各オブジェクトを色分けする表示方法も考えられる。また、各評価データと優劣を示すテキストデータとを対応付けた表を表示する方法も考えられる。
【００４６】
各評価データの優劣を示す情報を参照したユーザは、ある評価データの優劣を変更する場合がある。この場合、優劣情報入力部１０６には、ユーザにより優劣が変更された評価データの情報などが入力される。
【００４７】
例えば、優劣判定部１０３によって劣った評価データであると判定された評価データをユーザが優れた評価データに変更した場合に、その評価データの情報及び変更内容が優劣情報入力部１０６に入力される。また、優劣判定部１０３によって優れた評価データであると判定された評価データをユーザが劣った評価データに変更した場合に、その評価データの情報及び変更内容が優劣情報入力部１０６に入力される。なお、優劣情報入力部１０６に入力された情報は、その情報に対応する評価データの情報と対応付けて記憶部１０５に格納される。
【００４８】
制約式生成部１０７は、記憶部１０５に格納された各評価データ及び当該各評価データの優劣に基づいて制約式を生成する。この制約式は、各評価データの優劣を当該各評価データに含まれる複数の評価指標の値を用いて表現した条件式である。例えば、制約式生成部１０７は、各評価データの優劣を定量化するために複数の評価指標の値の重み付き和で表現された評価関数を利用する。また、制約式生成部１０７は、各評価データに対応する評価関数の値が満たす条件を表現した制約式を生成する。
【００４９】
一例として、優れた評価データの評価関数の値よりも劣った評価データの評価関数の値が大きくなる場合について考える。例えば、優れた評価データＡ、劣った評価データＢ、劣った評価データＣがある場合、制約式生成部１０７は、評価データＡとＢの間の関係、及び評価データＡとＣの間の関係を表現した２つの制約式を生成する。評価データＡに対応する評価関数の値をＱA、評価データＢに対応する評価関数の値をＱBと表現すると、評価データＡとＢの間の関係を表現した制約式は、下記の式（５）で表現される。また、評価データＣに対応する評価関数の値をＱCとすると、評価データＡとＣの間の関係を表現した制約式は、下記の式（６）で表現される。
【００５０】
【数５】
2014074994.tif 000007
【００５１】
【数６】
2014074994.tif 000008
【００５２】
上記のように、制約式生成部１０７は、優れた評価データと劣った評価データとの間の組み合わせについて制約式を生成する。このとき、制約式生成部１０７は、全ての可能な組み合わせについて制約式を生成してもよいし、一部の組み合わせについて制約式を生成してもよい。例えば、制約式生成部１０７は、ユーザにより優劣が変更された全ての評価データ、全ての優れた評価データ、一部又は全部の劣った評価データを含む評価データの集合について全ての可能な組み合わせに関する制約式を生成してもよい。このように、ユーザが優劣を変更した全ての評価データについて制約式を生成することで、ユーザの意向を計算結果に全て反映させることができる。
【００５３】
また、制約式生成部１０７は、評価関数生成部１０９から評価関数の情報を取得する。例えば、制約式生成部１０７は、下記の式（７）に示すような評価関数の情報を取得する。但し、下記の式（７）においてＷjは重みを表す変数であり、Ｘjは評価指標の値を表す変数である。但し、Ｘは、評価指標の値を表す変数の組Ｘ1，…，Ｘnを表す。
【００５４】
【数７】
2014074994.tif 000009
【００５５】
評価関数の情報を取得した制約式生成部１０７は、各評価データに対応する複数の評価指標の値及び評価関数を制約式に当てはめる。例えば、優れた評価データＡに対応する評価指標の値（Ａ1，Ａ2）及び劣った評価データＢに対応する評価指標の値（Ｂ1，Ｂ2）が得られた場合、制約式生成部１０７は、上記の式（５）及び式（７）に基づいて下記の式（８）に示すような制約式を生成する。同様に、制約式生成部１０７は、他の評価データについても評価関数に基づく制約式を生成する。制約式生成部１０７により生成された複数の制約式の情報は、数式処理部１０８に入力される。
【００５６】
【数８】
2014074994.tif 000010
【００５７】
数式処理部１０８は、数式処理を用いて、制約式生成部１０７により生成された全ての制約式に適合する重みの組が存在するか否かを判定する。数式処理としては、例えば、ＣＡＤやＱＥなどを用いることができる。例えば、〔穴井宏和、横山和宏著、「ＱＥの計算アルゴリズムとその応用」、東京大学出版会〕などにＱＥの解説が記載されている。
【００５８】
ＱＥは、計算機を用いて、限量記号を含む論理式から限量記号を含まない論理式を生成する技術である。例えば、下記の式（９）に示す論理式にＱＥを適用すると、下記の式（１０）に示す論理式が得られる。なお、限量記号が付いたｘ1，ｘ2，ｘ3は束縛変数であり、限量記号が付かないｙは自由変数である。この例のように、ＱＥを適用すると、限量記号を含む論理式から限量記号を含まない論理式を生成することができる。
【００５９】
【数９】
2014074994.tif 000011
【００６０】
【数１０】
2014074994.tif 000012
【００６１】
また、下記の式（１１）に示すように、論理式に含まれる全ての変数に存在記号を付与してＱＥを実行すると、この論理式に含まれる制約条件を満たす変数の組が存在するか否かを判定することができる。例えば、下記の式（１１）に示す論理式にＱＥを適用すると、この論理式に含まれる制約条件を満たす変数ｘ及びｙは存在すると判定される。より複雑な問題に対しても、ＱＥを用いて論理式に含まれる制約条件を満たす変数の組が存在するか否かを判定することが可能である。この方法を用いると、制約式生成部１０７により生成された全ての制約式に適合する重みの組が存在するか否かを判定することができる。
【００６２】
【数１１】
2014074994.tif 000013
【００６３】
数式処理部１０８は、全ての制約式に適合する重みの組が存在するか否かを判定し、その判定の結果を制約式生成部１０７及び評価関数生成部１０９に入力する。全ての制約式に適合する重みの組が存在する場合、評価関数生成部１０９は、制約式の生成に用いた評価関数の情報を重み計算部１１０に入力する。また、制約式生成部１０７は、制約式の情報を重み計算部１１０に入力する。また、制約式生成部１０７は、制約式の情報及び評価関数の情報を記憶部１０５に格納する。
【００６４】
一方、全ての制約式に適合する重みの組が存在しない場合、評価関数生成部１０９は、評価関数の形を変更する。このとき、評価関数生成部１０９は、元の評価関数を、より高次の項を含む評価関数に変更する。例えば、元の評価関数が上記の式（７）に示す評価関数である場合、評価関数生成部１０９は、その評価関数を下記の式（１２）に示すような２次の項を含む評価関数に変更する。但し、Ｗj及びＷijは重みを表す。なお、評価関数生成部１０９は、元の評価関数を下記の式（１３）に示すような３次以上の項を含む評価関数に変更してもよい。
【００６５】
【数１２】
2014074994.tif 000014
【００６６】
【数１３】
2014074994.tif 000015
【００６７】
変更後の評価関数の情報は、制約式生成部１０７に入力される。評価関数が変更された場合、制約式生成部１０７は、変更後の評価関数に基づいて制約式を生成する。制約式生成部１０７により生成された制約式の情報は、数式処理部１０８に入力される。数式処理部１０８は、全ての制約式に適合する重みの組が存在するか否かを判定する。全ての制約式に適合する重みの組が存在する場合、評価関数生成部１０９は、制約式の生成に用いた評価関数の情報を重み計算部１１０に入力する。また、制約式生成部１０７は、制約式の情報を重み計算部１１０に入力する。また、制約式生成部１０７は、制約式の情報及び評価関数の情報を記憶部１０５に格納する。
【００６８】
上記のように、全ての制約式に適合する重みの組が得られるまで、評価関数の変更処理及び変更後の評価関数に基づく制約式の生成処理が繰り返し実行される。
重み計算部１１０は、評価関数を用いて重みの組を算出する。まず、重み計算部１１０は、仮に、評価関数に含まれる複数の評価指標をそれぞれ係数とみなし、重みの組Ｗ1，…，Ｗnを変数と考える。
【００６９】
また、重み計算部１１０は、実験計画法、ラテン超方格法、ランダムサンプリング法などの方法を用いて複数の係数群を生成する。なお、実験計画法は、目的に影響を与える因子の実験データを制約条件の下で収集し、収集した実験データを分析する手法である。但し、実験データは、実験を実施して収集してもよいし、コンピュータシミュレーションを実施して収集してもよい。また、ラテン超方格法は、ラテン超方格に基づく実験計画法である。また、ラテン超方格は、ｍ行ｍ列（ｍは２以上）の表にｍ個の異なる値を、各値が各行及び各列に１回だけ現れるように並べたものである。ランダムサンプリング法は、あるデータ範囲に含まれるデータをランダムに抽出する方法である。
【００７０】
例えば、ラテン超方格法を利用する場合、重み計算部１１０は、表に現れる各値を−１から１までの実数とし、各値が各行及び各列に１回だけ現れるように並べたラテン超方格を生成する。そして、重み計算部１１０は、ラテン超方格の各行又は各列に含まれる実数群を各係数群に設定する。また、ランダムサンプリング法を利用する場合、重み計算部１１０は、−１から１までの範囲に含まれる実数をランダムにｎ回抽出し、抽出したｎ個の実数を１つの係数群に設定する。また、重み計算部１１０は、この処理を繰り返し実行して複数の係数群を生成する。
【００７１】
上記のようにして生成した複数の係数群のそれぞれについて、重み計算部１１０は、重みの組が全ての制約式に適合する条件の下で評価関数を最小化する重みの組を計算する。また、重み計算部１１０は、各係数群について、重みの組が全ての制約式に適合する条件の下で評価関数を最大化する重みの組を計算する。このとき、全ての制約式及び評価関数は各係数について１次式となるため、重みの組は線形計画法により求めることができる。
【００７２】
なお、上記の例では係数群を設定するにあたり各係数を−１から１までの範囲に含まれる実数とした。重みの組を計算するにあたっては係数群に含まれる係数の比が重要であり、各係数を定数倍した係数群を複数用いても重みの組の計算には寄与しないからである。従って、係数の取り得る範囲は任意に設定することが可能であるが、上記のように各係数の上限及び下限を−１から１までの範囲に設定しておくことが好ましい。
【００７３】
重み計算部１１０により係数群毎に算出された複数の重みの組は、最適化計算部１１１に入力される。最適化計算部１１１は、記憶部１０５から評価関数の情報を読み出す。また、最適化計算部１１１は、複数の重みの組のそれぞれについて、評価関数の値を最小化するパラメータを算出する。例えば、最適化計算部１１１は、評価関数の値を最小化するパラメータの候補を複数用意し、各候補に対応する評価データを取得する。この場合、最適化計算部１１１は、各候補のパラメータをシミュレーション実行部１０２に入力し、シミュレーション実行部１０２により算出された評価データを取得する。
【００７４】
また、最適化計算部１１１は、各候補に対応する評価データを用いて評価関数の値を計算し、候補として用意したパラメータの中から、評価関数の値が最小となるパラメータを抽出する。例えば、パラメータの抽出は、Nelder-Mead法、Powell法、最急降下法、又は共役勾配法などの最適化アルゴリズムを用いて実現できる。また、最適化計算部１１１は、抽出したパラメータを適切なパラメータとして出力する。なお、最適化計算部１１１は、適切なパラメータに対応する複数の評価指標の値を出力してもよい。
【００７５】
以上、第２の実施の形態に係る情報処理装置１００の例について説明した。情報処理装置１００によれば、制約式に適合する重みの組が存在する場合に重みの組が計算され、制約式に適合する重みの組が存在しない場合には評価関数が変更される。そのため、制約式に適合する重みの組が存在しないのに重みの組を探索し続けるといった無駄な計算が行われず、制約式に適合する重みの組を効率的に計算することが可能になる。
【００７６】
また、評価データの優劣に関するユーザの変更を受け付け、変更後の優劣に基づく制約式を用いて重みの組が計算されるため、ユーザの意向を反映した重みの組が得られる。
また、情報処理装置１００によれば、数式処理及び線形計画法を利用して複数の重みの組が計算され、それら複数の重みの組を用いて評価関数の値を最小化するパラメータの値が計算される。複数の重みの組を計算する際、複数の評価データを得るためにコンピュータシミュレーションが実行されるが、当該評価関数の値を最小化するパラメータの計算は単目的最適化に他ならず、多目的最適化を行う場合に比べてコンピュータシミュレーションの実行回数を低く抑えられる。
【００７７】
なお、多目的最適化問題を解く方法としては、例えば、コンピュータシミュレーションを繰り返し実行して得られる評価データから、遺伝的アルゴリズムなどを用いて最適解を探索する方法などが考えられている。遺伝的なアルゴリズムは、古典的な数理計画法では扱うことが困難な問題に対する有効な最適化手法の一つである。しかし、遺伝的アルゴリズムを実行して最適解を得る場合、多数の評価データを計算するためにコンピュータシミュレーションを多数回実行することになる。
【００７８】
一方、上記の情報処理装置１００によれば、評価関数の値を最小化するパラメータの計算が単目的最適化に帰着されるため、遺伝的アルゴリズムなどを用いる方法に比べてコンピュータシミュレーションの回数を格段に少なくすることが可能になる。その結果、情報処理装置１００によれば、上記のような多目的最適化を行う場合に比べると、パラメータの最適化にかかる演算負荷を低く抑えることが可能になる。
【００７９】
以下、互いにトレードオフの関係にある２つの評価指標（評価指標＃１、評価指標＃２）を考え、情報処理装置１００による処理について更に説明する。
図４は、単目的最適化及び多目的最適化について説明した図である。なお、図４（Ａ）は、単目的最適化について説明するための図である。また、図４（Ｂ）は、多目的最適化について説明するための図である。単目的最適化は、１つの目的に対応する評価指標の値を適切な値（例えば、最小の値）にするパラメータを計算する方法である。一方、多目的最適化は、複数の目的にそれぞれ対応する複数の評価指標の値の組み合わせを最適化するパラメータを計算する方法である。
【００８０】
例えば、評価指標の値が小さいほど良い場合、コンピュータシミュレーションにより複数のパラメータに対応する評価データを計算し、評価指標の値が最小になるパラメータを選択することで単目的最適化を行うことができる。また、複数の評価データを近似する近似式を計算し、その近似式の値が最小となるパラメータを計算することで単目的最適化を行うことも可能である。単目的最適化によれば、例えば、評価指標＃１の値を最小化するパラメータ、及び評価指標＃２の値を最小化するパラメータをそれぞれ求めることができる。
【００８１】
しかし、評価指標＃１及び＃２が互いにトレードオフの関係にある場合、評価指標＃１の値を最小化するパラメータは、評価指標＃１及び＃２の組み合わせを最適化するパラメータとならないことが多い。そのため、評価指標＃１及び＃２の組み合わせを最適化するパラメータを計算するためには多目的最適化が行われる。
【００８２】
例えば、図４（Ｂ）に示すように、少なくとも評価指標＃１の値又は評価指標＃２の値について、ある一の評価データの値が、他の全ての評価データの値よりも小さくなる場合に、その一の評価データを優れた評価データであると判定する。この場合、優れた評価データの集合に対応するパラメータ群が、多目的最適化における適切なパラメータであると言える。このように、多目的最適化においては、複数の評価指標の値を同時に考慮して優れた評価データが抽出され、抽出された優れた評価データに対応するパラメータが適切なパラメータとして得られる。
【００８３】
多目的最適化を実現する１つの方法として、パラメータを変更しながらコンピュータシミュレーションを繰り返し実行して多くの評価データを算出し、これら多くの評価データの中から適切な評価データを選択する方法が考えられる。例えば、遺伝的アルゴリズムなどを用いて最適解を探索する方法などが考えられている。遺伝的なアルゴリズムは、古典的な数理計画法では扱うことが困難な問題に対する有効な最適化手法の一つである。遺伝的アルゴリズムを実行して最適解を得る場合、多数の評価データを計算するためにコンピュータシミュレーションを多数回実行することになる。しかし、コンピュータシミュレーションは演算負荷の高い処理である。そのため、可能な限りコンピュータシミュレーションの実行回数を減らすことが好ましい。
【００８４】
評価データの優劣を定量化する方法としては、例えば、評価指標＃１の値と評価指標＃２の値との重み付き和を利用する方法が考えられる。例えば、第１の重みと評価指標＃１の値との積と、第２の重みと評価指標＃２の値との積とを加算した重み付き和である評価関数の値が評価データの優劣を表すと考える。この場合、第１及び第２の重みは、例えば、優れた評価データに対応する評価関数の値が劣った評価データに対応する評価関数の値よりも小さくなるように計算される。第１及び第２の重みが計算されれば、評価関数を最小化するパラメータを求めることで適切なパラメータが得られる。
【００８５】
なお、第１及び第２の重みを計算する際、複数の評価データを得るためにコンピュータシミュレーションが実行される。しかし、評価関数の値を最小化するパラメータを求める処理は単目的最適化に他ならず、上記のような評価関数を用いずに多目的最適化を行う方法に比べてコンピュータシミュレーションの実行回数を少なく抑えることができる。
【００８６】
図５は、第２の実施の形態に係る評価データに対する優劣の判定方法について説明した図である。評価データの優劣は、例えば、図５に示すような方法で判定することができる。図５（Ａ）は、評価データＤ2の優劣を判定する方法を示した図である。図５（Ｂ）は、評価データＤ1の優劣を判定する方法を示した図である。
【００８７】
なお、図５（Ａ）においてハッチングを施した領域は、少なくとも評価指標＃１の値又は評価指標＃２の値が評価データＤ2よりも良い値となる領域を示している。また、図５（Ｂ）においてハッチングを施した領域は、少なくとも評価指標＃１の値又は評価指標＃２の値が評価データＤ1よりも良い値となる領域を示している。
【００８８】
図５（Ａ）の例では、評価データＤ2よりも良い評価データとして評価データＤ1が存在している。また、図５（Ｂ）の例では、評価データＤ1よりも良い他の評価データは存在しない。従って、評価データＤ1は優れた評価データであると判定され、評価データＤ2は劣った評価データであると判定される。
【００８９】
このように、少なくとも２つの評価データの間の関係に基づいて各評価データの優劣を決めることができる。しかし、このような方法で判定した評価データの優劣は、ユーザが考える評価データの優劣と一致しない場合がある。
【００９０】
例えば、図５の例では、評価指標＃１が良ければ評価指標＃２が悪くても優れた評価データであると判定される場合がある。例えば、エンジン性能の設計において、ＮＯxの排出量よりも煤の排出量を重視するユーザは、ＮＯxの排出量を示す評価指標が良くても、煤の排出量を示す評価指標が悪ければ、これらの評価指標を有する評価データを劣っているとみなす場合がある。しかし、評価指標＃１を重視しているユーザにとっては、評価指標＃２が良くても評価指標＃１が悪い評価データは劣った評価データである。そのため、評価データの優劣は、ユーザの意向に沿って変更できるようにすることが好ましい。
【００９１】
図６は、第２の実施の形態に係る優劣の変更方法について説明した図である。
記憶部１０５には、評価データの優劣を示す情報が各評価データの情報に対応付けて格納されている。図６（Ａ）の例に示すように、評価データＤ2の優劣をユーザが優れた評価データに変更した場合、優劣情報入力部１０６は、記憶部１０５に格納されている情報のうち、評価データＤ2に対応する優劣を示す情報を「劣」から「優」に変更する。逆に、図６（Ｂ）の例に示すように、評価データＤ3の優劣をユーザが劣った評価データに変更した場合、優劣情報入力部１０６は、記憶部１０５に格納されている情報のうち、評価データＤ3に対応する優劣を示す情報を「優」から「劣」に変更する。
【００９２】
図７は、第２の実施の形態に係るデータテーブルの構造及び優劣の対応付けについて説明した図である。
図７に示すように、記憶部１０５には、識別情報（番号）、各パラメータの値、評価データ、及び優劣を示す情報を対応付けるデータテーブルが格納されている。各評価データの優劣を示す情報には、優劣判定部１０３による判定結果（「優劣（判定）」）及び優劣情報入力部１０６を介してユーザにより入力された各評価データの優劣を示す情報（「優劣（手動）」）が含まれる。なお、図７（Ａ）は、図６（Ａ）に対応するデータテーブルの内容である。また、図７（Ｂ）は、図６（Ｂ）に対応するデータテーブルの内容である。制約式生成部１０７は、図７に示すような情報を利用して制約式を生成する。
【００９３】
図８は、第２の実施の形態に係る制約式の生成方法について説明した図である。一例として、図８に示した３つの評価データＤ4、Ｄ5、Ｄ6の関係に基づいて制約式を生成する方法について考える。なお、図８の例において、評価データＤ4に含まれる評価指標＃１の値は１１、評価指標＃２の値は１２である。また、評価データＤ5に含まれる評価指標＃１の値は１８、評価指標＃２の値は１６である。また評価データＤ6に含まれる評価指標＃１の値は１７、評価指標＃２の値は１９である。また、評価データＤ4は優れた評価データであり、評価データＤ5及びＤ6は劣った評価データである。
【００９４】
この場合、制約式は、評価データＤ4と評価データＤ5との間の関係、及び評価データＤ4と評価データＤ6との間の関係に基づいて生成される。例えば、評価関数が上記の式（７）で与えられている場合、制約式生成部１０７は、評価データＤ4と評価データＤ5との間の関係に基づいて下記の式（１４）に示す制約式を生成する。また、制約式生成部１０７は、評価データＤ4と評価データＤ6との間の関係に基づいて下記の式（１５）に示す制約式を生成する。但し、Ｗ1は評価指標＃１に対応する重みであり、Ｗ2は評価指標＃２に対応する重みである。
【００９５】
【数１４】
2014074994.tif 000016
【００９６】
【数１５】
2014074994.tif 000017
【００９７】
なお、評価データＤ4、Ｄ5、Ｄ6以外にも評価データがある場合には、他の評価データについても同様にして制約式が生成される。
上記のようにして制約式が生成されると、数式処理部１０８により、全ての制約式に適合する重みの組が存在するか否かが判定される。全ての制約式に適合する重みの組が存在しない場合、評価関数を変更した上で再び制約式が生成される。全ての制約式に適合する重みの組が存在する場合、重み計算部１１０が、制約式の生成に用いた評価関数を用いて重みの組を計算する。また、重み計算部１１０により計算された重みの組を用いて適切なパラメータが計算される。
【００９８】
以下、情報処理装置１００による処理の流れについて説明する。
図９は、第２の実施の形態に係る情報処理装置による処理の流れを示した図である。なお、処理の開始前に、情報処理装置１００には、パラメータ入力部１０１を介して複数のパラメータが入力されている。入力されるパラメータの数及び各パラメータの数値範囲は、ユーザにより設定される。また、各パラメータは、例えば、実験計画法、ラテン超方格法、又はランダムサンプリング法などを用いて生成される。
【００９９】
（Ｓ１０１）シミュレーション実行部１０２は、各パラメータについてコンピュータシミュレーションを実行し、それぞれ複数の評価指標の値を含む複数の評価データを算出する。各パラメータ及び各評価データは記憶部１０５に格納される。
【０１００】
（Ｓ１０２）優劣判定部１０３は、記憶部１０５に格納された各評価データの優劣を判定する。例えば、少なくとも１つの評価指標について、ある一の評価データが他の評価データよりも良い値を有する場合、一の評価データは、他の評価データよりも良いとする。また、優劣判定部１０３は、ある一の評価データが他の全ての評価データよりも良い場合、その一の評価データを優れた評価データであると判定する。また、優劣判定部１０３は、優れた評価データ以外の評価データを劣った評価データであると判定する。
【０１０１】
（Ｓ１０３）判定結果出力部１０４は、優劣判定部１０３による判定の結果をユーザに提示する。例えば、判定結果出力部１０４は、各評価データに含まれる情報と、各評価データに対する判定の結果とを対応付けた表をユーザに提示してもよい。また、判定結果出力部１０４は、判定の結果に応じて表現が異なるように複数の評価データをグラフ上にプロットした画像をユーザに提示してもよい。
【０１０２】
（Ｓ１０４）優劣情報入力部１０６は、ユーザにより評価データの優劣が変更されたか否かを判定する。ユーザが評価データの優劣を変更した場合、処理はＳ１０５に進む。一方、ユーザが評価データの優劣を変更しない場合、処理はＳ１０６に進む。
【０１０３】
（Ｓ１０５）優劣情報入力部１０６は、ユーザにより変更された評価データの優劣を示す情報を記憶部１０５に格納する。ユーザにより変更された評価データの優劣を示す情報が記憶部１０５に格納されると、処理はＳ１０６に進む。
【０１０４】
（Ｓ１０６）制約式生成部１０７は、記憶部１０５に格納された各評価データの優劣を示す情報に基づいて制約式を生成する。このとき、制約式生成部１０７は、評価関数生成部１０９により設定された評価関数の情報を利用して制約式を生成する。また、数式処理部１０８は、数式処理により、制約式に適合する重みの組が存在するか否かを判定する。制約式に適合する重みの組が存在しない場合、評価関数の再設定、制約式の再生成、及び数式処理による再判定が行われる。制約式に適合する重みの組が存在すると、処理はＳ１０７に進む。
【０１０５】
（Ｓ１０７）重み計算部１１０は、制約式及び評価関数の情報を用いて、制約式に適合する重みの組を計算する。また、最適化計算部１１１は、重み計算部１１０が計算した重みの組及び評価関数を用いて適切なパラメータを計算する。
【０１０６】
（Ｓ１０８）最適化計算部１１１は、適切なパラメータ及びそのパラメータに対応する評価データを出力する。例えば、最適化計算部１１１は、適切なパラメータ及び評価データをユーザに提示する。また、最適化計算部１１１は、適切なパラメータ及び評価データを記憶部１０５に格納する。
【０１０７】
Ｓ１０８の処理が終わると、図９に示した一連の処理は終了する。
図１０は、第２の実施の形態に係る評価関数の生成処理について処理の流れを示した図である。なお、図１０に示した処理の流れは、図９に示したＳ１０６の処理に対応する。
【０１０８】
（Ｓ１１１）評価関数生成部１０９は、複数の評価指標の値の重み付き和を評価関数に設定する。例えば、評価関数生成部１０９は、各評価指標の値について各項の次数が１の重み付き和を評価関数に設定する。
【０１０９】
（Ｓ１１２）制約式生成部１０７は、評価関数を用いて評価データの優劣を表現した制約式を設定する。例えば、制約式生成部１０７は、優れた評価データに対応する評価関数の値が劣った評価データに対応する評価関数の値よりも小さくなる条件を表現した制約式を設定する。
【０１１０】
（Ｓ１１３）数式処理部１０８は、数式処理を用いて、全ての制約式に適合する重みの組が存在するか否かを判定する。例えば、数式処理部１０８は、各制約式に含まれる各重みを束縛変数とし、全ての制約式の論理積を含む論理式に対してＱＥを実行する。
【０１１１】
（Ｓ１１４）全ての制約式に適合する重みの組が存在する場合、処理はＳ１１６に進む。また、全ての制約式に適合する重みの組が存在しない場合、処理はＳ１１５に進む。
（Ｓ１１５）評価関数生成部１０９は、Ｓ１１３の判定で利用された評価関数に高次の項を加えて新たな評価関数を設定する。例えば、元の評価関数が上記の式（７）のように設定されていた場合、評価関数生成部１０９は、上記の式（１２）に示すような評価関数を新たに設定する。評価関数が再設定されると、処理はＳ１１２に進む。
【０１１２】
（Ｓ１１６）Ｓ１１３の判定で利用された評価関数の情報、及びその評価関数を用いて設定された制約式の情報が出力される。例えば、評価関数の情報及び制約式の情報は、重み計算部１１０に入力される。また、評価関数の情報及び制約式の情報は、記憶部１０５に格納される。
【０１１３】
Ｓ１１６の処理が終わると、図１０に示した一連の処理は終了する。
図１１は、第２の実施の形態に係る最適化計算について処理の流れを示した図である。なお、図１１に示した処理の流れは、図９に示したＳ１０７の処理に対応する。また、処理の開始前に、情報処理装置１００には、パラメータ入力部１０１を介して係数群の数を示す情報が入力される。例えば、係数群の数はユーザにより設定される。
【０１１４】
（Ｓ１２１）重み計算部１１０は、評価関数の各評価指標を仮に係数とみなす。
（Ｓ１２２）重み計算部１１０は、重みの組を計算するために用いる複数の係数群を生成する。例えば、重み計算部１１０は、各係数が−１から１の範囲に含まれる実数であるとし、実験計画法、ラテン超方格法、ランダムサンプリング法などを用いて複数の係数群を生成する。なお、重み計算部１１０は、パラメータ入力部１０１を介して入力された係数群の数を示す情報に従い、その情報が示す数の係数群を生成する。なお、Ｓ１２２の処理は、Ｓ１２１の処理と順序を入れ替えてもよい。
【０１１５】
（Ｓ１２３）重み計算部１１０は、Ｓ１２２で生成した各係数群について、各係数の値を代入した評価関数の値が最小となる重みの組を計算する。例えば、重み計算部１１０は、線形計画法を用いて、全ての制約式に適合する重みの組であって評価関数を最小化する重みの組を計算する。Ｓ１２３の処理で得られた重みの組は、記憶部１０５に格納される。
【０１１６】
（Ｓ１２４）重み計算部１１０は、Ｓ１２２で生成した各係数群について、各係数の値を代入した評価関数の値が最大となる重みの組を計算する。例えば、重み計算部１１０は、線形計画法を用いて、全ての制約式に適合する重みの組であって評価関数を最大化する重みの組を計算する。Ｓ１２４の処理で得られた重みの組は、記憶部１０５に格納される。なお、Ｓ１２４の処理は、Ｓ１２３の処理と順序を入れ替えてもよい。
【０１１７】
（Ｓ１２５）最適化計算部１１１は、Ｓ１２３及びＳ１２４の処理で得られた複数の重みの組を取得し、各重みの組について評価関数を最小化するパラメータを計算する。例えば、最適化計算部１１１は、Nelder-Mead法、Powell法、最急降下法、又は共役勾配法などの最適化アルゴリズムを利用してパラメータを計算する。
【０１１８】
（Ｓ１２６）最適化計算部１１１は、Ｓ１２５の処理で得られたパラメータ及びそのパラメータに対応する評価データを出力する。
Ｓ１２６の処理が終わると、図１１に示した一連の処理は終了する。
【０１１９】
図１２は、複数の重みの組のそれぞれに対する適切なパラメータの計算方法について示した図である。
最適化計算部１１１は、ある係数群について評価関数の値を最小にする重みの組及び最大にする重みの組が得られた場合、パラメータを変化させながら繰り返しコンピュータシミュレーションを実行させ、その重みの組を用いた評価関数の値を最小化するパラメータを計算する。
【０１２０】
例えば、図１２（Ａ）に示すように、評価指標＃１の重みＷA及び評価指標＃２の重みＷBの組み合わせについて、評価関数を最小にする重みの組（最小値＃１、最小値＃２）、及び評価指標を最大にする重みの組（最大値＃１、最大値＃２）が得られたとする。但し、ある係数群について最小値＃１と最大値＃１とが対応し、他の係数群について最小値＃２と最大値＃２とが対応する。この場合、最大値＃１に対して評価関数Ｌ1、最小値＃１に対して評価関数Ｌ3、最大値＃２に対して評価関数Ｌ2、最小値＃２に対して評価関数Ｌ4が決まる。
【０１２１】
上記のようにして評価関数が決まると、最適化計算部１１１は、図１２（Ｂ）に示すように、例えば、パラメータを変えながら評価関数Ｌ3を用いて評価データＤ11、Ｄ12、Ｄ13を順次計算し、評価関数Ｌ3の値を最小化する評価データＤ13を計算する。また、最適化計算部１１１は、パラメータを変えながら評価関数Ｌ1を用いて評価データＤ21、Ｄ22、Ｄ23を順次計算し、評価関数Ｌ1の値を最小化する評価データＤ23を計算する。
【０１２２】
例えば、評価データＤ11、Ｄ12、Ｄ13の計算は、ちょうど、評価指標＃１及び＃２の値、及び評価関数の値を各座標軸とする空間にパラメータを変えながら評価データをプロットする計算に相当する。評価データＤ21、Ｄ22、Ｄ23の計算についても同様である。
【０１２３】
また、パラメータを変えながら評価関数Ｌ2及びＬ4についても同様にして評価データを計算することができる。評価データＤ13及び評価データＤ23など、評価関数の値を最小化する評価データが得られると、例えば、適切な評価データの領域ｄを求めることができる。また、最適化計算部１１１は、評価データの領域ｄに基づいて適切なパラメータの範囲を計算することができる。
【０１２４】
上記のような単目的最適化に基づく計算方法を適用することで、遺伝的アルゴリズムなどに基づく多目的最適化を行う場合に比べて少ない回数のコンピュータシミュレーションにより適切なパラメータを計算することが可能になる。
【０１２５】
図１３は、第２の実施の形態に係るパラメータ計算について処理の流れを示した図である。なお、図１３に示した処理の流れは、図１１に示したＳ１２５の処理に対応する。また、図１３に示した一連の処理は、各重みの組について実行される。また、処理の開始前に、情報処理装置１００には、パラメータ入力部１０１を介して最大の繰り返し計算回数を示す情報が入力される。例えば、最大の繰り返し計算回数はユーザにより設定される。
【０１２６】
（Ｓ１３１）最適化計算部１１１は、パラメータ及び評価データを取得する。例えば、最適化計算部１１１は、記憶部１０５に格納されているパラメータ及び評価データを取得する。また、最適化計算部１１１は、取得したパラメータ及び評価データを計算用データリストに追加する。
【０１２７】
（Ｓ１３２）最適化計算部１１１は、計算用データリストに含まれるパラメータ及び評価データに基づき、評価関数の値を最小化する可能性の高いパラメータ（パラメータの候補）を計算する。例えば、最適化計算部１１１は、計算用データリストに含まれる各評価データを用いて評価関数の値を計算し、パラメータと評価関数の値との関係を表す近似式を計算する。また、最適化計算部１１１は、計算した近似式が最小となるパラメータの値を計算し、計算した値をパラメータの候補に設定する。
【０１２８】
（Ｓ１３３）最適化計算部１１１は、シミュレーション実行部１０２にパラメータの候補を入力してコンピュータシミュレーションを実行させ、パラメータの候補に対応する評価データを計算させる。シミュレーション実行部１０２により計算された評価データは、例えば、記憶部１０５に格納され、最適化計算部１１１により読み出される。
【０１２９】
（Ｓ１３４）最適化計算部１１１は、シミュレーション実行部１０２により計算された評価データ及びこの評価データに対応するパラメータを計算用データリストに追加する。
（Ｓ１３５）最適化計算部１１１は、Ｓ１３２〜Ｓ１３４の処理を実行した回数が最大の繰り返し計算回数に達したか否かを判定する。Ｓ１３２〜Ｓ１３４の処理を実行した回数が最大の繰り返し計算回数に達した場合、処理はＳ１３６に進む。一方、Ｓ１３２〜Ｓ１３４の処理を実行した回数が最大の繰り返し計算回数に達していない場合、処理はＳ１３２に進む。
【０１３０】
（Ｓ１３６）最適化計算部１１１は、最後に計算用データリストに追加されたパラメータ及びこのパラメータに対応する評価データを出力する。例えば、最適化計算部１１１は、パラメータ及び評価データを記憶部１０５に格納する。
【０１３１】
Ｓ１３６の処理が終わると、図１３に示した一連の処理は終了する。
ところで、図１１に示した処理の流れは、図１４に示すような処理の流れに置き換えることが可能である。
【０１３２】
図１４は、第２の実施の形態の一変形例に係る最適化計算について処理の流れを示した図である。なお、図１４に示した処理の流れは、図９に示したＳ１０７の処理に対応する。また、処理の開始前に、情報処理装置１００には、パラメータ入力部１０１を介して重みの候補の数を示す情報が入力される。例えば、重みの候補の数はユーザにより設定される。
【０１３３】
（Ｓ１４１）重み計算部１１０は、制約式に適合する条件の下で各重みの最小値を計算する。
（Ｓ１４２）重み計算部１１０は、制約式に適合する条件の下で各重みの最大値を計算する。なお、Ｓ１４２の処理は、Ｓ１４１の処理と順序を入れ替えてもよい。
【０１３４】
（Ｓ１４３）重み計算部１１０は、各重みの最大値及び最小値で規定される各重みの範囲内で重みの候補の数だけ各重みを選択し、複数の重みの組の候補を生成する。例えば、重み計算部１１０は、実験計画法、ラテン超方格法、又はランダムサンプリング法などを用いて複数の重みの組を生成する。
【０１３５】
（Ｓ１４４）重み計算部１１０は、Ｓ１４３の処理で生成された複数の重みの組の中から、全ての制約式に適合する重みの組を抽出する。
（Ｓ１４５）最適化計算部１１１は、Ｓ１４４の処理で抽出された複数の重みの組を取得し、各重みの組について評価関数を最小化するパラメータを計算する。例えば、最適化計算部１１１は、Nelder-Mead法、Powell法、最急降下法、又は共役勾配法などの最適化アルゴリズムを利用してパラメータを計算する。なお、Ｓ１４５の処理は、図１１に示したＳ１２５の処理と同じである。
【０１３６】
（Ｓ１４６）最適化計算部１１１は、Ｓ１４５の処理で得られたパラメータ及びそのパラメータに対応する評価データを出力する。
Ｓ１４６の処理が終わると、図１４に示した一連の処理は終了する。
【０１３７】
なお、図１１に示した最適化計算によれば、適切な重みの範囲が非線形でも妥当な重みを計算することができる。また、図１４に示した最適化計算によれば、重みの数が多くても計算精度の低下が生じにくくなる。また、図１４に示した最適化計算によれば、ユーザによる指示が計算結果に与える影響を小さくすることができる。
【０１３８】
以上、第２の実施の形態について説明した。第２の実施の形態によれば、制約式に適合する重みの組が存在する場合には重みの組が計算され、制約式に適合する重みの組が存在しない場合には評価関数が変更される。そのため、制約式に適合する重みの組が存在しないのに重みの組を探索し続けるといった無駄な計算が行われず、制約式に適合する重みの組を効率的に計算することが可能になる。
【０１３９】
また、評価データの優劣に関するユーザの変更操作を受け付け、その変更後の優劣に基づく制約式を用いて重みの組が計算されるため、ユーザの意向を反映した重みの組が得られる。また、数式処理及び線形計画法を利用して複数の重みの組を計算し、それら複数の重みの組を用いて評価関数の値を最小化するパラメータの値を計算する。そのため、適切なパラメータを計算するために要するコンピュータシミュレーションの実行回数を低減することができる。その結果、パラメータの最適化にかかる演算負荷を低く抑えることが可能になる。
【０１４０】
ところで、上記の説明においては、コンピュータシミュレーションを含む全ての処理を情報処理装置１００が実行することを想定していたが、コンピュータシミュレーションを情報処理装置１００とは異なる他の情報処理装置に実行させてもよい。この場合、情報処理装置１００は、他の情報処理装置から入力されたコンピュータシミュレーションの結果を利用して適切なパラメータを計算する。このような変形例についても第２の実施の形態に含まれる。
【０１４１】
また、以下のような変形例についても第２の実施の形態に含まれる。
例えば、制約式の数が多すぎると全ての制約式に適合する重みの組が得られない可能性がある一方、制約式の数が少なすぎても十分な計算精度を得られないことがある。そこで、適当な数の制約式が得られるように、制約式の生成に用いる評価データの数を調整する方法を一変形例として提案する。
【０１４２】
また、数式処理を用いて、全ての制約式に適合する重みの組が存在するか否かを判定する際に、数式処理の演算が適当な時間内に終わらない場合も想定される。そこで、数式処理の演算が一定時間内に終わらない場合には、数式処理の演算を中止し、演算の対象となる制約式の数を減らして数式処理の演算を再実行する方法を一変形例として提案する。
【０１４３】
また、上記の説明においては、全ての制約式に適合する重みの組が存在しない場合に、評価関数の次数を上げて制約式を再生成する方法を提案したが、例えば、数式処理を用いて阻害要因になっている制約式を推定し、その制約式を除外する方法も考えられる。この方法によれば、制約式の数が多すぎて全ての制約式に適合する重みの組が得られない場合に、評価関数の組を得られなくする要因を効率的に取り除くことが可能になる。また、評価関数の次数を上げずに全ての制約式に適合する重みの組が得られやすくなる。
【０１４４】
また、上記の説明においては、適切なパラメータの計算に際して、コンピュータシミュレーションにより評価データを計算する処理及びその評価データと重みの組とを用いて評価関数の値を計算する処理を繰り返し実行して適切なパラメータを決定する方法を提案した。但し、この方法に代えて、例えば、評価指標の値とパラメータとの関係を示す単目的の評価関数を評価指標毎に計算し、複数の単目的の評価関数を重み付けした関数を求め、その関数を対象に数式処理を実行して適切なパラメータを決定する方法を採用してもよい。この方法によれば、コンピュータシミュレーションの実行回数を減らすことができる。
【０１４５】
また、適切なパラメータの計算に際して、上述したコンピュータシミュレーションの繰り返し実行に基づく適切なパラメータの決定方法と、上述した数式処理に基づく適切なパラメータの決定方法とを組み合わせて用いる方法も考えられる。例えば、数式処理に基づく適切なパラメータの決定方法を実行し、この方法では適切なパラメータが得られなかった場合に、コンピュータシミュレーションの繰り返し実行に基づく適切なパラメータの決定方法を実行する方法などが考えられる。この方法によれば、コンピュータシミュレーションの繰り返し実行に基づく適切なパラメータの決定方法だけを用いる場合に比べ、コンピュータシミュレーションの実行回数を減らすことができる。
【０１４６】
［第３の実施の形態］
次に、第３の実施の形態について説明する。
図１５は、第３の実施の形態に係る情報処理装置の例を示した図である。図１５に示すように、情報処理装置２００は、パラメータ入力部２０１、シミュレーション実行部２０２、優劣判定部２０３、判定結果出力部２０４、記憶部２０５、及び優劣情報入力部２０６を有する。また、情報処理装置２００は、制約式生成部２０７、数式処理部２０８、評価関数生成部２０９、重み計算部２１０、最適化計算部２１１、及び優劣レベル計算部２１２を有する。
【０１４７】
なお、情報処理装置２００は、第２の実施の形態に係る情報処理装置１００と同じハードウェアを用いて実現できる。また、パラメータ入力部２０１、シミュレーション実行部２０２、優劣判定部２０３、判定結果出力部２０４、優劣情報入力部２０６は、ＣＰＵ９０１が実行するプログラムのモジュールとして実現できる。また、パラメータ入力部２０１、シミュレーション実行部２０２、優劣判定部２０３、判定結果出力部２０４、優劣情報入力部２０６が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。
【０１４８】
また、制約式生成部２０７、数式処理部２０８、評価関数生成部２０９、重み計算部２１０、最適化計算部２１１、及び優劣レベル計算部２１２は、ＣＰＵ９０１が実行するプログラムのモジュールとして実現できる。また、制約式生成部２０７、数式処理部２０８、評価関数生成部２０９、重み計算部２１０、最適化計算部２１１、及び優劣レベル計算部２１２が有する機能の一部又は全部をソフトウェアではなく電子回路として実現することも可能である。また、記憶部２０５は、ＲＡＭ９０２やＨＤＤ９０３に確保された記憶領域である。
【０１４９】
但し、パラメータ入力部２０１、シミュレーション実行部２０２、優劣判定部２０３、及び判定結果出力部２０４は、それぞれ第２の実施の形態に係るパラメータ入力部１０１、シミュレーション実行部１０２、優劣判定部１０３、及び判定結果出力部１０４と実質的に同じ処理を実行する。また、優劣情報入力部２０６、評価関数生成部２０９、重み計算部２１０、及び最適化計算部２１１は、それぞれ第２の実施の形態に係る優劣情報入力部１０６、評価関数生成部１０９、重み計算部１１０、及び最適化計算部１１１と実質的に同じ処理を実行する。
【０１５０】
従って、第２の実施の形態と実質的に同じ事項については説明を省略し、第２の実施の形態と相違する事項を中心に説明を行う。以下、主に、制約式生成部２０７、数式処理部２０８、及び優劣レベル計算部２１２について説明する。
【０１５１】
優劣レベル計算部２１２は、少なくとも２つの評価データの間の関係に基づいて各評価データが他の評価データに対して優劣する度合いを計算する。例えば、優劣レベル計算部２１２は、ある一の評価データよりも良い他の評価データがｍ個存在するとき、その一の評価データに対する優劣レベルをｍに設定する。優劣レベル計算部２１２は、全ての劣った評価データを対象に各評価データの優劣レベルを算出する。また、優劣レベル計算部２１２は、算出した各評価データの優劣レベルを記憶部２０５に格納する。
【０１５２】
上記の優劣レベルを用いると、各評価データに対する優劣の度合いを定量的に扱うことが可能になる。また、優劣レベルがｍ1の評価データ群、優劣レベルがｍ2の評価データ群、優劣レベルがｍ1以上の評価データ群などと、優劣レベルに基づいて評価データを分類することが可能になる。また、優劣レベルに基づいて評価データを分類すると、分類した評価データ群毎に制約式を生成することが可能になる。
【０１５３】
例えば、制約式生成部２０７は、優劣レベルがｍ0の評価データ群に含まれる各評価データと各優れた評価データとの間の関係を表現した制約式を生成する。但し、ｍ0は、最大の優劣レベル又はユーザが事前に設定した優劣レベルの初期値であるとする。
【０１５４】
数式処理部２０８は、数式処理により、制約式生成部２０７によって生成された全ての制約式に適合する重みの組が存在するか否かを判定する。数式処理部２０８による判定の結果は、制約式生成部２０７及び評価関数生成部２０９に通知される。全ての制約式に適合する重みの組が存在しない場合、制約式生成部２０７は、評価関数生成部２０９に新たな評価関数を生成させる。例えば、評価関数生成部２０９は、元の評価関数よりも次数の高い新たな評価関数を生成し、制約式生成部２０７に入力する。
【０１５５】
新たな評価関数が入力された制約式生成部２０７は、優劣レベルがｍ0の評価データ群に含まれる各評価データと各優れた評価データとの間の関係を表現した制約式を生成する。また、数式処理部２０８は、数式処理により、制約式生成部２０７によって生成された全ての制約式に適合する重みの組が存在するか否かを判定する。このように、全ての制約式に適合する重みの組が存在するまで、評価関数を変更しながら、制約式の更新処理、及び全ての制約式に適合する重みの組の有無を判定する判定処理が繰り返し実行される。
【０１５６】
一方、全ての制約式に適合する重みの組が存在する場合、制約式生成部２０７は、重みの計算に用いる制約式の組み合わせを変更する。例えば、制約式生成部２０７は、優劣レベルがｍ1の評価データ群に含まれる各評価データと各優れた評価データとの間の関係を表現した制約式を追加する。但し、ｍ1は、ｍ0よりも小さい値であるとする。例えば、ｍ1は、ｍ0−１であるとする。制約式の組み合わせが変更された場合、数式処理部２０８は、数式処理により、制約式生成部２０７によって生成された全ての制約式に適合する重みの組が存在するか否かを再び判定する。
【０１５７】
全ての制約式に適合する重みの組が存在する場合、制約式生成部２０７は、重みの計算に用いる制約式の組み合わせを変更する。例えば、制約式生成部２０７は、優劣レベルがｍ2の評価データ群に含まれる各評価データと各優れた評価データとの間の関係を表現した制約式を追加する。但し、ｍ2は、ｍ1よりも小さい値であるとする。例えば、ｍ2は、ｍ1−１であるとする。制約式の組み合わせが変更された場合、数式処理部２０８は、数式処理により、制約式生成部２０７によって生成された全ての制約式に適合する重みの組が存在するか否かを再び判定する。
【０１５８】
制約式生成部２０７及び数式処理部２０８は、全ての制約式に適合する重みの組が存在しないと判定されるまで、上記のような制約式の追加及び数式処理による判定を繰り返し実行する。全ての制約式に適合する重みの組が存在しないと判定された場合、制約式生成部２０７は、全ての制約式に適合する重みの組が存在すると判定された時点における制約式及び評価関数の情報を重み計算部２１０に入力する。また、制約式生成部２０７は、その制約式及び評価関数の情報を記憶部２０５に格納する。
【０１５９】
上記の繰り返し処理により、重みの組が得られる制約式の組み合わせ及び評価関数が決まる。上記のように、第３の実施の形態に係る制約式生成部２０７は、制約式を生成する際に最初から全ての劣った評価データを対象とすることはせず、制約式に適合する重みの組が得られやすい評価データ群を選択して制約式を生成する。この方法によれば、第２の実施の形態に係る制約式の生成方法に比べ、評価関数の次数を低く抑えることができる。
【０１６０】
以上、第３の実施の形態に係る情報処理装置２００の例について説明した。情報処理装置２００によれば、制約式に適合する重みの組が存在する場合に重みの組が計算され、制約式に適合する重みの組が存在しない場合には制約式が変更される。そのため、制約式に適合する重みの組が存在しないのに重みの組を探索し続けるといった無駄な計算が行われず、制約式に適合する重みの組を効率的に計算することが可能になる。また、ユーザの意向を反映した重みの組が計算される。また、評価関数の次数を低く抑えることができるため、数式処理、重み計算、及び最適化計算の負荷を低減することができる。
【０１６１】
また、情報処理装置２００によれば、数式処理及び線形計画法を利用して複数の重みの組が計算され、それら複数の重みの組を用いて評価関数の値を最小化するパラメータの値が計算される。複数の重みの組を計算する際、複数の評価データを得るためにコンピュータシミュレーションが実行されるが、当該評価関数の値を最小化するパラメータの計算は単目的最適化に他ならず、多目的最適化を行う場合に比べてコンピュータシミュレーションの実行回数を低く抑えられる。その結果、パラメータの最適化にかかる演算負荷を低く抑えることが可能になる。
【０１６２】
以下、互いにトレードオフの関係にある２つの評価指標（評価指標＃１、評価指標＃２）を考え、情報処理装置２００による処理について更に説明する。なお、評価指標の値は小さいほど良いとする。
【０１６３】
図１６は、第３の実施の形態に係る優劣の定量化方法について説明した図である。図１６（Ａ）の例では、評価データＤ11よりも良い他の評価データ（黒丸）は１つ存在する。そのため、評価データＤ11の優劣レベルは１となる。また、図１６（Ｂ）の例では、評価データＤ12よりも良い他の評価データ（黒丸）は５つ存在する。そのため、評価データＤ12の優劣レベルは５となる。
【０１６４】
図１６に示すように、優劣レベルを用いることで、各評価データの優劣の度合いを定量化することができる。また、優劣レベルがｍ1の評価データ群、優劣レベルがｍ2の評価データ群、優劣レベルがｍ1以上の評価データ群などと、優劣レベルに基づいて評価データを分類することが可能になる。また、優劣レベルに基づいて評価データを分類すると、分類した評価データ群毎に制約式を生成することが可能になる。
【０１６５】
以下、情報処理装置２００による処理の流れについて説明する。
図１７は、第３の実施の形態に係る情報処理装置による処理の流れを示した図である。なお、処理の開始前に、情報処理装置２００には、パラメータ入力部２０１を介して複数のパラメータが入力されている。入力されるパラメータの数及び各パラメータの数値範囲は、ユーザにより設定される。また、各パラメータは、例えば、実験計画法、ラテン超方格法、又はランダムサンプリング法などを用いて生成される。
【０１６６】
（Ｓ２０１）シミュレーション実行部２０２は、各パラメータについてコンピュータシミュレーションを実行し、それぞれ複数の評価指標の値を含む複数の評価データを算出する。各パラメータ及び各評価データは記憶部２０５に格納される。
【０１６７】
（Ｓ２０２）優劣判定部２０３は、記憶部２０５に格納された各評価データの優劣を判定する。例えば、少なくとも１つの評価指標について、ある一の評価データが他の評価データよりも良い値を有する場合、一の評価データは、他の評価データよりも良いとする。また、優劣判定部２０３は、ある一の評価データが他の全ての評価データよりも良い場合、その一の評価データを優れた評価データであると判定する。また、優劣判定部２０３は、優れた評価データ以外の評価データを劣った評価データであると判定する。
【０１６８】
（Ｓ２０３）判定結果出力部２０４は、優劣判定部２０３による判定の結果をユーザに提示する。例えば、判定結果出力部２０４は、各評価データに含まれる情報と、各評価データに対する判定の結果とを対応付けた表をユーザに提示してもよい。また、判定結果出力部２０４は、判定の結果に応じて表現が異なるように複数の評価データをグラフ上にプロットした画像をユーザに提示してもよい。
【０１６９】
（Ｓ２０４）優劣情報入力部２０６は、ユーザにより評価データの優劣が変更されたか否かを判定する。ユーザが評価データの優劣を変更した場合、処理はＳ２０５に進む。一方、ユーザが評価データの優劣を変更しない場合、処理はＳ２０６に進む。
【０１７０】
（Ｓ２０５）優劣情報入力部２０６は、ユーザにより変更された評価データの優劣を示す情報を記憶部２０５に格納する。ユーザにより変更された評価データの優劣を示す情報が記憶部２０５に格納されると、処理はＳ２０６に進む。
【０１７１】
（Ｓ２０６）優劣レベル計算部２１２は、少なくとも２つの評価データの間の関係に基づいて各評価データが他の評価データに対して優劣する度合いを計算する。例えば、優劣レベル計算部２１２は、ある一の評価データよりも良い他の評価データがｍ個存在するとき、その一の評価データに対する優劣レベルをｍに設定する。優劣レベル計算部２１２は、全ての劣った評価データを対象に各評価データの優劣レベルを算出する。また、優劣レベル計算部２１２は、算出した各評価データの優劣レベルを記憶部２０５に格納する。
【０１７２】
（Ｓ２０７）制約式生成部２０７は、記憶部２０５に格納された各評価データの優劣を示す情報及び優劣レベルを示す情報に基づいて制約式を生成する。このとき、制約式生成部２０７は、評価関数生成部２０９により設定された評価関数の情報を利用して制約式を生成する。また、数式処理部２０８は、数式処理により、制約式に適合する重みの組が存在するか否かを判定する。制約式に適合する重みの組が存在しない場合、評価関数の再設定、制約式の再生成、及び数式処理による再判定が行われる。制約式に適合する重みの組が存在すると、処理はＳ２０８に進む。
【０１７３】
（Ｓ２０８）重み計算部２１０は、制約式及び評価関数の情報を用いて、制約式に適合する重みの組を計算する。また、最適化計算部２１１は、重み計算部２１０が計算した重みの組及び評価関数を用いて適切なパラメータを計算する。
【０１７４】
（Ｓ２０９）最適化計算部２１１は、適切なパラメータ及びそのパラメータに対応する評価データを出力する。例えば、最適化計算部２１１は、適切なパラメータ及び評価データをユーザに提示する。また、最適化計算部２１１は、適切なパラメータ及び評価データを記憶部２０５に格納する。
【０１７５】
Ｓ２０９の処理が終わると、図１７に示した一連の処理は終了する。
図１８は、第３の実施の形態に係る制約式の計算処理について処理の流れを示した図である。なお、図１８に示した処理の流れは、図１７に示したＳ２０７の処理に対応する。
【０１７６】
（Ｓ２１１）制約式生成部２０７は、優劣レベルの最大値をＮに設定する。
（Ｓ２１２）制約式生成部２０７は、優劣レベルがＮの評価データ群に含まれる各評価データと優れた評価データとの間の関係を表現した制約式を生成する。
【０１７７】
（Ｓ２１３）数式処理部２０８は、制約式生成部２０７がＳ２１２の処理で生成した全ての制約式に適合する重みの組が存在するか否かを数式処理により判定する。制約式に適合する重みの組が存在する場合、処理はＳ２１５に進む。一方、制約式に適合する重みの組が存在しない場合、処理はＳ２１４に進む。
【０１７８】
（Ｓ２１４）評価関数生成部２０９は、元の評価関数よりも次数の高い新たな評価関数を生成する。また、評価関数生成部２０９は、新たな評価関数の情報を制約式生成部２０７に入力する。
【０１７９】
（Ｓ２１５）制約式生成部２０７は、Ｎを１減少させる。
（Ｓ２１６）制約式生成部２０７は、優劣レベルがＮ以上の評価データ群に含まれる各評価データと優れた評価データとの間の関係を表現した制約式を生成する。
【０１８０】
（Ｓ２１７）数式処理部２０８は、制約式生成部２０７がＳ２１６の処理で生成した全ての制約式に適合する重みの組が存在するか否かを数式処理により判定する。制約式に適合する重みの組が存在する場合、処理はＳ２１５に進む。一方、制約式に適合する重みの組が存在しない場合、処理はＳ２１８に進む。
【０１８１】
（Ｓ２１８）制約式生成部２０７は、全ての制約式に適合する重みの組が存在すると最後に判定されたときの制約式を出力する。例えば、制約式生成部２０７は、設定した制約式の情報を記憶部２０５に格納する。また、制約式生成部２０７は、設定した制約式の情報を重み計算部２１０に入力する。
【０１８２】
Ｓ２１８の処理が終わると、図１８に示した一連の処理は終了する。
以上、第３の実施の形態について説明した。第３の実施の形態によれば、制約式に適合する重みの組が存在する場合には重みの組が計算され、制約式に適合する重みの組が存在しない場合には制約式が変更される。そのため、制約式に適合する重みの組が存在しないのに重みの組を探索し続けるといった無駄な計算が行われず、制約式に適合する重みの組を効率的に計算することが可能になる。また、ユーザの意向を反映した重みの組が計算される。
【０１８３】
また、評価関数の次数を低く抑えることができるため、数式処理、重み計算、及び最適化計算の負荷を低減することができる。また、複数の重みの組を計算する際、複数の評価データを得るためにコンピュータシミュレーションが実行されるが、当該評価関数の値を最小化するパラメータの計算は単目的最適化に他ならず、多目的最適化を行う場合に比べてコンピュータシミュレーションの実行回数を低く抑えられる。その結果、パラメータの最適化にかかる演算負荷を低く抑えることが可能になる。
【符号の説明】
【０１８４】
１０  情報処理装置
１１  記憶部
１２  演算部
１３Ａ、１３Ｃ  データサンプル
１４Ａ、１４Ｃ  評価指標の値
１５  評価関数
１６Ａ、１６Ｃ  関数値
１７  優劣情報
１００、２００  情報処理装置
１０１、２０１  パラメータ入力部
１０２、２０２  シミュレーション実行部
１０３、２０３  優劣判定部
１０４、２０４  判定結果出力部
１０５、２０５  記憶部
１０６、２０６  優劣情報入力部
１０７、２０７  制約式生成部
１０８、２０８  数式処理部
１０９、２０９  評価関数生成部
１１０、２１０  重み計算部
１１１、２１１  最適化計算部
２１２  優劣レベル計算部
【図１】
2014074994.tif 000018
【図２】
2014074994.tif 000019
【図３】
2014074994.tif 000020
【図４】
2014074994.tif 000021
【図５】
2014074994.tif 000022
【図６】
2014074994.tif 000023
【図７】
2014074994.tif 000024
【図８】
2014074994.tif 000025
【図９】
2014074994.tif 000026
【図１０】
2014074994.tif 000027
【図１１】
2014074994.tif 000028
【図１２】
2014074994.tif 000029
【図１３】
2014074994.tif 000030
【図１４】
2014074994.tif 000031
【図１５】
2014074994.tif 000032
【図１６】
2014074994.tif 000033
【図１７】
2014074994.tif 000034
【図１８】
2014074994.tif 000035