"1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第1の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の一次式群を前記第2の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第1の条件式を読み出して、前記第2のラグランジュ乗数の項を除外した第1の条件式に、前記データ格納部に格納されている前記第3の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第4の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式の定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第1の制約ベクトルと、前記第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式の定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第3の制約ベクトルと、前記第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第4の制約ベクトルと、を生成し、前記データ格納部に格納する処理、をさらに前記コンピュータに実行させるための請求項1記載のプログラム。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、6前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式群と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群を前記第4の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第5の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群に対して、前記データ格納部に格納されている前記第5の一次式群、前記第1の一次式群及び前記第2の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第6の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第6の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第1の一次式群に変換し、前記データ格納部に格納する第1変形処理部と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第2の一次式群に変換し、前記データ格納部に格納する第2変形処理部と、前記データ格納部に格納されている前記第1の一次式群を前記第2の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第3の一次式群に変換し、前記データ格納部に格納する第3変形処理部と、前記データ格納部から前記第1の条件式を読み出して、前記第2のラグランジュ乗数の項を除外した第1の条件式に、前記データ格納部に格納されている前記第3の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第4の一次式群に変換し、前記データ格納部に格納する式生成部と、前記データ格納部に格納されている前記第4の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する行列生成部と、を有する行列生成装置。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、6前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式群と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第3の一次式群に変換し、前記データ格納部に格納する第1変形処理部と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、前記データ格納部に格納する第2変形処理部と、前記データ格納部に格納されている前記第3の一次式群を前記第4の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第5の一次式群に変換し、前記データ格納部に格納する第3変形処理部と、前記データ格納部に格納されている前記第3の一次式群に対して、前記データ格納部に格納されている前記第5の一次式群、前記第1の一次式群及び前記第2の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第6の一次式群に変換し、前記データ格納部に格納する式生成部と、前記データ格納部に格納されている前記第6の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する行列生成部と、を有する行列生成装置。制御対象であるプラントの現在の出力状態と現在の目標値とを取得する処理と、1前記プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等しくなるように表されている前記一次方程式群に対して、前記現在の出力状態と前記現在の目標値とを代入して解くことによって、前記制御期間内における解入力を算出する算出処理と、前記制御期間内における解入力のうち最初の時刻のための解入力を、前記制御対象のプラントに出力する処理と、を、プロセッサに実行させるためのプログラム。前記算出処理が、前記制御対象のプラントの解入力に対して上限値及び下限値を含む制約条件が設定されている場合に、前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第1の制約ベクトルに対して、前記1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第1の行列と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルに対して、前記1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第2の行列と、を生成し、前記係数行列から前記第1の行列を差し引き、前記第2の行列を加算する処理と、前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式における定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して前記1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第1のベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式における定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して前記1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第2のベクトルと、を生成し、前記関数ベクトルに前記第1ベクトルを加算して前記第2ベクトルを差し引く処理と、を含む請求項6記載のプログラム。制御対象であるプラントの現在の出力状態と現在の目標値とを取得する取得部と、1前記プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等しくなるように表されている前記一次方程式群を格納するデータ格納部と、前記データ格納部から前記一次方程式群を読み出して、前記一次方程式群に対して、前記現在の出力状態と前記現在の目標値とを代入して解くことによって、前記制御期間内における解入力を算出する演算部と、前記制御期間内における解入力のうち最初の時刻のための解入力を、前記制御対象のプラントに出力する出力部と、を有するプラント制御装置。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項と前記第2の項とを、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、4前記第3の項を前記初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られ且つ前記第3の重み行列の要素値、前記制御区間の値及び前記予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を抽出して第2の行列を生成し、前記第3の一次式群における前記解入力の項以外の項を抽出してベクトルを生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の行列と前記第2の行列とを加算して、第3の行列を生成し、前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項及び前記第2の項を、係数として乗じられている、前記第1の重み行列及び前記第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで、前記複数の式の各々について第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を前記複数の式の各々について抽出して前記複数の式の各々について行列を生成し、前記第3の一次式群における前記解入力の項以外の項を前記複数の式の各々について抽出して前記複数の式の各々についてベクトルを生成し、前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式の定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第1の制約ベクトルと、前記第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式の定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第3の制約ベクトルと、前記第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第4の制約ベクトルと、を生成し、前記データ格納部に格納する処理、をさらに前記コンピュータに実行させるための請求項9又は10記載のプログラム。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項と前記第2の項とを、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、4前記第3の項を前記初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られ且つ前記第3の重み行列の要素値、前記制御区間の値及び前記予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する変形部と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで第3の一次式群を生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を抽出して第2の行列を生成し、前記第3の一次式群における前記解入力の項以外の項を抽出してベクトルを生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第1の行列と前記第2の行列とを加算して、第3の行列を生成し、前記データ格納部に格納する生成部と、を有する行列生成装置。1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項及び前記第2の項を、係数として乗じられている、前記第1の重み行列及び前記第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する変形部と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで、前記複数の式の各々について第3の一次式群を生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を前記複数の式の各々について抽出して前記複数の式の各々について行列を生成し、前記第3の一次式群における前記解入力の項以外の項を前記複数の式の各々について抽出して前記複数の式の各々についてベクトルを生成し、前記データ格納部に格納する生成部と、を有する行列生成装置。従って、本技術の目的は、モデル予測制御においてプラントに対する入力を高速に算出するための技術を提供することである。本技術の第1の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第1の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部から第2の条件式及び関係式を読み出して、第2の条件式及び関係式を、各時刻における第1のラグランジュ乗数を目標値と解出力状態とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Cデータ格納部に格納されている第1の一次式群を第2の一次式群に代入することで、各時刻における第1のラグランジュ乗数を目標値と解入力と出力状態とで表す第3の一次式群に変換し、データ格納部に格納する処理と、Dデータ格納部から第1の条件式を読み出して、第2のラグランジュ乗数の項を除外した第1の条件式に、データ格納部に格納されている第3の一次式群を代入することで、目標値と解入力と出力状態との各時刻における関係を表す第4の一次式群に変換し、データ格納部に格納する処理と、Eデータ格納部に格納されている第4の一次式群を、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等式で表されるように変形して、係数行列と関数ベクトルとをデータ格納部に格納する処理とを含む。本技術の第2の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、6制約条件に含まれる上記入力の下限値に関連する第2のラグランジュ乗数を解入力の第1の一次式で近似した場合における当該第1の一次式群と、制約条件に含まれる上記入力の上限値に関連する第2のラグランジュ乗数を解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第3の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部から第2の条件式及び関係式を読み出して、第2の条件式及び関係式を、各時刻における第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群を第4の一次式群に代入することで、各時刻における第1のラグランジュ乗数を目標値と解入力と出力状態とで表す第5の一次式群に変換し、データ格納部に格納する処理と、Dデータ格納部に格納されている第3の一次式群に対して、データ格納部に格納されている第5の一次式群、第1の一次式群及び第2の一次式群を代入することで、目標値と解入力と出力状態との各時刻における関係を表す第6の一次式群に変換し、データ格納部に格納する処理と、Eデータ格納部に格納されている第6の一次式群を、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等式で表されるように変形して、係数行列と関数ベクトルとをデータ格納部に格納する処理とを含む。本技術の第3の態様に係るプラント制御方法は、A制御対象であるプラントの現在の出力状態と現在の目標値とを取得する処理と、B1プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等しくなるように表されている一次方程式群に対して、現在の出力状態と現在の目標値とを代入して解くことによって、制御期間内における解入力を算出する算出処理と、C制御期間内における解入力のうち最初の時刻のための解入力を、制御対象のプラントに出力する処理とを含む。本技術の第4の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、出力状態の目標値と予測区間後における解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、解入力の二乗を第3の重み行列で重み付けして初期時刻から予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち第1の項と第2の項とを、初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られる、解出力状態についての第1の一次式群と、4第3の項を初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られ且つ第3の重み行列の要素値、制御区間の値及び予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部に格納されている第2の一次式群及び第2の一次式群における解入力の係数値を、データ格納部に格納されている第1の一次式群に代入することで第3の一次式群を生成し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群における各解入力の項の係数を抽出して第2の行列を生成し、第3の一次式群における解入力の項以外の項を抽出してベクトルを生成し、データ格納部に格納する処理と、Dデータ格納部に格納されている第1の行列と第2の行列とを加算して、第3の行列を生成し、データ格納部に格納する処理とを含む。本技術の第5の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、出力状態の目標値と予測区間後における解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、解入力の二乗を第3の重み行列で重み付けして初期時刻から予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち第1の項及び第2の項を、係数として乗じられている、第1の重み行列及び第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られる、解出力状態についての第1の一次式群と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部に格納されている第2の一次式群及び第2の一次式群における解入力の係数値を、データ格納部に格納されている第1の一次式群に代入することで、複数の式の各々について第3の一次式群を生成し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群における各解入力の項の係数を複数の式の各々について抽出して複数の式の各々について行列を生成し、第3の一次式群における解入力の項以外の項を複数の式の各々について抽出して複数の式の各々についてベクトルを生成し、データ格納部に格納する処理とを含む。モデル予測制御においてプラントに対する入力を高速に算出できるようになる。[実施の形態1]本実施の形態では、線形システムに対するモデル予測制御以下、線形モデル予測制御と呼ぶを取り扱うことにする。最初に、この線形モデル予測制御の定式化について説明するが、詳細については、大塚敏之:非線形RecedingHorizon制御の計算方法について,計測と制御41第5号366371等を参照のこと。m入力n出力の制御対象は以下の状態方程式で与えられるとする。ここで、tは時間を表し、uk∈Rmはプラントへの制御入力ベクトル、xk∈Rnはプラントの状態ベクトルを表す。また、Aはn×n行列、Bはn×m行列である。制御入力関数は時間tに対して区分的連続とする。また、入力に関して以下のような制約が加えられているとする。このような不等式制約を等式制約として表すために、ダミー変数を用いて以下のような等式制約と表し直す。但し、これらをCu=0と表す。このような前提の下、まず現在の時間をt=k、時刻t=kTまでを評価区間とし、状態xの目標値をXrefとする。そして以下のような評価関数Vを考える。ここでS,Q及びRは、それぞれn×n、n×n、m×mの重み行列である。また、ダミー変数uα及びuβは3式のように2次の項に現れるため、符号が正負どちらでも最適解になり得る。そのため、正負どちらが望ましいかを反映させるために、ptopbar上にバーが付されたp及びpunderbar下にバーが付されたpを微小な正の値として-pTtopbaruα-pTunderbaruβという項を評価関数の被積分項に付け加えている。この評価関数Vを最小にする入力uを求めることが、線形モデル予測制御の核となる問題である。なお、ptopbarは、uiの最大値に対応し、punderbarは、uiの最小値に対応する。ラグランジュ乗数をλ及びμとし、ハミルトニアンHを以下のように定義する。評価関数Vを最小にする最適制御とその時の軌道が満たすべき必要条件は以下のとおりである。従って、Vを最小にするuを求めることは、5乃至7式を満たすuを求めることに帰着する。ここまでは連続系において定式化を行ったが、実際に計算機で解を求めるためには、評価区間を分割し離散近似した問題を各時刻で解くことになる。通常、最適制御問題の評価区間をプラントの入力周期を刻み幅として分割し、離散近似する。以下、各時刻で解くべき問題を説明する。入力の周期Δτを分割の幅とし、予測期間を入力周期の倍数T=HpΔτと設定する。このHp∈Rを予測ホライズンと呼ぶ。以下、簡単化のため、連続系における関数fki×Δτを離散系ではfiと表すことにする。また、制御入力を変えることができる回数Hc∈Rを制御ホライズンと呼ぶ。このとき、以下のように表される。そして、離散近似された問題に対する最適性の必要条件は、以下の2点境界値問題になる。ここでxi、ui、λi及びμiはそれぞれiステップ目の最適な出力、入力、ラグランジュ乗数を表す。ΦxTは、ΦTの、xについての偏微分を表す。また、Hu及びHxはそれぞれハミルトニアンのu及びxによる偏微分を表す。すなわち、以下のとおりである。そして、8乃至13式をまとめると、以下の非線形方程式系とみなすことができる。従って、線形モデル予測制御では、各時刻において連立1次方程式14を解くことになる。この14式の計算効率と解の精度がモデル予測制御の解法の速度及び精度を決定づける。なお、近年のディーゼルエンジンにおいては、エミッションの低減と燃費の向上を目的として、新気量MAF:MassAirFlow及び吸気圧MAP:ManifoldAirPressureが吸気系制御器により最適に制御されている。一般的に、図1に示すように、ディーゼルエンジンの吸気制御系は、吸気圧制御系と新気量制御系を含み、吸気圧と新気量は、互いに独立に制御されている。吸気圧制御系は、排気中のススPM:ParticulateMatterを低減するために、可変ノズルターボVNTVariableNozzleTurboのノズル径を制御して吸気圧を吸気圧目標値に追従するようにコントロールしている。一方、新気量制御系は、排気中の窒素酸化物NOxを低減するために、排気をシリンダ内に再循環させる排気循環器EGRExhaustGasRecirculationのバルブ開度を制御して新気量を新気量目標値に追従するようにコントロールしている。このようにディーゼルエンジンでは、2入力2出力制御系となっており、本実施の形態でも、2入力2出力系を検討する。2入力2出力系の場合には、制御出力xk、制御入力uk、ダミー変数uα及びuβ、ラグランジュ乗数λk、制御出力の目標値Xrefを以下のように表す。なお、dtopbar上にバーが付されたd及びdunderbar下にバーが付されたdは変数である。さらに、制御対象の状態方程式における係数行列を以下のように表す。また、評価関数Vの重み行列を以下のように表すものとする。重み行列S、Q及びRに関しては一般的には対角行列であるとは限らないが、実際上しばしば用いられる対角行列として説明する。なお、対角行列でない場合においても、特段問題なく以下で述べる処理を行うことができる。このような前提の下、14式は、以下のように展開される。なお、xr1及びxr2は、Xrefの成分値を表す。上で述べたようなディーゼルエンジンの吸気系制御のような応答が速い対象に対しては、より高速に連立方程式を解くことが望まれる。さらに、できるだけ誤差がなく正確な解を安定して得るために直接法を採用することが好ましいが、直接法は一般に反復法に比べて変数の増加に対応する計算時間の増加が大きいという問題もある。よって、許容される時間内で計算可能とするためには、連立1次方程式のサイズをできるだけ小さくすることが好ましい。このような背景から、本実施の形態では、オフラインで代数的な簡略手法を用いて連立方程式の変数の数を減らし行列サイズを小さくすることによって、オンラインでの計算量を減らし、直接法の適用も実用的な範囲で可能にする。上で述べたように、線形モデル予測制御の最適制御問題は、制約のない場合には以下の変数に対してm2n×Hp元連立方程式34となっている。[制約条件を考慮しない場合]制約条件を考慮しない線形モデル予測制御の場合、この連立方程式を解くことで最適な入力を得ることができる。なお、最終的には、36式を変数とするm×Hp元連立方程式35を求める。本実施の形態では、以下、33式及び34式を以下のように簡略化する処理を実施するオフライン行列生成装置を導入する。図2に本実施の形態に係るオフライン行列生成装置100の機能ブロック図を示す。なお、図2では制約なしの場合を説明する。オフライン行列生成装置100は、入力部101と、入力データ格納部102と、第1変形処理部103と、第1データ格納部104と、第2変形処理部105と、第2データ格納部106と、第3変形処理部107と、第3データ格納部108と、連立方程式生成部109と、第4データ格納部110と、行列生成部111と、第5データ格納部112とを有する。入力部101は、例えばユーザからの入力データである行列A、B、S、Q、R、Hp、Hc、Δτの入力を受け付け、入力データ格納部102に格納する。入力データ格納部102は、これらのデータに加えて解くべき連立方程式を表すデータをも格納している。解くべき連立方程式のデータについても入力部101から入力されることもある。さらに、入力部101は、行列A、B、S、Q、R、Hp、Hc、Δτのデータを、解くべき連立方程式に設定する処理をも行う。第1変形処理部103は、入力データ格納部102に格納されたデータを用いて第1変形処理を実施し、処理結果を第1データ格納部104に格納する。第2変形処理部105は、入力データ格納部102に格納されたデータを用いて第2変形処理を実施し、処理結果を第2データ格納部106に格納する。第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて第3変形処理を実施し、第3データ格納部108に格納する。連立方程式生成部109は、第1データ格納部104及び第3データ格納部108に格納されているデータを用いて処理を行い、処理結果を第4データ格納部110に格納する。行列生成部111は、第4データ格納部110に格納されているデータを用いて処理を行い、第5データ格納部112に格納する。次に、図3を用いて、オフライン行列生成装置100の処理内容を説明する。まず、入力部101は、ユーザからの入力データである行列A、B、S、Q、R、Hp、Hc、Δτの入力を受け付け、入力データ格納部102に格納する図3:ステップS1。解くべき連立方程式のデータについても入力部101から入力され、入力データ格納部102に格納されることもある。さらに、入力部101は、行列A、B、S、Q、R、Hp、Hc、Δτのデータを、解くべき連立方程式に設定する処理をも行って、処理結果を入力データ格納部102に格納する。そして、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて、最適出力状態xiについての第1変形処理を実施し、処理結果を第1データ格納部104に格納するステップS3。具体的には以下のような処理を実施する。i=0として、9式を8式に代入する。2入力2出力系では、17式を15式に代入し、18式を15式に代入する。但し、説明を簡略化するために、以下では8式及び9式で説明する。このような処理を実施すると、xk及びu0を変数とする以下の式が得られる。同様に、i=1とすると、8式からx2はx1とu1との一次式で表されるため、上で求めたx1の式を代入すると、xk、u0及びu1を変数とする以下の式が得られる。x3以降も同様に処理を繰り返すことによって、xkとu0,..,ui-1を変数とする以下の式が得られる。なお、i=0,1,...Hp-1である。このようにxiの式を生成する。このような処理結果は第1データ格納部104に格納される。また、第2変形処理部105は、入力データ格納部102に格納されたデータを用いて、最適ラグランジュ乗数λiについての第2変形処理を実施し、処理結果を第2データ格納部106に格納するステップS5。具体的には以下のような処理を実施する。すなわち、i=Hpとして、13式2入力2出力系では31式及び32式をそのまま採用する。但し、ΦxTxHpは、目標値Xref及びxHpが変数となっているので、以下のように表される。そして、i=Hp-1として、13式を12式に代入する。2入力2出力系では、31式を29式に代入し、32式を30式に代入する。但し、説明を簡略化するために、以下では13式及び12式で説明する。ここで、ΦxTxHpは目標値XrefとxHpの関数であり、第2項はxHp-1とΦxTxHpの関数であるから、結局λHp-1は、XrefとxHpとxHp-1との関数となり、以下のように表される。その後、i=Hp-2として、39式を12式に代入する。このような処理を繰り返すと、λHp-jはXrefとxHp、xHp-1,...xHp-jの一次式になる。なお、j=0,1,...,Hp-1である。このようにλHp-jの式を生成する。このような処理結果は第2データ格納部106に格納される。さらに、第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて、最適ラグランジュ乗数λiについての第3変形処理を実施し、処理結果を第3データ格納部108に格納するステップS7。具体的には以下のような処理を実施する。40式の各λHp-jに対して各37式を代入する。これによって、各λHp-1は、以下に表すように、Xrefとu0,...,uHp-1,xkの1次式となる。このようにして得られた各λHp-jのデータは、第3データ格納部108に格納される。その後、連立方程式生成部109は、第1データ格納部104及び第3データ格納部108に格納されているデータを用いて連立方程式生成処理を実施し、処理結果を第4データ格納部110に格納するステップS9。制約がない場合には、μ=0とみなすことができ、41式を10式2入力2出力系では19式及び20式に代入する。そうすると、10式は、Xref、u0,...,uHp-1,xkを変数とする一次式の組として以下のように表される。以上から制約条件のない場合における離散化された線形モデル予測制御の最適制御解を求める連立方程式は、u0,...,uHp-1についての一次式となる。このような連立方程式のデータは、第4データ格納部110に格納される。そして、行列生成部111は、第4データ格納部110に格納されたデータを用いて行列M及びbを生成して、第5データ格納部112に格納するステップS11。具体的には、以下のような処理を実施する。すなわち、Hc<Hpのとき、以下のようになる。従って42式にこの関係式を代入する。そうすると以下のように表される。さらに、ζHc1=0,...,ζHp1=0は同等の式になるので除外する。そうすると、最適制御解を求める連立方程式は、u0,...,uHc-1を変数としたHc本の連立方程式と同等となる。この方程式はm×Hc変数の連立一次方程式となる。mは入力の数である。この44式を纏めて、以下の形式に変換する。ここでMはm×Hc次の正方行列となり、bはXrefとxkの1次式を成分として有するm×Hc次ベクトルである。この行列Mとベクトル関数bXref,xkが、オフライン行列生成装置100の出力データとなる。この手法を用いれば、主たる計算部分である連立1次方程式の計算が制御入力の次元と制御ホライズンにのみ依存するため、出力状態の次元を大きくした場合でも制御入力の数が変わらなければ、全体の計算量はほとんど変わらなくなる。ここで、2入力2出力系における具体例例1と呼ぶについて示しておく。制御対象の状態方程式の係数行列を以下のように設定したとする。また、評価関数Vの重み行列を設定したとする。さらに、目標値をXref=1,10Tとし、Hp=4、Hc=2とすると、制約条件がない場合には、以下のような行列が得られる。上で述べた処理を行う前の連立1次方程式の行列のサイズは24×24であり、行列のサイズが1/6になっている。連立1次方程式を直接法で解く場合、計算時間は行列サイズの3乗に比例するため、連立方程式を解く部分の計算時間は1/216となっている。上で述べた処理によって入力の次元と制御ホライズンの設定によっては1回のステップで解くべき連立方程式の行列サイズはきわめて小さくすることができ、それによって反復法ではなく直接法を採用することができ、安定且つ高速に解くことが可能になる。また、上で述べた処理によって得られる連立方程式は制御入力の次元と制御ホライズンHcのみに依存するため、出力状態xkの次元が大きくなったとしても計算量は大幅に増加することはない。例えば、プラントのむだ時間をパディ近似などによって考慮する場合には、その分状態の数が増加する。例えば2次のパディ近似を適用すると2入力6出力系となるが、状態xiの要素が6つになっても、上で述べたように最適出力状態xiの項をuiの項に置換してゆくので、計算量はuiの次数に依存するためほとんど影響がない。図4に、本技術の実施の形態に係るエンジンの一例としてディーゼルエンジンを示す。エンジン本体1には、エンジン本体1からの排ガスを供給する排気循環器EGRと、排ガスの圧力にてタービンを回して新気FreshAirを圧縮してエンジン本体1に供給する可変ノズルターボVNTとが接続されている。可変ノズルターボVNTのノズル開度を調整することによって、可変ノズルターボVNTのタービンの回転が調整され、吸気圧MAPセンサで測定される吸気圧MAPが調整される。一方、排気循環器EGRに設けられているEGRバルブのバルブ開度を調整することによって、新気量MAFセンサで測定される新気量MAFが調整される。本実施の形態に係るエンジン制御装置1000には、MAPセンサからの吸気圧測定値と、MAFセンサからの新気量測定値と、外部から与えられる燃料噴射量の設定値と、同じく外部から与えられるエンジン回転数の設定値とが入力されるようになっている。また、エンジン制御装置1000からは、EGRバルブのバルブ開度の操作量制御入力又は単に入力とも呼ぶがEGRバルブに出力され、VNTノズルのノズル開度の操作量制御入力又は単に入力とも呼ぶがVNTノズルに出力されるようになっている。本実施の形態に係るエンジン制御装置1000のブロック線図を図5に示す。エンジン制御装置1000は、計画器210と、第1モデル予測制御部220とを有する。プラント230は、例えばエンジン特性に相当する。第1モデル予測制御部220は、直接法によって連立一次方程式を解く演算部である連立方程式演算部221と、データ格納部222とを含む。データ格納部222には、M及びbについてのデータが格納されているものとする。すなわち、計画器210には、燃料噴射量の設定値とエンジン回転数の設定値とが入力されて、燃料噴射量の値及びエンジン回転数の値に対応付けてEGRバルブ開度の目標値及びVNTノズル開度の目標値Uref、燃料噴射量の値及びエンジン回転数の値に対応付けて吸気圧MAPの目標値及び新気量MAFの目標値Xrefが登録されている。本実施の形態では、計画器210から、EGRバルブ開度の目標値及びVNTノズル開度の目標値Uref、及び吸気圧MAPの目標値及び新気量MAFの目標値Xrefを出力する。この目標値Xrefとプラント230からの出力xk例えばMAFセンサ出力及びMAPセンサ出力とが、第1モデル予測制御部220に入力される。第1モデル予測制御部220は、以下で述べるモデル予測制御の処理を実施して、入力uiをプラント230に出力する。このような処理が繰り返される。次に、第1モデル予測制御部220の処理について図6を用いて説明する。第1モデル予測制御部220は、目標値Xrefと出力xkを取得し、bに目標値Xref及び出力xkを代入してbを数値ベクトル化する図6:ステップS21。そして、第1モデル予測制御部220の連立方程式演算部221は、MU=bという連立一次方程式を、よく知られている直接法で解き、解Uを導出するステップS23。解法自体は従来と同じであるが、用いている行列自体が全く異なっている。上でも述べたように、Mもbも全くサイズが非常に小さくなっているだけではなく、その各成分要素とも呼ぶも異なっている。すなわち、本実施の形態のオフライン行列生成処理を実施しない場合、8式乃至13式をまとめると、その左辺は、プラントの離散状態方程式の係数行列Abar及びBbarAbar=IΔτA、Bbar=IΔτBと評価関数Vの重み行列S、Q、Rの成分を含む係数行列と、予測期間Hp個×入力数mの最適入力uiと予測期間Hp個×出力数nの最適出力状態xiと予測期間Hp個×出力数nの最適ラグランジュ乗数λiとを含むベクトルとの積になっている。一方、右辺は、オフライン行列生成処理時には未定のxk及び目標値Xrefについての成分を含むベクトルである。そしてオフライン行列生成処理を実施することによって、最適出力状態xi及び最適ラグランジュ乗数λiを最適入力uiの式に変換して代入することで考慮すべき要素を入力uiに限定する。そして、最適入力uについても最適入力uHcからuHp-1をも除外して解くべき要素数をも削減している。このようなオフライン行列生成処理を実施した後であれば、MU=bにおけるベクトルUは、制御期間Hc個の入力uiのみを成分として含む。また、関数ベクトルbは、目標値Xref及びxkの関数となっており、制御期間Hc個の要素を含む。係数行列Mは、MU=bの形でオフライン行列生成処理前の方程式との等価性を担保するための係数行列である。従って、連立一次方程式を解く解法については同一でも、全く異なる形の連立一次方程式を解くことになっており、処理負荷が大幅に削減されている。その後、第1モデル予測制御部220は、解Uから最適入力値uを抽出し、プラント230に出力するステップS25。最適入力値uは、解Uにおける成分u0である。以上の処理を処理終了になるまで実施するステップS27。以上のような処理を実施することによって、オンライン処理では高速に最適入力値uを得ることができるようになる。なお、uに計画器210から出力された、EGRバルブ開度の目標値及びVNTノズル開度の目標値Urefが重畳されて、プラント230に入力される。[制約条件を考慮する場合]次に、制約条件を考慮する場合について説明する。制約条件を考慮しない場合には代数的簡略化の手法を用いて行列サイズを小さくしていた。しかしながら、11式の制約条件Cu=02入力2出力系であれば25式乃至28式は線形式ではないため、そのままでは取り扱うことができない。そこで、代数的処理と1次近似を巧く行うことによって、制約条件を、制約条件を考慮しない場合の連立1次方程式に組み込む。制約条件を考慮する場合のオフライン行列生成処理装置500の構成を図7に示す。制約条件を考慮しない場合と同じ機能を有するものについては、同じ参照番号が付されている。オフライン行列生成装置500は、入力部101と、入力データ格納部102と、第1変形処理部103と、第1データ格納部104と、第2変形処理部105と、第2データ格納部106と、第3変形処理部107と、第3データ格納部108と、連立方程式生成部109と、第4データ格納部110と、行列生成部111と、第5データ格納部112と、第4変形処理部501とを有する。このように第4変形処理部501が新たに導入されている。入力部101は、例えばユーザからの入力データである行列A、B、S、Q、R、Hp、Hc、Δτ、ptopbar及びpunderbarの入力を受け付け、入力データ格納部102に格納する。入力データ格納部102は、これらのデータに加えて解くべき連立方程式を表すデータをも格納している。解くべき連立方程式のデータについても入力部101から入力されることもある。さらに、入力部101は、行列A、B、S、Q、R、Hp、Hc、Δτ、ptopbar及びpunderbarのデータを、解くべき連立方程式に設定する処理をも行う。制約条件も入力され、入力データ格納部102に格納される場合がある。第1変形処理部103は、入力データ格納部102に格納されたデータを用いて第1変形処理を実施し、処理結果を第1データ格納部104に格納する。第2変形処理部105は、入力データ格納部102に格納されたデータを用いて第2変形処理を実施し、処理結果を第2データ格納部106に格納する。第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて第3変形処理を実施し、第3データ格納部108に格納する。連立方程式生成部109は、第1データ格納部104及び第3データ格納部108に格納されているデータを用いて処理を行い、処理結果を第4データ格納部110に格納する。行列生成部111は、第4データ格納部110に格納されているデータを用いて処理を行い、第5データ格納部112に格納する。第4変形処理部501は、入力データ格納部102に格納されているデータを用いて処理を行い、処理結果を第5データ格納部112に格納する。次に、図8を用いて、オフライン行列生成装置500の処理内容を説明する。まず、入力部101は、ユーザからの入力データである行列A、B、S、Q、R、Hp、Hc、Δτ、ptopbar及びpunderbarの入力を受け付け、入力データ格納部102に格納する図8:ステップS31。制約条件uminj及びumaxjについても入力する場合がある。解くべき連立方程式のデータについても入力部101から入力され、入力データ格納部102に格納される場合もある。さらに、入力部101は、行列A、B、S、Q、R、Hp、Hc、Δτ、ptopbar及びpunderbarのデータを、解くべき連立方程式に設定する処理をも行って、処理結果を入力データ格納部102に格納する。そして、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて、最適出力状態xiについての第1変形処理を実施し、処理結果を第1データ格納部104に格納するステップS33。本ステップは、ステップS3と同じであるから説明を省略する。また、第2変形処理部105は、入力データ格納部102に格納されたデータを用いて、最適ラグランジュ乗数λiについての第2変形処理を実施し、処理結果を第2データ格納部106に格納するステップS35。本ステップは、ステップS5と同じであるから説明を省略する。さらに、第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて、最適ラグランジュ乗数λiについての第3変形処理を実施し、処理結果を第3データ格納部108に格納するステップS37。本ステップは、ステップS7と同じであるから、詳細な説明を省略する。そして、第4変形処理部501は、入力データ格納部102及び第3データ格納部108に格納されているデータを用いて、制約一次近似演算を実施し、処理結果を第5データ格納部112に格納するステップS39。本処理が、制約条件を考慮しない場合と異なる処理である。但し、他の処理への影響はないので、図8の処理の説明の後に詳細に説明する。その後、連立方程式生成部109は、入力データ格納部102に格納されているデータを用いて連立方程式生成処理を実施し、処理結果を第4データ格納部110に格納するステップS41。本ステップは、ステップS9と同じであるから、詳細な説明を省略する。そして、行列生成部111は、第4データ格納部110に格納されたデータを用いて行列M及びbを生成して、第5データ格納部112に格納するステップS43。本ステップは、ステップS11と同様であるから、詳細な説明を省略する。これにより、第5データ格納部112には、オフライン処理で使用するデータが格納されるようになる。次に、制約一次近似演算について、詳細に説明する。ここでは、10式2入力2出力の場合には19式乃至24式におけるλ及びμを除去する。すなわち、ui及び1単位時間前のuiの値であるubariuの上にバーが付いたものを、ubarと表すものとする。とで表される1次式を生成する。2入力2出力の場合を詳しく説明する。既に、ステップS23において15式乃至18式によりxiがuiで表されており、その結果と29式乃至32式によりλiがuで表されているものとする。そしてi=0から、以下の処理を実施する。すなわち、制約条件の下限についての21式は、以下のように変形される。また、25式は、以下のように変形される。ここで、47式を46式に代入すると、以下のようになる。これによって、μunderbar10下にバーが付されたμ10はu10の関数の形にすることができる。しかし、一次関数ではないのでこのままでは連立一次方程式として取り扱うことができない。従って、1次近似を用いる。1次近似を行う場合には、近似の基点の選び方が重要であるが、本実施の形態では、t=k-1において最適化計算により得られた同じ時間の入力値u1bar1すなわちプラント230には出力されないが計算される1単位時間後の出力を基点に選ぶ。そうすると48式は以下のように変形される。これによって連立一次方程式に組み込むことができるようになる。なお、分かりやすくするために、wunderbar及びvunderbarunderbarは、下線を表す。を導入する。従って49式は以下のように表される。μunderbar20についても、同様に変形を実施した上で1次近似を行う。さらに、iを1インクリメントした後に、さらに同様に変形を実施した上で、t=k-1において最適計算によって得られたi1単位時間後の計算結果u1bar2及びu2bar2をフィードバックして、それを基に1次近似を実施する。このような処理をi=Hc-1になるまで繰り返す。そうすると、一般的には以下のように表される。次に、制約条件の上限についての22式は、i=0で以下のように変形される。また、26式は、以下のように変形される。ここで、55式を54式に代入すると、以下のようになる。56式を見れば、上限についてのμtopbar10上にバーが付されたμ10についてもu10の関数になることが分かる。従って、同様の1次近似を行う。すなわち、本実施の形態では、t=k-1において最適化計算により得られた同じ時間の入力値u1bar1すなわちプラント230には出力されないが計算される1単位時間後の出力を基点に選ぶ。そうすると56式は以下のように変形される。これによって連立一次方程式に組み込むことができるようになる。なお、分かりやすくするために、wtopbar及びvtopbartopbarは、上線を表す。を導入する。このような処理をi=Hc-1になるまで繰り返す。そうすると、一般的には以下のように表される。μtopbar20についても、同様に変形を実施した上で1次近似を行う。さらに、iを1インクリメントした後に、さらに同様に変形を実施した上で、t=k-1において最適計算によって得られたi1単位時間後の計算結果u1bar2及びu2bar2をフィードバックして、それを基に1次近似を実施する。このような処理をi=Hc-1になるまで繰り返す。そうすると、一般的には以下のように表される。一般的には、上で述べたような変形を行った後、これらと第3変形処理部107の処理結果とで連立一次方程式を解くことになるのだが、実際には、全体の連立方程式は、以下のように表されることが分かっている。なお、diagVは、ベクトルVの各成分を対角成分とする対角行列である。すなわち、実際に第4変形処理部501は、63乃至66式で表されるベクトルを生成することになる。このようにMに対しては、上限値と前回計算結果における該当時刻における最適入力値とで表される成分を入力数×制御期間Hc分含む第1の制約ベクトルを対角行列に変換した結果を加算し、下限値と前回計算結果における該当時刻における最適入力値とで表される成分を入力数×制御期間Hc分含む第2の制約ベクトルを対角行列に変換した結果を差し引くようになる。また、bに対しても、上限値と前回計算結果における該当時刻における最適入力値とで表される成分を入力数×制御期間Hc分含む第3の制約ベクトルを差し引き、下限値と前回計算結果における該当時刻における最適入力値とで表される成分を入力数×制御期間Hc分含む第4の制約ベクトルを加算するようになっている。次に、制約条件を考慮する場合のエンジン制御装置1000のブロック線図を図9に示す。エンジン制御装置1000は、計画器210と、第2モデル予測制御部240とを有する。プラント230は、エンジン特性に相当する。第2モデル予測制御部240は、連立方程式演算部241と、制約条件反映部242と、U格納部243と、データ格納部244とを有する。データ格納部244は、M、b、Vunderbar、Vtopbar、Wunderbar及びWtopbarについてのデータを格納しているものとする。すなわち、計画器210には、燃料噴射量の設定値とエンジン回転数の設定値とが入力されて、燃料噴射量の値及びエンジン回転数の値に対応付けてEGRバルブ開度の目標値及びVNTノズル開度の目標値Uref、燃料噴射量の値及びエンジン回転数の値に対応付けて吸気圧MAPの目標値及び新気量MAFの目標値Xrefが登録されている。本実施の形態では、計画器210から、EGRバルブ開度の目標値及びVNTノズル開度の目標値Uref、及び吸気圧MAPの目標値及び新気量MAFの目標値Xrefを出力する。この目標値Xrefとプラント230からの出力xkMAFセンサ出力及びMAPセンサ出力と、1単位時間前に計算された最適入力値Ui-1と、制約条件とが、第2モデル予測制御部240に入力される。制約条件については不変であるならば、オフライン行列生成処理においてWunderbar、Vunderbar、Wtopbar及びVtopbarに埋め込んでしまう場合もある。第2モデル予測制御部240は、以下で述べるモデル予測制御の処理を実施して、入力uiをプラント230に出力する。次に、第2モデル予測制御部240の処理について図10を用いて説明する。第2モデル予測制御部240は、目標値Xref及びxkを取得し、bに目標値Xref及び出力xkを代入してbを数値ベクトル化する図10:ステップS51。そして、第2モデル予測制御部240は、制約条件が有効であるか判断するステップS53。固定の設定である場合もあれば、有効無効が外部から設定される場合もある。制約条件が有効であれば、制約条件反映部242は、U格納部243から1単位時間前の解Ui-1を読み出し、上で述べたようにVunderbar、Vtopbar、Wunderbar及びWtopbarを算出するステップS55。なお、制約条件が、その都度設定される場合には、当該制約条件のデータを取得して、ステップS55で使用する。そして、制約条件反映部242は、M=M-diagVunderbardiagVtopbarを算出すると共にステップS57、b=bWunderbar-Wtopbarを算出するステップS59。このようにしてM及びbに制約条件が反映される。その後処理はステップS61に移行する。制約条件が有効でない場合又はステップS59の後に、連立方程式演算部241は、MU=bという連立一次方程式を、よく知られている直接法で解き、解Uを導出し、解UをU格納部243に格納するステップS61。解法自体は従来と同じであるが、用いている行列自体が全く異なっている。すなわち、本実施の形態のオフライン行列生成処理を実施しない場合、図11に示すような行列である。具体的には、左辺は、プラントの離散状態方程式の係数行列Abar及びBbarAbar=IΔτA。Bbar=IΔτB。と評価関数Vの重み行列S、Q、Rの要素を含む係数行列と、予測期間Hp個×入力数mの最適入力uiと予測期間Hp個×出力数nの最適出力状態xiと予測期間Hp個×出力数nの最適ラグランジュ乗数λiとを含むベクトルとの積になっている。一方、右辺は、予測期間Hp個×入力数m×出力数nの最適ラグランジュ乗数μiと、オフライン行列生成処理時には未定のxk及び目標値Xrefについての成分とを含む。そしてオフライン行列生成処理を実施することによって、最適出力状態xi及び最適ラグランジュ乗数λiを最適入力uiの式に変換して代入することで考慮すべき要素を最適入力uiに限定する。そして、最適入力uについても入力uHcからuHp-1をも除外して解くべき要素数をも削減している。このようなオフライン行列生成処理を実施した後であれば、図12に示すようなベクトルbが得られる。すなわち、MU=bにおけるベクトルUは、制御期間Hc個の最適入力uiのみを成分として含む。また、関数ベクトルbは、目標値Xref及びxkの関数となっており、制御期間Hc個の要素を含む。係数行列Mは、MU=bの形でオフライン行列生成処理前の式との等価性を担保するための係数行列である。制約条件がある場合でも、制約条件の値及び1単位時間前の計算結果Ui-1の値が設定されてしまえば定数として扱うことができるので、行列及びベクトルの形は同じである。従って、連立一次方程式を解く解法については同一でも、全く異なる形の連立一次方程式を解くことになっており、処理負荷が大幅に削減されている。その後、第2モデル予測制御部240は、解Uから最適入力値uを抽出し、プラント230に出力するステップS63。最適入力値uは、解Uにおけるu0である。以上の処理を処理終了になるまで実施するステップS65。以上のような処理を実施することによって、オンライン処理では高速に最適入力値uを得ることができるようになる。このような処理が繰り返される。なお、uに計画器210から出力された、EGRバルブ開度の目標値及びVNTノズル開度の目標値Urefが重畳されて、プラント230に入力される。ここで上で述べた例1の設定において、以下のような制約条件が設定された場合を考える。そうすると、以下のような連立一次方程式が得られる。以上のように、線形モデル予測制御に対して、オフラインで代数的手法を用いて解くべき問題を簡略化し、オンラインにおける計算量を小さくし、そのうえで連立方程式の直接解法を採用する。これにより、速いダイナミクスを持つ機械系に対しても有効なほど高速に計算可能で、且つ安定的に解を求めることができるようになる。さらに、プラントの状態xkの次元が仮に大きくなるような場合においても、大幅な計算量の増大を抑えることが可能となる。従って、プラントの実時間制御が可能となる。また、1次近似は制約条件を考慮する部分のみに限定しており、精度の低下も最低限に抑えている。なお、53-1式及び53-2式並びに60式及び61式が得られれば、これらを10式2入力2出力系であれば19式及び20式に代入すれば、μiの項が除去される。このように変形した後の式に、41式をさらに代入することも可能である。具体的には、図13のようなオフライン行列生成装置600を導入する。図7との差は、第4変形処理部501を除去した点と、連立方程式生成部109の代わりに第2連立方程式生成部502を導入した点と、第2連立方程式生成部502が入力データ格納部102に格納されているデータを用いる点とである。また、入力データ格納部102には、53-1式及び53-2式並びに60式及び61式のデータも格納されているものとする。そして、図14に示すように、処理フローは、ステップS31乃至S37については同じである。ステップS37の後には、第2連立方程式生成部502は、上で述べたよう代入処理を実施して連立方程式を生成し、第4データ格納部110に格納するステップS51。その後、行列生成部111は、第4データ格納部110に格納されたデータを用いてM2U=b2における行列M2及びb2を生成して、第5データ格納部112に格納するステップS53。本ステップは、ステップS11と基本的には同様であるから、詳細な説明を省略する。但し、53-1式及び53-2式並びに60式及び61式には定数でない項も含まれているので、行列M及びbとは中身が異なる。[実施の形態2]本実施の形態では、2入力2出力系について議論するが、同様な方式でm入力n出力系に変形できる。予測区間Hpと制御区間Hcとから、第1の実施の形態で述べた評価関数Vを離散化すると、以下のように表される。但し、uHc=uHc1==uHp-1また、ここで重み行列などを以下のように定義する。この離散化された評価関数Jを最小化するという最適化問題は、以下のような連立方程式を解く問題に帰着する。一方、この離散化された評価関数Jを具体的に書き下すと以下のように表される。ここで評価関数Jを以下のように分けて考える。すなわち、J=J1J2CONSと表すことができ、CONSについては、制約条件についての項であり、制約条件がなければ0として取り扱うことができ、0でなければ第1の実施の形態と同様に処理できる。従って、J’=J1J2について処理することを考える。そうすると、68式乃至71式は、以下の計算を行うことから求めることができる。ここで、37式で示したように、x1i及びx2iは、u10,u20,...,u1Hc-1,u2Hc-1の一次式として表される。従って、∂J1/∂u10は以下のように表される。このように書き下せば、x1i及びx2iと、x10におけるu10の係数等とを代入することで、68式の具体的な式を得ることができる。68式乃至71式のうち68式以外についても同様の形に変形でき、同様に式及び係数を代入することで、具体的な式を得ることができる。すなわち、72式のような式を68式乃至71式のそれぞれについて予め用意しておく。そして、導入後の式をu10,u20,...,u1Hc-1及びu2Hc-1の1次式に整理する。そうすると、以下のような形で表される。なお、b1Xrefx等は、目標値Xref及び初期状態x1k及びx2kの一次式の形にした定数項u10,u20,...,u1Hc-1及びu2Hc-1を変数としてみた場合の定数項である。そうすると、図15に示すように、u10,u20,...,u1Hc-1及びu2Hc-1の係数を抽出して並べることで行列M1を生成する。さらに、bベクトルについては、u10,u20,...,u1Hc-1及びu2Hc-1以外の項を、抽出して符号を反転させて生成される。また、J2についてはu10,u20,...,u1Hc-1及びu2Hc-1の各々について偏微分すると、以下のようになる。このように重み行列Rと予測区間Hp及び制御区間Hcとが用意されれば、値が得られるようになる。従って、以下のような行列M2を用意しておき、重み行列Rと予測区間Hp及び制御区間Hcが設定されれば、M2が得られる。但し、本実施の形態では、Hp及びHcについては予め決定された上で72式等が用意されるので、M2においてもHc及びHpについては設定されているものとする。このようにして得られたM1及びM2から、M=M1M2を実行する。この結果として第1の実施の形態の処理結果と同じ解を算出するM,bを得ることができる。制約については、第1の実施の形態と同様に取り扱えばよい。例えば、以下のような行列等が設定されているとする。そして、37式として以下のような一次式群が得られたものとする。そうすると、72式等の式に、83式乃至90式及びujiの係数を代入すると、以下のような式が得られる。このような91式乃至94式のu10,u20,u11,u21の係数を抽出すると、以下のような行列M1が得られる。さらに、u10,u20,u11,u21以外の項を抽出して符号を反転させると、以下のようなベクトルbが得られる。また、M2行列に行列Rの要素値とHc及びHpとを代入すると、以下のような行列が得られる。そうすると、以下のような行列Mが得られる。このように、演算量は第1の実施の形態よりも削減されており、高速に行列M及びベクトルbを生成することができるようになる。[制約条件を考慮しない場合]次に、このような行列M及びベクトルbを生成するためのオフライン行列生成装置700の構成例制約条件無しを図16に示す。オフライン行列生成装置700は、入力部101と、入力データ格納部102と、第1変形処理部103と、第1データ格納部104と、第2行列生成部701と、第9データ格納部702と、代入処理部703と、第6データ格納部704と、第1行列生成部705と、第7データ格納部706と、第3行列生成部707と、第8データ格納部708とを有する。入力部101、入力データ格納部102、第1変形処理部103及び第1データ格納部104については、第1の実施の形態で示したものとほぼ同じである。入力部101は、例えばユーザからの入力データである行列A、B、S、Q、R、Δτの入力を受け付け、入力データ格納部102に格納する。入力データ格納部102は、これらのデータに加えて解くべき連立方程式を表すデータと、72式等の評価関数の部分J1を偏微分した式及び行列M2のデータをも格納している。解くべき連立方程式のデータ等8式及び9式、2入力2出力系では15式乃至18式についても入力部101から入力されることもある。また、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて第1変形処理を実施し、処理結果を第1データ格納部104に格納する。なお、行列A及びBなどの要素値などを、関係する連立方程式に代入する処理をも実施する。第2行列生成部701は、入力データ格納部102に格納されているデータすなわち行列M2のデータ及び重み行列Rから、行列M2を生成して、第9データ格納部702に格納する。代入処理部703は、入力データ格納部102と第1データ格納部104とに格納されているデータを用いて、上で述べたような37式とその係数を、72式等に代入する処理を実施して、処理結果を第6データ格納部704に格納する。また、行列S及びQなどの要素値を、72式等に代入する処理をも実施する。第1行列生成部705は、第6データ格納部704に格納されているデータを用いて、行列M1及びベクトルbを生成する処理を実施し、行列M1について第7データ格納部706に格納し、ベクトルbについては第8データ格納部708に格納する。第3行列生成部707は、第9データ格納部702及び第7データ格納部706に格納されている行列M1と行列M2を加算して、加算結果である行列Mを第8データ格納部708に格納する。これによって、第8データ格納部708には、行列M及びベクトルbが格納されるようになる。次に、図16に示したオフライン行列生成装置700の処理フローを図17に示す。まず、入力部101は、ユーザからの入力データである行列A、B、S、Q、R、Δτの入力を受け付け、入力データ格納部102に格納する図17:ステップS61。解くべき連立方程式のデータについても入力部101から入力され、入力データ格納部102に格納される場合もある。そして、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて、最適出力状態xiについての第1変形処理を実施し、処理結果である一次式群すなわち37式を第1データ格納部104に格納するステップS63。本ステップは、ステップS3とほぼ同様であるから説明を省略する。但し、行列A及びB等のデータについても、例えば本ステップで代入した上で処理する。そして、代入処理部703は、入力データ格納部102から、行列Q及びSのデータ及び72式等のデータすなわち評価関数Jの部分J1についての偏微分の式を読み出し、第1データ格納部104から第1変形処理の処理結果である一次式群のデータを読み出して、行列Q及びSの要素値等と、第1変形処理の処理結果である一次式群及びその係数を、72式等に代入し、整理する代入処理を実施し、処理結果73乃至75式を第6データ格納部704に格納するステップS65。さらに、第1行列生成部705は、第6データ格納部704に格納されている代入処理の処理結果から、u10,u20,...,u1Hc-1及びu2Hc-1についての係数値を抽出して行列M1を生成し、第7データ格納部706に格納すると共に、定数項を抽出して符号を反転させてベクトルbを生成し、第8データ格納部708に格納するステップS67。一方、第2行列生成部701は、入力データ格納部102から、重み行列Rの要素値と行列M2の式82式とを読み出して、行列M2の式に重み行列Rの要素値を代入して、行列M2を生成し、第9データ格納部702に格納するステップS69。その後、第3行列生成部707は、第7データ格納部706に格納されている行列M1と、第9データ格納部702に格納されている行列M2とを加算することで行列Mを生成し、第8データ格納部708に格納するステップS71。このような処理を実施することで、行列M及びベクトルbが生成されて、図5のエンジン制御装置で処理される。[制約条件を考慮する場合]制約条件ありの場合には、図18に示すようなオフライン行列生成装置800が用いられる。図16に示したオフライン行列生成装置700との差は、第1の実施の形態において制約条件を考慮する場合に導入された第4変形処理部501を導入した点である。すなわち、第4変形処理部501は、入力データ格納部102に格納されているデータから、Vtopbar、Vunderbar、Wtopbar及びWunderbarを生成し、第8データ格納部708に格納する。従って制約条件を考慮する場合の処理フローは、図19に示すように、第4変形処理部501が実施する制約1次近似演算を実施するステップであるステップS73が追加された点が、図17と異なる。ステップS73は、図8のステップS39と同様であり、63乃至66式で表されるベクトルを生成し、第8データ格納部708に格納する。このような処理を実施することで、行列M及びベクトルbと制約条件に関係するVtopbar、Vunderbar、Wtopbar及びWunderbarが生成されて、図9のエンジン制御装置で処理される。[実施の形態3]第1及び第2の実施の形態では、重み行列Q、R及びSの要素値を埋め込んだ上で行列M及びベクトルbを生成していた。従って、実際のエンジン制御装置の代わりにシミュレーションを行って当該重み行列の要素値の適否を判断する際、当該重み行列の要素値が適切ではないと判断されると、行列M及びベクトルbの生成から処理を行うことになる。これでは適切な行列M及びベクトルbを生成する際にかかる時間が長くなってしまう。そこで、以下のような工夫を行うことで、繰り返し行列及びベクトルを生成することを回避でき、シミュレーションにおいて重み行列の要素値のみを変更すれば良くなる。具体的には、評価関数Jの一部分J’を以下のように分割する。すなわち、基本的にはJ1を重み行列の要素毎に項をグループ化する。具体的には、J3は重み行列Qの要素q1が乗じられている項を含み、J4は、重み行列Qの要素q2が乗じられている項を含み、J5は、重み行列Sの要素s1が乗じられている項を含み、J6は、重み行列Sの要素s2が乗じられている項を含む。2入力2出力系以外であっても同様に分割する。なお、J2については第2の実施の形態と同様である。なお、制約条件についても第2の実施の形態と同様である。従って、評価関数Jの最小化は、第2の実施の形態と同様に、以下の偏微分を算出することに分解される。但し、重み行列の要素値については変数扱いにするため、以下のように例えばJ3であればq1を除外した部分をJ31として取り扱い、偏微分の式を以下のように用意する。95式のような偏微分の式をu10,u20,...,u1Hc-1及びu2Hc-1の各々について用意しておき、37式及び37式における係数を代入し、さらに整理する。そして、第2の実施の形態と同様に、u10,u20,...,u1Hc-1及びu2Hc-1についての係数を抽出して行列M3を生成し、定数項を抽出してベクトルb3を生成する。J4についても重み行列の要素を除外した部分J41についても、95式のような偏微分の式をu10,u20,...,u1Hc-1及びu2Hc-1の各々について用意しておき、37式及び37式における係数を代入し、さらに整理する。そして、第2の実施の形態と同様に、u10,u20,...,u1Hc-1及びu2Hc-1についての係数を抽出して行列M4を生成し、定数項を抽出してベクトルb4を生成する。J5及びJ6についても同様にして、行列M5及びベクトルb5、行列M6及びベクトルb6を生成する。最終的に、生成すべき行列M及びベクトルbは、以下のように表される。M=q1M3q2M4s1M5s2M6M293b=q1b3q2b4s1b5s2b694但し、このように加算せず、個々の行列及びベクトルを、重み行列の要素と対応付けて保存しておけばよい。そうすれば、シミュレーション実施前に、行列S、Q及びRを設定して、行列M及びベクトルbを93式及び94式で生成してから、シミュレーションを実施すればよい。例えば、行列A及びBが以下のように設定され、Hp=4、Hc=2と設定され、行列Q,R及びSが以下のような2行2列の対角行列であるものとする。そして37式が、83式乃至90式であったとすると、J31の偏微分の結果は以下のようになる。従って、行列M3及びベクトルb3については以下のように表される。また、J41の偏微分の結果は以下のようになる。従って、行列M4及びベクトルb4については以下のように表される。さらに、J51の偏微分の結果は以下のようになる。従って、行列M5及びベクトルb5については以下のように表される。また、J61の偏微分の結果は以下のようになる。従って、行列M6及びベクトルb6については以下のように表される。[制約条件を考慮しない場合]次に、このような行列M2乃至M6及びベクトルb3乃至b6を生成するためのオフライン行列生成装置900の構成例制約条件無しを図20に示す。オフライン行列生成装置900は、入力部101と、入力データ格納部102と、第1変形処理部103と、第1データ格納部104と、第2代入処理部901と、第11データ格納部902と、第4行列生成部903と、第12データ格納部904と、第5行列生成部905と、第13データ格納部906とを有する。入力部101、入力データ格納部102、第1変形処理部103及び第1データ格納部104については、第1の実施の形態で示したものとほぼ同じである。入力部101は、例えばユーザからの入力データである行列A、B、Δτの入力を受け付け、入力データ格納部102に格納する。入力データ格納部102は、これらのデータに加えて解くべき連立方程式を表すデータ8式及び9式、2入力2出力系であれば15乃至18式と、95式等の、評価関数の部分J31乃至J61を偏微分した式及び行列M2のデータをも格納している。行列M2のデータについては、重み行列Rが変数扱いで、Hp及びHcが確定しているので、行列M2のデータについては処理せずとも良い。また、解くべき連立方程式のデータ等についても入力部101から入力されることもある。さらに、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて第1変形処理を実施し、処理結果を第1データ格納部104に格納する。なお、行列A及びBなどの要素値などを、関係する連立方程式に代入する処理をも実施する。第2代入処理部901は、入力データ格納部102と第1データ格納部104とに格納されているデータを用いて、上で述べたような37式とその係数を、95式等に代入する処理を実施して、処理結果を第11データ格納部902に格納する。第4行列生成部903は、第11データ格納部902に格納されているデータを用いて、行列M3、M4、M5及びM6と、ベクトルb3、b4、b5及びb6を生成する処理を実施し、第12データ格納部904に格納する。第5行列生成部905は、入力データ格納部102及び第12データ格納部904に格納されているデータを用いて、93式及び94式の演算を実施して、演算結果を第13データ格納部906に格納する。このようにすれば、重み行列Q,S及びRの要素が変数化された状態の行列M及びベクトルbが、第13データ格納部906に格納されており、シミュレーションなどに用いることができるようになる。次に、図20に示したオフライン行列生成装置900の処理フローを図21に示す。まず、入力部101は、ユーザからの入力データである行列A、B、Δτの入力を受け付け、入力データ格納部102に格納する図21:ステップS81。解くべき連立方程式のデータについても入力部101から入力され、入力データ格納部102に格納される場合もある。そして、第1変形処理部103は、入力データ格納部102に格納されたデータを用いて、最適出力状態xiについての第1変形処理を実施し、処理結果である一次式群すなわち37式を第1データ格納部104に格納するステップS83。本ステップは、ステップS3とほぼ同様であるから説明を省略する。但し、行列A及びB等のデータについても、例えば本ステップで代入した上で処理する。これより前に代入しても良い。そして、第2代入処理部901は、入力データ格納部102から、92式等のデータすなわち評価関数Jの部分J31乃至J61についての偏微分の式を読み出し、第1データ格納部104から第1変形処理の処理結果である一次式群のデータを読み出して、第1変形処理の処理結果である一次式群及びその係数を、92式等に代入し、整理する代入処理を実施し、処理結果を第11データ格納部902に格納するステップS85。さらに、第4行列生成部903は、第11データ格納部902に格納されている代入処理の処理結果から、u10,u20,...,u1Hc-1及びu2Hc-1についての係数値を抽出して行列M3乃至M6を生成し、さらに定数項を抽出して符号を反転させてベクトルb3乃至b6を生成し、第12データ格納部904に格納するステップS87。その後、第5行列生成部905は、第12データ格納部904に格納されている行列M3乃至M6に対して、対応する重み行列Q及びSの要素を乗じると共に、入力データ格納部102に格納されている行列M2を加算して行列Mを生成し、第13データ格納部906に格納するステップS89。すなわち、q1M3q2M4s1M5s2M6M2により行列Mを生成する。さらに、第5行列生成部905は、第12データ格納部904に格納されているベクトルb3乃至b6に対して、対応する重み行列Q及びSの要素を乗じることでベクトルbを生成し、第13データ格納部906に格納するステップS91。すなわち、q1b3q2b4s1b5s2b6によりベクトルbを生成する。このような処理を実施することで、重み行列Q、S及びRの要素が変数化された行列M及びベクトルbが生成されて、シミュレーションにおいて重み行列の調整を実施することが容易になる。なお、ステップS89及びS91については、シミュレーションにおいて実施するようにしても良い。[制約条件を考慮する場合]制約条件ありの場合には、図22に示すようなオフライン行列生成装置1100が用いられる。図20に示したオフライン行列生成装置900との差は、第1の実施の形態において制約条件を考慮する場合に導入された第4変形処理部501を導入した点である。すなわち、第4変形処理部501は、入力データ格納部102に格納されているデータから、Vtopbar、Vunderbar、Wtopbar及びWunderbarを生成し、第13データ格納部906に格納する。従って制約条件を考慮する場合の処理フローは、図23に示すように、第4変形処理部501が実施する制約1次近似演算を実施するステップであるステップS93が追加された点が、図21と異なる。ステップS93は、図8のステップS39と同様であり、63乃至66式で表されるベクトルを生成し、第13データ格納部906に格納する。このような処理を実施することで、重み行列Q、R及びSの要素が変数化された行列M及びベクトルbと、制約条件に関係するVtopbar、Vunderbar、Wtopbar及びWunderbarとが生成されて、シミュレーションにおいて用いられる。以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図及びブロック線図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、並列実施したり、処理順番を入れ替えるなどの変形が可能である。さらに、上ではエンジン制御装置への適用を述べたが、他のプラントの制御装置への適用も可能である。なお、上で述べたオフライン行列生成装置100、500乃至1100は、コンピュータ装置であって、図24に示すように、メモリ2501とCPU2503とハードディスクドライブHDD2505と表示装置2509に接続される表示制御部2507とリムーバブルディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステムOS:OperatingSystem及び本実施例における処理を実施するためのアプリケーションプログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーションプログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブルディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。また、上で述べたエンジン制御装置1000は、コンピュータ装置であって、図25に示すように、RAMRandomAccessMemory4501とプロセッサ4503とROMReadOnlyMemory4507とセンサ群4515とがバス4519で接続されている。本実施の形態における処理を実施するための制御プログラム及び存在している場合にはオペレーティングシステムOS:OperatingSystemは、ROM4507に格納されており、プロセッサ4503により実行される際にはROM4507からRAM4501に読み出される。プロセッサ4503は、センサ群4515例えば、吸気圧センサ及び新気量センサ。場合によっては燃料噴射量測定部及びエンジン回転数測定部など。を制御して、測定値を取得する。また、処理途中のデータについては、RAM4501に格納される。なお、プロセッサ4503は、ROM4507を含む場合もあり、さらに、RAM4501を含む場合もある。本技術の実施の形態では、上で述べた処理を実施するための制御プログラムは、コンピュータ読み取り可能なリムーバブルディスクに格納されて頒布され、ROMライタによってROM4507に書き込まれる場合もある。このようなコンピュータ装置は、上で述べたプロセッサ4503、RAM4501、ROM4507などのハードウエアと制御プログラム場合によってはOSもとが有機的に協働することにより、上で述べたような各種機能を実現する。以上述べた本実施の形態をまとめると以下のようになる。本実施の形態の第1の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第1の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部から第2の条件式及び関係式を読み出して、第2の条件式及び関係式を、各時刻における第1のラグランジュ乗数を目標値と解出力状態とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Cデータ格納部に格納されている第1の一次式群を第2の一次式群に代入することで、各時刻における第1のラグランジュ乗数を目標値と解入力と出力状態とで表す第3の一次式群に変換し、データ格納部に格納する処理と、Dデータ格納部から第1の条件式を読み出して、第2のラグランジュ乗数の項を除外した第1の条件式に、データ格納部に格納されている第3の一次式群を代入することで、目標値と解入力と出力状態との各時刻における関係を表す第4の一次式群に変換し、データ格納部に格納する処理と、Eデータ格納部に格納されている第4の一次式群を、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等式で表されるように変形して、係数行列と関数ベクトルとをデータ格納部に格納する処理とを含む。このようにすることで係数行列及び関数ベクトルが大幅にコンパクト化されており、係数行列と制御期間内における解入力についてのベクトルとの積が関数ベクトルと等式で結ぶことによって表される連立一次方程式を高速に解くことができるようになる。また、実施の形態の第1の態様に係る行列生成方法は、F制約条件に含まれる上記入力の下限値に関連する第2のラグランジュ乗数を解入力の第1の一次式で近似した場合における当該第1の一次式の定数項であって制約条件に含まれる上記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第1の制約ベクトルと、第1の一次式における解入力の係数であって制約条件に含まれる上記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルと、制約条件に含まれる上記入力の上限値に関連する第2のラグランジュ乗数を解入力の第2の一次式で近似した場合における当該第2の一次式の定数項であって制約条件に含まれる上記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第3の制約ベクトルと、第2の一次式における解入力の係数であって制約条件に含まれる上記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第4の制約ベクトルと、を生成し、データ格納部に格納する処理をさらに含むようにしても良い。このようにすれば、簡単に制約条件を考慮した演算を実施できるようになる。実施の形態の第2の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、6制約条件に含まれる上記入力の下限値に関連する第2のラグランジュ乗数を解入力の第1の一次式で近似した場合における当該第1の一次式群と、制約条件に含まれる上記入力の上限値に関連する第2のラグランジュ乗数を解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第3の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部から第2の条件式及び関係式を読み出して、第2の条件式及び関係式を、各時刻における第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群を第4の一次式群に代入することで、各時刻における第1のラグランジュ乗数を目標値と解入力と出力状態とで表す第5の一次式群に変換し、データ格納部に格納する処理と、Dデータ格納部に格納されている第3の一次式群に対して、データ格納部に格納されている第5の一次式群、第1の一次式群及び第2の一次式群を代入することで、目標値と解入力と出力状態との各時刻における関係を表す第6の一次式群に変換し、データ格納部に格納する処理と、Eデータ格納部に格納されている第6の一次式群を、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等式で表されるように変形して、係数行列と関数ベクトルとをデータ格納部に格納する処理とを含む。制約条件を考慮する場合には、このような形で1乃至6の式を変形しても、係数行列及び関数ベクトルとが大幅にコンパクト化されるようになる。本実施の形態の第3の態様に係るプラント制御方法は、A制御対象であるプラントの現在の出力状態と現在の目標値とを取得する処理と、B1プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4第1のラグランジュ乗数とハミルトニアンの出力状態についての偏微分との関係を表す第2の条件式と、5第1のラグランジュ乗数の予測期間後の値と、出力状態の目標値と予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等しくなるように表されている一次方程式群に対して、現在の出力状態と現在の目標値とを代入して解くことによって、制御期間内における解入力を算出する算出処理と、C制御期間内における解入力のうち最初の時刻のための解入力を、制御対象のプラントに出力する処理とを含む。一次方程式群は、元の1乃至5の式と比して大幅にコンパクト化されており、通常どおり演算を行って一次方程式群を解いたとしても短時間で解入力を得ることができるようになる。上で述べた算出処理が、b1制御対象のプラントの解入力に対して上限値及び下限値を含む制約条件が設定されている場合に、6制約条件に含まれる入力の下限値に関連する第2のラグランジュ乗数を解入力の第1の一次式で近似した場合における当該第1の一次式における解入力の係数であって制約条件に含まれる上記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第1の制約ベクトルに対して、1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第1の行列と、7制約条件に含まれる上記入力の上限値に関連する第2のラグランジュ乗数を解入力の第2の一次式で近似した場合における当該第2の一次式における解入力の係数であって制約条件に含まれる上記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルに対して、1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第2の行列と、を生成し、係数行列から第1の行列を差し引き、第2の行列を加算する処理と、b28制約条件に含まれる上記入力の下限値に関連する第2のラグランジュ乗数を解入力の第1の一次式で近似した場合における当該第1の一次式における定数項であって制約条件に含まれる上記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第1のベクトルと、9制約条件に含まれる上記入力の上限値に関連する第2のラグランジュ乗数を解入力の第2の一次式で近似した場合における当該第2の一次式における定数項であって制約条件に含まれる上記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第2のベクトルと、を生成し、関数ベクトルに第1ベクトルを加算して第2ベクトルを差し引く処理とを含むようにしても良い。このようにすれば、少ない演算で制約条件を考慮した形で解入力を出力できるようになる。本実施の形態の第4の態様に係るプラント制御装置図26は、A制御対象であるプラントの現在の出力状態と現在の目標値とを取得する取得部図26:3100と、B1プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの上記入力についての偏微分であって第1のラグランジュ乗数と第2のラグランジュ乗数と解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における解入力についてのベクトルとの積が、目標値と出力状態とについての関数ベクトルと等しくなるように表されている一次方程式群を格納するデータ格納部図26:3400と、Cデータ格納部から一次方程式群を読み出して、一次方程式群に対して、現在の出力状態と現在の目標値とを代入して解くことによって、制御期間内における解入力を算出する演算部図26:3200と、D制御期間内における解入力のうち最初の時刻のための解入力を、制御対象のプラントに出力する出力部図26:3300とを有する。本実施の形態の第5の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、出力状態の目標値と予測区間後における解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、解入力の二乗を第3の重み行列で重み付けして初期時刻から予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち第1の項と第2の項とを、初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られる、解出力状態についての第1の一次式群と、4第3の項を初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られ且つ第3の重み行列の要素値、制御区間の値及び予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部に格納されている第2の一次式群及び第2の一次式群における解入力の係数値を、データ格納部に格納されている第1の一次式群に代入することで第3の一次式群を生成し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群における各解入力の項の係数を抽出して第2の行列を生成し、第3の一次式群における解入力の項以外の項を抽出してベクトルを生成し、データ格納部に格納する処理と、Dデータ格納部に格納されている第1の行列と第2の行列とを加算して、第3の行列を生成し、データ格納部に格納する処理とを含む。このような処理を行えば演算量が削減されているので、高速に第3の行列及びベクトルを生成することができるようになる。本実施の形態の第6の態様に係る行列生成方法は、A1制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3出力状態の目標値と解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、出力状態の目標値と予測区間後における解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、解入力の二乗を第3の重み行列で重み付けして初期時刻から予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち第1の項及び第2の項を、係数として乗じられている、第1の重み行列及び第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における解入力から制御区間後の1単位時間前の時点における解入力までの各解入力で偏微分することで得られる、解出力状態についての第1の一次式群と、を格納するデータ格納部から、状態方程式及び初期条件式とを読み出して、状態方程式及び初期条件式を、各時刻における解出力状態を出力状態と解入力とで表す第2の一次式群に変換し、データ格納部に格納する処理と、Bデータ格納部に格納されている第2の一次式群及び第2の一次式群における解入力の係数値を、データ格納部に格納されている第1の一次式群に代入することで、複数の式の各々について第3の一次式群を生成し、データ格納部に格納する処理と、Cデータ格納部に格納されている第3の一次式群における各解入力の項の係数を複数の式の各々について抽出して複数の式の各々について行列を生成し、第3の一次式群における解入力の項以外の項を複数の式の各々について抽出して複数の式の各々についてベクトルを生成し、データ格納部に格納する処理とを含む。このようにすれば、行列及びベクトルを生成し直すことなく、後に実施するシミュレーションなどにおいて重み行列の要素値を調整することができるようになる。なお、制約条件については、本実施の形態の第5及び第6の態様においては、本実施の形態の第1の態様と同様に処理することができる。なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。付記11制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第1の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の一次式群を前記第2の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第1の条件式を読み出して、前記第2のラグランジュ乗数の項を除外した第1の条件式に、前記データ格納部に格納されている前記第3の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第4の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。付記2前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式の定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第1の制約ベクトルと、前記第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式の定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第3の制約ベクトルと、前記第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第4の制約ベクトルと、を生成し、前記データ格納部に格納する処理、をさらに前記コンピュータに実行させるための付記1記載のプログラム。付記31制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、6前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式群と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群を前記第4の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第5の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群に対して、前記データ格納部に格納されている前記第5の一次式群、前記第1の一次式群及び前記第2の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第6の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第6の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。付記41制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第1の一次式群に変換し、前記データ格納部に格納する第1変形処理部と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第2の一次式群に変換し、前記データ格納部に格納する第2変形処理部と、前記データ格納部に格納されている前記第1の一次式群を前記第2の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第3の一次式群に変換し、前記データ格納部に格納する第3変形処理部と、前記データ格納部から前記第1の条件式を読み出して、前記第2のラグランジュ乗数の項を除外した第1の条件式に、前記データ格納部に格納されている前記第3の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第4の一次式群に変換し、前記データ格納部に格納する式生成部と、前記データ格納部に格納されている前記第4の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する行列生成部と、を有する行列生成装置。付記51制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、6前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式群と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第3の一次式群に変換し、前記データ格納部に格納する第1変形処理部と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、前記データ格納部に格納する第2変形処理部と、前記データ格納部に格納されている前記第3の一次式群を前記第4の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第5の一次式群に変換し、前記データ格納部に格納する第3変形処理部と、前記データ格納部に格納されている前記第3の一次式群に対して、前記データ格納部に格納されている前記第5の一次式群、前記第1の一次式群及び前記第2の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第6の一次式群に変換し、前記データ格納部に格納する式生成部と、前記データ格納部に格納されている前記第6の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する行列生成部と、を有する行列生成装置。付記61制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第1の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の一次式群を前記第2の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第1の条件式を読み出して、前記第2のラグランジュ乗数の項を除外した第1の条件式に、前記データ格納部に格納されている前記第3の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第4の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータが実行する行列生成方法。付記71制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算に関する第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和に関するハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、6前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式群と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第3の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部から前記第2の条件式及び前記関係式を読み出して、前記第2の条件式及び前記関係式を、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解出力状態とで表す第4の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群を前記第4の一次式群に代入することで、各時刻における前記第1のラグランジュ乗数を前記目標値と前記解入力と前記出力状態とで表す第5の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群に対して、前記データ格納部に格納されている前記第5の一次式群、前記第1の一次式群及び前記第2の一次式群を代入することで、前記目標値と前記解入力と前記出力状態との各時刻における関係を表す第6の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第6の一次式群を、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等式で表されるように変形して、前記係数行列と前記関数ベクトルとを前記データ格納部に格納する処理と、を、コンピュータが実行する行列生成方法。付記8制御対象であるプラントの現在の出力状態と現在の目標値とを取得する処理と、1前記プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等しくなるように表されている前記一次方程式群に対して、前記現在の出力状態と前記現在の目標値とを代入して解くことによって、前記制御期間内における解入力を算出する算出処理と、前記制御期間内における解入力のうち最初の時刻のための解入力を、前記制御対象のプラントに出力する処理と、を、プロセッサに実行させるためのプログラム。付記9前記算出処理が、前記制御対象のプラントの解入力に対して上限値及び下限値を含む制約条件が設定されている場合に、前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第1の制約ベクトルに対して、前記1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第1の行列と、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルに対して、前記1単位時間前に計算された対応時刻の解入力を設定し、対角行列化することで得られる第2の行列と、を生成し、前記係数行列から前記第1の行列を差し引き、前記第2の行列を加算する処理と、前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式における定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して前記1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第1のベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式における定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項に対して前記1単位時間前に計算された対応時刻の解入力を設定して各時刻について並べた第2のベクトルと、を生成し、前記関数ベクトルに前記第1ベクトルを加算して前記第2ベクトルを差し引く処理と、を含む付記8記載のプログラム。付記10制御対象であるプラントの現在の出力状態と現在の目標値とを取得する取得部と、1前記プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等しくなるように表されている前記一次方程式群を格納するデータ格納部と、前記データ格納部から前記一次方程式群を読み出して、前記一次方程式群に対して、前記現在の出力状態と前記現在の目標値とを代入して解くことによって、前記制御期間内における解入力を算出する演算部と、前記制御期間内における解入力のうち最初の時刻のための解入力を、前記制御対象のプラントに出力する出力部と、を有するプラント制御装置。付記11制御対象であるプラントの現在の出力状態と現在の目標値とを取得する処理と、1前記プラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記出力状態との誤差の二乗及び入力の二乗の重み付け加算を表す第1の関数と、第1のラグランジュ乗数と前記状態方程式との積と、第2のラグランジュ乗数と制約条件に関する第2の関数との積と、の和で表されるハミルトニアンの前記入力についての偏微分であって前記第1のラグランジュ乗数と前記第2のラグランジュ乗数と前記解入力との関係を表す第1の条件式と、4前記第1のラグランジュ乗数と前記ハミルトニアンの前記出力状態についての偏微分との関係を表す第2の条件式と、5前記第1のラグランジュ乗数の予測期間後の値と、前記出力状態の目標値と前記予測期間後の解出力状態との差に関する関数との関係式と、等価な一次方程式群であって、係数行列と、制御期間内における前記解入力についてのベクトルとの積が、前記目標値と前記出力状態とについての関数ベクトルと等しくなるように表されている前記一次方程式群に対して、前記現在の出力状態と前記現在の目標値とを代入して解くことによって、前記制御期間内における解入力を算出する算出処理と、前記制御期間内における解入力のうち最初の時刻のための解入力を、前記制御対象のプラントに出力する処理と、を、プロセッサが実行する制御方法。付記121制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項と前記第2の項とを、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、4前記第3の項を前記初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られ且つ前記第3の重み行列の要素値、前記制御区間の値及び前記予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を抽出して第2の行列を生成し、前記第3の一次式群における前記解入力の項以外の項を抽出してベクトルを生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の行列と前記第2の行列とを加算して、第3の行列を生成し、前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。付記131制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項及び前記第2の項を、係数として乗じられている、前記第1の重み行列及び前記第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで、前記複数の式の各々について第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を前記複数の式の各々について抽出して前記複数の式の各々について行列を生成し、前記第3の一次式群における前記解入力の項以外の項を前記複数の式の各々について抽出して前記複数の式の各々についてベクトルを生成し、前記データ格納部に格納する処理と、を、コンピュータに実行させるためのプログラム。付記14前記制約条件に含まれる前記入力の下限値に関連する前記第2のラグランジュ乗数を前記解入力の第1の一次式で近似した場合における当該第1の一次式の定数項であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第1の制約ベクトルと、前記第1の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の下限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第2の制約ベクトルと、前記制約条件に含まれる前記入力の上限値に関連する前記第2のラグランジュ乗数を前記解入力の第2の一次式で近似した場合における当該第2の一次式の定数項であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む定数項を、各時刻について含む第3の制約ベクトルと、前記第2の一次式における前記解入力の係数であって前記制約条件に含まれる前記入力の上限値と1単位時間前に計算された対応時刻の解入力とを含む係数を、各時刻について含む第4の制約ベクトルと、を生成し、前記データ格納部に格納する処理、をさらに前記コンピュータに実行させるための付記12又は13記載のプログラム。付記151制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項と前記第2の項とを、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、4前記第3の項を前記初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られ且つ前記第3の重み行列の要素値、前記制御区間の値及び前記予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する変形部と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで第3の一次式群を生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を抽出して第2の行列を生成し、前記第3の一次式群における前記解入力の項以外の項を抽出してベクトルを生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第1の行列と前記第2の行列とを加算して、第3の行列を生成し、前記データ格納部に格納する生成部と、を有する行列生成装置。付記161制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項及び前記第2の項を、係数として乗じられている、前記第1の重み行列及び前記第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、を格納するデータ格納部と、前記データ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する変形部と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで、前記複数の式の各々について第3の一次式群を生成し、前記データ格納部に格納し、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を前記複数の式の各々について抽出して前記複数の式の各々について行列を生成し、前記第3の一次式群における前記解入力の項以外の項を前記複数の式の各々について抽出して前記複数の式の各々についてベクトルを生成し、前記データ格納部に格納する生成部と、を有する行列生成装置。付記171制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項と前記第2の項とを、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、4前記第3の項を前記初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られ且つ前記第3の重み行列の要素値、前記制御区間の値及び前記予測区間の値とで決定される行列要素を有する第1の行列と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を抽出して第2の行列を生成し、前記第3の一次式群における前記解入力の項以外の項を抽出してベクトルを生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第1の行列と前記第2の行列とを加算して、第3の行列を生成し、前記データ格納部に格納する処理と、を、コンピュータが実行する行列生成方法。付記181制御対象であるプラントの解出力状態と解入力との関係を表す状態方程式と、2出力状態の初期条件式と、3前記出力状態の目標値と前記解出力状態との誤差の二乗を第1の重み行列で重み付けして初期時刻から1単位時間後の時点から予測区間後の1単位時間前の時点まで加算する第1の項と、前記出力状態の目標値と前記予測区間後における前記解出力状態との誤差の二乗を第2の重み行列で重み付けして加算する第2の項と、前記解入力の二乗を第3の重み行列で重み付けして初期時刻から前記予測区間後の1単位時間前の時点まで加算する第3の項と、制約条件についての第4の項と、を含む評価関数のうち前記第1の項及び前記第2の項を、係数として乗じられている、前記第1の重み行列及び前記第2の重み行列の要素毎に分類することで得られ且つ当該要素が除外された複数の式の各々を、初期時刻における前記解入力から前記制御区間後の1単位時間前の時点における前記解入力までの各前記解入力で偏微分することで得られる、前記解出力状態についての第1の一次式群と、を格納するデータ格納部から、前記状態方程式及び前記初期条件式とを読み出して、前記状態方程式及び前記初期条件式を、各時刻における前記解出力状態を前記出力状態と前記解入力とで表す第2の一次式群に変換し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第2の一次式群及び前記第2の一次式群における前記解入力の係数値を、前記データ格納部に格納されている前記第1の一次式群に代入することで、前記複数の式の各々について第3の一次式群を生成し、前記データ格納部に格納する処理と、前記データ格納部に格納されている前記第3の一次式群における各前記解入力の項の係数を前記複数の式の各々について抽出して前記複数の式の各々について行列を生成し、前記第3の一次式群における前記解入力の項以外の項を前記複数の式の各々について抽出して前記複数の式の各々についてベクトルを生成し、前記データ格納部に格納する処理と、を、コンピュータが実行する行列生成方法。"