(57)【要約】      （修正有）【課題】過渡モデルのブラックボックスモデリングにおいて、周波数の網羅性が高い入力データを生成することを目的とする。【解決手段】ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成装置２１は、周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、前記最適化問題の解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定して、各入力データの入力値を生成する。【選択図】図１１
2017220043.tif 000002
【特許請求の範囲】
【請求項１】
ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成装置であって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成する作成手段と、
前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する生成手段と、
を備え、
前記生成手段は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、入力データ生成装置。
【請求項２】
前記生成手段は、各入力データの周波数空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から算出した網羅性指標値を、前記解を求める最適化部に入力する算出部を有することを特徴とする、請求項１記載の入力データ生成装置。
【請求項３】
前記算出部は、前記網羅性指標値と、各入力データの入力値空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの入力値を示す実験点が配置された分割領域数の割合から算出した網羅性指標値との平均から求めた網羅性指標値を、前記解を求める前記最適化部に入力することを特徴とする、請求項２記載の入力データ生成装置。
【請求項４】
ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成方法であって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、
最適化部が解いた前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する、
処理をコンピュータが実行し、
前記生成は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、入力データ生成方法。
【請求項５】
コンピュータに、ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成処理を実行させるプログラムであって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、
前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する、
処理を前記コンピュータに実行させ、
前記生成は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データ生成装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
各種装置の開発期間及び開発コストを削減するために、モデルベース開発が行われている。モデルベース開発では、開発対象（または、モデル化対象）である実装置を再現するモデルを用いる。例えば、自動車のエンジンのＥＣＵ（Engine Control Unit）を開発する場合、エンジンのモデルを用いる。
【０００３】
モデルの種類には、開発対象の定常状態を表現する定常モデルと、開発対象の過渡応答を表現する過渡モデルとがある。また、モデルの作成方法には、ホワイトボックスモデリングと、ブラックボックスモデリングと、グレーボックスモデリングとがある。ホワイトボックスモデリングは、開発対象の挙動を表現する物理式に基づいてモデル化を行う。ブラックボックスモデリングは、開発対象の実データ、即ち、入出力データに基づいてモデル化を行う。グレーボックスモデリングは、ホワイトボックスモデリングとブラックボックスモデリングの組み合わせでモデル化を行う。
【０００４】
ブラックボックスモデリングは、システムの全体または一部の構造が不明の場合などに、実測された入出力データからモデルを推定（「システム同定」とも言う）するのに用いられる。例えば、過渡モデルのブラックボックスモデリングの場合、複数の時系列の入出力データを用いてモデルを作成する。この場合、入力データの網羅性が低いと、精度の低いモデルが作成される可能性があるため、入力データの網羅性は高い方が望ましい。精度の低いモデルとは、実装置を正確に再現できていないモデルのことを言う。従って、網羅性が高くなるように入力データ（「実験計画」とも言う）を決定することが望ましい。
【０００５】
開発対象がディーゼルエンジンの場合を例にとると、周波数が時間変化する正弦波を用いた実験計画が知られている。チャープ信号（Chirp）は、周波数が時間変化する正弦波の一例であり、角周波数をω、時間をｔで表すと、例えばｃ＝ｓｉｎωｔ２で表される。角周波数ωを入力データ毎に異なる値に設定することで、入力データの入力値の網羅性を確保できる。つまり、各時刻の各入力データの入力値の組み合わせについて、組み合わせが多様であれば網羅性を高くすることができる。
【０００６】
また、各時刻の各入力データの周波数の組み合わせについても、組み合わせが多様であれば網羅性を高くすることができる。しかし、従来の、チャープ信号を用いた過渡モデルのブラックボックスモデリングの場合、入力データの周波数が単調増加するため、周波数の網羅性を高くすることは難しい。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Nobuyuki Sakushima et al., "Transient Modeling of Diesel Engine Emissions", International Journal of Automotive Engineering 4 (2013), pp. 63-68
【発明の概要】
【発明が解決しようとする課題】
【０００８】
過渡モデルのブラックボックスモデリングにおいて、従来の入力データ生成方法では、周波数の網羅性が高い入力データを生成することは難しい。
【０００９】
そこで、１つの側面では、過渡モデルのブラックボックスモデリングにおいて、周波数の網羅性が高い入力データを生成可能な入力データ生成装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案によれば、ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成装置であって、周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成する作成手段と、前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する生成手段と、を備え、前記生成手段は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定する入力データ生成装置が提供される。
【発明の効果】
【００１１】
一態様によれば、過渡モデルのブラックボックスモデリングにおいて、周波数の網羅性が高い入力データを生成することができる。
【図面の簡単な説明】
【００１２】
【図１】ブラックボックスモデリングの一例を説明する模式図である。
【図２】モデルへの入力データの入力値と時間との関係の一例を示す図である。
【図３】モデルへの入力データの周波数と時間との関係の一例を示す図である。
【図４】入力データの周波数の時間変化の一例を示す図である。
【図５】入力データの入力値の時間変化の一例を示す図である。
【図６】周波数空間の分割の一例を示す図である。
【図７】周波数空間の分割の一例を示す図である。
【図８】入力値空間の分割の一例を示す図である。
【図９】コンピュータの一例を示すブロック図である。
【図１０】入力データ生成処理の一例を説明するフローチャートである。
【図１１】入力データ生成装置の一例を示す機能ブロック図である。
【図１２】網羅性指標算出処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
開示の入力データ生成装置、方法、及びプログラムは、ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する。具体的には、周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する。解に含まれる、前記関数の周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定する。
【００１４】
以下に、開示の入力データ生成装置、方法、及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１５】
図１は、ブラックボックスモデリングの一例を説明する模式図である。この例では、開発対象（または、モデル化対象）である実装置１は、例えばディーゼルエンジンである。例えば、過渡モデルのブラックボックスモデリングの場合、複数の時系列の入力データIn1, In2, In3, ...及び出力データOut1, Out2, ...を用いて、実装置１の入出力関係を再現可能なモデル２を作成する。この場合、入力データの網羅性が低いと精度の低いモデル２が作成される可能性があるため、入力データの網羅性は高い方が望ましい。従って、網羅性が高くなるように入力データ（または、「実験計画」）を決定することが望ましい。
【００１６】
チャープ信号（Chirp）は、周波数が時間変化する正弦波の一例であり、角周波数をω、時間をｔで表すと、例えばｃ＝ｓｉｎωｔ２で表される。角周波数ωを入力データ毎に異なる値に設定することで、入力データの入力値の網羅性を確保できる。つまり、各時刻の各入力データの入力値の組み合わせについて、組み合わせが多様であれば網羅性を高くすることができる。図２は、モデル２への入力データの入力値と時間との関係の一例を示す図である。図２中、実線は第１の入力データの入力値、破線は第２の入力データの入力値を示す。
【００１７】
また、各時刻の各入力データの周波数の組み合わせについても、組み合わせが多様であれば網羅性を高くすることができる。しかし、従来の、チャープ信号を用いた過渡モデルのブラックボックスモデリングの場合、入力データの周波数が単調増加するため、周波数の網羅性を高くすることは難しい。図３は、モデル２への入力データの周波数と時間との関係の一例を示す図である。図３中、実線は、複数の時系列の入力データのうち、第１の入力データの周波数を示し、破線は、複数の時系列の入力データのうち、第２の入力データの周波数を示す。第１及び第２の入力データの周波数は、図３に示すように単調増加することがわかる。
【００１８】
そこで、一実施例では、過渡モデルのブラックボックスモデリングにおいて、周波数が周期的に変動する関数を用い、当該関数の周波数変動の角周波数ωｓと位相φのうち少なくとも一方を入力データ毎に異なる値に設定する。周波数が周期的に変動する関数の一例は、周波数変動の中心角周波数をω０、角周波数の変動幅をΔω、時間をｔ、周波数をω０＋Δωｃｏｓ（ωｓｔ＋φ）で表すと、次式で表すことができる。なお、周波数が周期的に変動する関数は、周波数変動の角周波数ωｓと位相φのうち少なくとも一方を入力データ毎に異なる値に設定可能な関数であれば、特に限定されない。
【００１９】
ｙ＝ｓｉｎ｛ω０ｔ＋（Δω／ωｓ）ｓｉｎ（ωｓｔ＋φ）｝
図４は、入力データの周波数の時間変化の一例を示す図である。図４中、縦軸は１つの入力データの周波数を任意単位で示し、横軸は時間を任意単位で示す。図４において、（ａ）は基準となる入力データの周波数を示し、（ｂ）は基準に対して周波数変動の角周波数ωｓを変更した入力データの周波数を示し、（ｃ）は基準に対して周波数変動の位相φを変更した入力データの周波数を示す。図４及び後述する図５において、周波数変動の周期は、２π／ωｓで表される。
【００２０】
図５は、入力データの入力値の時間変化の一例を示す図である。図５中、縦軸は１つの入力データの入力値を任意単位で示し、横軸は時間を任意単位で示す。図５において、（ａ）は基準となる入力値を示し、（ｂ）は基準に対して周波数変動の角周波数ωｓを変更した入力値を示し、（ｃ）は基準に対して周波数変動の位相φを変更した入力値を示す。
【００２１】
次に、入力データの周波数の網羅性が高くなるような周波数変動の周期と位相の決定方法を説明する。周波数が周期的に変動する関数の、周波数変動の中心角周波数ωo,i及び角周波数の変動幅Δωｉなどの関数パラメータ、周波数変動の角周波数ωs,iの最小値ｍｉｎｉ及び最大値ｍａｘｉなどの角周波数ωｓの制約、実験計画で用いる実験時間及び実験点のサンプル時間などの実験時間などが、前提条件として与えられている場合、これらの周波数変動に関する前提条件を元に次のような最適化問題を作成する。この最適化問題を解くことにより、入力データの周波数の網羅性が最高となるような周波数変動の角周波数ωs,iと位相φｉを決定することができる。周波数変動の周期は、上記の如く２π／ωs,iであるため、周波数変動の角周波数ωs,iと位相φｉを決定することは、周波数変動の周期と位相を決定することと同等である。
【００２２】
最適化問題
目的：網羅性指標の最大化
変数：ωs,i，φｉ
制約：ｍｉｎｉ≦ωs,i≦ｍａｘｉ
０≦φｉ＜２π
ｉ＝１，２，...，Ｎ
Ｎは入力データ数
網羅性指標の第１の例では、入力データの周波数空間に対する入力データ（または、実験計画）の網羅性を数値化する。具体的には、入力データの周波数空間を適切な分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合を網羅性指標値とする。また、入力データの周波数空間を１つの入力データについて分割する分割数を、領域分割数とする。
【００２３】
【数１】
2017220043.tif 000003
【００２４】
例えば、図６に示すように入力データの周波数空間を９個の分割領域に分割した場合、領域分割数は、
【００２５】
【数２】
2017220043.tif 000004
であり、網羅性指標値は７／９≒０．７８である。図６において、縦軸は第２の入力データの周波数を示し、横軸は第１の入力データの周波数を示す。各実験点は黒丸印で示し、×印は実験点が存在しない分割領域を示す。
【００２６】
上記の最適化問題を周知の最適化ソルバなどの最適化部が解くことで、網羅性指標値が最大となるような周波数変動の角周波数ωs,iと位相φｉを最適解として求める。各入力データは、求められた最適解（ωs,i，φｉの最適値）を用いて、周波数が周期的に変動する上記の関数ｙに基づき生成するので、各入力データの周波数の網羅性を確保できる。これにより、過渡モデルのブラックボックスモデリングにおいて、周波数の網羅性が高い入力データを生成することが可能となる。
【００２７】
網羅性指標の第２の例では、入力データの周波数空間に対する入力データ（即ち、実験計画）の網羅性を数値化すると共に、入力データの入力値空間に対する入力データ（即ち、実験計画）の網羅性を数値化する。具体的には、上記網羅性指標の第１の例の場合と同様の方法で算出した、図７に示す如き入力データの周波数空間の第１の網羅性指標値と、同じく上記網羅性指標の第１の例の場合と同様の方法で算出した、図８に示す如き入力データの入力値空間の第２の網羅性指標値の平均を、網羅性指標値とする。図７において、縦軸は第２の入力データの周波数を示し、横軸は第１の入力データの周波数を示す。図８において、縦軸は第２の入力データの入力値を示し、横軸は第１の入力データの入力値を示す。図７及び図８において、各実験点は黒丸印で示し、×印は実験点が存在しない分割領域を示す。
【００２８】
網羅性指標の第２の例における網羅性指標値は、入力データの周波数空間の第１の網羅性指標値と入力データの入力値空間の周波数空間の第２の網羅性指標値の和の１／２から算出されるので、この例では、｛（８／９）＋（７／９）｝／２≒０．８３となる。
【００２９】
上記の最適化問題を周知の最適化ソルバなどの最適化部が解くことで、入力データの周波数空間の第１の網羅性指標値と入力データの入力値空間の第２の網羅性指標値とが最大（または、これら第１及び第２の網羅性指標値の平均が最大）となるような周波数変動の角周波数ωs,iと位相φｉを最適解として求める。各入力データは、求められた最適解（ωs,i，φｉ）を用いて、周波数が周期的に変動する上記の関数ｙに基づき生成するので、各入力データの周波数の網羅性及び各入力データの入力値の網羅性の両方を確保できる。これにより、過渡モデルのブラックボックスモデリングにおいて、周波数の網羅性が高く、且つ、入力値の網羅性が高い入力データを生成することが可能となる。
【００３０】
なお、上記の場合の関数ｙは、周波数をω０＋Δωｃｏｓ（ωs,iｔ＋φｉ）で表すと、次式で表すことができる。
【００３１】
ｙ＝ｓｉｎ｛ω０ｔ＋（Δω／ωs,i）ｓｉｎ（ωs,iｔ＋φｉ）｝
図９は、コンピュータの一例を示すブロック図である。図９に示すコンピュータ１００は、バス１２０を介して互いに接続されたプロセッサ１２１と、メモリ１２２と、入力装置１２３と、表示装置１２４と、インタフェース（または、通信装置）１２５とを有する。プロセッサ１２１は、例えば中央処理装置（ＣＰＵ：Central Processing Unit）などで形成可能であり、メモリ１２２に記憶されたプログラムを実行して、コンピュータ１００全体の制御を司る。メモリ１２２は、例えば半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体などにより形成可能である。メモリ１２２は、プロセッサ１２１が実行する入力データ生成プログラムを含む各種プログラム、各種データなどを記憶可能である。
【００３２】
プロセッサ１２１は、例えばメモリ１２２に記憶された入力データ生成プログラムを実行することで、後述する図１０に示す入力データ生成処理を実行可能であり、また、後述する図１１に示す入力データ生成装置２１の各部の機能を実行可能である。
【００３３】
入力装置１２３は、ユーザ（または、オペレータ）により操作される例えばキーボードなどで形成可能であり、プロセッサ１２１にコマンド及びデータを入力するのに用いられる。表示装置１２４は、ユーザに対するメッセージ、入力データ生成処理により生成された入力データなどを表示する。インタフェース１２５は、コンピュータ１００と、外部の最適化部などの外部装置との間の通信を司る。コンピュータ１００と外部装置との間の通信は、有線で行っても、無線で行っても、有線と無線の組み合わせで行っても良い。
【００３４】
プロセッサ１２１及びインタフェース１２５は、最適化問題を解く外部の最適化部（例えば、外部の最適化ソルバ）をアクセスして解を取得する手段の一例を形成可能である。
【００３５】
なお、コンピュータ１００は、当該コンピュータ１００の各部がバス１２０を介して接続されたハードウェア構成に限定されるものではない。
【００３６】
図１０は、入力データ生成処理の一例を説明するフローチャートである。図１０に示す入力データ生成処理は、例えば図９に示すプロセッサ１２１により実行可能である。図１０において、ステップＳ１１では、プロセッサ１２１が、与えられた周波数変動に関する上記の前提条件を元に、網羅性指標を最大化する上記の最適化問題を作成する。ステップＳ１２では、プロセッサ１２１が、網羅性指標を最大化する最適化問題を最適化ソルバで解く。最適化ソルバは、例えば周知のソルバであっても良い。また、最適化ソルバは、コンピュータ１００内に設けられていても、コンピュータ１００の外部に設けられていても良い。つまり、最適化ソルバの機能は、コンピュータ１００のプロセッサ１２１により実行しても、入力データ生成プログラムによりアクセス可能な、コンピュータ１００の外部の最適化部の一例である、外部のソルバを形成する外部装置により実行しても良い。
【００３７】
ステップＳ１３では、プロセッサ１２１が、最適化ソルバが解いた最適化問題の最適解（ωｓ，φｉの最適値）を用いて入力データ（または、「実験計画」）を作成し、入力データ生成処理は終了する。つまり、ステップＳ１３では、プロセッサ１２１が、求められた最適解（ωs，φｉ）を用いて、周波数が周期的に変動する上記の関数ｙに基づき、ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する。
【００３８】
図１１は、入力データ生成装置の一例を示す機能ブロック図である。図１１に示す入力データ生成装置２１は、制御部２２と、最適化問題を解く最適化部の一例である最適化ソルバ２３と、網羅性指標算出部２４と、周波数算出部２５と、入力値算出部２６とを有する。上記の如く、入力データ生成装置２１の各部の機能は、図９に示すプロセッサ１２１により実行可能である。また、最適化ソルバ２３の代わりに、外部の最適化ソルバを用いても良い。
【００３９】
制御部２２には、図１１の上部に示すように、関数パラメータ（または、被最適化対象）と、周波数変動の角周波数ωｓの制約と、実験時間とを含む前提条件が入力される。関数パラメータは、この例では、複数の入力データの一例である第１の入力データ及び第２の入力データの夫々に対する周波数変動の中心角周波数ω０と角周波数の変動幅Δωとを含む。周波数変動の角周波数ωｓの制約は、この例では、第１の入力データ及び第２の入力データの夫々に対する周波数変動の角周波数ωｓの最大値ｍａｘと最小値ｍｉｎとを含む。実験時間は、この例では、例えば１０００秒（ｓ）などの、実験計画で用いる実験時間と、例えば０．５（ｓ）などの実験点のサンプル時間とを含む。制御部２２は、周波数変動に関する前提条件を元に最適化問題を作成する作成手段の一例を形成可能である。
【００４０】
制御部２２は、周波数が周期的に変動する関数の周波数変動に関する前提条件を元に、網羅性指標を最大化する最適化問題を作成して最適化ソルバ２３に供給する。また、制御部２２は、時刻及び関数パラメータを、網羅性指標算出部２４及び入力値算出部２６に供給する。時刻は、実験時間とサンプル時間から生成する。例えば、実験時間が１０００（ｓ）、サンプル時間が０．５（ｓ）の場合、時刻は０，０．５，１，...，９９９．５，１０００（ｓ）と生成される。
【００４１】
周波数算出部２５は、網羅性指標算出部２４を介して入力される時刻及び関数パラメータに基づいて、ω０＋Δωｃｏｓ（ωs,iｔ＋φｉ）で表される周波数を算出して、網羅性指標算出部２４及び制御部２２に供給する。上記網羅性指標の第１の例を用いる場合、網羅性指標算出部２４は、各入力データの周波数空間を、実験時間と実験点のサンプル時間とで決まる実験点数から求められる領域分割数の、複数の分割領域に分割し、最適化ソルバ２３が最適化問題を解く過程で要求するωs,i，φｉについて算出した実験点が存在する分割領域数と全分割領域数とで決まる網羅性指標値を算出して最適化ソルバ２３に供給する。一方、入力値算出部２６は、制御部２２から入力される時刻及び関数パラメータに基づいて、各入力データの入力値を算出して制御部２２に供給する。
【００４２】
さらに、入力値算出部２６は、上記網羅性指標の第２の例を用いる場合、網羅性指標算出部２４を介して入力される時刻及び関数パラメータに基づいて、各入力データの入力値を算出して制御部２２及び網羅性指標算出部２４に供給する。上記網羅性指標の第２の例を用いる場合、網羅性指標算出部２４は、各入力データの周波数空間を、実験時間と実験点のサンプル時間とで決まる実験点数から求められる領域分割数の、複数の分割領域に分割すると共に、各入力データの入力値空間を、実験時間と実験点のサンプル時間とで決まる実験点数から求められる領域分割数の、複数の分割領域に分割する。また、網羅性指標算出部２４は、上記網羅性指標の第２の例を用いる場合、最適化ソルバ２３が最適化問題を解く過程で要求するωs,i，φｉについて算出した実験点が存在する分割領域数と全分割領域数とで決まる網羅性指標値を、各入力データの周波数空間及び各入力データの入力値空間について算出し、算出した２つの網羅性指標値の平均を網羅性指標値として最適化ソルバ２３に供給する。
【００４３】
従って、図１１中、★印で示すように、入力値算出部２６から網羅性指標算出部２４に供給される入力値の供給パス及び網羅性指標算出部２４から入力値算出部２６に供給される時刻及び関数パラメータの供給パスは、上記網羅性指標の第２の例を用いる場合に使用されるが、上記網羅性指標の第１の例を用いる場合には省略可能である。
【００４４】
最適化ソルバ２３は、最適化問題を解く過程で要求するωs,i，φｉを網羅性指標算出部２４に供給するので、周波数算出部２５及び網羅性指標算出部２４による処理（上記網羅性指標の第１の例を用いる場合）、または、周波数算出部２５、入力値算出部２６及び網羅性指標算出部２４による処理（上記網羅性指標の第２の例を用いる場合）を繰り返すことで、最適化ソルバ２３は、網羅性指標値が一定以上となるように最適化問題を解くことができる。網羅性指標値を最大化する最適化問題の最適解（ωs,i，φｉの最適値）が求まると、最適化ソルバ２３は最適解（ωs,i，φｉの最適値）を制御部２２に供給する。
【００４５】
これにより、制御部２２は、前記最適化問題の最適解（ωs,i，φｉの最適値）を用いて、実験計画、即ち、複数の時系列の入力データの入力値を、周波数が周期的に変動する関数に基づいて生成して出力する。この例では、複数の時系列の入力データの入力値は、第１の入力データの入力値と第２の入力データの入力値とを含む。
【００４６】
制御部２２、網羅性指標算出部２４、周波数算出部２５及び入力値算出部２６は、最適化ソルバ２３が解いた最適化問題の解を用いて、各入力データの入力値を、周波数が周期的に変動する関数に基づいて生成する生成手段の一例を形成可能である。生成手段は、前記解に含まれる、関数の周波数変動の周期と位相のうち少なくとも一方を、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定する。生成手段は、入力データ生成装置２１内の最適化ソルバ２３から最適化問題の最適解を取得しても、入力データ生成装置２１の外部の最適化ソルバから最適化問題の最適解を取得しても良い。
【００４７】
網羅性指標算出部２４は、各入力データの周波数空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から算出した第１の網羅性指標値を、最適化問題の解を求める最適化部２３に入力する算出部の一例を形成可能である。また、網羅性指標算出部２４は、上記第１の網羅性指標値と、各入力データの入力値空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの入力値を示す実験点が配置された分割領域数の割合から算出した第２の網羅性指標値との平均から求めた網羅性指標値を、最適化問題の解を求める最適化部２３に入力する算出部の一例を形成可能である。前者が上記網羅性指標の第１の例を用いる場合に相当し、後者が上記網羅性指標の第２の例を用いる場合に相当する。
【００４８】
図１０に示す入力データ生成処理中、ステップＳ１１の処理は制御部２２の機能により実行可能であり、ステップＳ１２の処理は最適化ソルバ２３の機能により実行可能であり、ステップＳ１３の処理は制御部２２及び入力値算出部２６の機能により実行可能である。
【００４９】
図１２は、網羅性指標算出処理の一例を説明するフローチャートである。図１２に示す網羅性指標算出処理は、例えば図１１に示す入力データ生成装置２１の各部の機能により実行可能である。従って、図１２に示す網羅性指標算出処理は、例えば図９に示すプロセッサ１２１により実行可能である。
【００５０】
図１２において、ステップＳ１では、網羅性指標算出部２４、周波数算出部２５及び入力値算出部２６が、例えば最適化ソルバ２３から与えられた周波数変動の角周波数ωs,iと位相φｉについて実験点を算出する。具体的には、プロセッサ１２１が、周波数変動の角周波数ωs,iと位相φｉについて少なくとも入力データの周波数の時間変化を算出する。つまり、網羅性指標の第１の例を用いる場合、プロセッサ１２１（即ち、網羅性指標算出部２４及び周波数算出部２５）が、周波数変動の角周波数ωs,iと位相φｉについて各入力データの周波数の時間変化を算出する。また、網羅性指標の第２の例を用いる場合、プロセッサ１２１（即ち、網羅性指標算出部２４、周波数算出部２５及び入力値算出部２６）が、周波数変動の角周波数ωs,iと位相φｉについて各入力データの周波数の時間変化と各入力データの入力値の時間変化とを算出する。
【００５１】
ステップＳ２では、網羅性指標算出部２４が、少なくとも入力データの周波数空間を実験点と入力データ数に応じて、例えば図６に示すような分割領域に分割する。つまり、網羅性指標の第１の例を用いる場合、プロセッサ１２１が、入力データの周波数空間を実験点と入力データ数に応じて、例えば図６に示すような分割領域に分割する。また、網羅性指標の第２の例を用いる場合、プロセッサ１２１が、入力データの周波数空間を実験点と入力データ数に応じて、例えば図７に示すような分割領域に分割すると共に、入力データの入力値空間を実験点と入力データ数に応じて、例えば図８に示すような分割領域に分割する。
【００５２】
ステップＳ３では、網羅性指標算出部２４が、各分割領域に配置された実験点数をカウントする。網羅性指標の第１の例を用いる、入力データの周波数空間が例えば図６に示すような分割領域に分割されている場合は、プロセッサ１２１が、周波数空間の各分割領域に配置された実験点数をカウントする。また、網羅性指標の第２の例を用いる、入力データの周波数空間が例えば図７に示すような分割領域に分割されると共に、入力データの入力値空間が例えば図８に示すような分割領域に分割されている場合は、プロセッサ１２１が、周波数空間の各分割領域に配置された実験点数をカウントすると共に、入力値空間の各分割領域に配置された実験点数をカウントする。
【００５３】
ステップＳ４では、網羅性指標算出部２４が、全分割領域数に対して実験点が配置された分割領域数の割合から網羅性指標値を算出し、処理は終了する。網羅性指標の第１の例を用いる、入力データの周波数空間が例えば図６に示すような分割領域に分割されている場合は、プロセッサ１２１が、全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から網羅性指標値を算出する。また、網羅性指標の第２の例を用いる、入力データの周波数空間が例えば図７に示すような分割領域に分割されると共に、入力データの入力値空間が例えば図８に示すような分割領域に分割されている場合は、プロセッサ１２１が、入力データの周波数空間の網羅性指標値と入力データの入力値空間の網羅性指標値の和の１／２（即ち、２つの網羅性指標値の平均）から網羅性指標値を算出する。
【００５４】
上記の実施例によれば、周波数が周期的に変動する関数を用いて、当該関数の周波数変動の角周波数と位相（または、周波数変動の周期と位相）のうち少なくとも一方を各入力データ毎に異なる値に設定可能にすることで、周波数変動の多様性を実現できる。周波数変動の角周波数と位相（または、周波数変動の周期と位相）のうち少なくとも一方の設定値は、数値化された網羅性を最大化する最適化問題を解くことで容易に導出できる。
【００５５】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成装置であって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成する作成手段と、
前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する生成手段と、
を備え、
前記生成手段は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、入力データ生成装置。
（付記２）
前記生成手段は、各入力データの周波数空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から算出した第１の網羅性指標値を、前記解を求める最適化部に入力する算出部を有することを特徴とする、付記１記載の入力データ生成装置。
（付記３）
前記算出部は、前記第１の網羅性指標値と、各入力データの入力値空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの入力値を示す実験点が配置された分割領域数の割合から算出した第２の網羅性指標値との平均から求めた網羅性指標値を、前記解を求める前記最適化部に入力することを特徴とする、付記２記載の入力データ生成装置。
（付記４）
前記最適化問題を解いて前記解を求める最適化部をさらに備えたことを特徴とする、付記１乃至３のいずれか１項記載の入力データ生成装置。
（付記５）
前記入力データ生成装置の外部の、前記最適化問題を解く最適化部をアクセスして前記解を取得する手段をさらに備えたことを特徴とする、付記１乃至３のいずれか１項記載の入力データ生成装置。
（付記６）
前記生成手段は、前記最適化部から前記最適化問題の最適解を取得し、前記最適解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、各入力データの周波数の網羅性が最高となる、各入力データ毎に異なる値に設定することを特徴とする、請求項４または５記載の入力データ生成装置。
（付記７）
ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成方法であって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、
前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する、
処理をコンピュータが実行し、
前記生成は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、入力データ生成方法。
（付記８）
前記生成は、各入力データの周波数空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から算出した網羅性指標値を、前記解を求める最適化部に入力することを特徴とする、付記７記載の入力データ生成方法。
（付記９）
前記生成は、前記網羅性指標値と、各入力データの入力値空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの入力値を示す実験点が配置された分割領域数の割合から算出した網羅性指標値との平均から求めた網羅性指標値を、前記解を求める前記最適化部に入力することを特徴とする、付記８記載の入力データ生成方法。
（付記１０）
前記最適化問題を前記コンピュータの最適化部で解く、
処理を前記コンピュータが実行することを特徴とする、付記７乃至９のいずれか１項記載の入力データ生成方法。
（付記１１）
前記コンピュータの外部の、前記最適化問題を解く最適化部をアクセスして前記解を取得する、
処理を前記コンピュータが実行することを特徴とする、付記７乃至９のいずれか１項記載の入力データ生成方法。
（付記１２）
前記生成は、前記最適化部から前記最適化問題の最適解を取得し、前記最適解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、各入力データの周波数の網羅性が最高となる、各入力データ毎に異なる値に設定することを特徴とする、請求項１０または１１記載の入力データ生成方法。
（付記１３）
コンピュータに、ブラックボックスモデリングで過渡モデルの複数の時系列の入力データを生成する入力データ生成処理を実行させるプログラムであって、
周波数が周期的に変動する関数の周波数変動に関する前提条件を元に最適化問題を作成し、
前記最適化問題の解を用いて、各入力データの入力値を、前記関数に基づいて生成する、
処理を前記コンピュータに実行させ、
前記生成は、前記解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、数値化された、各入力データの周波数の網羅性が一定以上となる、各入力データ毎に異なる値に設定することを特徴とする、プログラム。
（付記１４）
前記生成は、各入力データの周波数空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの周波数を示す実験点が配置された分割領域数の割合から算出した網羅性指標値を、前記解を求める最適化部に入力することを特徴とする、付記１３記載のプログラム。
（付記１５）
前記生成は、前記網羅性指標値と、各入力データの入力値空間を複数の分割領域に分割し、分割された全分割領域数に対して、各時刻の各入力データの入力値を示す実験点が配置された分割領域数の割合から算出した網羅性指標値との平均から求めた網羅性指標値を、前記解を求める前記最適化部に入力することを特徴とする、付記１４記載のプログラム。
（付記１６）
前記最適化問題を前記コンピュータの最適化部が解く
処理を前記コンピュータにさらに実行させることを特徴とする、付記１３乃至１５のいずれか１項記載のプログラム。
（付記１７）
前記コンピュータの外部の、前記最適化問題を解く最適化部をアクセスして前記解を取得する、
処理を前記コンピュータにさらに実行させることを特徴とする、付記１３乃至１５のいずれか１項記載のプログラム。
（付記１８）
前記生成は、前記最適化部から前記最適化問題の最適解を取得し、前記最適解に含まれる、前記関数の前記周波数変動の周期と位相のうち少なくとも一方を、各入力データの周波数の網羅性が最高となる、各入力データ毎に異なる値に設定することを特徴とする、付記１６または１７記載のプログラム。
【００５６】
以上、開示の入力データ生成装置、方法、及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００５７】
１      実装置
２      モデル
２１      入力データ生成装置
２２      制御部
２３      最適化ソルバ
２４      網羅性指標算出部
２５      周波数算出部
２６      入力値算出部
１００      コンピュータ
１２０      バス
１２１      プロセッサ
１２２      メモリ
１２３      入力装置
１２４      表示装置
１２５      インタフェース
【図１】
2017220043.tif 000005
【図２】
2017220043.tif 000006
【図３】
2017220043.tif 000007
【図４】
2017220043.tif 000008
【図５】
2017220043.tif 000009
【図６】
2017220043.tif 000010
【図７】
2017220043.tif 000011
【図８】
2017220043.tif 000012
【図９】
2017220043.tif 000013
【図１０】
2017220043.tif 000014
【図１１】
2017220043.tif 000015
【図１２】
2017220043.tif 000016