(57)【特許請求の範囲】
【請求項１】
急アクセル又は急ブレーキに係る車両の運転条件と、該運転条件に応じて該車両を制御した際の該車両の性能を示す出力変数と、該車両に搭載できるデータ量とを記憶する記憶部と、
前記車両に搭載するデータ量を示す制約条件内において、前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せに基づく範囲を分割し、分割された範囲毎に、該運転条件と該出力変数とから該車両の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部と
を有することを特徴とする情報処理装置。
【請求項２】
前記組み合せ毎に、前記運転条件と前記出力変数と、前記予測制御部によって計算された前記制御変数とを用いて、該運転条件と該出力変数とから該制御変数を算出する近似式を作成する処理部を更に有し、
前記テーブル生成部は、前記組み合せ毎に、前記運転条件と前記出力変数とに、前記処理部によって作成された近似式を示す前記変数データを対応付けた前記テーブルを生成することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶部は、前記車両が有するメモリ装置のデータ量を記憶し、
前記処理部は、前記データ量の制約の下で、前記運転条件と前記出力変数とから前記制御変数を算出する非線形な近似式を作成することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記記憶部は、各組み合せにおいて、前記運転条件及び前記出力変数を範囲で示し、該範囲内で計算された該車両の制御変数を算出する近似式及び該近似式の近似誤差合計を対応付けた範囲テーブルを記憶し、
前記範囲テーブルを参照することによって、前記近似誤差合計が最小となるように前記範囲を分割し、分割した範囲に対応する制御変数を算出するための近似式を計算する範囲分割部を有することを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン制御を行うためのテーブルを生成する情報処理装置、及び、そのテーブルを用いて最適なエンジン制御を行うエンジン制御装置に関する。
【背景技術】
【０００２】
近年、自動車等の車両などには、ＥＣＵ（Electronic Control Unit）が搭載され、運転者によるアクセル又はブレーキに応じてエンジンが制御されている。このようなエンジン制御では、車両に備えられた、運転状態に応じたエンジンを制御するための制御変数を対応付けたテーブルが用いられる。
【０００３】
制御変数を求めるために、内燃機関をモデル化し、内燃機関の制御に対して最適な特性量を求めること、近似式等を用いて制御変数を決定すること等が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２４８９９１号公報
【特許文献２】特開２００４−１８５３５７号公報
【特許文献３】特開２００４−６８７２９号公報
【特許文献４】特開２００４−１８５３５７号公報
【特許文献５】特開２００６−２００３９６号公報
【特許文献６】特開２００８−２６１２６９号公報
【特許文献７】特開平７−２８１７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、測定するアクセル及びブレーキに関する変数の組み合せる作業は、エンジニアによる専門的な知識と経験が非常に重要な要素となっている。そのため、組み合せの結果はエンジニアの経験、熟練度に依存していた。精度良く制御変数を得るためには、組み合せをより多く測定しておく必要がある。組み合せが多い程、組み合せから制御変数を計算するモデル予測制御の処理時間がかかる。
【０００６】
運転状態に対応した多種多様な変数の組み合せが必要であると同時に、急ブレーキ、急アクセルなどの運転状態の瞬時の変化に対応するためには、処理時間のかかるモデル予測制御を車両に搭載することができないと言った問題がある。
【０００７】
よって、本発明の目的は、自動車等の動作装置の運転条件及び動作装置の性能を示す出力変数による多種多様な組み合せの各々に対して、モデル予測制御により計算した性能が最適となる動作装置を制御するための制御変数を対応付けたテーブルを自動生成することである。
【課題を解決するための手段】
【０００８】
開示の情報処理装置は、急アクセル又は急ブレーキに係る車両の運転条件と、該運転条件に応じて該車両を制御した際の該車両の性能を示す出力変数と、該車両に搭載できるデータ量とを記憶する記憶部と、前記車両に搭載するデータ量を示す制約条件内において、前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せに基づく範囲を分割し、分割された範囲毎に、該運転条件と該出力変数とから該車両の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部とを有する。
【０００９】
また、上記課題を解決するための手段として、テーブル生成方法、コンピュータに上記情報処理装置として機能させるためのプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。
【００１０】
開示のエンジン制御装置は、動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該動作装置の制御変数に係る変数データを対応付けたテーブルを記憶するメモリ装置と、前記メモリ装置に記憶されている前記テーブルから前記運転条件と前記出力変数とを用いて取得した前記変数データに基づいて、前記制御変数を決定する演算装置とを有する。
【発明の効果】
【００１１】
開示の技術では、自動車等の動作装置の運転条件及び動作装置の性能を示す出力変数とから、モデル予測制御により計算したその性能が最適となる動作装置を制御するための制御変数を、運転条件及び出力変数とから取得可能なテーブルを自動生成することができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置のハードウェア構成例を示す図である。
【図２】車両のエンジンを制御するためのハードウェア構成例を示す図である。
【図３】システムの機能構成の概要を説明するための図である。
【図４】情報処理装置の第１の機能構成例を示す図である。
【図５】第１の機能構成における各装置での処理の概要を説明するための図である。
【図６】図５（Ａ）のステップＳ１１での処理を説明するための図である。
【図７】図５（Ａ）のステップＳ１２及びＳ１３での処理を説明するための図である。
【図８】情報処理装置の第２の機能構成例を示す図である。
【図９】第２の機能構成における各装置での処理の概要を説明するための図である。
【図１０】図９（Ａ）のステップＳ２３及びＳ２４での処理を説明するための図である。
【図１１】動作条件と制御変数との関係を線形近似した場合を示す図である。
【図１２】動作条件と制御変数との関係を非線形近似した場合を示す図である。
【図１３】情報処理装置の第３の機能構成例を示す図である。
【図１４】第３の機能構成における情報処理装置での処理の概要を説明するための図である。
【図１５】図１４のステップＳ３４及びＳ３５での処理を説明するための図である。
【図１６】第４の機能構成における動作条件の範囲の分割方法を説明するための図である。
【図１７】情報処理装置の第４の機能構成例を示す図である。
【図１８】第４の機能構成における処理の概要を説明するための図である。
【図１９】図１８のステップＳ４２での処理を説明するための図である。
【図２０】図１８のステップＳ４３での処理を説明するための図である。
【図２１】図１８のステップＳ４４及びＳ４５での処理を説明するための図である。
【図２２】図１８のステップＳ４６での処理を説明するための図（その１）である。
【図２３】図１８のステップＳ４６での処理を説明するための図（その２）である。
【図２４】図１８のステップＳ４６での処理を説明するための図（その３）である。
【図２５】図１８のステップＳ４８での処理を説明するための図である。
【図２６】図１８のステップＳ４９での処理を説明するための図である。
【図２７】図１８のステップＳ５０での処理を説明するための図である。
【図２８】並列計算システム例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。自動車等の車両のような動作装置に対して、その動作装置の性能が最適となるように動作装置を制御するためのデータを、自動的に生成する情報処理装置は、図１に示すようなハードウェア構成を有する。図１は、情報処理装置のハードウェア構成例を示す図である。
【００１４】
図１において、情報処理装置１００は、スーパーコンピュータ等であって、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、出力ユニット１４と、入力ユニット１５と、通信ユニット１６と、記憶装置１７と、ドライブ１８とを有し、バスＢに接続される。
【００１５】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従って情報処理装置１００を制御する。メモリユニット１２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００１６】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力ユニット１４は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。入力ユニット１５は、マウス、キーボード等を有し、ユーザが情報処理装置１００が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット１６は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。記憶装置１７には、ハードディスクユニット等が用いられ、各種処理を実行するプログラム等のデータを格納する。
【００１７】
情報処理装置１００によって行われる処理を実現するプログラムは、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって情報処理装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００１８】
また、情報処理装置１００によって行われる処理を実現するプログラムが、通信ユニット１６を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信ユニット１６による通信は無線又は有線に限定されるものではない。
【００１９】
情報処理装置１００によって生成されたデータに基づいてエンジンが制御される車両５は、図２に示すようなエンジンを制御するためのハードウェア構成を有する。図２中、車両５におけるエンジン制御に関する構成部のみを示し、他の構成部は省略される。
【００２０】
図２において、車両５は、エンジン制御装置２００と、アクセルペダル２１１と、ブレーキペダル２１２と、エンジン２１４と、エンジンセンサ２１５とを有する。エンジン制御装置２００は、更に、ＥＣＵ（Electronic Control Unit）２０２と、メモリ装置２０４とを有する。
【００２１】
メモリ装置２０４には、ＥＣＵ２０２によって実行されるエンジン制御に係るプログラム、情報処理装置１００によって生成されロードされたエンジン制御のために参照されるデータ等が格納されている。情報処理装置１００によって生成されるデータは、運転条件６と出力変数７とに対して、エンジン２１４を制御するための最適な制御変数８を得るためのテーブルである。後述される最適化テーブル５１−２、５１−４、５１−６が該当する。
【００２２】
運転条件６は、車両５の運転者によるアクセルペダル２１１の踏み込み量（急アクセルの程度）、又は、運転者によるブレーキペダル２１２の踏み込み量（急ブレーキの程度）を含むデータであり、ＥＣＵ２０２に入力される。出力変数７は、車両５の性能を示し、エンジン２１４から排出されるスス、ＮＯｘなどの排出量に関するエンジンセンサ２１５から入力されるデータである。制御変数８は、ＥＣＵ２０２に入力された運転条件６と、運転条件６の入力の直前にエンジンセンサ２１５からＥＣＵ２０２に入力された出力変数７とから、ＥＣＵ２０２によって決定されたエンジン２１４を最適に制御するためのデータである。
【００２３】
ＥＣＵ２０２は、メモリ装置２０４に格納されるエンジン制御に係るプログラムを実行し、運転条件６と出力変数７とに基づいて、メモリ装置２０４に格納される最適化テーブル５１（図３）を参照して、最適なエンジン制御を行うための制御変数８を決定し、制御変数８を用いてエンジン２１４を制御する。
【００２４】
上述した情報処理装置１００とエンジン制御装置２００とを有するシステム１０００における機能構成の概要について説明する。図３は、システム１０００の機能構成の概要を説明するための図である。
【００２５】
図３に示すシステム１０００において、情報処理装置１００は、車両５がエンジン制御を最適に行うための最適化テーブル５１を生成する最適化テーブル生成部１３３を有する。最適化テーブル生成部１３３は、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現され、最適化テーブル５１を生成する。
【００２６】
最適化テーブル生成部１３３によって生成された最適化テーブル５１は、メモリ装置２０４に書き込まれる。エンジン制御を行うためのプログラムに加えて、最適化テーブル５１が書き込まれたメモリ装置２０４が、車両５に搭載される。
【００２７】
エンジン制御装置２００は、制御処理部２３０を有する。制御処理部２３０は、ＥＣＵ２０２がメモリ装置２０４に格納される上述したプログラムを実行することによって行われる処理によって実現される。
【００２８】
制御処理部２３０は、メモリ装置２０４に格納された最適化テーブル５１を参照することによって、最適なエンジン制御を行う。最適なエンジン制御とは、急アクセル、急ブレーキ等によるエンジンの切り替えを即時に行うと共に、排気量や燃費等の低減を実現させた制御を含む。
【００２９】
次に、情報処理装置１００における、最適化テーブル５１の生成に係る第１の機能構成について図４で説明する。図４は、情報処理装置１００の第１の機能構成例を示す図である。図４において、情報処理装置１００は、記憶部４０と、入力データ作成部１３１と、モデル予測制御部１３２と、最適化テーブル生成部１３３とを有する。記憶部４０は、メモリユニット１２又は／及び記憶装置１７などを有する。
【００３０】
記憶部４０には、予め測定した運転条件６ａと出力変数７ａとを含む測定データ４１が格納されている。測定データ４１に含まれる運転条件６ａと出力変数７ａとは、車両５を走行させて測定したデータである。運転条件６ａによって、急アクセル、急ブレーキに係る車両５の運転状態が示される。
【００３１】
入力データ作成部１３１は、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現される。入力データ作成部１３１は、記憶部４０に予め格納されている測定データ４１を参照して、モデル予測制御部１３２に制御変数８を算出させるための入力データ４２を作成する。
【００３２】
モデル予測制御部１３２は、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現され、車両５のエンジン２１４をモデル化し、運転条件６ａと出力変数７ａとから制御変数８ａを予測するモデル予測制御を行う処理部である。モデル予測制御部１３２は、入力データ４２を入力して、運転条件６ａと出力変数７ａの各組合せに対して最適な制御変数８ａを算出する。
【００３３】
最適化テーブル生成部１３３は、運転条件６ａと出力変数７ａの組み合せ毎に、モデル予測制御部１３２の計算によって予測した制御変数８ａを対応付けた最適化テーブル５１を生成して、記憶部４０に格納する。
【００３４】
第１の機能構成における、情報処理装置１００と車両５のエンジン制御装置２００の各々の処理の概要について図５で説明する。図５は、第１の機能構成における各装置での処理の概要を説明するための図である。図５（Ａ）では、情報処理装置１００での処理が示されている。
【００３５】
図５（Ａ）において、入力データ作成部１３１は、記憶部４０に格納されている測定データ４１を参照することによって、運転条件６と出力変数７との組み合せを全て作成し、作成した全組み合せを含む入力データ４２を作成する（ステップＳ１１）。作成された入力データ４２は、記憶部４０に格納される。
【００３６】
そして、モデル予測制御部１３２は、入力データ４２を用いて、組み合せ毎に制御変数８ａを計算する（ステップＳ１２）。最適化テーブル生成部１３３は、入力データ４２の各組み合せに、モデル予測制御部１３２が計算した制御変数８ａを対応付けた最適化テーブル５１を生成する（ステップＳ１３）。生成された最適化テーブル５１は、記憶部４０に格納される。そして、情報処理装置１００での処理を終了する。
【００３７】
上述したように生成された最適化テーブル５１は、車両５のメモリ装置２０４に書き込まれる。図５（Ｂ）には、最適化テーブル５１を実装したエンジン制御装置２００に係る処理が示されている。ＥＣＵ２０２は、車両５のエンジン開始により図５（Ｂ）に示される処理を行う。
【００３８】
図５（Ｂ）において、ＥＣＵ２０２は、エンジンセンサ２１５によって測定されたエンジン２１４の出力変数７を入力する（ステップＳ３１１）。ＥＣＵ２０２は、アクセルペダル２１１又はブレーキペダル２１２から、車両５の運転者による踏み込みに応じて、運転条件６を入力する（ステップＳ３１２）。
【００３９】
ＥＣＵ２０２は、最適化テーブル５１から、入力された運転条件６と、運転者がアクセルペダル２１１又はブレーキペダル２１２を踏み込む直前の出力変数７との組み合せに相当する、運転条件６ａと出力変数７ａとの組み合せに対応付けられた制御変数８を取得する（ステップＳ３１３）。そして、ＥＣＵ２０２は、取得した制御変数８でエンジンを制御する（ステップＳ３１４）。
【００４０】
上述した図５（Ａ）に示す処理について、図６及び図７で詳述する。図６は、図５（Ａ）のステップＳ１１での処理を説明するための図である。図６において、測定データ４１には、運転条件６ａと出力変数７ａとが含まれている。
【００４１】
運転条件６ａは、運転条件６ａ−１、６ａ−２、・・・の１以上の項目を含む。この例では、Ｎ１件の測定された運転条件６ａが含まれている。出力変数７ａは、出力変数７ａ−１、出力変数７ａ−２、・・・の１以上の項目を含む。この例では、Ｎ２件の測定された出力変数７ａが含まれている。
【００４２】
入力データ作成部１３１は、Ｎ１件の各運転条件６ａに対してＮ２件の出力変数７ａの夫々を対応付ける等の方法によって全組み合せ（Ｎ件（Ｎ１×Ｎ２件））を作成し、これら全組み合せを示す入力データ４２を記憶部４０に格納する（ステップＳ１１）。
【００４３】
図７は、図５（Ａ）のステップＳ１２及びＳ１３での処理を説明するための図である。図７において、モデル予測制御部１３２は、入力データ４２を用いて、運転条件６ａと出力変数７ａの組み合せ毎に制御変数８ａを計算する（ステップＳ１２）。制御変数８ａは、制御変数８ａ−１、８ａ−２、・・・の１以上の項目を含む。この例では、全組み合せの件数Ｎに対応して、Ｎ件の制御変数８ａが計算される。
【００４４】
最適化テーブル生成部１３３は、入力データ４２で示される各組み合せに対応して計算した制御変数８ａを含む最適化テーブル５１を生成する（ステップＳ１３）。
【００４５】
図７に示すように、入力データ４２の運転条件６ａと出力変数７ａの各項目において、下限値と上限値とを示すように、最適化テーブル５１を生成してもよい。
【００４６】
上述では、運転条件６ａと出力変数７ａの組み合せ毎に制御変数８ａを対応付けた最適化テーブル５１を生成する第１の機能構成を説明したが、制御変数８ａの代わりに近似式を対応付ける第２の機能構成について、以下に説明する。
【００４７】
図８は、情報処理装置１００の第２の機能構成例を示す図である。図８中、図４と同様の構成部には同様の符号を付し、その説明を省略する。図８において、情報処理装置１００は、近似式作成部１３２ａを更に有する点において、図４に示す第１の機能構成と異なっている。
【００４８】
近似式作成部１３２ａは、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現される。近似式作成部１３２ａは、入力データ４２と、モデル予測制御部１３２によって算出された制御変数８ａとに基づいて、運転条件６ａと出力変数７ａとの組み合せ毎に制御変数８ａを計算する近似式５２を作成する。
【００４９】
最適化テーブル生成部１３３は、入力データ４２を参照することによって、運転条件６ａと出力変数７ａとの組み合せ毎に対応させた近似式作成部１３２ａによって作成された近似式５２を含む最適化テーブル５１−２を生成する。最適化テーブル５１−２は、記憶部４０に格納される。
【００５０】
第２の機能構成における、情報処理装置１００と車両５のエンジン制御装置２００の各々の処理の概要について図９で説明する。図９は、第２の機能構成における各装置での処理の概要を説明するための図である。図９（Ａ）では、情報処理装置１００での処理が示されている。
【００５１】
図９（Ａ）において、入力データ作成部１３１は、記憶部４０に格納されている測定データ４１を参照することによって、運転条件６と出力変数７との組み合せを全て作成し、作成した全組み合せを含む入力データ４２を作成する（ステップＳ２１）。作成された入力データ４２は、記憶部４０に格納される。
【００５２】
そして、モデル予測制御部１３２は、入力データ４２を用いて、組み合せ毎に制御変数８ａを計算する（ステップＳ２２）。近似式作成部１３２ａは、組み合せられた運転条件６ａ及び出力変数７ａと、モデル予測制御部１３２によって計算された組み合せに対応する制御変数８ａとに基づいて、エンジン制御装置２００にて用いられる制御変数８を計算するための近似式を作成する（ステップＳ２３）。
【００５３】
最適化テーブル生成部１３３は、作成した近似式を含む最適化テーブル５１−２を生成する（ステップＳ２４）。生成された最適化テーブル５１−２は記憶部４０に格納される。そして、情報処理装置１００での処理を終了する。
【００５４】
上述したように生成された最適化テーブル５１は、車両５のメモリ装置２０４に書き込まれる。図９（Ｂ）には、最適化テーブル５１を実装したエンジン制御装置２００に係る処理が示されている。ＥＣＵ２０２は、車両５のエンジン開始により図９（Ｂ）に示される処理を行う。
【００５５】
図９（Ｂ）において、ＥＣＵ２０２は、エンジンセンサ２１５によって測定されたエンジン２１４の出力変数７を入力する（ステップＳ３２１）。ＥＣＵ２０２は、アクセルペダル２１１又はブレーキペダル２１２から、車両５の運転者による踏み込みに応じて、運転条件６を入力する（ステップＳ３２２）。
【００５６】
ＥＣＵ２０２は、最適化テーブル５１−２から、入力された運転条件６と、運転者がアクセルペダル２１１又はブレーキペダル２１２を踏み込む直前の出力変数７との組み合せに相当する、運転条件６ａと出力変数７ａとの組み合せに対応付けられている近似式５２を取得して、その近似式５２を用いて、入力された運転条件６と出力変数７とから制御変数８を計算する（ステップＳ３２３）。そして、ＥＣＵ２０２は、計算して得た制御変数８でエンジンを制御する（ステップＳ３２４）。
【００５７】
上述した図９（Ａ）に示す処理について、ステップＳ２１及びＳ２２は、図５（Ａ）のステップＳ１１及びＳ１２に夫々相当するため、その詳細な説明を省略する。ステップＳ２３及びＳ２４について、図１０で詳述する。
【００５８】
図１０は、図９（Ａ）のステップＳ２３及びＳ２４での処理を説明するための図である。図１０において、入力データ４２には、運転条件６ａと出力変数７ａとの全組み合せが含まれている。
【００５９】
近似式作成部１３２ａは、入力データ４２に含まれる運転条件６ａと出力変数７ａとの組み合せ毎に、制御変数８ａ−１、８ａ−２、・・・の夫々を求めるための近似式５２ａ−１、５２ａ−２、・・・を作成する（ステップＳ２３）。１個の組み合せに対応する近似式５２は、制御変数８ａ−１、８ａ−２、・・・の夫々に対応する近似式５２ａ−１、５２ａ−２、・・・を有する。また、Ｎ件の組み合せから１件の近似式５２が作成される。
【００６０】
最適化テーブル生成部１３３は、入力データ４２のＮ件の組み合せに対して、近似式作成部１３２ａによって作成された１件の近似式５２を含む最適化テーブル５１−２を生成する（ステップＳ２４）。
【００６１】
運転条件６及び出力変数７（運転条件６及び出力変数７の組み合せを動作条件とする）と制御変数８との関係は複雑であるため、図１１に示すように、単純な線形の近似式１１ｐを適用すると、制御変数８の最適値２ｖと近似式１１ｐから得られる近似値との間に、大きな誤差２ｄが生じてしまう場合がある。そこで、本実施の形態では、図１２に示すように、上述したステップＳ２３では、非線形の近似式１２ｐを算出するものとする。
【００６２】
ステップＳ２３にて、近似式作成部１３２ａによって作成される制御変数８ａ−１を計算するための近似式５２ａ−１は、制御変数８ａ−１が運転条件６ａ−１、出力変数７ａ−１等と関連する場合、
制御変数８ａ−１  ＝  １０×運転条件６ａ−１  ＋  ２０×出力変数７ａ−１
＋  ・・・
のように表現される。
【００６３】
また、各制御変数８ａ−１、８ａ−２、・・・を非線形の近似式とすることもできる。非線形の近似式を得るために、数１に示されるようなサポートベクトルマシン（ＳＶＭ）回帰を用いる。
【００６４】
【数１】
0005870632.tif 000002
Ｙは、各制御変数８ａ−１、８ａ−２、・・・である。Ａ（Ｉ）は係数を示し、Ｘ（Ｋ）は運転条件又は出力変数を指定し、Ｄ（Ｉ，Ｋ）は運転条件又は出力変数のデータを示す。ここで、Ｋは入力データ４２の行番号を示し、Ｉは入力データ４２の列番号を示す。Ａ（Ｉ）≠０の場合に、合計（１）及び（２）が計算される。Ａ（Ｉ）≠０の場合について、Ａ（Ｉ）及びＤ（Ｉ，Ｋ）をエンジン制御装置２００に保持するようにする。
【００６５】
図１１に示されるように、単純な近似式１１ｐを用いた場合には、誤差の大きな最適値２ｍで動作条件の範囲を範囲Ａと範囲Ｂとに分割することによって、各範囲Ａ、Ｂ内での誤差を小さくすることができる。しかしながら、この場合、範囲Ａと範囲Ｂとの境界における、範囲Ａ側の近似式１１ａの近似値と、範囲Ｂ側の近似式１１ｂの近似値との間にギャップが生じてしまうことがある。
【００６６】
一方、図１２に示される非線形の近似式１２ｐを適用した場合には、範囲を分割することなく、近似式１２ｐによる近似値と最適値との誤差を小さくでき、精度良く近似することができる。
【００６７】
上述したＳＶＭ回帰を用いた第３の機能構成について、図１３で説明する。図１３は、情報処理装置１００の第３の機能構成例を示す図である。図１３中、図８と同様の構成部には同様の符号を付し、その説明を省略する。図１３において、情報処理装置１００は、データ量取得部１３１ｂを更に有すると共に、近似式作成部１３２ａの代わりに、ＳＶＭ回帰計算部１３２ｂを有する点において、図８に示す第２の機能構成と異なっている。
【００６８】
データ量取得部１３１ｂは、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現される処理部であって、車両５のエンジン制御装置２００に実装されるメモリ装置２０４に係る情報に基づいて、エンジン制御装置２００のメモリ装置２０４に搭載できるデータ量を計算することによって取得する。或いは、情報処理装置１００のユーザからメモリ装置２０４に搭載できるデータ量を取得するようにしても良い。取得したデータ量は、記憶部４０に格納される制約条件４５に設定される。
【００６９】
ＳＶＭ回帰計算部１３２ｂは、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現される。ＳＶＭ回帰計算部１３２ｂは、入力データ４２と、モデル予測制御部１３２によって算出された制御変数８ａとに基づいて、制約条件４５を満たすように、運転条件６ａと出力変数７ａとの組み合せに対する制御変数８ａを計算する近似式５３を作成する。
【００７０】
最適化テーブル生成部１３３は、入力データ４２を参照することによって、運転条件６ａと出力変数７ａとの組み合せに対して、ＳＶＭ回帰計算部１３２ｂによって作成された近似式５３を含む最適化テーブル５１−４を生成する。最適化テーブル５１−４は、記憶部４０に格納される。
【００７１】
第３の機能構成では、運転条件６ａと出力変数７ａとによる組み合せを動作条件６０として表す。
【００７２】
第３の機能構成における車両５のエンジン制御装置２００の処理は、第２の機能構成における処理（図９（Ｂ））と同様であるので、その説明を省略する。情報処理装置１００の処理の概要について図１４で説明する。図１４は、第３の機能構成における情報処理装置での処理の概要を説明するための図である。
【００７３】
図１４において、入力データ作成部１３１は、運転条件６ａと出力変数７ａとの組み合せを全て作成し、作成した全組み合せを含む入力データ４２を作成する（ステップＳ３１）。作成された入力データ４２は、記憶部４０に格納される。以降の処理において、運転条件６ａ−１、・・・、出力変数７ａ−１、・・・は、動作条件６０ａ−１、・・・で示し、各組み合わせにおける運転条件６ａと出力変数７ａは、動作条件６０ａで示す。
【００７４】
データ量取得部１３１ｂは、エンジン制御装置に搭載できるデータ量を計算する（ステップＳ３２）。又は、データ量取得部１３１ｂは、ユーザにデータ量を入力させることによって取得する。
【００７５】
そして、モデル予測制御部１３２は、入力データ４２を用いて、動作条件（運転条件６と出力変数７との組み合せ）毎に制御変数８の最適値（制御変数８ａ）を計算する（ステップＳ３３）。図１５に示されるように、制御変数８ａは、モデル予測制御部１３２の計算によって予測した制御変数８の最適値を表し、制御変数８ａ−１、８ａ−２、・・・の１以上の項目を含む。この例では、全動作条件（運転条件６と出力変数７との組み合せ）の件数Ｎに対応して、Ｎ件の制御変数８ａが計算される。
【００７６】
ＳＶＭ回帰計算部１３２ｂは、組み合せと、モデル予測制御部１３２によって計算された組み合せ（動作条件）に対応する制御変数８の最適値（制御変数８ａ）とに基づいて、制約条件４５に従ってエンジン制御装置２００の搭載できるデータ量の制約を満たす、エンジン制御装置２００にて用いられる制御変数８を計算するための近似式を算出する（ステップＳ３４）。
【００７７】
最適化テーブル生成部１３３は、動作条件（運転条件６と出力変数７との組み合せ）に対して、近似式を含む最適化テーブル５１−２を生成する（ステップＳ３５）。生成された最適化テーブル５１−２は記憶部４０に格納される。そして、情報処理装置１００での処理を終了する。
【００７８】
上述した図１４に示す処理において、第２の機能構成と異なるステップＳ３４及びＳ３５について、図１５で詳述する。図１５は、図１４のステップＳ３４及びＳ３５での処理を説明するための図である。図１５において、ＳＶＭ回帰計算部１３２ｂは、入力データ４２の動作条件（運転条件６と出力変数７との組み合せ）に対して、その動作条件に基づいて、制御変数８ａ−１、８ａ−２、・・・の最適値の夫々を計算する近似式５３ａ−１、５３ａ−２、・・・を算出する（ステップＳ３４）。その際、全動作条件に対して算出された近似式５３に係るデータが、制約条件４５で示されるデータ量を超えないように計算される。１件の近似式５３には、制御変数８ａ−１、８ａ−２、・・・の各最適値に対応する近似式５３ａ−１、５３ａ−２、・・・が含まれる。
【００７９】
最適化テーブル生成部１３３は、入力データ４２のＮ件の組み合せに対して、近似式作成部１３２ａによって作成された１件の近似式５３を含む最適化テーブル５１−４を生成する（ステップＳ３５）。
【００８０】
数２に示すような、特徴空間における内積を表すカーネル関数Ｋ（ｘ、ｘｉ）が設定された識別関数ｆ（ｘ）に対して、数３に示すようなＳＶＭの２次計画問題を解く。その際、本実施の形態では、数４に示すような制約条件４５を加えることによって、近似式５３を得る。数２及び数３は、Kimeldorf及びWahbaによって１９７０年に提唱されたものである。（杉山将、“サポートベクター回帰のモデル選択”、東京工業大学、２００２年、９月２５日〜２８日、５頁）
【００８１】
【数２】
0005870632.tif 000003
ここで、数１のＡ（Ｉ）とαｉは同じである。
【００８２】
【数３】
0005870632.tif 000004
【００８３】
【数４】
0005870632.tif 000005
数４において、Ｂｉは０又は１であり、ｂｉｇＭは十分大きい定数、Ｎｅはエンジン制御装置２００のメモリ装置２０４のデータ量を示す。ｉは１〜Ｎ（＝データ件数）までの自然数である。
【００８４】
次に、単純な近似式を用いて、動作条件と制御変数との関係において、範囲を分割する際に、近似値と最適値との誤差が最小となる境界で分割する第４の機能構成について説明する。第４の機能構成では、上述した第１の機能構成で説明したようなモデル予測制御により制御変数８ａが求められているものとする。
【００８５】
先ず、第４の機能構成における動作条件の範囲の分割方法の概要について図１６を参照して説明する。図１６中、説明の便宜のため、動作条件１、２の範囲による分割方法で説明する。動作条件１及び２は、夫々縦軸及び横軸で表される。縦横の破線は、分割する又は候補となる境界を示す。
【００８６】
図１６（Ａ）に示すような各境界候補で分割した場合の、分割された各範囲内の近似式Ａ及びＢを作成し、動作条件の最適値と作成した近似式による値との誤差（近似誤差）の合計Ａ及びＢを計算する。近似誤差の合計Ａ及びＢが、最小となる境界１６ａで範囲Ａ及び範囲Ｂに分割する。そして、分割された範囲Ａと範囲Ｂのうち近似誤差の合計が最大となる範囲を選定する。近似誤差の合計Ｂが近似誤差の合計Ａより大きい場合、範囲Ｂが選定される。
【００８７】
図１６（Ｂ）では、範囲Ｂが選定された場合が例示されている。範囲Ｂ内において、上述した同様の処理を繰り返すことによって、範囲Ｂ内が最小となる境界１６ｂで範囲Ｂ１及び範囲Ｂ２に分割される。範囲Ｂ１及び範囲Ｂ２に対して、夫々近似式Ｂ１及びＢ２が得られ、また、近似誤差の合計Ｂ１及びＢ２が得られる。そして、分割された範囲Ｂ１と範囲Ｂ２のうち近似誤差の合計が最大となる範囲を選定する。
【００８８】
このように、図１６（Ａ）及び図１６（Ｂ）で説明したような繰り返し処理は、エンジン制御装置２００のメモリ装置２０４のデータ容量を制約条件として行われる。
【００８９】
図１７は、情報処理装置１００の第４の機能構成例を示す図である。図１７において、情報処理装置１００は、データサイズ計算部１６１と、データサイズ比較部１６２と、最大範囲選定部１６３と、境界候補計算部１６４と、境界候補選定部１６５と、分割範囲計算部１６６と、分割データ計算部１６７と、近似式計算部１６８と、部分誤差計算部１６９と、部分誤差合計部１７０と、最小誤差選定部１７１と、範囲データ計算部１７２と、最適化テーブル生成部１３３−６とを有する。これら処理部１６１から１７２は、ＣＰＵ１１が対応するプログラムを実行することによって行われる処理によって実現される。
【００９０】
また、記憶部４０は、これら処理部１６１から１７２によって参照、作成される、範囲テーブル８１と、データサイズ８２と、データ容量上限８３と、予測済みテーブル８４と、境界候補テーブル８５と、境界未満範囲レコード８６ａと、境界以上範囲レコード８６ｂと、境界未満予測済みテーブル８７ａと、境界以上予測済みテーブル８７ｂと、境界近似テーブル８８と、最適化テーブル５２−６とを格納する。
【００９１】
範囲テーブル８１では、動作条件６０の各項目の上限値及び下限値が示され、動作条件６０毎、即ち、運転条件６ａと出力変数７ａとによる組み合せ毎に、近似式及び近似誤差を示す近似式情報８０が対応付けられている。第４の機能構成例においても、第３の機能構成例と同様に、運転条件６ａと出力変数７ａとによる組み合せを動作条件６０ａとして表す。
【００９２】
データサイズ８２は、データサイズ計算部１６１によって計算された値を示す。データ容量上限８３は、予め設定されたエンジン制御装置２００のメモリ装置２０４に書き込めるデータ容量の上限値を示す。
【００９３】
予測済みテーブル８４は、上述した第１の機能構成において、モデル予測することによって得られた動作条件６０毎の制御変数８ａを示し、最適化テーブル生成部１３３によって生成された最適化テーブル５１に相当する。予測済みテーブル８４では、動作条件６０毎に制御変数８ａが対応付けられている。
【００９４】
境界候補テーブル８５は、境界候補計算部１６４によって得られた範囲を分割する境界候補を示す。各境界候補は、境界変数と境界とで示される。境界変数は、範囲を分割するために用いられる動作条件６０ａの項目（動作条件６０ａ−１、・・・の１以上）を指定し、境界は、その境界変数で分割する際の値を示す。
【００９５】
境界未満範囲レコード８６ａ及び境界以上範囲レコード８６ｂは、分割範囲計算部１６６による結果を示す。範囲テーブル８１内の分割対象の範囲において、境界候補選定部１６５によって選定された候補の境界に対して、境界未満範囲レコード８６ａは、境界未満となる範囲のデータを示し、また、境界以上範囲レコード８６ｂは、境界以上となる範囲のデータを示す。
【００９６】
境界未満予測済みテーブル８７ａ及び境界以上予測済みテーブル８７ｂは、分割データ計算部１６７による結果を示す。境界未満予測済みテーブル８７ａは、モデル予測済みテーブル８４と境界未満範囲レコード８６ａとを用いて得られた、境界未満の範囲内における動作条件６０ａと制御変数８ａとの対応付けを示す。また、境界以上予測済みテーブル８７ｂは、モデル予測済みテーブル８４と境界以上範囲レコード８６ｂとを用いて得られた、境界以上の範囲内における動作条件６０ａと制御変数８ａとの対応付けを示す。
【００９７】
境界近似テーブル８８は、近似式計算部１６８と部分誤差計算部１６９と部分誤差合計部１７０とによる結果を示す。境界近似テーブル８８は、候補となる境界毎の動作条件６０ａの最適値と近似式による値との合計誤差を示す。
【００９８】
最適化テーブル５２−６は、範囲データ計算部１７２による結果を示す。最適化テーブル５２−６は、動作条件６０毎に近似式係数５３−６が対応付けられる。作成された最適化テーブル５２−６は、エンジン制御装置２００のメモリ装置２０４のデータ容量上限８３を満たすデータ量である。
【００９９】
データサイズ計算部１６１は、範囲テーブル８１を参照して、エンジン制御装置２００のメモリ装置２０４に書き込む最適化テーブル５１−６のデータサイズ８２を計算する。計算（予測）されたデータサイズ８２は記憶部４０に格納される。最適化テーブル５１−６は、最適化テーブル生成部１３３−６によって、範囲テーブル８１に基づいて生成される。
【０１００】
データサイズ比較部１６２は、記憶部４０から、データサイズ計算部１６１によって計算されたデータサイズ８２と、予め格納しておいたデータ容量上限８３とを比較する。データサイズ８２がデータ容量上限８３以内であれば、範囲テーブル８１がメモリ装置２０４に書き込まれるテーブルとなる。一方、データサイズ８２がデータ容量上限８３を超えた場合、後述されるように、データ容量上限８３を満たすように動作条件６０の範囲を分割する処理が行われる。
【０１０１】
最大範囲選定部１６３は、範囲テーブル８１から、制御変数８ａの項目の近似誤差の合計が最大となる範囲（１件のレコード）を選定する。以下、近似誤差の合計が最大となる範囲（１件のレコード）を最大範囲と言う。
【０１０２】
境界候補計算部１６４は、近似誤差の合計が最大の範囲について、候補となる境界を計算する。境界候補計算部１６４によって、候補となる境界を示す境界候補テーブル８５が記憶部４０に出力される。
【０１０３】
境界候補選定部１６５は、境界候補テーブル８５から１つの境界（１件のレコード）を選定する。
【０１０４】
分割範囲計算部１６６は、最大範囲において、選定した境界で分割した場合の各範囲を計算して、計算した各範囲に係るレコードを範囲テーブル８１から取得する。最大範囲において、境界未満に属する範囲に係る境界未満範囲レコード８６ａと、境界以上に属する範囲に係る境界以上範囲レコード８６ｂとが、夫々記憶部４０に格納される。
【０１０５】
分割データ計算部１６７は、境界未満範囲レコード８６ａと境界以上範囲レコード８６ｂとを夫々用いて、選定した境界で分割した場合の各範囲における制御変数８ａを含むデータを予測済みテーブル８４から取得するための計算を行う。予測済みテーブル８４から境界未満に属するレコードと境界以上に属するレコードとが抽出される。最大範囲において、境界未満に属するレコードを含む境界未満予測済みテーブル８７ａと、境界以上に属するレコードを含む境界以上予測済みテーブル８７ｂとが生成され、夫々記憶部４０に格納される。
【０１０６】
近似式計算部１６８は、最大範囲内の選定した境界で分割される各範囲において、制御変数８ａの項目毎に近似式を計算する。境界未満予測済みテーブル８７ａの各１件に対して、制御変数８ａの項目毎の近似式が作成される。また、境界以上予測済みテーブル８７ｂの各１件に対して、制御変数８ａの項目毎の近似式が作成される。近似式計算部１６８は、近似式作成部１３２ａに相当する処理部であってもよい。
【０１０７】
そして、部分誤差計算部１６９は、最大範囲内の選定した境界で分割される各範囲において、近似式計算部１６８によって計算された制御変数８ａの項目毎の近似式を用いて、制御変数８ａの各項目の近似誤差（部分近似誤差）を計算する。
【０１０８】
部分誤差合計部１７０は、最大範囲が選定した境界で分割された場合の部分近似誤差の合計（近似誤差合計）を計算する。最大範囲における候補となる境界全てに対して上述同様の処理を行うことにより、候補となる境界毎に近似誤差合計を示す境界近似テーブル８８が記憶部４０に格納される。
【０１０９】
最小誤差選定部１７１は、記憶部４０に格納された境界近似テーブル８８を参照することによって、近似誤差合計が最小となる境界を選定する。範囲を分割する境界が決定される。最小誤差選定部１７１によって選定（決定）された境界で分割した範囲毎に、即ち、境界未満範囲レコード８６ａと境界以上範囲レコード８６ｂとの夫々に、近似式及び近似誤差を示す近似情報８０が設定される。
【０１１０】
範囲データ計算部１７２は、範囲テーブル８１に、近似誤差が最小となる境界で分割された、境界未満の範囲を示す１件（１レコード）と、境界以上の範囲を示す１件（１レコード）とを追加する。また、範囲データ計算部１７２は、範囲テーブル８１から近似誤差が最大を示す１件（１レコード）を削除する。
【０１１１】
最適化テーブル生成部１３３−６は、最適化テーブル５１−６を生成して、記憶部４０に格納する。最適化テーブル生成部１３３−６は、データサイズ比較部１６２による比較結果に基づいて、データ容量上限８３を制約条件とする繰り返し処理が終了すると、範囲テーブル８１の近似式情報８０から近似誤差を削除し、更に、近似式情報８０の近似式を近似式の係数のみに置き換えて、最適化テーブル５１−６を生成する。このような処理によって、エンジン制御装置２００のメモリ装置２０４へ書き込むデータ容量を少なくすることができる。
【０１１２】
車両５の制御処理部２３０は、最適化テーブル５１−６から得られた係数を所定の近似式に当てはめればよい。従って、車両５のエンジン制御装置２００による制御処理部２３０での処理は、第２の機能構成で説明した図９（Ｂ）に示す処理フローと同様であるので、その詳細な説明を省略する。
【０１１３】
動作条件６０の範囲を分割して精度良い近似式を計算することによって、最適化テーブル５１−６を生成する処理フローの概要について図１８で説明する。図１８は、第４の機能構成における処理の概要を説明するための図である。図１８にて、情報処理装置１００において、ＣＰＵ１１は、最適化テーブル５１−６に必要なデータサイズがデータ容量上限８３以下であるか否かを判断する（ステップＳ４２）。最適化テーブル５１−６に必要なデータサイズを、現在の範囲テーブル８１のデータ量から予測してもよい。
【０１１４】
データサイズ計算部１６１は、最適化テーブル５１−６に必要なデータサイズ８２を計算する。計算されたデータサイズ８２は、記憶部４０に格納される。データサイズ計算部１６１は、記憶部４０に格納されている範囲テーブル８１を参照することによって、動作条件６０の件数（レコード数）から、最適化テーブル５１−６の１件分（１レコード分）のデータサイズに基づいて、最適化テーブル５１−６のデータサイズを予測する。この際、更に、範囲を分割する場合を考慮して、所定のデータサイズ（例えば、１件分のデータサイズ）を加算しておくとよい。動作条件６０の件数（レコード数）から１を減算した値が範囲の境界の数を示し、即ち、分割回数を示す。
【０１１５】
そして、データサイズ比較部１６２は、データサイズ計算部１６１によって計算されたデータサイズ８２とデータ容量上限８３とを比較することによって、最適化テーブル５１−６に必要なデータサイズがデータ容量上限８３以下であるか否かを判断する
ステップＳ４２にて、データ容量上限８３を超えると判断した場合、最適化テーブル生成部１３３−６は、範囲テーブル８１を用いて、データサイズがデータ容量上限以上で近似誤差の合計が最小となる境界で分割された範囲毎に近似式の係数を対応付けた最適化テーブル５１−６を生成する（ステップＳ５０）。
【０１１６】
一方、ステップＳ４２にて、データ容量上限８３以下であると判断した場合、最大範囲選定部１６３は、範囲テーブル８１から近似誤差合計が最大となる範囲（最大範囲）のレコードを選定する（ステップＳ４３）。
【０１１７】
次に、境界候補計算部１６４は、全ての可能な境界の候補を計算する（ステップＳ４４）。計算された境界の候補を示す境界候補テーブル８５が記憶部４０に格納される。境界候補選定部１６５は、境界候補テーブル８５から境界を１つ選定する（ステップＳ４５）。
【０１１８】
最大範囲において、分割範囲計算部１６６は、境界候補選定部１６５によって選定された境界で分割した場合の各範囲を計算する。分割範囲計算部１６６は、計算した各範囲に基づいて、範囲テーブル８１を用いて、境界未満に属する範囲に係る境界未満範囲レコード８６ａと、境界以上に属する範囲に係る境界以上範囲レコード８６ｂとを作成し、記憶部４０に格納する。更に、分割データ計算部１６７によって、最大範囲において、境界未満に属するレコードを含む境界未満予測済みテーブル８７ａと、境界以上に属するレコードを含む境界以上予測済みテーブル８７ｂとが、夫々記憶部４０に格納される。
【０１１９】
そして、近似式計算部１６８は、最大範囲内で選定された境界で分割される範囲毎に、即ち、境界未満予測済みテーブル８７ａと境界以上予測済みテーブル８７ｂの夫々に対して、制御変数８ａの項目毎の近似式を計算し、部分誤差計算部１６９は、最大範囲内の選定した境界で分割される各範囲における、制御変数８ａの各項目の近似誤差（部分近似誤差）を、近似式計算部１６８によって得られた近似式を用いて計算する（ステップＳ４６）。
【０１２０】
その後、最大範囲選定部１６３は、未選定の境界があるか否かを判断する（ステップＳ４７）。未選定の境界がある場合、次の境界を選定するためにステップＳ４５へと戻る。ステップＳ４５からＳ４７が繰り返されることによって、候補となる境界と近似誤差合計とが対応付けられた境界近似テーブル８８が作成され、記憶部４０に格納される。
【０１２１】
一方、未選定の境界がない場合、近似誤差が最小となる境界で範囲を分割する（ステップＳ４８）。最小誤差選定部１７１は、記憶部４０に格納された境界近似テーブル８８を参照することによって、近似誤差合計が最小となる境界を選択する。境界未満範囲レコード８６ａと境界以上範囲レコード８６ｂとの夫々に、近似式及び近似誤差を示す近似情報８０が設定される。
【０１２２】
そして、範囲データ計算部１７２は、分割した範囲毎に、近似式計算部１６８によって得られた近似式と、部分誤差計算部１６９によって得られた近似誤差とを対応付けたレコードを範囲テーブル８１に追加する（ステップＳ４９）。境界未満範囲レコード８６ａと境界以上範囲レコード８６ｂとの夫々から近似誤差合計が最小となるレコードが、範囲テーブル８１に追加される。その際、範囲テーブル８１から分割された範囲である近似誤差が最大を示す１件（１レコード）を削除しておく。
【０１２３】
その後、ＣＰＵ１１は、データ容量上限８３に応じた範囲の分割が可能か否かを判断するために、ステップＳ４２へと戻り、上述同様の処理を行う。ＣＰＵ１１は、ステップＳ５０にて、データ容量上限８３を満たす最適化テーブル５１−６が生成されると、この処理を終了する。
【０１２４】
次に、各処理部１６１から１７２、及び１３３−６とテーブル、データ等との関係を用いて、処理について詳述する。
【０１２５】
図１９は、図１８のステップＳ４２での処理を説明するための図である。図１９にて、範囲テーブル８１では、各レコードにおいて、動作条件６０に近似式情報８０が対応付けられており、各レコードは、１からＭ１までの範囲番号によって特定される。Ｍ１は、範囲総数を示す。１レコードは、予め測定された、運転条件６ａと出力変数８ａとの１つの組み合せに相当する。また、範囲テーブル８１は、近似式毎に用意される。
【０１２６】
第４の機能構成では、運転条件６ａと出力変数８ａは、下限及び上限の範囲で示され、１レコードによって、１つの範囲に係る情報が示される。また、動作条件６０は、組み合せられた運転条件６ａと出力変数８ａとにおいて、複数の動作条件６０ａ−１、６０ａ−２、・・・の項目を含む。また、近似式情報８０は、制御変数８ａの項目（制御変数８ａ−１、８ａ−２、・・・）毎に近似式と近似誤差とが示される。制御変数８ａ−１に対して近似式８０ａ−１と近似誤差８０ａ−１とが設定されている。制御変数８ａの他の項目も同様である。
【０１２７】
データサイズ計算部１６１は、範囲テーブル８１を参照して、最適化テーブル５１−６に必要なデータサイズ８２を計算し、記憶部４０に格納する。動作条件６０ａ−１、６０ａ−２、・・・の総数と各データ量とから、最適化テーブル５１−６の１レコードの動作条件６０に必要なデータサイズが計算される。また、近似式情報８０から得られる制御変数８ａの項目数から、最適化テーブル５１−６の１レコードの近似式係数５３−６に必要なデータサイズが計算される。これら計算によって、現時点の範囲分割による最適化テーブル５１−６に含まれるレコード数からデータサイズ８２が求められる。
【０１２８】
そして、データサイズ比較部１６２は、データサイズ８２と、エンジン制御装置２００のメモリ装置２０４のデータ容量上限８３とを比較して、範囲を分割するための繰り返し処理を行うか否かを判断する。データサイズ８２がデータ容量上限８３以下である場合に、範囲を更に分割するための処理を繰り返して行う。データサイズ８２がデータ容量上限８３を超える場合に、範囲を更に分割することなく処理を終了する。
【０１２９】
図２０は、図１８のステップＳ４３での処理を説明するための図である。図２０にて、最大範囲選定部１６３は、範囲テーブル８１から近似誤差が最大となる範囲のレコード（最大範囲レコード８１ｍａｘ）を選定する。
【０１３０】
図２１は、図１８のステップＳ４４及びＳ４５での処理を説明するための図である。図２１にて、境界候補計算部１６４は、最大範囲レコード８１ｍａｘで示される動作条件６０の範囲内における分割できる境界を、予測済みテーブル８４を参照することによって、計算する。
【０１３１】
境界候補計算部１６４は、最大範囲レコード８１ｍａｘで示される動作条件６０の範囲内に属する動作条件６０を示すレコードを予測済みテーブル８４から抽出する。予測済みテーブル８４から抽出されたレコードによって示される動作条件６０の項目（６０ａ−１、６０ａ−２、・・・）の値から境界を求める。境界を求める方法として、サポートベクター回帰等を用いればよい。境界候補計算部１６４は、計算により求められた結果に基づいて、境界候補テーブル８５を作成し、記憶部４０に格納する。
【０１３２】
予測済みテーブル８４は、第１の機能構成における最適化テーブル５１に相当し、動作条件６０（運転条件６ａと出力変数７ａとによる組み合せ）毎に制御変数８ａが対応付けられている。予測済みテーブル８４は、データ番号１からＮＤで特定されるレコードを有する。ＮＤは、データ総数を示す。
【０１３３】
境界候補テーブル８５は、境界を特定するための境界番号、境界変数、境界等の項目を有し、境界番号１からＮＢで特定されるレコードを有する。境界変数、境界等の項目によって、範囲を分割する境界線を表す計算式が与えられる。ＮＢは、境界候補総数を示す。
【０１３４】
境界候補選定部１６５は、境界候補テーブル８５から１つの境界（１件のレコード）を選定する。選定境界レコード８５ｓは、境界候補選定部１６５によって境界候補テーブル８５から選定されたレコードである。
【０１３５】
図２２は、図１８のステップＳ４６での処理を説明するための図（その１）である。図２２にて、分割範囲計算部１６６は、選定境界レコード８５ｓに基づく計算式を用いて、最大範囲レコード８１ｍａｘで示される最大範囲を分割する。そして、最大範囲において、境界未満に属する範囲に係る境界未満範囲レコード８６ａと、境界以上に属する範囲に係る境界以上範囲レコード８６ｂとに分割される。
【０１３６】
図２３は、図１８のステップＳ４６での処理を説明するための図（その２）である。図２３にて、分割データ計算部１６７は、予測済みテーブル８４から境界未満範囲レコード８６ａの動作条件６０を満たすレコードを抽出して境界未満予測済みテーブル８７ａを生成し、記憶部４０に格納する。また、分割データ計算部１６７は、予測済みテーブル８４から境界以上範囲レコード８６ｂの動作条件６０を満たすレコードを抽出して境界以上予測済みテーブル８７ｂを生成し、記憶部４０に格納する。
【０１３７】
境界未満予測済みテーブル８７ａ及び境界以上予測済みテーブル８７ｂは、データ番号、動作条件６０、制御変数８ａ等を有する。境界未満予測済みテーブル８７ａにおいて、１からＮＤａまでのデータ番号によってレコードが特定される。境界以上予測済みテーブル８７ｂにおいて、１からＮＤｂまでのデータ番号によってレコードが特定される。
【０１３８】
境界未満予測済みテーブル８７ａ及び境界以上予測済みテーブル８７ｂの夫々に対して、レコード毎に制御変数８ａ−１、８ａ−２、・・・各々を算出するための近似式が計算される。また、近似式毎に近似誤差が計算される。
【０１３９】
図２４は、図１８のステップＳ４６での処理を説明するための図（その３）である。図２４にて、近似式計算部１６８は、境界未満予測済みテーブル８７ａを参照することによって、制御変数８ａ−１、８ａ−２、・・・を計算するための近似式５４ａ−１を作成する。
【０１４０】
部分誤差計算部１６９は、作成された近似式５４ａ−１を用いて得られた近似値と、そのレコードの制御変数８ａ−１、８ａ−２、・・・との近似誤差を算出する。部分誤差計算部１６９は、全レコードに対して近似誤差を算出すると、算出した近似誤差を合算することによって、境界未満に関する部分近似誤差５７ａを計算する。
【０１４１】
境界以上予測済みテーブル８７ｂに対して、近似式計算部１６８及び部分誤差計算部１６９は、同様の処理を行う。近似式計算部１６８は、近似式５５ａ−１を作成する。部分誤差計算部１６９は、全レコードに対して、境界以上に関する部分近似誤差５７ｂを計算する。
【０１４２】
合計誤差計算部１７０は、部分近似誤差５７ａと部分近似誤差５７ｂとを合計することによって近似誤差合計を計算する。計算された近似誤差合計は、境界候補選定部１６５によって選定された境界を特定する境界番号に対応付けられ、境界近似テーブル８８に追加される。
【０１４３】
境界近似テーブル８８は、境界番号、近似誤差合計等の項目を有する。境界候補選定部１６５による境界候補テーブル８５からのレコードの選定が終了することによって、境界候補テーブル８５で示される全ての境界に対して近似誤差合計が対応付けられる。
【０１４４】
図２５は、図１８のステップＳ４８での処理を説明するための図である。図２５にて、最小誤差選定部１７１は、境界近似テーブル８８から近似誤差合計が最小となる境界に関するレコードを１件選定する。境界近似レコード８８ｓは、境界近似テーブル８８から選定されたレコードである。
【０１４５】
図２６は、図１８のステップＳ４９での処理を説明するための図である。図２６にて、範囲データ計算部１７２は、範囲テーブル８１から最大範囲レコード８１ｍａｘを削除し、境界未満範囲レコード８６ａと境界以上範囲レコード８６ｂとを範囲テーブル８１に追加する。範囲データ計算部１７２は、範囲の分割が行われる毎にこの処理を行って範囲テーブル８１を更新する。
【０１４６】
最適化テーブル５１−６に必要なデータサイズがデータ容量上限８３を超えると、範囲レコード８１の更新は終了する。
【０１４７】
図２７は、図１８のステップＳ５０での処理を説明するための図である。図２７にて、最適化テーブル生成部１３３−６は、範囲テーブル８１に基づいて、エンジン制御装置２００のメモリ装置２０４に書き込まれる最適化テーブル５１−６を生成する。範囲テーブル８１の近似式情報８０に関して、各近似式の係数のみが動作条件６０に対応付けられる。例えば、各レコードにおいて、制御変数８ａ−１に対応する近似式８０ａ−１は近似式８０ａ−１の係数が対応付けられる。
【０１４８】
上述した第１の機能構成を有する複数のノード計算機に図７に示す処理を行わせる並列計算システムについて説明する。図２８は、並列計算システム例を示す図である。図２８において、並列計算システム７００では、管理装置６００は、ネットワーク２を介して、複数のノード計算機１０１、１０２、・・・の各々に接続される。管理装置６００と、複数のノード計算機１０１、１０２、・・・の夫々は、図１に示される同様のハードウェア構成を有する情報処理装置である。
【０１４９】
管理装置６００は、入力データ４２を各ノード計算機１０１、１０２、・・・へ与えることによって、最適化テーブル５１を作成させるサーバ装置である。入力データ４２は、管理装置６００にて入力データ作成部１３１を備えることによって、作成するようにしてもよい。或いは、管理装置６００は、予め外部装置で作成された入力データ４２を取得するようにしてもよい。
【０１５０】
各ノード計算機１０１、１０２、・・・は、モデル予測制御部１３２と、最適化テーブル生成部１３３とを有し、管理装置６００から送信される入力データ４２を用いて、管理装置６００によって指示された処理区間に従って、最適化テーブル５１’を生成し、管理装置６００へと送信する。
【０１５１】
管理装置６００は、各ノード計算機１０１、１０２、・・・から送信された最適化テーブル５１’に基づいて、車両５のエンジン制御装置２００のメモリ装置２０４に書き込まれる最適化テーブル５１を完成させる。
【０１５２】
このような並列計算システム７００は、上述した他の機能構成に対しても同様に適用することができる。並列計算システム７００を構成することで、動作条件（運転条件、出力変数等）の範囲の分割に係る計算処理を高速に行うことができる。
【０１５３】
上述したように、本実施の形態において、運転条件６ａと出力変数７ａとから制御変数８ａを求めるモデル予測を行う処理部を車両５に搭載する必要がない。また、既に、モデル予測によって求めておいた制御変数８ａが運転条件６ａと出力変数７ａとの組み合せに対応付けられた最適化テーブルを車両５のエンジン制御装置２００に備えることによって、エンジン制御装置２００のＥＣＵ２０２は、実際にエンジン２１４を制御するための制御変数８を適切な値で高速に決定することが可能となる。
【０１５４】
運転条件６ａと出力変数７ａとの組み合せに制御変数８ａを対応付ける第１の機能構成では、測定データ４１に基づいて、自動的かつ客観的に、運転条件６ａと出力変数７ａとの全組み合せを作成でき、全組み合せに対して制御変数８ａをモデル予測することができる。従って、モデル予測を行っていたエンジニアの作業負担を軽減でき、また、エンジニアの能力に依存することなく、最適化テーブル５１を作成することが可能となる。また、最適化テーブル５１は、エンジニアによってデータを変更可能としてもよい。
【０１５５】
また、近似式又は近似式係数を対応付けた第２から第４の機能構成では、エンジン制御装置２００のＥＣＵ２０２によって実現される制御処理部２３０は、制御変数８の最適化を行うよりも遥かに短い時間で、近似式を用いた最適な制御変数８を得ることができる。また、近似式の事前の評価が容易であることから、エンジニアによる最適化テーブルの検証に係る負担を削減することができる。
【０１５６】
第１から第４の機能構成において生成された最適化テーブルを用いることによって、車両５のエンジン制御装置２００は、急アクセル、急ブレーキによる制御変数８の変更を短い時間間隔で実現することができる。
【０１５７】
上記本実施の形態では、車両５のエンジンの制御を例として説明したが、化学プロセスの制御、ロボットの動作制御、自動車の走行の制御、電子機器に係る電源の制御等に適応することができ、いずれの場合においても、エンジン制御で参照されるテーブルの作成において、運転条件及び性能を示す出力変数の全組み合せに対して、モデル予測制御により計算したエンジン制御の制御変数を対応付けることによってテーブルを自動生成することができる。
【０１５８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１５９】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数とを記憶する記憶部と、
前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部と
を有することを特徴とする情報処理装置。
（付記２）
前記組み合せ毎に、前記運転条件と前記出力変数と、前記予測制御部によって計算された前記制御変数とを用いて、該運転条件と該出力変数とから該制御変数を算出する近似式を作成する処理部を更に有し、
前記テーブル生成部は、前記組み合せ毎に、前記運転条件と前記出力変数とに、前記近似式作成部によって作成された近似式を示す前記変数データを対応付けた前記テーブルを生成することを特徴とする付記１記載の情報処理装置。
（付記３）
前記記憶部は、前記動作装置が有するメモリ装置のデータ量を記憶し、
前記処理部は、前記データ量の制約の下で、前記運転条件と前記出力変数とから前記制御変数を算出する非線形な近似式を作成することを特徴とする付記２記載の情報処理装置。
（付記４）
前記処理部は、サポートベクトル回帰によって、前記データ量の制約の下で、前記非線形な近似式を作成することを特徴とする付記３記載の情報処理装置。
（付記５）
前記記憶部は、各組み合せにおいて、前記運転条件及び前記出力変数を範囲で示し、該範囲内で計算された該動作装置の制御変数を算出する近似式及び該近似式の近似誤差合計を対応付けた範囲テーブルを記憶し、
前記範囲テーブルを参照することによって、前記近似誤差合計が最小となるように前記範囲を分割し、分割した範囲に対応する制御変数を算出するための近似式を計算する範囲分割部を有することを特徴とする付記１記載の情報処理装置。
（付記６）
前記範囲分割部は、
前記範囲テーブルによって示される前記範囲のうち、前記近似誤差合計が最大を示す最大範囲内において、前記近似誤差合計が最小となる境界で該最大範囲を分割し、該分割した範囲毎に該範囲に対して計算した前記近似式及び近似誤差合計を対応付けたレコードを前記範囲テーブルに追加することによって更新することを特徴とする付記５記載の情報処理装置。
（付記７）
前記範囲分割部は、
前記範囲テーブルを用いて計算される前記動作装置が有するメモリ装置へ書き込むデータサイズが該メモリ装置のデータ容量上限以下である間は、前記分割を繰り返し、該分割が終了した際に、更新された前記範囲テーブルに基づいて、該メモリ装置へ書き込むテーブルを生成することを特徴とする付記６記載の情報処理装置。
（付記８）
前記範囲分割部は、
前記範囲テーブルに基づいて、前記範囲に前記近似式の係数を対応付けた前記メモリ装置へ書き込むテーブルを生成することを特徴とする付記７記載の情報処理装置。
（付記９）
コンピュータによって実行されるテーブル生成方法であって、該コンピュータが、
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成方法。
（付記１０）
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成する
処理をコンピュータに実行させるプログラム。
（付記１１）
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成する
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
（付記１２）
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該動作装置の制御変数に係る変数データを対応付けたテーブルを記憶するメモリ装置と、
前記メモリ装置に記憶されている前記テーブルから前記運転条件と前記出力変数とを用いて取得した前記変数データに基づいて、前記制御変数を決定する演算装置と
を有することを特徴とするエンジン制御装置。
（付記１３）
前記変数データは、前記制御変数を示し、
前記演算装置は、前記テーブルから前記運転条件と前記出力変数とに対応する前記制御変数で、前記動作装置の制御変数を決定することを特徴とする付記１２記載のエンジン制御装置。
（付記１４）
前記変数データは、前記制御変数を算出するための近似式を示し、
前記演算装置は、前記運転条件と前記出力変数とを用いて前記近似式を計算して得た制御変数で、前記動作装置の制御変数を決定することを特徴とする付記１２記載のエンジン制御装置。
（付記１５）
前記変数データは、前記制御変数を算出するための近似式の係数を示し、
前記演算装置は、前記運転条件と前記出力変数とを用いて前記係数を適用した近似式を計算して得た制御変数で、前記動作装置の制御変数を決定することを特徴とする付記１２記載のエンジン制御装置。
【符号の説明】
【０１６０】
２            ネットワーク
５            車両
６、６ａ            運転条件
７、７ａ            出力変数
８、８ａ            制御変数
１１          ＣＰＵ
１２          メモリユニット
１３          表示ユニット
１４          出力ユニット
１５          入力ユニット
１６          通信ユニット
１７          記憶装置
１８          ドライバ
１９          記憶媒体
４０          記憶部
４１          測定データ
４２          入力データ
４５          制約条件
５１、５１−２、５１−４、５１−６  最適化テーブル
５３          近似式
５３−６      近似式係数
６０          動作条件
１００        情報処理装置
１０１、１０２、・・・  ノード計算機
１３１        入力データ作成部
１３２        モデル予測制御部
１３２ａ      近似式作成部
１３２ｂ      ＳＶＭ回帰計算部
１３３、１３３−６  最適化テーブル生成部
１６１        データサイズ計算部
１６２        データサイズ比較部
１６３        最大範囲選定部
１６４        境界候補計算部
１６５        境界候補選定部
１６６        分割範囲計算部
１６７        分割データ計算部
１６８        近似式計算部
１６９        部分誤差計算部
１７０        部分誤差合計部
１７１        最小誤差選定部
２００        エンジン制御装置
２０２        ＥＣＵ（演算装置）
２０４        メモリ装置
２１１        アクセルペダル
２１２        ブレーキペダル
２１４        エンジン
２１５        エンジンセンサ
６００        管理装置
７００        並列計算システム
１０００      システム
【図１】
0005870632.tif 000006
【図２】
0005870632.tif 000007
【図３】
0005870632.tif 000008
【図４】
0005870632.tif 000009
【図５】
0005870632.tif 000010
【図６】
0005870632.tif 000011
【図７】
0005870632.tif 000012
【図８】
0005870632.tif 000013
【図９】
0005870632.tif 000014
【図１０】
0005870632.tif 000015
【図１１】
0005870632.tif 000016
【図１２】
0005870632.tif 000017
【図１３】
0005870632.tif 000018
【図１４】
0005870632.tif 000019
【図１５】
0005870632.tif 000020
【図１６】
0005870632.tif 000021
【図１７】
0005870632.tif 000022
【図１８】
0005870632.tif 000023
【図１９】
0005870632.tif 000024
【図２０】
0005870632.tif 000025
【図２１】
0005870632.tif 000026
【図２２】
0005870632.tif 000027
【図２３】
0005870632.tif 000028
【図２４】
0005870632.tif 000029
【図２５】
0005870632.tif 000030
【図２６】
0005870632.tif 000031
【図２７】
0005870632.tif 000032
【図２８】
0005870632.tif 000033