(57)【特許請求の範囲】
【請求項１】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置における、前記解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として前記入力手段が入力し、前記各行列Ａ，Ｘ，Ｃを前記記憶手段に記憶させ、かつ数式１に示す線形の連立方程式により表して、
＜数１＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、前記演算手段が行列の利用により計算する線形計算工程を含むシステム解析方法において、前記線形計算工程は、前記演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを前記変数配列Ｘから消去すると共に前記定数配列ＣからｃＫを消去して、尚かつ前記システム行列Ａの第Ｋ列を第Ｌ列に加えて前記システム行列Ａから前記第Ｋ列と第Ｌ行とを消去することにより、前記記憶手段に記憶された前記各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減するものであることを特徴とする熱物質収支計算を行うシステム解析装置におけるシステム解析方法。
【請求項２】
前記線形計算工程は、前記システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め前記記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応する前記システム行列ＡのＰ行Ｑ列成分が指定されるよう数式２に示す前記行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数２＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式３に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応する前記インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、前記システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数３＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
前記インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより前記記憶手段に記憶された前記システム行列Ａの成分に変更を加えることなく前記見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更できることを特徴とする請求項１に記載のシステム解析方法。
【請求項３】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置におけるシステム解析方法において、前記解析対象であるシステムの各要素機器の入出力関係を前記入力手段により設定して、前記演算手段が前記各要素機器について順次収支計算する逐次計算工程と、前記各要素機器の入出力関係を線形化して表した方程式を連立させて前記入出力関係を一度に解く線形計算工程と、前記演算手段が前記入出力関係が一意に決定される部分については前記逐次計算工程を実行させると共に、それ以外の部分については前記線形計算工程を実行させる判別工程とを備え、前記線形計算工程は、請求項１または２に記載したものであることを特徴とする熱物質収支計算を行うシステム解析装置におけるシステム解析方法。
【請求項４】
前記判別工程は、前記逐次計算工程で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、前記要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する前記要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを前記記憶手段に設定し、前記演算手段に、前記要素機器についての前記入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、前記入出力関係を表す式の変数の値が変化した前記要素機器については、前記第１のフラグを真とする処理と、前記入出力関係を表す式のすべての変数の値の計算を終了した場合に、前記入出力関係を表す式についての前記第２のフラグを真とする処理と行う前記逐次計算工程を実行させて、すべての前記要素機器についての計算が終了した時点で、前記第１のフラグの値が偽であり、尚かつ前記第２のフラグの値が偽である前記入出力関係を表す式についてのみ前記線形計算工程を実行させるものである請求項３記載のシステム解析方法。
【請求項５】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備え、前記解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として前記入力手段が入力し、前記各行列Ａ，Ｘ，Ｃを前記記憶手段に記憶させ、かつ数式４に示す線形の連立方程式により表して、
＜数４＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、前記演算手段が行列の利用により計算する線形計算部を含むシステム解析装置において、前記線形計算部は、前記演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを前記変数配列Ｘから消去すると共に前記定数配列ＣからｃＫを消去して、尚かつ前記システム行列Ａの第Ｋ列を第Ｌ列に加えて前記システム行列Ａから前記第Ｋ列と第Ｌ行とを消去することにより、前記記憶手段に記憶された前記各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減するものであることを特徴とする熱物質収支計算を行うシステム解析装置。
【請求項６】
前記線形計算部は、前記システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め前記記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応する前記システム行列ＡのＰ行Ｑ列成分が指定されるよう数式５に示す前記行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数５＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式６に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応する前記インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、前記システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数６＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
前記インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより前記記憶手段に記憶された前記システム行列Ａの成分に変更を加えることなく前記見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更できることを特徴とする請求項５に記載のシステム解析装置。
【請求項７】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備え、前記解析対象であるシステムの各要素機器の入出力関係を前記入力手段により設定して、前記演算手段が前記各要素機器について順次収支計算する逐次計算部と、前記各要素機器の入出力関係を線形化して表した方程式を連立させて前記入出力関係を一度に解く線形計算部と、前記演算手段が前記入出力関係が一意に決定される部分については前記逐次計算部を実行させると共に、それ以外の部分については前記線形計算部を実行させる判別部とを備え、前記線形計算部は、請求項５または６に記載したものであることを特徴とする熱物質収支計算を行うシステム解析装置。
【請求項８】
前記判別部は、前記逐次計算部で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、前記要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する前記要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを前記記憶手段に設定し、前記演算手段に、前記要素機器についての前記入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、前記入出力関係を表す式の変数の値が変化した前記要素機器については、前記第１のフラグを真とする処理と、前記入出力関係を表す式のすべての変数の値の計算を終了した場合に、前記入出力関係を表す式についての前記第２のフラグを真とする処理と行う前記逐次計算部を実行させて、すべての前記要素機器についての計算が終了した時点で、前記第１のフラグの値が偽であり、尚かつ前記第２のフラグの値が偽である前記入出力関係を表す式についてのみ前記線形計算部を実行させるものである請求項７記載のシステム解析装置。
【請求項９】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置に、前記解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として前記入力手段が入力し、前記各行列Ａ，Ｘ，Ｃを前記記憶手段に記憶させ、かつ数式７に示す線形の連立方程式により表して、
＜数７＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、前記演算手段が行列の利用により計算する線形計算手順を実行させるシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記線形計算手順は、前記演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを前記変数配列Ｘから消去すると共に前記定数配列ＣからｃＫを消去して、尚かつ前記システム行列Ａの第Ｋ列を第Ｌ列に加えて前記システム行列Ａから前記第Ｋ列と第Ｌ行とを消去することにより、前記記憶手段に記憶された前記各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記線形計算手順は、前記システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め前記記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応する前記システム行列ＡのＰ行Ｑ列成分が指定されるよう数式８に示す前記行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数８＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式９に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応する前記インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、前記システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数９＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
前記インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより前記記憶手段に記憶された前記システム行列Ａの成分に変更を加えることなく前記見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更することを特徴とする請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、前記演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置に、前記解析対象であるシステムの各要素機器の入出力関係を前記入力手段により設定して、前記演算手段が前記各要素機器について順次収支計算する逐次計算手順と、前記各要素機器の入出力関係を線形化して表した方程式を連立させて前記入出力関係を一度に解く線形計算手順と、前記演算手段が前記入出力関係が一意に決定される部分については前記逐次計算手順を実行させると共に、それ以外の部分については前記線形計算手順を実行させる判別手順とを実行させるシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記線形計算手順は、請求項９または１０に記載したものであることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記判別手順は、前記逐次計算手順で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、前記要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する前記要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを前記記憶手段に設定し、前記演算手段に、前記要素機器についての前記入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、前記入出力関係を表す式の変数の値が変化した前記要素機器については、前記第１のフラグを真とする処理と、前記入出力関係を表す式のすべての変数の値の計算を終了した場合に、前記入出力関係を表す式についての前記第２のフラグを真とする処理と行う前記逐次計算手順を実行させて、すべての前記要素機器についての計算が終了した時点で、前記第１のフラグの値が偽であり、尚かつ前記第２のフラグの値が偽である前記入出力関係を表す式についてのみ前記線形計算手順を実行させることを特徴とする請求項１１記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、システムの解析を行うためのシステム解析方法に関する。更に詳述すると、本発明は、発電プラントシステムの解析に適したシステム解析装置に関する。
【０００２】
【従来の技術】
化学プラント等のシステムを解析するために、様々なシステム解析方法が開発されている。複雑なシステムを解析することは各機器の出入力の関係を表す非線形の連立方程式を解く作業であり一般化された解法は無いが、主に線形化法と逐次計算法とのいずれかが使用されている。
【０００３】
線形化法は、各要素機器の入出力の関係を線形化した方程式で表し、これを連立させてシステム全体を表す連立一次方程式を作成し、更にこの連立一次方程式を行列化してシステム行列を作成しシステム中の全入出力関係を一度に解く方法である。
【０００４】
一方、逐次計算法は、個々の要素の入出力関係式を設定して、各機器について順次計算を行っていく方法である。そして、得られた計算値をフィードバックして再び順次計算を行って、システム全体が収束するまで繰り返すようにする。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したシステム解析方法では、主に線形化法と逐次計算法とのいずれかを採用しているので、以下のような問題を有している。線形化法では、収束計算の途中の段階でも全体の収支は常に合っており計算が安定しているものの、変数（式）の数が増えると計算時間が飛躍的に長くなってしまう。すなわち、線形化法では、扱う成分や機器の数が増えて変数が増加すると、各行列の大きさが変数の数に比例して大きく成り、計算量は変数の数の２〜３乗に比例して増大するので、処理速度が非常に遅くなってしまう。これにより、何百もの機器を含んだシステムの解析に長時間を費やしてしまう。
【０００６】
また、逐次計算法では、変数の数が増えても線形化法ほどの計算量の増大は無いが、システム全体の収支バランスを取るために初期値や重みの設定等の煩雑なチューニングが必要になってしまう。例えばループを有するような複雑なシステムを解析する場合に、解を収束させるためにどの機器から計算を行うか等の計算順序の設定や各部分の初期値の設定を適切に行わなければならず、設定が面倒で困難である。さらに、各機器ごとに収束計算のための手法が必要になるので、逐次計算法を実際の計算プログラムとしてコンピュータに実装する場合に解の収束のためには係数のチューニングが必要になって実用上の制限が加えられてしまう。しかも、逐次計算法では基本的に各機器の計算方向が上流から下流へと固定されているので、例えば下流部分の値を設定値に合わせたい場合には、上流側の値を変化させて下流側の値が設定値になる上流側の値を探さなければならず、アルゴリズムが複雑になり、非常に多くの計算時間を要する。
【０００７】
そこで、本発明は、計算速度を速くできると共に収束のための面倒な設定を減らせるシステム解析方法及びこれを利用したシステム解析装置並びにシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００８】
【課題を解決するための手段】
ところで、本願発明者は、石炭ガス化複合発電（ＩＧＣＣ）、圧縮空気貯蔵発電システム（ＣＡＥＳ）、各種燃料電池（ＭＣＦＣ、ＳＯＦＣ）発電システム、水素燃焼タービン発電システム等の発電システムは、一般の化学プラントシステム等に比較した場合に以下のような静特性解析の特徴を有していることを知見した。
（１）入口と出口とが１対１で対応する機器が多い。このため、特に流量や熱量についてはエネルギ保存則によって１つの機器の入力値と出力値とが等しくなるので、一方の変数に一本化して他方の変数を削除して計算を単純化できる。
（２）多くのケースにおいて、各部の圧力はまず初めに設定可能である。このため、逐次計算を行う場合の各機器での初期設定を容易に行うことができる。
（３）圧力に関するループは非常に少なく、圧力に関する絡み合ったループは殆ど無い。このため、圧力に関して収束計算の必要は余り無く、容易に逐次計算を行うことができる。
【０００９】
本願の請求項１記載の発明は、これらの知見に基づいて創作されたものであり、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置における、解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として入力手段を介して入力された各行列Ａ，Ｘ，Ｃを記憶手段に記憶させ、かつ数式１０に示す線形の連立方程式により表して、
＜数１０＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、演算手段が行列の利用により計算する線形計算工程を含むシステム解析方法において、線形計算工程は、演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを変数配列Ｘから消去すると共に定数配列ＣからｃＫを消去して、尚かつシステム行列Ａの第Ｋ列を第Ｌ列に加えてシステム行列Ａから第Ｋ列と第Ｌ行とを消去することにより、記憶手段に記憶された各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減するようにしている。
【００１０】
また、請求項５記載の発明は、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備え、解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として入力手段を介して入力された各行列Ａ，Ｘ，Ｃを記憶手段に記憶させ、かつ数式１１に示す線形の連立方程式により表して、
＜数１１＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、演算手段が行列の利用により計算する線形計算部を含むシステム解析装置において、線形計算部は、演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを変数配列Ｘから消去すると共に定数配列ＣからｃＫを消去して、尚かつシステム行列Ａの第Ｋ列を第Ｌ列に加えてシステム行列Ａから第Ｋ列と第Ｌ行とを消去することにより、記憶手段に記憶された各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減するようにしている。
【００１１】
これらの場合、入口と出口とが１対１で対応する機器で流量や熱量について方程式を作成した段階では、入力値Ｘｉと出力値Ｘｏとを別個に設けているが、Ｘｉ＝Ｘｏの関係により一方の変数に一本化して他方の変数を削除することができる。このため、連立方程式の数を減らすことができ各行列Ａ，Ｘ，Ｃを縮小化できるので、解を求めるための計算数を低減することができる。これにより、システムの解析時間を短縮化することができる。
【００１２】
また、請求項２記載の発明は、請求項１記載のシステム解析方法において、線形計算工程は、システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応するシステム行列ＡのＰ行Ｑ列成分が指定されるよう数式１２に示す行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数１２＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式１３に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応するインデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数１３＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより記憶手段に記憶されたシステム行列Ａの成分に変更を加えることなく見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更できるようにしている。
【００１３】
そして、請求項６記載の発明は、請求項５記載のシステム解析装置において、線形計算部は、システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応するシステム行列ＡのＰ行Ｑ列成分が指定されるよう数式１４に示す行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数１４＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式１５に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応するインデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数１５＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより記憶手段に記憶されたシステム行列Ａの成分に変更を加えることなく見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更できるようにしている。
【００１４】
したがって、システム行列Ａの内部で一行分あるいは一列分の成分を移動させる必要があるときに、システム行列Ａの実際のデータを移動させることなく行インデックス配列Ｉまたは列インデックス配列Ｊのデータを入れ替えるだけで良いので、行及び列の成分の移動時間を短縮することができる。このため、連立方程式を行列の利用によりＬＵ分解法などで連立方程式を解くときや、システム行列Ａの行または列を削除して縮小するときに、処理を高速化することができる。
【００１５】
一方、請求項３記載のシステム解析方法は、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置におけるシステム解析方法において、解析対象であるシステムの各要素機器の入出力関係を入力手段により設定して、演算手段が各要素機器について順次収支計算する逐次計算工程と、各要素機器の入出力関係を線形化して表した方程式を連立させて入出力関係を一度に解く線形計算工程と、演算手段が入出力関係が一意に決定される部分については逐次計算工程を実行させると共に、それ以外の部分については線形計算工程を実行させる判別工程とを備え、線形計算工程は、請求項１または２に記載したものであるようにしている。
【００１６】
また、請求項７記載のシステム解析装置は、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備え、解析対象であるシステムの各要素機器の入出力関係を入力手段により設定して、演算手段が各要素機器について順次収支計算する逐次計算部と、各要素機器の入出力関係を線形化して表した方程式を連立させて入出力関係を一度に解く線形計算部と、演算手段が入出力関係が一意に決定される部分については逐次計算部を実行させると共に、それ以外の部分については線形計算部を実行させる判別部とを備え、線形計算部は、請求項５または６に記載したものであるようにしている。
【００１７】
これらの場合、判別工程または判別部では、解析対象であるシステムのどの部分を逐次計算工程または逐次計算部により処理するか、またはどの部分を線形計算工程または線形計算部により処理するかが判断される。このため、収束計算を要しない部分、即ち繰り返し計算を要しない部分を逐次計算工程または逐次計算部により容易に計算できると共に多数の方程式を扱う線形計算工程または線形計算部での計算量を最低限に抑えることができる。しかも、逐次計算工程で線形計算に必要な初期値を有る程度設定できるので、線形計算での面倒な初期値の設定を簡略化して収束を容易に行うことができるようになる。このため、計算処理の高速化および安定化を図ることができるようになる。
【００１８】
また、請求項４記載の発明は、請求項３記載のシステム解析方法において、判別工程は、逐次計算工程で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを記憶手段に設定し、演算手段に、要素機器についての入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、入出力関係を表す式の変数の値が変化した要素機器については、第１のフラグを真とする処理と、入出力関係を表す式のすべての変数の値の計算を終了した場合に、入出力関係を表す式についての第２のフラグを真とする処理と行う逐次計算工程を実行させて、すべての要素機器についての計算が終了した時点で、第１のフラグの値が偽であり、尚かつ第２のフラグの値が偽である入出力関係を表す式についてのみ線形計算工程を実行させるようにしている。そして、請求項８記載の発明は、請求項７記載のシステム解析装置において、判別部は、逐次計算部で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを記憶手段に設定し、演算手段に、要素機器についての入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、入出力関係を表す式の変数の値が変化した要素機器については、第１のフラグを真とする処理と、入出力関係を表す式のすべての変数の値の計算を終了した場合に、入出力関係を表す式についての第２のフラグを真とする処理と行う逐次計算部を実行させて、すべての要素機器についての計算が終了した時点で、第１のフラグの値が偽であり、尚かつ第２のフラグの値が偽である入出力関係を表す式についてのみ線形計算部を実行させるようにしている。したがって、線形計算工程または線形計算部での処理速度を向上することができる。
【００１９】
他方、請求項９記載の発明は、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置に、解析対象のシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）＝Ａ［ｉ］［ｊ］、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））として入力手段を介して入力された各行列Ａ，Ｘ，Ｃを記憶手段に記憶させ、かつ数式１６に示す線形の連立方程式により表して、
＜数１６＞
Ａ・Ｘ＝Ｃ
該連立方程式により表される熱物質収支を、演算手段が行列の利用により計算する線形計算手段を実行させるシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体において、線形計算手段は、演算手段が互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを変数配列Ｘから消去すると共に定数配列ＣからｃＫを消去して、尚かつシステム行列Ａの第Ｋ列を第Ｌ列に加えてシステム行列Ａから第Ｋ列と第Ｌ行とを消去することにより、記憶手段に記憶された各行列Ａ，Ｘ，Ｃを縮小化する計算を行い、熱物質収支計算量を低減するようにしている。
【００２０】
したがって、コンピュータで記録媒体に格納されたプログラムを読み取り、インストールすることによって、あるいはそのままプログラムを実行することによって、システムの解析時間を短縮化することができる。
【００２１】
また、請求項１０記載の発明は、請求項９記載のコンピュータ読み取り可能な記録媒体において、線形計算手段は、システム行列Ａの行及び列を指定するために行インデックス配列Ｉおよび列インデックス配列Ｊを予め記憶手段に記憶し、該行インデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納されたｉとｊに対応するシステム行列ＡのＰ行Ｑ列成分が指定されるよう数式１７に示す行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数１７＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式１８に示すように見かけ上のシステム行列Ａ’においてｉ行ｊ列を指定すると、このｉとｊに対応するインデックス配列Ｉおよび列インデックス配列Ｊにそれぞれ格納された、システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数１８＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
インデックス配列Ｉ，Ｊに格納されたデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することにより記憶手段に記憶されたシステム行列Ａの成分に変更を加えることなく見かけ上のシステム行列Ａ’のｉ行ｊ列の成分を変更することをコンピュータに実行させるためのプログラムを記録するようにしている。
【００２２】
したがって、コンピュータで記録媒体に格納されたプログラムを読み取り、インストールすることによって、あるいはそのままプログラムを実行することによって、連立方程式を行列の利用によりＬＵ分解法などで連立方程式を解くときや、システム行列Ａの行または列を削除して縮小するときに迅速な処理を行うことができる。
【００２３】
さらに、請求項１１記載のコンピュータ読み取り可能な記憶媒体は、解析対象のシステムのデータや指令を入力する入力手段、演算処理を実行する演算手段、演算処理を行うプログラムやデータを記憶する記憶手段、演算結果を表示する出力手段を備えた熱物質収支計算を行うシステム解析装置に、解析対象であるシステムの各要素機器の入出力関係を入力手段により設定して、演算手段が各要素機器について順次収支計算する逐次計算手段と、各要素機器の入出力関係を線形化して表した方程式を連立させて入出力関係を一度に解く線形計算手段と、演算手段が入出力関係が一意に決定される部分については逐次計算手段を実行させると共に、それ以外の部分については線形計算手段を実行させる判別手段とを実行させるシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体であって、線形計算手段は、請求項９または１０に記載したものであることを特徴とするものである。
【００２４】
したがって、コンピュータで記録媒体に格納されたプログラムを読み取り、インストールすることによって、あるいはそのままプログラムを実行することによって、計算処理の高速化および安定化を図ることができるようになる。
【００２５】
また、請求項１２記載の発明は、請求項１１記載のシステム解析プログラムをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体において、判別手段は、逐次計算手段で一意的に計算可能な入出力関係を表す式の計算が終了したかどうかを示す第１のフラグと、要素機器の入出力関係を表す式のうち入口と出口が１対１で対応する要素機器の入出力関係を表す式であるかどうかを示す第２のフラグを記憶手段に設定し、演算手段に、要素機器についての入出力関係を表す式のうち一意的に計算が可能な式の計算を実行させて、入出力関係を表す式の変数の値が変化した要素機器については、第１のフラグを真とする処理と、入出力関係を表す式のすべての変数の値の計算を終了した場合に、入出力関係を表す式についての第２のフラグを真とする処理と行う逐次計算手段を実行させて、すべての要素機器についての計算が終了した時点で、第１のフラグの値が偽であり、尚かつ第２のフラグの値が偽である入出力関係を表す式についてのみ線形計算手段を実行させるようにしている。したがって、線形計算手順での処理速度を向上することができる。
【００２６】
【発明の実施の形態】
以下、本発明の構成を図面に示す実施の形態の一例に基づいて詳細に説明する。図１〜図４に本発明のシステム解析方法およびこれを利用したシステム解析装置の一実施形態を示す。
【００２７】
このシステム解析方法は、解析対象であるシステムをＮ×Ｎ個の定数を成分とするＮ次正方行列から成るシステム行列Ａ（＝（ａｉｊ）、但しｉ，ｊは、ｉ≦Ｎ、ｊ≦Ｎを満たす自然数）と、Ｎ個の変数を成分とする変数配列Ｘ（＝ｔ（ｘ１  ｘ２  …  ｘＮ））と、Ｎ個の定数を成分とする定数配列Ｃ（＝ｔ（ｃ１  ｃ２  …  ｃＮ））とを用いて数式１９に示す線形の連立方程式により表して、
＜数１９＞
Ａ・Ｘ＝Ｃ
該連立方程式を行列の利用により解く線形計算工程を含んでいる。
【００２８】
そして、この線形計算工程では、互いに等しい変数ｘＫ，ｘＬ（但しＫ，Ｌは、Ｋ＜＞Ｌ、Ｋ≦Ｎ、Ｌ≦Ｎを満たす自然数）のうちの一方の変数ｘＫを変数配列Ｘから消去すると共に定数配列ＣからｃＫを消去して、尚かつ図１に示すようにシステム行列Ａ（図中符号１１で示す）の第Ｋ列を第Ｌ列に加えてシステム行列Ａから第Ｋ列と第Ｌ行とを消去することにより、各行列Ａ，Ｘ，Ｃを縮小化するようにしている。このため、各行列Ａ，Ｘ，Ｃを縮小化できるので、連立方程式の解を求めるための計算数を低減することができる。これにより、システムの解析時間を短縮化することができる。
【００２９】
ここで、互いに等しい変数ｘＫ，ｘＬのうちのいずれを削除するかは、例えば添え字の大きい方を削除するようにする。このように削除すべき変数の決定法を単純なものにすることにより、処理の遅延を防止できる。なお、本実施形態では添え字の大きい方を削除するようにしているが、これには限られず添え字の小さい方を削除するようにしたり、あるいは０成分の多い方を削除するようにしても良い。０成分の多い方を削除する場合は、当該２つの変数のうちで一方の列を他方の列に加えるときに計算回数を少なくすることができる。
【００３０】
また、線形計算工程では、システム行列Ａの行及び列を指定するために入力されたｉとｊに対応してＰとＱが出力される数式２０に示す行インデックス配列Ｉおよび列インデックス配列Ｊを設定して、
＜数２０＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
数式２１に示すように見かけ上のシステム行列Ａ’のｉ行ｊ列を指定するためにｉとｊを入力すると、このｉとｊがそれぞれインデックス配列Ｉ，Ｊで変換されて、システム行列ＡのＰ行Ｑ列成分が指定されるようにして、
＜数２１＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
インデックス配列Ｉ，Ｊの中でデータを入れ替えてｉとＰあるいはｊとＱの対応を変更することによりシステム行列Ａの成分を固定したままで見かけ上のシステム行列Ａ’でのｉ行ｊ列の成分を変更できるようにしている。このため、システム行列Ａの内部で一行分あるいは一列分の成分を移動させる必要があるときに、システム行列Ａの実際のデータを移動させることなく行インデックス配列Ｉまたは列インデックス配列Ｊのデータを入れ替えるだけで良いので、行及び列の成分の移動時間を短縮することができる。また、例えば機器が数百もあるシステムにおいてシステム行列が非常に大きくなっても、システム行列の縮小のためのデータの移動量を最小限に抑えて解析速度の遅延化を防止できる。
【００３１】
ここで、上述した線形計算工程を備えるシステム解析方法について以下に説明する。このシステム解析方法では、解析対象であるシステムの各要素機器の入出力関係を設定して各要素機器について順次収支計算する逐次計算工程と、各要素機器の入出力関係を線形化して表した方程式を連立させて入出力関係を一度に解く線形計算工程とを備えている。
【００３２】
そして、このシステム解析方法は、入出力関係が一意に決定される部分については逐次計算工程を実行させると共に、それ以外の部分については線形計算工程を実行させる判別工程とを備えるようにしている。換言すると、個々の機器において解くことのできる値は個々の機器ごとに計算（逐次計算工程）するようにし、他の機器との関係により個々の機器だけでは解くことのできない部分は連立させて計算（線形計算工程）するようにしている。この場合、判別工程では解析対象であるシステムの各要素を逐次計算工程により処理するか線形計算工程により処理するかを判断するので、繰り返し計算を要しない部分を逐次計算工程により容易に計算できると共に多数の方程式を扱う線形計算工程での計算量を最低限に抑えることができる。しかも、逐次計算工程で線形計算に必要な初期値を有る程度設定できるので、線形計算での収束を容易に行うことができるようになる。このため、計算処理の高速化かつ安定化を図ることができるようになり、システムの解析時間を短縮化することができる。
【００３３】
また、このシステム解析方法を実行する計算実行部では、まず判別工程を実行して、各機器において一意的に計算できる値が有れば計算するように指示を出す。各機器では新たに計算できる値が有れば計算して値を設定し、新たに設定した値の個数を計算実行部に返す。そして、各機器から返される数が０に成るまで、つまり一意的に計算できる部分を全て計算するまで一意的な計算の指示を繰り返す。
【００３４】
各機器から返される数が０に成ったときは、計算実行部の方程式のリストに、各機器ごとに計算すべき式を加えるように指示を出す。この指示を受けて、各機器から必要な方程式が方程式リストに加えられる。そして、計算実行部が方程式リストの方程式を連立させて行列を利用して解く。
【００３５】
一方、システム解析方法を実行するシステム解析装置１は、図２に示すように線形計算工程を実行する線形計算部２と、逐次計算工程を実行する逐次計算部３と、判別工程を実行する判別部４とを備えるようにしている。このシステム解析装置はコンピュータシステムにて構成される。このコンピュータシステムは、特に図示していないが、例えば各種の演算処理を実行する計算実行部となる中央演算処理装置と、演算処理を実行する上で必要なプログラムやデータ等を記憶する主記憶装置と、入出力ポート等の各種インタフェースと、このシステム解析方法を実現するプログラムやその処理を実行する上で必要な各種データや定数等を記憶する例えばハードディスクドライブ装置と、データや必要な指令を入力する入力装置と、中央演算処理装置で処理した結果を出力する出力装置とから構成されるのが一般的である。
【００３６】
上述したシステム解析方法により発電システムの解析を行う手順を、図３および図４に示すフローチャートに基づいて説明する。
【００３７】
計算を行う前に、解析対象となるシステムの各機器毎に圧力と流量と熱量についての収支計算式を作成しておく。特に流量と熱量については、エネルギ保存則により全ての機器について全入力量と全出力量が等しくなるように方程式を作成する。このように予め計算式を作成しておくことにより、計算時には計算式を作成する必要が無く、システムの構成と各種条件の設定状態に応じて各機器から必要な式を選択して用いることができる。また、前準備として、各要素機器の接続関係から例えばブロック図を作成する等してシステム全体の接続を把握する。
【００３８】
発電システムの計算では熱物質収支計算に先立って各部の圧力が設定可能な場合が非常に多いので、まず各部の圧力を計算してから熱物質収支計算を行うようにする。すなわち、圧力バランスと流量バランスとヒートバランス（エンタルピバランス）の計算をこの順で繰り返し行うようにする。ここで、圧力と流量とエンタルピとは相互影響が少ないことから、一の種の変数、例えば圧力についてバランス計算を行う際に他の種の変数、例えば流量及びエンタルピに定数値を代入して計算することができる。但し、このように圧力バランスと流量バランスとエンタルピバランスとを別個に計算するとシステム全体としての収支は合うものの各機器での収支は必ずしも合わないため、一の種の収支計算が終了した時点で他の種に代入した定数を変更して再度計算するようにする。
【００３９】
具体的には、図３のフローチャートに示すように、最初に圧力バランス用フラグｂＣａｌｃＰと流量バランス用フラグｂＣａｌｃＧとエンタルピバランス用フラグｂＣａｌｃＨとをＴＲＵＥに設定しておく（ステップ１）。なお、ここでは、フラグがＴＲＵＥであると計算を行う必要があることを意味し、ＦＡＬＳＥであると計算が不要であることを意味する。
【００４０】
そして、圧力バランス用フラグｂＣａｌｃＰが何であるかを判断して（ステップ２）、ＴＲＵＥであれば圧力バランスの計算を行うと共に圧力バランス用フラグｂＣａｌｃＰをＦＡＬＳＥにする（ステップ３）。
【００４１】
圧力バランスの計算後、あるいは圧力バランス用フラグｂＣａｌｃＰがＦＡＬＳＥであれば、流量バランス用フラグｂＣａｌｃＧが何であるかを判断して（ステップ４）、ＴＲＵＥであれば流量バランスの計算を行うと共に流量バランス用フラグｂＣａｌｃＧをＦＡＬＳＥにする（ステップ５）。このとき、圧力としては、先の圧力バランスの計算過程で算出した定数を用いるようにする。そして、今計算した流量バランスがシステム全体および各機器で成立しているかを判断すると共に流量バランスを成立させるために圧力の値を調整すべきかを判断する（ステップ６）。
【００４２】
圧力の値を調整すべきと判断すれば（ステップ６；Ｙｅｓ）、圧力バランス用フラグｂＣａｌｃＰをＴＲＵＥにして（ステップ７）、再度圧力バランスの計算を行うようにする（ステップ２，３）。
【００４３】
また、圧力の調整が不要であるか（ステップ６；Ｎｏ）、あるいは流量バランス用フラグｂＣａｌｃＧがＦＡＬＳＥであれば、エンタルピバランス用フラグｂＣａｌｃＨが何であるかを判断して（ステップ８）、ＴＲＵＥであればエンタルピバランスの計算を行うと共にエンタルピバランス用フラグｂＣａｌｃＨをＦＡＬＳＥにする（ステップ９）。そして、今計算したエンタルピバランスがシステム全体および各機器で成立しているかを判断すると共にエンタルピバランスを成立させるために圧力の値を調整すべきかを判断する（ステップ１０）。
【００４４】
圧力の値を調整すべきと判断すれば（ステップ１０；Ｙｅｓ）、圧力バランス用フラグｂＣａｌｃＰをＴＲＵＥにして（ステップ１１）、再度圧力バランスの計算を行うようにする（ステップ２，３）。
【００４５】
そして、圧力の値を調整しないと判断すれば（ステップ１０；Ｎｏ）、エンタルピバランスを成立させるために流量の値を調整すべきかを判断する（ステップ１２）。流量の値を調整すべきと判断すれば（ステップ１２；Ｙｅｓ）、流量バランス用フラグｂＣａｌｃＧをＴＲＵＥにして（ステップ１３）、再度流量バランスの計算を行うようにする（ステップ４，５）。
【００４６】
また、流量の調整が不要であるか（ステップ１２；Ｎｏ）、あるいはエンタルピバランス用フラグｂＣａｌｃＨがＦＡＬＳＥであれば、計算を終了する（ステップ１４）。これにより、圧力と流量とエンタルピとの各バランス計算を繰り返す過程においてフラグがＦＡＬＳＥで計算が不要ならその段階を省略するようにして、全ての計算手順が不要になったときに計算を終了することになる。
【００４７】
一方、各バランス計算の過程（ステップ３，５，９）では、システム解析の判別工程を実行して、逐次計算工程により処理する部分と線形計算工程により処理する部分とをシステム全体の接続状況に応じて判別する。ここでの判別手法としては、本実施形態では各値を一意に決定できる部分については逐次計算工程を実行させると共に、それ以外の部分については線形計算工程を実行させるようにしている。逐次計算工程では入出力関係が一意に決まっており各要素機器での入出力値を容易に決定できるので、計算の複雑な線形計算工程よりも先に実行する。
【００４８】
具体的には、図４に示すフローチャートに沿って処理が為される。逐次計算工程では、逐次計算するように割り当てられた各要素機器に対しての初期設定を行って（ステップ１５）、一意的に計算可能な入出力値を計算する（ステップ１６）。この計算は、各機器に接続するラインの状態量の設定状態と各機器のプロパティーの設定状態とをもとに、各機器毎に用意された式の中から計算可能な式を選択して採用する。そして、１つの計算が終了すると、まだ一意的に計算可能な値が有るかを判断して（ステップ１７）、あるならば計算を繰り返す。
【００４９】
また、この逐次計算工程に続く線形計算工程での計算の収束を高速化するために、逐次計算工程において線形計算用の初期値を設定することが好ましい。このため、一意的な解を得るためには条件が不足している場合でも、例えばおよその数値が算出できる場合などの一定の条件を満たしている場合は計算を行って線形計算用の初期値を得るようにする。これにより、線形計算工程での収束計算において真値に近い初期値が与えられることになるので、根拠の無い初期値を与える場合に比べて収束するまでの計算回数が少なくて済み解析時間を短縮できる。
【００５０】
次に、線形計算工程では、線形計算するように割り当てられた各機器ごとに必要な計算式の列挙と各計算式での係数を設定する計算を行う（ステップ１８）。選択・設定された計算式と各要素機器の接続関係から連立方程式を作成する（ステップ１９）。この連立方程式は、数式２２に示す行列にまとめられる。
＜数２２＞
Ａ・Ｘ＝Ｃ
そして、得られた連立方程式が解を算出できるものであるかをチェックする。すなわち、変数の数と式の数とが同数であるかを調べる。もし、変数の数と式の数とが同数でなければ、各式に対して、１．保存則、定数設定値、２．各計算式、３．デフォルト値を用いた計算式という優先順位を付する。そして、もし式の方が多ければ優先順位の低いものから削除する。逆に、式の方が少なければ、使用者に対して優先順位の３番目に相当する値の入力を要求する。
【００５１】
さらに、この段階では方程式の中には一の機器の出口と他の機器の入口とを単に連結したＸｏ＝Ｘｉの形式のものも含まれるので、このような方程式の一方の変数を消去することにより方程式の本数を削減する（ステップ２０）。ここでの方程式の削減は、上述した各行列Ａ，Ｘ，Ｃの縮小化の手順により行われる。すなわち、互いに等しい変数ｘＫ，ｘＬのうちの一方の変数ｘＫを変数配列Ｘから消去すると共に定数配列ＣからｃＫを消去して、尚かつシステム行列Ａの第Ｋ列を第Ｌ列に加えてシステム行列Ａから第Ｋ列と第Ｌ行とを消去することにより、行列Ａを縮小化するようにしている。さらに、システム行列Ａの行と列の指定にはインデックス配列Ｉ，Ｊを用いているので、システム行列Ａの縮小化のためのデータの移動量を最小限に抑えて処理時間を短縮できる。なお、定数配列Ｃおよび変数配列Ｘについては、Ｎ×１の行列に相当するのでインデックス配列を使用しなくても縮小化は容易である。
【００５２】
そして、各方程式を解く（ステップ２１）。ここで、１つの機器が関係する変数の数量は数個にすぎないのに対し全体の変数の数量は少なくとも数十個はあることが多いので、システム行列Ａは０の成分が多いスパース行列になる。このため、連立方程式の解法にはＬＵ分解法を用いることで計算の高速化を図ることができる。しかも、システム行列Ａが縮小化されているので、計算数が減って計算時間を大幅に短縮することができる。
【００５３】
さらに、本実施形態では、システム行列Ａの行と列の指定をインデックス配列Ｉ，Ｊを用いて行うようにしているので、連立方程式を解くときのシステム行列Ａでの行と列の入れ替えを極めて容易かつ迅速に行うことができる。
【００５４】
また、方程式の解は各機器に反映されて（ステップ２２）、各機器ごとに計算結果のチェックが為される（ステップ２３）。このチェックにより、方程式毎に最初に設定した係数が適正か否かを判断することができ、これに基づき係数を更新すべきか否かが判断される（ステップ２４）。係数の変更が必要と判断されれば（ステップ２４；Ｙｅｓ）、係数を変更して新たな方程式について再び計算を行う（ステップ２１〜２３）。また、係数の変更が不要と判断されれば（ステップ２４；Ｎｏ）、このバランス計算を終了する（ステップ２５）。
【００５５】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、上述した実施形態では線形計算工程でインデックス配列を使用しているが、これには限られず使用して無くても良い。例えば、システム解析に用いる行列が比較的小さくてインデックス配列を使用するメリットが余り無い場合等は、行列の内部でのデータを実際に移動させるようにしても良い。
【００５６】
また、上述した実施形態では線形計算工程でシステム行列Ａを縮小化するようにしているが、これには限られず必ずしも縮小化しなくて良い。例えば、システム解析に用いる行列が比較的小さくてシステム行列Ａを縮小してもデータ数が余り減らないような場合等は、システム行列Ａを敢えて縮小化しなくても良い。
【００５７】
さらに、上述した実施形態では逐次計算部３と判別部４を備えて逐次計算工程と判別工程を実行するようにしているが、これには限られず少なくとも線形計算部２を有して線形計算工程を実行するようにしても良い。この場合、線形計算工程においてシステム行列Ａの縮小化あるいはインデックス配列の少なくとも一方を使用することによりシステム解析の高速化を図ることができる。
【００５８】
ところで、上述した実施形態ではシステム解析装置はコンピュータシステムから構成されるものとしているが、これには限られない。例えば、上述したシステム解析方法の判別工程と逐次計算工程と線形計算工程とをコンピュータに実行させるためのプログラムを記録したＣＤ−ＲＯＭやフロッピーディスク等のコンピュータ読み取り可能な記録媒体を使用して汎用コンピュータを作動させることによりシステム解析方法を実行することもできる。
【００５９】
ここでのプログラムは、具体的には少なくとも線形計算工程を実行する線形計算手順をコンピュータに実行させるためのものである。また、線形計算手順の他に、逐次計算工程を実行する逐次計算手順と判別工程を実行する判別手順とをコンピュータに実行させるためのものにしても良い。
【００６０】
さらに、上述した実施形態では線形計算工程と逐次計算工程と判別工程とを汎用コンピュータに実行させているが、これには限られずこれらの工程を専用のコンピュータから成る独立した装置に実行させるようにしても良い。さらに、上述した実施形態では、これら線形計算工程と逐次計算工程と判別工程とをコンピュータに実行させているが、これには限られずこれらの工程をシーケンス回路に実行させるようにしても良い。いずれの場合も、システム解析の安定化及び高速化を図ることができる。
【００６１】
さらに、上述した実施形態では発電システムの解析を行っているが、解析可能な対象としてはこれに限られないのは勿論である。すなわち、本発明のシステム解析方法および装置１は発電プラントのみならず、化学プラント等のシステムの全般に適用することができる。
【００６２】
【実施例】
（実施例１）
図５に示す２段抽気を含む低圧蒸気タービンシステム５について流量バランスの線形計算を行う際に、連立方程式を決定して行列を設定してから一部の変数を削除して各行列の縮小化を図った。その手順を以下に示す。このタービンシステム５は、タービン（ＬＴ）６と、凝縮器（ＣＯＮＤ）７と、圧縮機（ＣＰ）８と、第１再生機（ＲＨ１）９と、第２再生機（ＲＨ２）１０とを備えている。
【００６３】
最初に、各機器での流量の入出力関係を求めて、各機器の接続状況から方程式を作成した。各機器の流量の入出力関係を図６〜図１０に示し、また各機器の接続情報を表１に示す。
【表１】
0003857840.tif 000002
表１に示す各接続情報を各式に代入することにより、数式２３に示す方程式が導かれた。すなわち、１０個の変数ｘ１〜ｘ１０に対して、７つの方程式が存在する。なお、これら７つの方程式は上述した優先順位でいうと２番目の「各計算式」に相当する。
＜数２３＞
ｘ１−ｘ７−ｘ８−ｘ２＝０
ｘ２＋ｘ１０−ｘ３＝０
ｘ３−ｘ４＝０
ｘ５−ｘ６＝０
ｘ７−ｘ９＝０
ｘ４−ｘ５＝０
ｘ８＋ｘ９−ｘ１０＝０
次に、各機器での温度および圧力が一定に設定されているとみなすことにより、エネルギ保存則から表２に示す２つの式を導き出すことができた。なお、これら２式は上述した優先順位でいうと１番目の「保存則」に相当する。
【表２】
0003857840.tif 000003
但し、表中ｈｉはｘｉの接続線での比エンタルピを意味する。
【００６４】
さらに、ＬＴの入力流量をｃ０に設定した。すなわち、ｘ１＝ｃ０に設定した。この式は上述した優先順位でいうと１番目の「定数設定値」に相当する。これにより、１０個の変数ｘ１〜ｘ１０に対して１０の方程式が存在するようになった。これらの方程式を連立させて数式２４に示すように行列で表す。
【数２４】
0003857840.tif 000004
ここで、システム行列Ａの３行目、４行目、６行目、７行目により展開される方程式、例えば３行目は、ｘ３＝ｘ４のように一の機器（ここではＣＰ）の入口と出口とで流量が変化しないことを示している。このため、これらの行に示される変数の一方をそれぞれ消去して、システム全体の変数の数を減らすことができる。
【００６５】
例えば、ｘ３＝ｘ４について考えると、…＋ａ３・ｘ３＋ａ４・ｘ４＋…＝ｃという数式は…＋（ａ３＋ａ４）・ｘ３＋…＝ｃに変形できる。このため、システム行列Ａの３行目のｘ３−ｘ４＝０に着目してｘ４を消去しようとする場合は、数式１１に示すシステム行列Ａの４列目の成分を３列目の成分に足して、さらに３行目と４列目を消去することができる。これにより得られたシステム行列Ａを数式２５に示す。
【数２５】
0003857840.tif 000005
ここで、システム行列Ａの１列分の成分を他の１列に加えるためには、システム行列ＡがＮ×Ｎの行列であればＮ回の足し算を行わなければならない。しかし、本実施例でも明らかなように発電システム等を解析する連立方程式では１つの変数が関係する式は数本に過ぎず、これはシステム全体で例え変数の数が数百有っても同様である。すなわち、システム行列Ａの１列分の成分のうちで０でない成分は数個にすぎない。
【００６６】
そこで、システム行列Ａの１列分の成分を他の１列に加える際に、０でない成分のみを選択して加算すると効率が良い。このため、図１１に示すように、変数のリストの他に、各変数に対応する変数表と、各方程式に対応する式表とを設けるようにしている。そして、各変数表には、該変数の値と、該変数が含まれる方程式のリストと、システム行列Ａのうちで該変数に対応する列番号とが含まれている。また、各式表には、その方程式に含まれる変数のリストと、これらの変数の係数のリストと、定数項と、システム行列Ａのうちで該方程式に対応する行番号とが含まれている。
【００６７】
これにより、いずれかの変数を削除するためにシステム行列Ａの１列分の成分を他の１列に加える際に、該変数の変数表に示された方程式に対応する行の要素のみについて足し算を行うようにすれば良い。例えば、変数ｘ４を消去しようとする場合は、変数ｘ４の変数表を参照して関連する方程式を選択する。そして、選択された各方程式に対応するシステム行列Ａにおける行、ここでは３，４，１０行目についてのみ４列目の成分を３列目に足せば良い。また、ｘ４を足す相手はｘ３であり、ｘ３＝ｘ４という方程式を消すことになるので、当該方程式に対応する３行目が消去されることになる。よって、３行目について４列目の成分を３列目に足す必要は無いので、結局、４行目および１０行目についてのみ４列目の成分を３列目に足せば良いことになる。
【００６８】
そして、変数リストの中のｘ４がｘ４の変数表を示すポインタをｘ３の変数表を示すように変更する（図１１中破線で示す）。これにより、後にｘ４に何らかの値が代入された場合に、この値をｘ３に代入したものとして計算が行われるようにできる。
【００６９】
次に、数式２５のようにシステム行列Ａの３行目と４列目を消去した後に、隙間を詰めて数式２６のように９×９のシステム行列Ａに縮小した。
【数２６】
0003857840.tif 000006
また、変数配列Ｘおよび定数配列Ｃについては、３行目を削除して詰めた。これにより、連立方程式の総数を減らすことができるので、Ａ・Ｘ＝Ｃを迅速に解くことができるようになった。
【００７０】
さらに、ｘ３＝ｘ４以外にも互いに等しい変数は存在するので、これについても上述と同様の手法で片方の変数を削除して連立方程式の総数を減らすことにより、システム解析の迅速化に貢献することができる。
（実施例２）
インデックス配列Ｉ，Ｊの利用により行列の内部での行や列を入れ替えたり行列を縮小する手順を以下に示す。
【００７１】
数式２７に示すように、行列の行と列を指定するために入力されたｉとｊに対応してＰとＱが出力されるような行インデックス配列Ｉおよび列インデックス配列Ｊを設定した。
＜数２７＞
Ｐ＝Ｉ［ｉ］
Ｑ＝Ｊ［ｊ］
そして、見かけ上の行列Ｄ’の行と列を指定するために入力する数値を一旦インデックス配列Ｉ，Ｊを通して変換して、変換後の数値により行列Ｄの行と列を指定するように設定した。例えば数式２８に示すように、見かけ上の行列Ｄ’のｉ行ｊ列を指定するためにｉとｊを入力すると、このｉとｊがそれぞれインデックス配列Ｉ，Ｊで変換されて、行列ＤのＰ行Ｑ列成分が指定されるようにした。これにより、Ｐ及びＱにより成分が指定される実際の行列Ｄと、ｉ及びｊにより成分が指定される見かけ上の行列Ｄ’とが別個に存在することになる。
＜数２８＞
Ｄ’［ｉ］［ｊ］
＝Ｄ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ｄ［Ｐ］［Ｑ］
このため、インデックス配列Ｉ，Ｊを変更してｉとＰあるいはｊとＱの対応関係を変更することにより、行列Ｄの成分を実際に移動させなくても行列Ｄ’への入力値ｉ，ｊにより指定される成分を変更することができる。そして、システム解析のために連立方程式を解くときは、見かけ上の行列Ｄ’を使用する。
【００７２】
ここで、行列Ｄを例えば数式２９に示すように４×４に設定した。
【数２９】
0003857840.tif 000007
そして、行列Ｄの各成分を削除したり入れ替えたりするためにインデックス配列Ｉ，Ｊを利用した。ここでの行インデックス配列Ｉおよび列インデックス配列Ｊは、最初は表３に示すように設定した。
【表３】
0003857840.tif 000008
このとき、ｉ＝Ｐかつｊ＝Ｑであるので、実際の行列Ｄと見かけ上の行列Ｄ’とは同じになる。そして、見かけ上の行列Ｄ’の１行目と３行目とを入れ替える場合は、Ｉ［１］とＩ［３］の値を表４に示すように入れ替える。
【表４】
0003857840.tif 000009
このとき、見かけ上の行列Ｄ’は数式３０に示すものになる。
【数３０】
0003857840.tif 000010
ついで、見かけ上の行列Ｄ’の２列目と３列目とを入れ替える場合は、Ｊ［２］とＪ［３］の値を表５に示すように入れ替える。
【表５】
0003857840.tif 000011
このとき、見かけ上の行列Ｄ’は数式３１に示すものになる。
【数３１】
0003857840.tif 000012
さらに、見かけ上の行列Ｄ’の２行目と３列目とを削除する場合は、表６に示すようにＩ［２］およびＪ［３］より後ろのデータを１つずつ上側にシフトする。そして、最後のデータ（ここでは、Ｉ［４］およびＪ［４］）には、その行または列が無効であることを示す例えば負の値等を設定する。
【表６】
0003857840.tif 000013
このとき、見かけ上の行列Ｄ’は数式３２に示すものになる。
【数３２】
0003857840.tif 000014
これにより、行列Ｄの実際のデータの移動を全く行うことなく、見かけ上の行列Ｄ’の行や列の入れ替えおよび削除を行うことができた。よって、行列内での成分の移動や行または列の削除を行うときの処理速度を向上することができるように成る。
【００７３】
ところで、Ｎ×Ｎ行列からｉ行目とｊ列目とを削除するときにインデックス配列を使用せずにデータを個別に移動させる場合は、図１（Ａ）に矢印で示すように移動すべきデータの数は数式３３に示す値になる。
＜数３３＞
（Ｎ−１）２−（ｉ−１）×（ｊ−１）
これに対し、Ｎ×Ｎ行列からｉ行目とｊ列目とを削除するときにインデックス配列を用いた場合は、Ｎ×Ｎ行列を直接修正せずに各インデックス配列においてｉ行目またはｊ列目より後のデータを１つずつ前にずらすだけで良く、その移動すべきデータの数は数式３４に示す値になる。
＜数３４＞
（Ｎ−ｉ）＋（Ｎ−ｊ）＝２Ｎ−ｉ−ｊ
そして、数式３３と数式３４との差を求めて数式３５に示す。
＜数３５＞
（Ｎ−１）２−（ｉ−１）×（ｊ−１）−（２Ｎ−ｉ−ｊ）
＝（Ｎ−２）２−（ｉ−２）×（ｊ−２）
ここで、ｉとｊの最大値はＮなので、（ｉ−２）×（ｊ−２）の最大値は（Ｎ−２）２  であり、数式３５の値は常に０以上になる。したがって、インデックス配列を利用した方がデータの移動量が同じか少なくなるので、処理時間の短縮化を図ることができる。
（実施例３）
上述の実施例１で得られた数式２５のシステム行列Ａについて、インデックス配列Ｉ，Ｊの利用により隙間を詰めて９×９のシステム行列Ａに縮小した。この場合は、数式３６に示すように予め数式２５のシステム行列Ａをインデックス配列Ｉ，Ｊを利用した見かけ上の行列Ａ’により表しておく。
＜数３６＞
Ａ’［ｉ］［ｊ］
＝Ａ［Ｉ［ｉ］］［Ｊ［ｊ］］
＝Ａ［Ｐ］［Ｑ］
そして、表７に示すように、行インデックス配列ＩについてはＩ［４］〜Ｉ［１０］のデータをＩ［３］〜Ｉ［９］に上書きすると共にＩ［１０］に−１を設定した。
【表７】
0003857840.tif 000015
また、表８に示すように、列インデックス配列ＪについてはＪ［５］〜Ｊ［１０］のデータをＪ［４］〜Ｊ［９］に上書きすると共にＪ［１０］に−１を設定した。
【表８】
0003857840.tif 000016
これらのインデックス配列Ｉ，Ｊを利用することにより、数式２５のシステム行列Ａの隙間を詰めて９×９になった見かけ上の行列Ａ’を得ることができた。このとき、各インデックス配列で移動したデータの数量は合わせて１３個であった。
（比較例）
上述の実施例１で得られた数式２５のシステム行列Ａについて、図１（Ａ）  に矢印で示すように当該行列Ａのデータを実際に移動させることにより隙間を詰めて９×９のシステム行列Ａに縮小した。この場合、隙間を詰めるために７５個のデータを移動させる必要があった。
【００７４】
したがって、実施例３と比較して明らかなように、インデックス配列Ｉ，Ｊを利用してシステム行列の縮小を行うことにより、データの移動数を大幅に小さくすることができた。
【００７５】
【発明の効果】
以上の説明より明らかなように、請求項１記載のシステム解析方法あるいは請求項５記載のシステム解析装置によれば、線形計算時の連立方程式の数を減らすことができ各行列Ａ，Ｘ，Ｃを縮小化できるので、解を求めるための計算数を低減することができる。このため、システムの解析を高速化することができる。
【００７６】
また、請求項２記載のシステム解析方法あるいは請求項６記載のシステム解析装置によれば、システム行列Ａの実際のデータを移動させることなく行インデックス配列Ｉまたは列インデックス配列Ｊのデータを入れ替えるだけで見かけ上のシステム行列Ａ’の行と列を入れ替えたり削除することができるので、行列の行及び列の成分の移動時間を大幅に短縮することができる。このため、連立方程式を行列の利用によりＬＵ分解法などで連立方程式を解くときや、システム行列Ａの行または列を削除して縮小するときに、処理を高速化することができる。
【００７７】
さらに、請求項３記載のシステム解析方法あるいは請求項７記載のシステム解析装置によれば、計算処理の高速化および安定化を図ることができ、線形計算の処理速度を向上することができる。
【００７８】
また、請求項４記載のシステム解析方法あるいは請求項８記載のシステム解析装置もしくは請求項１２記載のシステム解析プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、計算処理の高速化および安定化を図ることができ、線形計算の処理速度を向上することができる。
【００７９】
一方、請求項９あるいは請求項１０記載のシステム解析プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、コンピュータで記録媒体に格納されたプログラムを読み取り、インストールすることによって、あるいはそのままプログラムを実行することによって、システムの解析時間を短縮化することができる。
【００８０】
また、請求項１１記載のシステム解析プログラムを記録したコンピュータ読み取り可能な記憶媒体によれば、コンピュータで記録媒体に格納されたプログラムを読み取って実行することにより、計算処理の高速化および安定化を図ることができ、線形計算の処理速度を向上することができる。
【図面の簡単な説明】
【図１】本発明のシステム解析方法を利用してシステム行列Ａを縮小する様子を示す図であり、（Ａ）はシステム行列ＡのＬ行及びＫ列を削除した状態、（Ｂ）は削除した隙間を詰めるようにデータを移動させた状態を示す。
【図２】本発明のシステム解析装置を示すブロック図である。
【図３】本発明のシステム解析方法の実行手順を示すフローチャートである。
【図４】本発明のシステム解析方法における各種バランス計算の実行手順を示すフローチャートである。
【図５】２段抽気を含む低圧蒸気タービンシステムを示すブロック図である。
【図６】タービンの入出力関係を示す図である。
【図７】凝縮器の入出力関係を示す図である。
【図８】圧縮機の入出力関係を示す図である。
【図９】第１再生機の入出力関係を示す図である。
【図１０】第２再生機の入出力関係を示す図である。
【図１１】変数のリストと変数表と式表との対応を示す図である。
【符号の説明】
１  システム解析装置
２  線形計算部
３  逐次計算部
４  判別部
【図１】
0003857840.tif 000017
【図２】
0003857840.tif 000018
【図３】
0003857840.tif 000019
【図４】
0003857840.tif 000020
【図５】
0003857840.tif 000021
【図６】
0003857840.tif 000022
【図７】
0003857840.tif 000023
【図８】
0003857840.tif 000024
【図９】
0003857840.tif 000025
【図１０】
0003857840.tif 000026
【図１１】
0003857840.tif 000027