(57)【要約】【課題】数理最適化手法を利用して制御対象であるプラント（例えばエンジンを搭載した車両）の制御性能を最適化する際の精度を確保しながら計算負荷を軽減する。【解決手段】プラントの特性を数式化して最適化用モデルを構築する際に入力変数の数を低減する。具体的には、入力変数が二つ以上で、二つの入力変数の関係を拘束可能な場合は、二つの入力変数の関係を拘束して入力変数の数を低減する（ステップ１０１，１０２，１０５）。一つの入力変数を固定値に設定しても最適化の精度を確保できる場合は、一つの入力変数を固定値に設定して入力変数の数を低減する（ステップ１０３，１０６）。一つの入力変数の時間挙動を最適化時に利用可能な場合は、予め時間挙動を記憶又は記録した一つの入力変数を固定値に設定すると共にその入力変数の時間挙動に基づいて所定タイミング毎に固定値を変化させて入力変数の数を低減する（ステップ１０４，１０７）。【選択図】図２
2014085943.tif 000002
【特許請求の範囲】
【請求項１】
数理最適化手法を利用して制御対象であるプラントの制御性能を最適化する際に用いる最適化用モデルを構築する方法であって、
前記プラントの特性のうちの複数のパラメータを入力変数とする特性を数式モデル化して前記最適化用モデルを構築する際に、前記プラントの知見に基づいて前記入力変数の数を低減することを特徴とする最適化用モデルの構築方法。
【請求項２】
前記複数の入力変数のうちの少なくとも二つの入力変数の関係を拘束することで前記入力変数の数を低減することを特徴とする請求項１に記載の最適化用モデルの構築方法。
【請求項３】
前記複数の入力変数のうちの少なくとも一つの入力変数を固定値に設定することで前記入力変数の数を低減することを特徴とする請求項１又は２に記載の最適化用モデルの構築方法。
【請求項４】
前記複数の入力変数のうちの少なくとも一つの入力変数の時間挙動を予め記憶又は記録しておき、該入力変数を固定値に設定すると共に該入力変数の時間挙動に基づいて所定タイミング毎に前記固定値を変化させることで前記入力変数の数を低減することを特徴とする請求項１乃至３のいずれかに記載の最適化用モデルの構築方法。
【請求項５】
数理最適化手法を利用して制御対象であるプラントの制御性能を最適化する際に用いる最適化用モデルを構築する装置であって、
前記プラントの特性のうちの複数のパラメータを入力変数とする特性を数式モデル化して前記最適化用モデルを構築する際に、前記プラントの知見に基づいて前記入力変数の数を低減する入力変数低減手段（１１）を備えていることを特徴とする最適化用モデルの構築装置。
【請求項６】
前記入力変数の数を低減しても前記最適化用モデルを用いた最適化の精度を許容範囲内に維持できるか否かを判定する判定手段（１１）を備え、
前記入力変数低減手段（１１）は、前記判定手段（１１）により前記最適化の精度を許容範囲内に維持できると判定された場合に、前記入力変数の数を低減することを特徴とする請求項５に記載の最適化用モデルの構築装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数理最適化手法を利用して制御対象であるプラントの制御性能を最適化する際に用いる最適化用モデルの構築方法及び構築装置に関する発明である。
【背景技術】
【０００２】
例えば、特許文献１（特開平１１−３５３２９８号公報）に記載されているように、エンジンのような非線形特性を持つ対象の制御に遺伝的アルゴリズムを適用し、遺伝的アルゴリズムにおける複数個体の評価をオンラインで行う際に、細分化された評価領域毎に局所的な予備評価値を算出し、これらを総合的に評価して、総合的評価値を算出するようにしたものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３５３２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、本出願人は、数理最適化手法を利用して制御対象であるプラントの制御性能を最適化するように制御器出力を算出し、この制御器出力を用いてプラントの制御性能の限界値の算出や制御器の設計を行う技術を研究しているが、その研究過程で次のような新たな課題が判明した。
【０００５】
例えば、エンジンを搭載した車両の場合、暖機後のエンジンの燃料消費特性は、エンジントルクとエンジン回転速度の二つの変数を入力として燃料消費量を出力とする２入力１出力の非線形な関数で表現することができる。しかし、この２入力１出力の特性は、強い非線形性を持つため、そのまま数式モデル化して最適化用モデルを構築すると、最適化する際の計算負荷（つまり制御性能を最適化するように制御器出力を算出する際の計算負荷）が大きくなるという問題がある。
【０００６】
また、エンジンの燃料消費特性は、温度の影響も受けるため、エンジンの冷間始動直後のように温度変化が比較的大きいときに、エンジントルクとエンジン回転速度の二つを入力変数とする最適化用モデルでは、最適化の誤差が大きくなる可能性がある。このため、エンジンの冷間始動直後のように温度変化が比較的大きいときには、温度も入力変数として加えて、エンジントルクとエンジン回転速度と温度の三つを入力変数とする最適化用モデルを構築するべきであるが、入力変数が増加すると、更に非線形性が強くなって最適化する際の計算負荷が更に大きくなるため、最適化計算が実用的な時間で完了しない可能性がある。
【０００７】
これらの対策として、粗い線形近似（原点近傍での線形モデル等）を行って計算負荷を軽減する方法があるが、非線形性を省略し過ぎると、正しい最適解を得られなくなる可能性がある。また、上記特許文献１の技術を利用して、複雑な非線形性を持つプラントにも適用可能な遺伝的アルゴリズム等の発見的手法を用いて制御性能を最適化するようにしたとしても、局所的な最適解しか得られない可能性がある。
【０００８】
そこで、本発明が解決しようとする課題は、数理最適化手法を利用して制御対象であるプラントの制御性能を最適化する際の精度を確保しながら計算負荷を軽減することができるようにすることにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に係る発明は、数理最適化手法を利用して制御対象であるプラントの制御性能を最適化する際に用いる最適化用モデルを構築する方法であって、プラントの特性のうちの複数のパラメータを入力変数とする特性を数式モデル化して最適化用モデルを構築する際に、プラントの知見に基づいて入力変数の数を低減するようにしたものである。
【００１０】
このように、最適化用モデルを構築する際に入力変数の数を低減することで、最適化用モデルの非線形性を適度に弱くすることができ、これにより、最適化する際の精度を確保しながら（最適化の精度を許容範囲内に維持しながら）、計算負荷を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は本発明の一実施例におけるシステムの概略構成を示す図である。
【図２】図２は入力変数の数を低減する際の処理の流れを示すフローチャートである。
【図３】図３は拘束条件を利用した入力変数低減の一例を説明する図である。
【図４】図４は入力変数固定による入力変数低減の一例を説明する図である。
【図５】図５は時間挙動に基づいた入力変数低減の一例を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１に基づいてシステムの概略構成を説明する。
【００１３】
制御対象であるプラント（例えばエンジンを搭載した車両）の制御性能の算出や制御器の設計を行うためのコンピュータ１１が設けられている。このコンピュータ１１には、キーボードやマウス等の入力装置１２と、ＤＶＤやＣＤ等の記憶媒体の記憶データを読み書きする記憶媒体ドライブ装置１３と、液晶ディスプレイ等の表示装置１４等が接続されている。
【００１４】
次に、プラントの制御性能の限界値の算出方法と制御器の設計方法を説明する。
まず、作業者が、プラント（例えばエンジンを搭載した車両）の特性（例えばエンジンの燃料消費特性とバッテリの損失特性）や制約条件（例えばバッテリ残量の制約条件）を数式モデル化して最適化用モデルを構築し、この最適化用モデルを数理計画問題（例えば混合整数計画問題）として表現して、最適化しようとする制御性能（例えば燃料消費量や排出ガス量）を目的関数として設定すると共に、前提条件となるプラントの負荷出力（例えば走行負荷と車速）と環境条件（例えば温度と風速）を設定する。これらの数理計画問題に関するデータ及び負荷出力と環境条件に関するデータ等は、作業者が入力装置１２等を操作してコンピュータ１１に入力する（又はコンピュータ１１で作成する）。
【００１５】
この後、コンピュータ１１で、プラントの負荷出力と環境条件を満たす中で目的関数を最適化するように数理計画問題を解いてプラントの制御器出力（例えばエンジン出力）を算出する。
【００１６】
この後、プラントの制御性能の限界値を算出する場合には、負荷出力（例えば走行負荷と車速）と環境条件（例えば温度と風速）及び制御器出力（例えばエンジン出力）等を車両シミュレータに入力して、この車両シミュレータでプラントの制御性能の限界値を算出する。
【００１７】
一方、プラントの制御器を設計する場合には、負荷出力（例えば走行負荷と車速）と環境条件（例えば温度と風速）及び制御器出力（例えばエンジン出力）等を車両シミュレータに入力して、この車両シミュレータで制御器以外のプラント状態（例えばバッテリ残量等）を算出し、制御器出力とプラント状態とに基づいてプラントの制御器を設計する。
【００１８】
このように、数理最適化手法を利用して制御対象であるプラントの制御性能を最適化するように制御器出力を算出し、この制御器出力を用いてプラントの制御性能の限界値の算出や制御器の設計を行う場合に、最適化用モデルの入力変数の数が多いと、非線形性が強くなって最適化する際の計算負荷（つまり制御性能を最適化するように制御器出力を算出する際の計算負荷）が大きくなるという問題がある。
【００１９】
この対策として、本実施例では、プラントの特性のうちの複数のパラメータを入力変数とする特性を数式モデル化して最適化用モデルを構築する際に、プラントの知見に基づいて入力変数の数を低減するようにしている。
【００２０】
以下、図２乃至図５を用いて入力変数の数を低減する際の手順と処理内容を説明する。本実施例では、作業者が図２のステップ１０１〜１０７の処理を実行する。
【００２１】
図２に示すように、まず、ステップ１０１で、対象の関数（プラントの特性を表現する関数）の入力変数が二つ以上であるか否かを判定し、入力変数が二つ以上ではない（つまり入力変数が一つである）と判定された場合には、入力変数の数を低減する必要がないと判断して、ステップ１０２以降の処理を実行することなく終了する。
【００２２】
一方、上記ステップ１０１で、入力変数が二つ以上であると判定された場合には、ステップ１０２に進み、二つの入力変数の関係を拘束可能であるか否か（例えば二つの入力変数の関係を拘束する条件が有るか否か）を判定する。
【００２３】
このステップ１０２で、二つの入力変数の関係を拘束可能であると判定された場合には、ステップ１０５に進み、拘束条件を利用した入力変数低減を実行する。この場合、二つの入力変数の関係を拘束することで、入力変数の数を低減する。
【００２４】
例えば、図３に示すように、暖機後のエンジンの燃料消費特性を数式モデル化して最適化用モデルを構築する場合、一般に（つまり入力変数を低減する前は）、暖機後のエンジンの燃料消費特性は、エンジントルクとエンジン回転速度の二つの変数を入力として燃料消費量を出力とする２入力１出力の関数で表現することができる。
【００２５】
ここで、エンジン動作点（エンジントルクとエンジン回転速度の組み合わせ）を任意に制御可能なシステムでは、各エンジン出力において燃料消費量が最小となるエンジン動作点を繋いだ線を最適動作線とし、この最適動作線上でエンジンを制御するようにしたものがある。この最適動作線上では、各エンジン出力に対してエンジントルクとエンジン回転速度の組み合わせが一意に決まる。
【００２６】
この点に着目して、最適動作線を拘束条件としてエンジントルクとエンジン回転速度の関係を拘束して、エンジントルクとエンジン回転速度の二つの変数を入力として燃料消費量を出力とする２入力１出力の関数を、エンジン出力を入力として燃料消費量を出力とする１入力１出力の関数に変換することで、入力変数の数を低減する。このエンジン出力を入力として燃料消費量を出力とする１入力１出力の関数を数式モデル化して最適化用モデルを構築する。このようにすれば、最適化の精度を低下させることなく、入力変数の数を低減して最適化の計算負荷を軽減することができる。
【００２７】
尚、モータの消費電力特性を数式モデル化して最適化用モデルを構築する場合には、各モータ出力において消費電力が最小となるモータ動作点（モータトルクとモータ回転速度の組み合わせ）を繋いだ線を最適動作線とし、この最適動作線を拘束条件としてモータトルクとモータ回転速度の関係を拘束して、モータトルクとモータ回転速度の二つの変数を入力として消費電力を出力とする２入力１出力の関数を、モータ出力を入力として消費電力を出力とする１入力１出力の関数に変換することで、入力変数の数を低減するようにしても良い。
【００２８】
一方、図２のステップ１０２で、二つの入力変数の関係を拘束できないと判定された場合には、上記ステップ１０５の処理を実行することなく、ステップ１０３に進み、一つの入力変数を固定値に設定して入力変数の数を低減した場合に最適化用モデルを用いた最適化の精度を確保できる（最適化の精度を許容範囲内に維持できる）か否かを判定する。この場合、例えば、一つの入力変数を固定値に設定した場合と固定値に設定しない場合とで関数の出力を比較して最適化の精度を確保できるか否かを判定する。
【００２９】
このステップ１０３で、一つの入力変数を固定値に設定して入力変数の数を低減しても最適化の精度を確保できると判定された場合には、ステップ１０６に進み、入力変数固定による入力変数低減を実行する。この場合、一つの入力変数を固定値に設定することで、入力変数の数を低減する。
【００３０】
例えば、図４に示すように、バッテリの損失特性を数式モデル化して最適化用モデルを構築する場合、一般に（つまり入力変数を低減する前は）、バッテリの損失特性は、バッテリ電圧とバッテリ電流の二つの変数を入力としてバッテリ損失を出力とする２入力１出力の関数で表現することができる。
【００３１】
ここで、バッテリ残量が所定の使用範囲内になるようにバッテリの充放電量を制御するシステムでは、バッテリ残量の使用範囲内でバッテリ電圧が変化するため、バッテリ電圧の変動幅が比較的小さくなる。
【００３２】
この点に着目して、バッテリ残量の使用範囲内におけるバッテリ電圧の平均値である平均電圧Ｖave を求め、入力変数の一つであるバッテリ電圧を平均電圧Ｖave （固定値）に設定して、バッテリ電圧とバッテリ電流の二つの変数を入力としてバッテリ損失を出力とする２入力１出力の関数を、バッテリ電力（＝バッテリ電流×平均電圧Ｖave ）を入力としてバッテリ損失を出力とする１入力１出力の関数に近似変換することで、入力変数の数を低減する。このバッテリ電力を入力としてバッテリ損失を出力とする１入力１出力の関数を数式モデル化して最適化用モデルを構築する。このようにすれば、最適化の精度を確保しながら（最適化の精度を許容範囲内に維持しながら）、簡単に入力変数の数を低減して最適化の計算負荷を軽減することができる。
【００３３】
一方、図２のステップ１０３で、一つの入力変数を固定値に設定して入力変数の数を低減すると最適化の精度を確保できないと判定された場合には、上記ステップ１０６の処理を実行することなく、ステップ１０４に進み、一つの入力変数の時間挙動を最適化時に利用可能である否かを判定する。この場合、例えば、一つの入力変数の時間挙動を予め複数回測定して記憶又は記録しておき、それらの時間挙動が毎回安定しているか否か（毎回ほぼ同様の挙動を示すか否か）によって、最適化時に利用可能である否かを判定する。
【００３４】
このステップ１０４で、一つの入力変数の時間挙動を最適化時に利用可能であると判定された場合には、ステップ１０７に進み、時間挙動に基づいた入力変数低減を実行する。この場合、予め時間挙動を記憶又は記録した一つの入力変数を固定値に設定すると共に、その入力変数の時間挙動に基づいて所定タイミング毎に固定値を変化させることで、入力変数の数を低減する。
【００３５】
例えば、図５に示すように、冷間始動直後のエンジンの燃料消費特性を数式モデル化して最適化用モデルを構築する場合、一般に（つまり入力変数を低減する前は）、冷間始動直後のエンジンの燃料消費特性は、エンジントルクとエンジン回転速度とエンジン冷却水温の三つの変数を入力として燃料消費量を出力とする３入力１出力のエンジンモデルで表現することができる。
【００３６】
ここで、冷間始動直後のエンジン冷却水温の時間挙動は、毎回ほぼ同様の挙動を示すという特性がある。この点に着目し、冷間始動直後のエンジン冷却水温の時間挙動を予め測定して記憶又は記録しておく（例えばエンジン始動後の経過時間とエンジン冷却水温との関係を規定するマップ等をコンピュータ１１のＲＯＭに記憶しておく）。
【００３７】
そして、実際に最適化を行うときに、第１回目の最適化の演算タイミングＴ1 では、予め記憶又は記録したエンジン冷却水温の時間挙動を参照して演算タイミングＴ1 に応じたエンジン冷却水温を固定値Ｃ1 とし、現在のエンジン冷却水温を固定値Ｃ1 に設定して、エンジン冷却水温Ｃ1 におけるエンジンの燃料消費特性を、エンジン出力を入力として燃料消費量を出力とする１入力１出力の関数で表現することで、入力変数の数を低減する。このエンジン出力を入力として燃料消費量を出力とする１入力１出力の関数を数式モデル化して最適化用モデルを構築する。
【００３８】
第２回目の最適化の演算タイミングＴ2 では、予め記憶又は記録したエンジン冷却水温の時間挙動を参照して演算タイミングＴ2 に応じたエンジン冷却水温を固定値Ｃ2 とし、現在のエンジン冷却水温を固定値Ｃ2 に設定して、エンジン冷却水温Ｃ2 におけるエンジンの燃料消費特性を、エンジン出力を入力として燃料消費量を出力とする１入力１出力の関数で表現することで、入力変数の数を低減する。このエンジン出力を入力として燃料消費量を出力とする１入力１出力の関数を数式モデル化して最適化用モデルを構築する。
【００３９】
以下同様に、第ｎ回目の最適化の演算タイミングＴn では、予め記憶又は記録したエンジン冷却水温の時間挙動を参照して演算タイミングＴn に応じたエンジン冷却水温を固定値Ｃn とし、現在のエンジン冷却水温を固定値Ｃn に設定して、エンジン冷却水温Ｃn におけるエンジンの燃料消費特性を、エンジン出力を入力として燃料消費量を出力とする１入力１出力の関数で表現することで、入力変数の数を低減する。このエンジン出力を入力として燃料消費量を出力とする１入力１出力の関数を数式モデル化して最適化用モデルを構築する。このようにすれば、エンジン冷却水温を常に一定の固定値に設定する場合に比べて最適化の精度低下を少なくしながら、入力変数の数を低減して最適化の計算負荷を軽減することができる。
【００４０】
尚、予め記憶又は記録したエンジン冷却水温の時間挙動と、実際に最適化を行ったときのエンジン冷却水温の時間挙動とが大きく異なっていると、正しい最適解が得られない可能性があるが、最適化後にエンジン冷却水温の時間挙動を更新して再度最適化を繰り返し実行するようにすれば、正しい最適解に近付けることができる。
【００４１】
一方、上記ステップ１０４で、一つの入力変数の時間挙動を最適化時に利用できないと判定された場合（つまり上記ステップ１０２〜１０４で全て「Ｎｏ」と判定された場合）には、入力変数の数を低減できないと判断して終了する。
【００４２】
以上説明した本実施例では、プラントの特性のうちの複数のパラメータを入力変数とする特性（例えばエンジンの燃料消費特性やバッテリの損失特性）を数式モデル化して最適化用モデルを構築する際に、プラントの知見（例えば入力変数の拘束や固定が可能か否かや時間挙動等）に基づいて入力変数の数を低減するようにしたので、最適化用モデルの非線形性を適度に弱くすることができ、これにより、最適化する際の精度を確保しながら（最適化の精度を許容範囲内に維持しながら）、計算負荷を軽減することができる。また、数理最適化問題（数理計画問題）の解法に大域的な最適解を得られる手法（例えば内点法や分岐限定法等）を用いることで、局所的な最適解となることを防止できる。
【００４３】
尚、上記実施例では、作業者が図２のステップ１０１〜１０７の処理を実行するようにしたが、これに限定されず、コンピュータ１１で図２のステップ１０１〜１０７の処理を実行するようにしても良い。この場合、ステップ１０５〜１０７の処理が特許請求の範囲でいう入力変数低減手段としての役割を果たし、ステップ１０３の処理が特許請求の範囲でいう判定手段としての役割を果たす。また、必ずしもステップ１０１〜１０７の処理を全てコンピュータ１１で実行する必要はなく、一部の処理（例えばステップ１０１，１０２の処理）を作業者が実行するようにしても良い。
【００４４】
また、本発明の適用可能なプラントは、エンジンのみを動力源とする車両に限定されず、例えば、エンジンとモータを動力源とするハイブリッド車やモータのみを動力源とする電気自動車に本発明を適用しても良い。また、車両（自動車）以外のプラント、例えば、船舶、建設機械、鉄道車両、コージェネレーション等に本発明を適用しても良い。
【符号の説明】
【００４５】
１１…コンピュータ（入力変数低減手段，判定手段）、１２…入力装置、１３…記憶媒体ドライブ装置、１４…表示装置
【図１】
2014085943.tif 000003
【図２】
2014085943.tif 000004
【図３】
2014085943.tif 000005
【図４】
2014085943.tif 000006
【図５】
2014085943.tif 000007