(57)【要約】【課題】パイプライン・オプティマイザ・システムを提供することである。【解決手段】本発明の一実施形態は、遺伝的アルゴリズムを使用することによって、パイプライン動作の様々な様相を最適化する方法を提供する。概して、遺伝的アルゴリズムは、終了条件が満足されるまで、連続した世代にわたって実現可能なソリューションの集団を進化させるために使用される。各ソリューションは、パイプラインシステムの実現可能な動作状態を指定する。現存するソリューションは連続した世代にわたって修正され、集団内の識別されたソリューションは各々の連続世代で除去される。反復された世代にわたって、集団内のソリューションは改善される。一度、最適化生成ソリューションが生成されると、直接圧力最適化プロセスを使用して、最適化圧力ソリューションが生成されてもよい。【選択図】
2008537246.tif 000002
【特許請求の範囲】
【請求項１】
パイプラインシステムの動作を最適化するコンピュータ実現方法であって、
ａ）入力データを読み取ることであって、前記入力データが前記パイプラインシステムを記述していることと、
ｂ）ソリューションの集団を生成することであって、前記集団内の前記ソリューションの各々が前記パイプラインシステムについて実現可能な生産状態を指定することと、
ｃ）前記集団内の前記ソリューションの各々を評価し、評価に従って前記集団内の前記ソリューションを並べ替えることと、
ｄ）前記入力データによって指定された終了条件が満足されるまで、前記集団の上で遺伝的最適化プロセスを実行することと、
ｅ）前記ソリューションの前記集団から、最適化された生産ソリューションを選択することであって、前記最適化された生産ソリューションが、前記遺伝的最適化プロセスが実行された後、前記集団内の前記ソリューションに対して、最高の評価を有することと、
ｆ）前記最適化された生産ソリューションのために、直接圧力最適化プロセスを使用して、前記パイプラインシステムの１つ以上の配送点の出力圧力及び前記パイプラインシステムの１つ以上の生産ノードの入力圧力を指定する最適化された圧力ソリューションを生成することと、
を備える方法。
【請求項２】
前記遺伝的最適化プロセスを実行することが、
ａ）前記集団内の少なくとも１つの前記ソリューションによって指定された実現可能動作状態の少なくとも１つの様相を修正することと、
ｂ）修正された前記ソリューションによって指定された前記動作状態に従って、前記パイプラインシステムの動作をシミュレーションすることと、
ｃ）修正された前記ソリューションのパフォーマンスを評価することと、
ｄ）修正された前記ソリューションを前記集団へ追加することと、
ｅ）前記集団内の前記ソリューションに対して、最も貧弱な評価を有する前記ソリューションを前記集団から除去することと、
を備える、請求項１に記載の方法。
【請求項３】
前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することが、
ａ）ソリューション修正手法を選択することと、
ｂ）修正すべき少なくとも１つの前記ソリューションを前記集団から選択することと、
ｃ）選択された前記ソリューション修正手法に従って少なくとも１つの前記ソリューションを修正することと、
を備える、請求項２に記載の方法。
【請求項４】
前記ソリューション修正手法が、前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相をランダムに修正する、請求項３に記載の方法。
【請求項５】
前記ソリューション修正手法が、発見的規則に従って少なくとも１つの前記ソリューションを修正する、請求項３に記載の方法。
【請求項６】
前記ソリューション修正手法が２つ以上の前記ソリューションを交雑して、修正された前記ソリューションを生成する、請求項３に記載の方法。
【請求項７】
前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することが、１つ以上の前記ソリューションを確率的に選択することを備え、優越した評価を有する前記ソリューションが、劣等な評価を有する前記ソリューションよりも、修正のために選択される可能性が大きい、請求項１に記載の方法。
【請求項８】
更に、前記入力データファイルが、最適化される前記パイプラインシステムを記述していることを確認することを備える、請求項１に記載の方法。
【請求項９】
前記入力データによって指定された前記終了条件が、生成される前記ソリューションの最大数、費やされる時間の最大量、世代の最大数、及び指定された評価を超える前記ソリューションの生成の少なくとも１つを含む前記終了条件を備える、請求項１に記載の方法。
【請求項１０】
前記ソリューションの前記集団を生成することが、第１の群の前記ソリューション及び第２の群の前記ソリューションを生成することを備え、第１の群の前記ソリューションが発見的規則に従って生成され、第２の群の前記ソリューションがランダム・プロセスを使用して生成される、請求項１に記載の方法。
【請求項１１】
前記入力データが少なくとも１つの拡張可能マークアップ言語（ＸＭＬ）ドキュメントを備える、請求項１に記載の方法。
【請求項１２】
前記入力データがパイプライン状況データベースから検索され、前記パイプライン状況データベースが前記パイプラインシステムの現在の前記動作状態を記憶する、請求項１に記載の方法。
【請求項１３】
プログラムを含むコンピュータ可読媒体であって、前記プログラムが、実行されたとき、パイプラインシステムの動作を最適化する動作を実行し、前記最適化する動作は、
ａ）入力データを読み取ることであって、前記入力データが、最適化されるべき前記パイプラインシステムを記述していることと、
ｂ）ソリューションの集団を生成することであって、前記集団内の前記ソリューションの各々が前記パイプラインシステムについて実現可能動作状態を指定することと、
ｃ）前記集団内の前記ソリューションの各々を評価し、評価に従って前記集団内の前記ソリューションを並べ替えることと、
ｄ）前記入力データによって指定された終了条件が満足されるまで、前記集団の上で遺伝的最適化プロセスを実行することと、
ｅ）前記ソリューションの前記集団から、最適化された生産ソリューションを選択することであって、前記最適化された生産ソリューションが、前記遺伝的最適化プロセスが実行された後、前記集団内の前記ソリューションに対して、最高の評価を有することと、
ｆ）直接圧力最適化プロセスを使用して、前記最適化された生産ソリューションのために、前記パイプラインシステムの１つ以上の配送点の出力圧力及び前記パイプラインシステムの１つ以上の生産ノードの入力圧力を指定する最適化された圧力ソリューションを生成することと、
を備える媒体。
【請求項１４】
前記遺伝的最適化プロセスを実行することが、
ａ）前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの様相を修正することと、
ｂ）修正された前記ソリューションによって指定された前記動作状態に従って、前記パイプラインシステムの動作をシミュレーションすることと、
ｃ）修正された前記ソリューションのパフォーマンスを評価することと、
ｄ）修正された前記ソリューションを前記集団へ追加することと、
ｅ）最も貧弱な評価を有する前記ソリューションを前記集団から除去することと、
を備える、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することが、
ａ）ソリューション修正手法を選択することと、
ｂ）修正すべき少なくとも１つの前記ソリューションを前記集団から選択することと、
ｃ）選択された前記ソリューション修正手法に従って、少なくとも１つの前記ソリューションを修正することと、
を備える、請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記ソリューション修正手法が、前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相をランダムに修正する、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記ソリューション修正手法が、発見的規則に従って少なくとも１つの前記ソリューションを修正する、請求項１５に記載のコンピュータ可読媒体。
【請求項１８】
前記ソリューション修正手法が２つ以上の前記ソリューションを交雑して、修正された前記ソリューションを生成する、請求項１５に記載のコンピュータ可読媒体。
【請求項１９】
前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することが、１つ以上の前記ソリューションを確率的に選択することを備え、優越した評価を有する前記ソリューションが、劣等な評価を有する前記ソリューションよりも、修正のために選択される可能性が高い、請求項１３に記載のコンピュータ可読媒体。
【請求項２０】
前記動作が、更に、最適化される前記パイプラインシステムを前記入力データファイルが記述していることを確認することを備える、請求項１３に記載のコンピュータ可読媒体。
【請求項２１】
前記入力データによって指定された前記終了条件が、生成される前記ソリューションの最大数、費やされる時間の最大量、世代の最大数、及び指定された評価を超える前記ソリューションの生成の少なくとも１つを含む前記終了条件を備える、請求項１３に記載のコンピュータ可読媒体。
【請求項２２】
前記ソリューションの前記集団を生成することが、第１の群の前記ソリューション及び第２の群の前記ソリューションを生成することを備え、第１の群の前記ソリューションが発見的規則に従って生成され、第２の群の前記ソリューションがランダム・プロセスを使用して生成される、請求項１３に記載のコンピュータ可読媒体。
【請求項２３】
前記入力データが、少なくとも１つの拡張可能マークアップ言語（ＸＭＬ）ドキュメントを備える、請求項１３に記載のコンピュータ可読媒体。
【請求項２４】
前記入力データがパイプライン状況データベースから検索され、前記パイプライン状況データベースは前記パイプラインシステムの現在の前記動作状態を記憶している、請求項１３に記載のコンピュータ可読媒体。
【請求項２５】
パイプラインシステムの動作を最適化するシステムであって、
ａ）プロセッサと、
ｂ）最適化プログラムと、
を備え、
前記最適化プログラムが、前記プロセッサによって実行されたとき、
ｉ）入力データを読み取り、前記入力データが、最適化されるべき前記パイプラインシステムを記述しており、
ｉｉ）ソリューションの集団を生成し、前記集団内の前記ソリューションの各々が前記パイプラインシステムについて実現可能な生産状態を指定し、
ｉｉｉ）前記ソリューションの前記集団内の前記ソリューションの各々を評価し、
ｉｖ）前記入力データによって指定された終了条件が満足されるまで、前記集団の上で遺伝的最適化プロセスを実行し、
ｖ）前記ソリューションの前記集団から、最適化された生産ソリューションを選択し、前記最適化された生産ソリューションが、前記遺伝的最適化プロセスが実行された後、前記集団内の前記ソリューションに対して、最高の評価を有し、
ｖｉ）直接圧力最適化プロセスを使用して、前記最適化された生産ソリューションのために、前記パイプラインシステムの１つ以上の配送点の出力圧力及び前記パイプラインシステムの１つ以上の生産ノードの入力圧力を指定する最適化された圧力ソリューションを生成する
ように構成されたシステム。
【請求項２６】
前記最適化プログラムが、
ａ）前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正し、
ｂ）修正された前記ソリューションによって指定された前記動作状態に従って、前記パイプラインシステムの動作をシミュレーションし、
ｃ）修正された前記ソリューションのパフォーマンスを評価し、
ｄ）修正された前記ソリューションを前記集団へ追加し、
ｅ）前記集団内の前記ソリューションに対して、最も貧弱な評価を有する前記ソリューションを前記集団から除去する
ことによって、前記遺伝的最適化プロセスを実行するように構成された、請求項２５に記載のシステム。
【請求項２７】
前記プログラムが、
ａ）ソリューション修正手法を選択することと、
ｂ）修正すべき少なくとも１つの前記ソリューションを前記集団から選択することと、
ｃ）選択された前記ソリューション修正手法に従って、少なくとも１つの前記ソリューションを修正することと、
の各ステップを実行することによって、前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正するように構成された、請求項２６に記載のシステム。
【請求項２８】
前記ソリューション修正手法が、前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相をランダムに修正する、請求項２７に記載のシステム。
【請求項２９】
前記ソリューション修正手法が、発見的規則に従って少なくとも１つの前記ソリューションを修正する、請求項２７に記載のシステム。
【請求項３０】
前記ソリューション修正手法が２つ以上の前記ソリューションを交雑して、修正された前記ソリューションを生成する、請求項２７に記載のシステム。
【請求項３１】
前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することが、１つ以上の前記ソリューションを確率的に選択することを備え、優越した評価を有する前記ソリューションが、劣等な評価を有する前記ソリューションよりも、修正のために選択される可能性が高い、請求項２５に記載のシステム。
【請求項３２】
前記入力データによって指定された前記終了条件が、生成される前記ソリューションの最大数、費やされる時間の最大量、世代の最大数、及び指定された評価を超える前記ソリューションの生成の少なくとも１つを含む前記終了条件を備える、請求項２５に記載のシステム。
【請求項３３】
前記最適化プログラムが、第１の群の前記ソリューション及び第２の群の前記ソリューションを生成することによって、前記ソリューションの前記集団を生成するように構成され、第１の群の前記ソリューションが発見的規則に従って生成され、第２の群の前記ソリューションがランダム・プロセスを使用して生成される、請求項２５に記載のシステム。
【請求項３４】
前記入力データがパイプライン状況データベースから検索され、前記パイプライン状況データベースが前記パイプラインシステムの現在の前記動作状態を記憶する、請求項２５に記載のシステム。
【請求項３５】
パイプラインシステムの動作を最適化する方法であって、
ａ）遺伝的アルゴリズム最適化手法を使用し、シード・ソリューションの集団を最適化することによって、前記パイプラインシステムへ供給される原材料の生産について最適化された生産ソリューションを生成することと、
ｂ）直接圧力最適化手法を使用して、前記最適化された生産ソリューションのために、前記パイプラインシステムの１つ以上の配送点に存在する出力圧力及び前記パイプラインシステムの１つ以上の生産ノードで生成すべき入力圧力を指定する最適化された圧力ソリューションを生成することと、
を備える方法。
【請求項３６】
前記出力圧力が、それぞれの前記配送点の要求最小配送圧力の中にあり、前記入力圧力が、前記パイプラインシステムのそれぞれの前記生産ノードについて許容される最大入力圧力の中にある、請求項３５に記載の方法。
【請求項３７】
前記パイプラインシステムに含められる前記原材料の生産について最適化された前記ソリューションを生成することが、
ａ）入力データを読み取ことであって、前記入力データが、最適化されるべき前記パイプラインシステムを記述していることと、
ｂ）前記ソリューションの前記集団を生成し、前記集団内の前記ソリューションの各々が前記パイプラインシステムの実現可能な生産状態を指定することと、
ｃ）前記集団内の前記ソリューションの各々を評価し、評価に従って前記集団内の前記ソリューションを並べ替えることと、
ｄ）前記入力データによって指定された終了条件が満足されるまで、前記集団の上で最適化プロセスを実行し、前記最適化プロセスが備えることと、
を備える、請求項３５に記載の方法。
【請求項３８】
前記遺伝的アルゴリズム最適化手法を実行することが、
ａ）前記集団内の少なくとも１つの前記ソリューションによって指定された前記実現可能動作状態の少なくとも１つの前記様相を修正することと、
ｂ）修正された前記ソリューションによって指定された前記動作状態に従って、前記パイプラインシステムの動作をシミュレーションすることと、
ｃ）修正された前記ソリューションのパフォーマンスを評価することと、
ｄ）修正された前記ソリューションを前記集団へ追加することと、
ｅ）前記集団内の前記ソリューションに対して、最も貧弱な評価を有する前記ソリューションを前記集団から除去することと、
を備える、請求項３７に記載の方法。
【請求項３９】
前記集団内の少なくとも１つの前記ソリューションの少なくとも１つの前記様相を修正することが、
ａ）ソリューション修正手法を選択することと、
ｂ）修正すべき少なくとも１つの前記ソリューションを前記集団から選択することと、
ｃ）選択された前記ソリューション修正手法に従って、少なくとも１つの前記ソリューションを修正することと、
を備える、請求項３８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
一般的に、パイプラインシステムは、１つの点から他の点、通常は１つ（又は複数）の生産又は処理点から他の点又は使用点へ液体又は気体の原材料を運送する連続パイプ導管を提供する。パイプ導管は、機器、例えば、弁、圧縮機ステーション、通信システム、及び計量器で完結する。例えば、図１は、気体窒素パイプライン及び並行して走る気体酸素パイプラインの双方を含む二重パイプラインシステムを示す。パイプライン・ルートに沿った様々な場所で多数のプラントが示され、空気分離器、圧縮機、昇圧機、調整器、及び他の機器要素（ｅｑｕｉｐｍｅｎｔ  ｅｌｅｍｅｎｔｓ）が、原材料をパイプラインの中へ導入するように動作する。
【背景技術】
【０００２】
図１で示されるようなパイプラインシステムの動作を最適化することは、複雑な仕事である。特に、パイプラインシステムを最適化して、様々なノードの電力コスト、再構成可能な要素（ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｅｌｅｍｅｎｔｓ）（例えば、パイプラインの特定のノードで圧力又は流れを増加するか、圧力又は流れを減少するように働くことのできるパイプライン要素）、及び様々なノードにおける契約義務出力及び圧力要件を説明することは、困難な仕事であることを証明した。市販されているパイプライン最適化システムは、概して、複雑なパイプラインシステムを構成するための満足なソリューションを提供することができなかった。特に、市販されているパイプライン最適化システムは、パイプラインを動作させるときの動作コストに大きな影響を与える様々な要因を説明することができなかった。例えば、現在利用可能な最適化システムは、２つ以上の原材料を運送するように構成されたパイプラインシステム（例えば、図１で示される二重パイプラインシステム）を説明しなかった。それらの最適化システムは、クライアント契約の全ての特徴（例えば、パイプライン動作の生産面からの「テーク・オア・ペイ契約」及びパイプライン動作の配送面からの最小圧力／流量の双方）を説明しなかった。また、それらの最適化システムは、再構成可能なネットワーク要素の構成を最適化しなかった。その代わりに、そのようなシステムは、しばしば、多様なこれらの変数を制約し、パイプライン動作の隔離された様相（ａｓｐｅｃｔ）を最適化することを求め、他の様相が独立に最適化されることを仮定する。しばしば、これは次善のソリューションを導いてきた。更に、現在のシステムが高品質のソリューションを識別できることを証明したときでも、しばしば、合理的な時間量の中でそれを行うことはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、パイプラインシステムの動作を最適化する手法の必要性が残る。典型的には、最適化プロセスはパイプライン動作の許容状態を識別するために使用されるべきである。このような許容状態は、動作要件、物理的能力を満足させ、動作コスト、最も注目すべきものとして電力消費を最小にする。
【課題を解決するための手段】
【０００４】
一実施形態において、本発明はパイプライン動作をシミュレーション及び最適化することに関する。本発明の一実施形態は、パイプラインシステムの動作を最適化する方法を含む。方法は、概して、入力データを読み取ことであって、入力データが最適化されるべきパイプラインシステムを記述することと、ソリューションの集団を生成することであって、集団内のソリューションの各々がパイプラインシステムについて実現可能な状態を指定することとを含む。方法は、概して、更に、入力データによって指定された終了条件が満足されるまで、集団の上で遺伝的最適化プロセスを実行することと、集団内のソリューションに対して、最良の評価を有する最適化生産ソリューションを選択することとを含む。
【０００５】
一度、最適化された生産ソリューションが生成されると、方法は、概して、更に、最適化された生産ソリューションのために、直接圧力最適化プロセスを使用して、パイプラインシステムの１つ以上の配送点に存在する出力圧力及びパイプラインシステムの１つ以上の生産ノードにおける入力圧力を指定する最適化圧力ソリューションを生成することを含む。
【０００６】
遺伝的最適化プロセスを実行することは、概して、集団内の少なくとも１つのソリューションによって指定された実現可能な動作状態の少なくとも１つの様相（ａｓｐｅｃｔ）を修正すること、修正されたソリューションによって指定された動作状態に従って、パイプラインシステムの動作をシミュレーションすること、及び修正されたソリューションのパフォーマンスを評価することを含む。最適化プロセスは、概して、更に、修正されたソリューションを集団へ追加すること、及び最悪の評価を有するソリューションを集団から除去することを含む。
【０００７】
特定の実施形態において、ソリューションの初期集団は、第１の群のソリューション及び第２の群のソリューションを含んでもよい。概して、第１の群のソリューションは発見的規則に従って生成されてもよく、第２の群のソリューションはランダム・プロセスを使用して生成されてもよい。
【０００８】
特定の実施形態において、ソリューションによって指定された実現可能動作状態の少なくとも１つの様相を修正することは、概して、ソリューション修正手法を選択することと、選択されたソリューション修正手法に従って修正すべき少なくとも１つのソリューションを集団から選択することとを含んでもよい。
【０００９】
任意の数のソリューション修正手法が使用されてもよい。例えば、１つのソリューション修正手法は集団内のソリューションをランダムに修正することを含み、他の手法は発見的規則に基づいてソリューションを修正することを含み、第３の手法は２つ以上のソリューションを交雑することを含む。更に、入力データは、使用されるときに現実世界のパイプラインシステムへ関連づけられてもよいので、入力データは、パイプラインシステムの現在の現実世界動作状態を記述するシステム状況データベースから来てもよい。入力データは、構造化形式、例えば、データを記述するために広く使用される拡張可能マークアップ言語（ＸＭＬ）で提供されてもよい。
【００１０】
他の実施形態は、パイプラインシステムの動作を最適化する方法を含む。方法は、概して、遺伝的アルゴリズム最適化手法を使用し、パイプラインシステムへ供給される原材料の生産について、最適化された生産ソリューションを生成し、シード・ソリューションの集団を最適化することを含む。遺伝的アルゴリズム最適化手法は、シード・ソリューションの集団を最適化し、前述した手法に従って、最適化された生産ソリューションを生成するように構成されてもよい。方法は、概して、更に、最適化された生産ソリューションのために、直接圧力最適化手法を使用して、パイプラインシステムの１つ以上の配送点に存在する出力圧力及びパイプラインシステムの１つ以上の生産ノードで生成すべき入力圧力を指定する最適化圧力ソリューションを生成することを含む。
【００１１】
特定の実施形態において、１つ以上の配送点の出力圧力は、それぞれの配送点の要求最小配送圧力と、パイプラインシステムのそれぞれの生産ノードに許容される最大入力圧力との中にある。
【００１２】
本発明の性質及び目的を更に理解するためには、添付の図面と結びつけて下記の詳細な説明を参照すべきである。図面において、同様の要素は、同一又は類似の参照数字を与えられる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施形態は、パイプライン動作の様々な様相を最適化するために使用されるコンピュータ化された最適化システムを提供する。一般的に、「最適化」の用語は、本明細書では、通常、電力又は他の動作コストに関して、パイプライン動作の他の状態よりも優れた状態の変化を記述するために使用される。本発明の実施形態は、パイプラインの動作制約を満足させる問題に対して、低コスト・ソリューションを識別するために使用される最適化システムを提供する。しかし、本発明の実施形態は、パイプライン構成に対して、最適又は最良ソリューションを識別するようには要求されないことに注意すべきである。その代わりに、最適化の用語は、一般的に、困難な問題に対して、合理的な時間量の中で、許容できるソリューションを発見することを意味する。
【００１４】
一実施形態において、最適化システムは、最適化問題の高品質ソリューションを探索するように構成されたソフトウェア・アプリケーションである。パイプラインシステムの場合、最適化システムは機器の設定及び構成を探索する。これらの機器の設定及び構成は、顧客及び動作要件を満足させ、同時に電力コストを最小にする
最適化システムによって識別又は生成される最適化の例は、異なるプラント間で生産を移行することによって電力コストを低減すること、圧縮機の設定を最適化すること、多数の機能を実行するパイプライン要素の構成、及びシステム動作上の制約を満足させることを含む。こうして、最適化システムは、パイプラインを作動させるために必要な電力コストを最小にし、同時にパイプラインの様々なノードに位置する顧客へ契約義務吐き出し圧力（原材料の流れ）を提供するために使用されてもよい。
【００１５】
一実施形態において、動作制約は、「ハード」制約及び「ソフト」制約の双方を含む。ハード制約は、ソリューションが実現可能と見なされるとすれば、最適化問題のソリューションが満足させなければならない要件である。例えば、ソリューションは要求された圧力で生産物をクライアントへ配送し、同時にパイプラインのいずれかの部分で最大圧力のハード制約を超過する場合がある。ハード制約の妨害は、ソリューションを実現不可能にする。ハード制約の追加の例は、パイプラインの区分における最小及び最大の圧力と流れ、調整器の弁の最大開放、プラントのオン又はオフを要求する制約、及び圧縮機モデルの物理的制限を含む。
【００１６】
ソフト制約は、満足させることが望ましいパイプライン・パフォーマンス上の制約であるが、ソリューションを実現可能にするためにソフト要件を満足させることは要求されない。例えば、ソフト制約は、プラントにおけるガス抜きを低減することであってもよい。ガス抜きが起こらなければならない多くの状況が存在するが、ガス抜きがソリューションを無効にしない限り、ガス抜きを最小にする要件は、ハード制約ではなくソフト制約である。ソフト制約の他の例は、「テーク・オア・ペイ」協定である。その場合、パイプライン作業者は、使用したか否かに関わらず、利用可能な生産物又は原材料について支払わなければならない。ソフト制約の場合、特定のパイプライン構成の他の効率が、生じたペナルティを補償するならば、そのような構成は許容できるか、好ましくさえもある。
【００１７】
本発明の実施形態は、本明細書において、気体酸素（ＧＯＸ又はＯ２）及び気体窒素（ＧＡＮ又はＮ２）の双方を運送するために構成された二重パイプライン・ネットワークの動作に関して説明される。即ち、本発明の実施形態は、図１の地図で示されたパイプラインシステムに関して説明される。しかし、当業者は、本発明の実施形態が、Ｏ２又はＮ２以外の原材料を含む３つ以上（又は１つ以下）の原材料を運送するために構成されたパイプライン・ネットワークのパイプライン動作を最適化するように適合されてもよいことを認識するであろう。
【００１８】
図２は、本発明の一実施形態に従ってパイプラインシステムの動作的様相を最適化するために使用されるシステム２００を示すブロック図である。一般的に、システム２００で例示されたコンポーネントは、既存のコンピュータ・システム、例えば、デスクトップ・コンピュータ、サーバ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータなどのために構成されたコンピュータ・ソフトウェア・アプリケーションとして実現されてもよい。しかし、本明細書で説明されるソフトウェア・アプリケーションは、特定のコンピューティング・システムに限定されず、利用可能となったときの新しいコンピューティング・システムを利用するように適応されてもよい。更に、システム２００は、マルチプロセッシング環境、例えば、複数のＣＰＵを有するシステム、及び分散及び並列システム、例えば、コンピューティング・クラスタ又はグリッドで使用するように適応されてもよい。
【００１９】
更に、システム２００で例示されるソフトウェア・アプリケーションは、ローカルエリアネットワーク又は大型広域ネットワーク、例えば、インターネットを含むコンピュータ・ネットワーク上で通信する分散システムで実行していてもよい。更に、一実施形態において、システム２００のコンポーネントは、コンピュータ可読媒体、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フラッシュメモリ・モジュール、又は他の有形記憶媒体の上に記憶された１つのアプリケーション・プログラム（又は複数のプログラム）として提供されてもよい。
【００２０】
一般的に、本発明の実施形態を実現するために実行されるルーチンは、オペレーティング・システム又は具体的アプリケーションの一部分、コンポーネント、プログラム、モジュール、オブジェクト、又は命令シーケンスであってもよい。本発明のコンピュータ・プログラムは典型的には複数の命令を備え、これらの複数の命令は、ネイティブ・コンピュータによって機械読み取り可能形式、したがって実行可能命令へ変換される。更に、プログラムは変数及びデータ構造を備え、これらの変数及びデータ構造は、プログラムに対してローカルに常駐するか、メモリ又は記憶デバイスの中に見出される。更に、この後で説明される様々なプログラムは、本発明の具体的な実施形態で実現されるアプリケーションに基づいて識別されてもよい。しかし、理解すべきこととして、この後で現れる具体的なプログラム名称は単なる便宜のために使用され、したがってそのような名称によって識別及び／又は暗示される特定のアプリケーションの中でのみ使用するように本発明を限定すべきではないことである。
【００２１】
図示されるように、システム２００は最適化アプリケーション２１０、パイプライン状況データベース２１５、入力ファイル２２０、及び出力ファイル２５５を含む。入力ファイル２２０はパイプラインシステム・モデル２２５を含む。パイプラインシステム・モデル２２５は、最適化されるべきパイプライン、パイプライン制約、最適化目標、及び最適化プロセスのパラメータをを記述する。この情報は、更に、異なるプラントの現在の状況、圧縮機の設定、多機能パイプライン要素の現在の構成などを含んでもよい。例示されるように、パイプラインシステム・モデル２２５は、パイプライン・ネットワーク・モデル２３５及びプラント・モデル２３０を含む。パイプライン・ネットワーク・モデル２３５は、最適化されるべきパイプラインシステムのトポロジを記述し、プラント・モデル２３０は、パイプラインシステム・モデル２３５によって記述されるパイプラインシステムへ接続された１つ以上の生産プラントを記述する。図１で例示されるパイプラインシステムにおいて、プラントは空気分離器（ＡＳＵ）、気化装置、及びパイプライン内への気体の圧力及び流れを増加する圧縮機を含んでもよい。もちろん、他のパイプライン・ネットワークについては、他の要素が使用されて、原材料及び圧力をパイプラインの中へ導入してもよい。
【００２２】
一実施形態において、パイプラインシステム・モデル２２５は、拡張可能マークアップ言語（ＸＭＬ）を使用して編成されてもよい。ＸＭＬは、マークアップ言語を作成するために広く使用される標準であって、データ構造を記述するために使用される。ＸＭＬによって、作成者は自分自身のマークアップ・タグ及びドキュメント構造を定義することができる。更に、様々なＸＭＬファイル・ビューア及びエディタが市販される。そのようなエディタを使用して、ユーザはパイプラインシステム・モデル２２５を作成、保存、及び修正してもよい。図３Ａ〜図３Ｇは、更に、例示的なＸＭＬ文法を使用してプラント・モデル２３０及びパイプ・ネットワーク・モデル２３５の要素を例示する。
【００２３】
パイプライン状況データベース２１５は、パイプラインシステムの現在の動作状態に関する情報を提供する。一実施形態において、入力ファイル２２０は、パイプライン状況データベース２１５から得られる情報を使用して生成されてもよい。言い換えれば、パイプラインシステム・モデル２２５は、既存のパイプライン（例えば、図１で示されるパイプラインシステム）の実際の動作状況を反映してもよい。代替として、ユーザは、様々な仮定的パイプライン・トポロジ及び構成を定義してもよい。そうすることによって、既存のパイプラインへの潜在的変更の「仮定」分析を実行するようにシステム２００を使用することができる。例えば、ユーザはパイプラインシステム・モデル２２５を作成して、特に、機器のアップグレードによって取得可能な利点を研究し、新しい顧客を追加するコストを研究し、新しい設備を追加する利点を研究してもよい。
【００２４】
最適化アプリケーション２１０は、入力ファイル２２０によって記述されたパイプラインシステムの構成に対する高品質ソリューションを識別するように構成されてもよい。そのようなソリューションは、パイプラインシステムの各構成可能な要素について設定を指定してもよく、ソリューションは、更に、入力ファイル２２０によって指定された動作制約を満足させてもよい。一実施形態において、最適化アプリケーション２１０は多数のモジュールを含み、これらのモジュールは、最適化プロセスに関連した異なる機能を実行するように構成される。図示されるように、最適化アプリケーション２１０は入力モジュール２４０、ユーザ・インタフェース・モジュール２６０、最適化モジュール２４５、及び出力モジュール２５０を含む。
【００２５】
ユーザ・インタフェース・モジュール２６０によって、ユーザは最適化アプリケーション２１０と対話することができる。例えば、ユーザ・インタフェース・モジュール２６０はグラフィカル・ユーザ・インタフェース（ＧＵＩ）を提供してもよい。ＧＵＩによって、パイプライン・ネットワーク・モデル２３５、プラント・モデル２３０、及びパイプライン・コンポーネントに関連づけられたパラメータを図形で編集することができ、更に、ユーザは最適化の結果を検査することができる。入力モジュール２４０の様相は、更に、図４を参照して説明される。
【００２６】
最適化モジュール２４５は、入力ファイル２２０を使用して最適化実行を達成するように構成されてもよい。一実施形態において、最適化実行の出力は、時間及び他の制約が入力ファイル２２０の中に含まれるものと仮定して、最適化モジュール２４５によって識別されるパイプライン構成に対する最良ソリューションである。最適化モジュール２４５の様相は、更に、図５を参照して説明される。出力モジュール２５０は、最適化モジュール２４５によって達成される最適化実行の結果を処理するように構成されてもよい。例えば、出力モジュール２５０は、所与の最適化実行の結果を呈示する多数のレポートを生成するように構成されてもよく、これらのレポートはユーザへ呈示される（例えば、出力ファイル２５５）。
【００２７】
一実施形態において、出力モジュール２５０は、最適化実行中に発見された最良ソリューション、及びこのソリューションの評価を記述するＸＭＬファイルを生成するように構成される。例えば、最適化モジュール２４５は要約ファイルを生成する。この要約ファイルは、実行がどれくらいの時間を取ったか、どのような最適化パラメータが使用されたか、どのようなパイプラインシステムが入力ファイル２２０の中に含められたかなど、及び最適化実行中に起こった異常条件又は疑わしいデータ誤りを記述する。
【００２８】
図３Ａ〜図３Ｇは、本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。図示されるように、これらの図は、パイプラインシステム・モデル２２５を記述する例示的ＸＭＬ文法の図形表現を提供する。図３Ａ〜図３Ｇのデータ要素は、図１で示されるパイプラインシステムを表現するように適応される。しかし、ＸＭＬ文法は、任意の数の異なるパイプラインシステムを記述するために定義されてもよいことを、当業者は認識するであろう。したがって、下記で説明される具体的ＸＭＬ要素は、システム・モデル２２５の実施形態の例として提供され、他のパイプラインシステムについては、異なるＸＭＬ要素が定義されてもよい。更に、公知のように、ＸＭＬドキュメントは、単一のルート要素から始めて、データ要素を階層構造へ組織する。各要素は、１つ以上の副要素（ｓｕｂ−ｅｌｅｍｅｎｔ）及び／又は属性を含んでもよい。図３Ａ〜図３Ｇにおいて、各要素はラベル付きボックスとして表現され、ラベル付きボックスは副要素を表示するように拡張されてもよい。
【００２９】
最初に、図３Ａは、パイプラインシステム・モデル３００から始まる例示的ＸＭＬ文法のルート要素を示す。パイプラインシステム・モデル３００は２つの副要素、即ち、パイプラインシステム３３５及びプラント要素３３０を含む。パイプラインシステム３３５及びプラント要素３３０の左にある拡張ボックスは、これらのデータ要素が副要素を含み得ることを示す。更に、範囲データ３０５は、所与のシステム・モデル３００の中の所与のタイプの要素の数に対する制限を示してもよい。したがって、この例において、パイプラインのデータ・モデルは単一のシステム・モデル３００（即ち、単一のルート要素）、１つ又は２つのパイプラインシステム要素３３５を含み、任意の数のプラント要素３３０を含み得る。図３Ｂ〜図３Ｄは、更に、プラント要素３３０を示し、図３Ｅ〜図３Ｇは、更に、パイプラインシステム要素３３５を示す。
【００３０】
図３Ｂは、更に、プラント要素３３０を示す。図示されるように、プラント要素３３０はプラント要素３３７を含む。プラント要素３３７は、原材料が生成されてパイプラインの中へ挿入される現実（又は仮定）の生産プラントを表してもよい。プラント要素３３０は任意の数のプラント要素３３７を含んでもよく、プラント要素３３７は所与のデータ・モデルの中のプラントを表す。プラント要素３３７のダッシュ線は、この要素が有効なシステム・モデル３００には要求されないことを示すために使用される。言い換えれば、プラント要素３３７を含まないシステム・モデル要素３００が作成されてもよい。図示されるように、各プラント要素３３７はプラントＩＤ３３９及びガス特定データ３４１を含む。更に、各プラント要素３３７は、空気分離器（ＡＳＵ）３４０を表す副要素を含んでもよい。一般的に、ＡＳＵは大気からＯ２又はＮ２を精製及び取得するために使用される１個の機器である。
【００３１】
図３Ｃは、記述される例示的ＸＭＬに従って、ＡＳＵ要素３４０に指定されてもよい副要素を示す。図示されるように、ＡＳＵ要素３４０は基本機器特性３４１を含む。この例において、基本機器特性３４１は最大の流れ、最小の流れ、電力コスト、及びＡＳＵ３４０の動作状況を指定及び記述する副要素３４３を含む。更に、ＡＳＵ３４０は係数の集合３４５を含んでもよい。集合３４５はＡＳＵ３４０を表す馬力を記述するために使用される。下記で詳細に説明するように、これらの係数はパイプラインシステム・モデル２２５のシミュレーション段階及び最適化段階の双方で使用されてもよい。
【００３２】
図３Ｄは、ガス特定データ要素３４１のために、記述される例示的ＸＭＬ文法の一部分として指定されてもよい副要素を示す。図示されるように、ガス特定データ要素３４１はノード要素３４２を含む。データ・モデルのこの要素は、プラントの出力がパイプラインシステムへ入るパイプラインシステムのノードを示すために使用されてもよい。ノードは、更に、図３Ｅとの関連でパイプラインシステム３３５の要素として記述される。記号３４５は、データ・モデルの中のガス特定データ要素３４１のインスタンスが、２つの分岐の１つからの要素を含んでもよい（又は２つの分岐のいずれからの要素も含まない）ことを示す。この例において、ガス特定データ要素３４１は、入力圧力要素及び圧縮機モデル３４９又は代替の供給要素３５０及びコスト要素３５１を含んでもよい。上方分岐は、入力圧力要素３４７及び圧縮機要素３４９についてのデータ要素を含み、これらのデータ要素は、所与の空気分離器によって使用される機器の特性を記述するために使用される。下方分岐は、代替の供給源を示す。幾つかの場合、原材料が購入され、パイプラインの中に含められてもよい。そのような場合、代替の供給要素３５０及びコスト要素３５１は、代替供給の特徴を記述する。例えば、代替の供給要素３５０は「テーク・オア・ペイ」供給源を記述してもよい。その場合、パイプラインによって実際に使用されたか否かに関わらず、パイプライン作業者は生産物について支払う。代替の供給要素３５０はプラント３３０の副要素として示されるが、代替の供給要素３５０はパイプラインシステム要素３３５の副要素であってもよい。
【００３３】
図３Ｅは、記述される例示的ＸＭＬ文法の一部分として、パイプラインシステム要素３３５の最上レベル構造を示す。図示されるように、パイプラインシステム・モデル３００は１つ又は２つのパイプラインシステム要素３３５を含んでもよい。例えば、２つのパイプラインシステム３３５の存在は、ＧＯＸパイプ・ネットワーク及びＧＡＮパイプ・ネットワークの双方を含む図１のパイプラインに対応する。こうして、この現実世界のパイプラインシステムを完全にモデル化するためには、パイプラインシステム・モデル３００は、２つのパイプラインシステム要素３３５、即ち、ＧＯＸパイプ・ネットワーク及びＧＡＮパイプ・ネットワークに１つずつを含む。更に、各パイプラインシステム要素３３５は、典型的には、少なくとも１つのパイプ要素３５５及び２つのノード要素３５３を含む。言い換えれば、最も簡単なパイプラインシステム３３５は、２つのノード要素３５３を接続する単一のパイプ要素３５３を含む。
【００３４】
図３Ｆは、記述される例示的ＸＭＬ文法の一部分として、ノード要素３５３の副要素を示す。一実施形態において、ノード要素３５３は、多様なデータ要素によって特徴づけられてもよい。図示されるように、ノード要素３５３は、流量、ガスの温度、ガスの比重、実際の圧力、最大圧力及び最小圧力、ノードの相対位置を指定する高度及び座標を記述する要素３５９を含む。
【００３５】
図３Ｇは、記述される例示的ＸＭＬ文法の一部分として、パイプライン要素３５５の副要素を示す。図示されるように、パイプライン要素３５５は要素ＩＤ３６１を含む。パイプライン要素３５５は、ＩＤ３６１を使用して相互から区別されてもよい。一実施形態において、各パイプライン要素３５５は多様な共通パイプライン機器コンポーネントを表すために使用されてもよく、これらのコンポーネントは２つのノード要素を接続するために使用される。
【００３６】
例示されるように、パイプライン要素３５５は、パイプ３６０の１つ、昇圧機又は圧縮機３６３、圧力調整器３６５、弁３６７、又は多要素ノード３６９の１つを表すように使用されてもよい。一般的に、パイプ要素３６１は２つのノードを接続するパイプの導管を表す。パイプライン要素３６１は、更に、サイズ、圧力などを記述する副要素によって特徴づけられてもよい。昇圧機／圧縮機要素３６３は、パイプライン内の圧力を増加するために使用されるパイプ要素を表す。昇圧機／圧縮機要素３６３は、更に、昇圧機要素が提供する圧力量、要素を作動させるコストなどを記述する副要素によって特徴づけられてもよい。圧力調整器要素３６５は、１つのパイプラインシステム又は要素と他のパイプラインシステム又は要素との間の圧力を調整するパイプ要素を表す。弁要素３６７は、原材料が１つのパイプラインシステム又は要素と他のパイプラインシステム又は要素との間で移動されるノード接続要素を表す。
【００３７】
最後に、スマート・ノード接続要素（ＮＣＥ）３６９は、複数の構成を取ることのできるパイプライン要素３６０を表す。スマートＮＣＥは、異なる機能を実行するように再構成されるパイプラインシステム３００の中の要素を表す。例えば、スマートＮＣＥは、既に説明した要素３６１、３６３、３６５、３６７の任意の１つ又は組み合わせであるように構成されてもよい。例えば、図１に示されるパイプラインシステムは、パイプライン作業者が、使用する遠隔制御センターから構成することのできるスマートＮＣＥを含む。パイプライン内にスマートＮＣＥを含めることによって、パイプラインの構成は迅速に遠隔から修正可能であり、パイプライン作業者は、パイプライン動作の変化が起こるとき、現実世界の条件に従ってそれらの変化に適応してもよい。同時に、パイプライン最適化問題の中にスマートＮＣＥ要素３６９が存在することは、数学的手法が、異なるスマートＮＣＥ構成の全てを試行することなく問題を解決することを困難にする。なぜなら、単一のスマートＮＣＥ要素３６９の中の単一の変化は、パイプラインの流体特性を劇的に変更することができるからである。
【００３８】
図４は、本発明の一実施形態に従って、図２で示されるパイプライン最適化アプリケーション２１０に含まれる入力モジュール２４０の収集物を示す。一実施形態において、入力モジュール２４０は、パイプラインの記述、ユーザ要件、ユーザ提供選好、及び最適化アルゴリズムのユーザ構成を読み込むように構成されてもよい。例えば、入力モジュール４１０によって読み込まれた入力ファイル２２０は、最適化ファイルを含んでもよい。この最適化ファイルは、最適化パラメータ、例えば、最適化実行の長さ、ソリューションを提供するときに維持されなければならない制約、及び過去に生成されたソリューションが読み込まれて、この最適化実行中に使用されなければならないかどうかを指定する。入力モジュール４１０は、更に、パイプラインのトポロジ、パイプラインの状況、及びパイプライン動作の制約を記述する入力ファイル２２０を読み込む。入力ファイル２２０は、前述したような例示的ＸＭＬ形式であってもよい。
【００３９】
データ確認モジュール４１５は、可能な誤り及び潜在的問題（例えば、入力データ２２０によって表される問題が、ハード制約に妨害することなしには解決され得ないかどうか）について、入力データをチェックするように構成されてもよい。データ確認モジュール４１５は、更に、入力データ２２０を使用して様々な問題を識別してもよい。そのような問題には、例えば、次のようなものが含まれる。
【００４０】
・  無効なＸＭＬドキュメント（例えば、複数のルート要素、又は閉じられていない要素）
・  ゼロよりも小さいか等しいプラント電力コスト
・  ノード要素の最小及び最大定格の外にある現実又は所望のノード圧力
・  ノード名とパイプライン要素データとの間の不一致
・  複数の要素における重複した参照ＩＤ
・  要素データの不一致（例えば、要素が、同じ入及び出のノードを有する）
・  パイプラインの誤り（例えば、切り離されたパイプライン）
・  実現不可能な最適化目標（例えば、入力圧力よりも大きな出力圧力）
もちろん、当業者は、追加のデータ確認が実行されてもよいことを認識するであろう。一実施形態において、データ確認モジュール４１５が、入力ファイル２２０が無効であることを決定すると、それは最適化実行を打ち切り、どのような問題が識別されたかをユーザに通知する。代替として、普通ではないが実現可能であり得る条件の場合、例えば、負の電力コストの場合、データ確認モジュール４１５は、ユーザ・インタフェース及び実行ログ・ファイルへ警告を送るが、必ずしも最適化実行を打ち切らない。
【００４１】
入力データ２２０の集合を使用して最適化実行を始める前に、前処理モジュール４２０は、最適化プロセスの効率を増加するため、多数の予備計算を実行してもよい。例えば、前処理モジュール４２０は集中計算の結果をキャッシュし、それらの計算の結果が、冗長なやり方で再計算される代わりに、将来必要となったとき検索されるようにする。例えば、前処理モジュール４２０は、プラントが取得しなければならない流れ及び圧力の目標集合が与えられたと仮定して、プラント構成のについて最適設定をキャッシュしてもよい。この場合の最適設定の初期計算は非常に時間を消費するが、最適設定に対する後続の要求（同一目標の流れ及び圧力が与えられたと仮定する）は、キュッシュから最適解答をルックアップする時間だけが必要である。
【００４２】
図５は、本発明の一実施形態に従って、図２で例示されたパイプライン最適化アプリケーション２１０に含まれる最適化モジュール２４５の収集物を示す。図示されるように、最適化モジュール２４５はソリューション探索モジュール５１０、シミュレーション・モジュール５１５、直接圧力最適化（ＤＰＯ）モジュール５３０、及び評価モジュール５２０を含む。集約的に、最適化モジュール２４５は、パイプライン動作に対する高品質ソリューションを識別するため、パイプラインシステム・モデル２２５を分析及び評価するように構成されてもよい。
【００４３】
ソリューション探索モジュール５１０は最適化アルゴリズムを実行するように構成されてもよい。最適化アルゴリズムは、入力モジュール２４０によって読み込まれたパイプラインシステム・モデル２２５の動作を最適化するために使用される。一実施形態において、ソリューション探索モジュール５１０は、進化理論によって示唆される遺伝的アルゴリズム−シード・ソリューションの収集物（「集団」と呼ばれる）を修正するプロセス−を使用することによって動作する。
【００４４】
一般的に、当業者に知られるように、遺伝的アルゴリズムは試験的ソリューションの集団を生成する。試験的ソリューションの各々は評価され（適性値を生成するため）、試験的ソリューションのよいものから新しい世代が作り出される。一実施形態において、ソリューションの評価は評価モジュール５２０によって達成される。プロセスは何千という世代にわたって継続される。その目的は、集団が時間と共に益々良好なソリューションを含むように「進化」することである。遺伝的アルゴリズムは、時には「コンピュータ上の進化」として特徴づけられる最適化手法である。典型的には、遺伝的アルゴリズムは、「突然変異」及び「交雑」のプロセスによって現在の集団から新しいソリューションを生成する。発見された最良ソリューションは、最悪ソリューションよりも多くの子孫を生成する可能性が高く、したがってソリューション集団は、アルゴリズムが進行するにつれて益々良くなる傾向がある。
【００４５】
遺伝的アルゴリズムは、典型的には、ディジタル記号の（しばしば固定長の）文字列としてソリューションを表し、親の適性（又は、適性の或る近似値）に比例して現在の集団から親を選択し、集団の新しい構成員を作り出す優性手段として「交差」−異なるソリューション間の要素の交換−の或るメカニズムを使用する。ソリューションの初期集団は、典型的には、ランダムに、又は或る既知の開始点から作り出される。
【００４６】
一実施形態において、遺伝的アルゴリズムが解決する問題は、プラントを含むパイプライン内の各要素について動作コストの合計を最小にし、また、ソフト制約に妨害するソリューションによって課されるペナルティの合計を最小にすることである。動作コストは、典型的には、全てのプラント及び圧縮機のコストの合計を含み、パイプラインシステム内の制約の大部分はハード制約である。ソリューションは、ハード制約に妨害しない限り実現可能である。こうして、一般的に、所与のソリューションの「適性」は、このソリューションの現実の動作コストである。下記で説明される図６は、ソリューション探索モジュール５１０の動作の実施形態を例示する。
【００４７】
表１は、図１で示されるパイプラインシステムの動作に対するソリューションの一般的構造の例を示す。もちろん、他のパイプラインシステムについては、ソリューションは、下記で列挙される要素とは異なる要素を含むであろう。
【表１】
2008537246.tif 000003
【００４８】
表１は、最適化モジュール２４５の制御下にある変数の集合を列挙する。これらの変数の各々について値を決定することが、最適化プロセスの目標である。例えば、プラント流れのリストは、入力ファイル２２０に含まれる各プラント要素について、出力流れのリストを提供する。プラント流れのリストは、ユーザによって固定された流れを有するプラントについては、流れを含まないであろう。遺伝的アルゴリズムによって設定されない圧力は、下記で説明するように、ＤＰＯモジュール５３０によって設定されてもよい。スマートＮＣＥ選択リストは、各構成可能な要素が、所与のソリューションで取るべき形態を表す。この形態は、このスマートＮＣＥ要素の許容できる構成から選択される（スマートＮＣＥ要素３６９はパイプラインシステム内で異なる機能を実行するように構成されてもよいことを、上記から想起されたい）。
【００４９】
一実施形態において、シミュレーション・モジュール５１５は、パイプラインの機能を、所与のソリューションから誘導するように構成されてもよい。そうする間に、ソリューション自体は、シミュレーションが実行されるときに修正されてもよい。パイプラインのシミュレーション及び評価の根底となるソリューションのやり方は、図７〜図９と関連して下記で説明される。更に、本発明の一実施形態に従って、最適化実行中に実行されるステップを簡単に記述する例示的システムの段階的説明は、この説明の終わりに提供される。さしあたって注意すべきは、最適化モジュール２４５が、表１で示される形態のソリューションを作成、修正、及び保存して、発見した最良ソリューションを、最適化実行が終了するときに返却することである。
【００５０】
一度、ソリューション探索モジュール５１０がソリューションを識別すると、シミュレーション・モジュール５１５は、パイプライン・ネットワークの動作をシミュレーションするように構成されてもよい。シミュレーションの間、ソリューション探索モジュール５１０によって識別されたソリューションは、ソリューションによって指定された構成から生じるパイプライン状態の完全な描写へ変換される。
【００５１】
評価モジュール２４５は、ソリューションを評価するように構成されてもよい。一実施形態において、評価モジュール２４５は、望ましくないパフォーマンスの任意的ペナルティを含めて、シミュレーションされるパイプラインの動作コストを推定するように構成されてもよい。ソリューションに対して査定されるペナルティの例は、生産設備におけるガスの過剰ガス抜きに対するペナルティである。そのようなペナルティはドルで表現されてもよく、パイプラインの動作コストへ追加される。一実施形態において、評価モジュール５２０は、ソリューションの総動作コストを、パイプラインの各コンポーネントの動作コストの合計として誘導する。この場合のコンポーネントには、プラント及びそれらの機器が含まれる。一般的に、ソリューションの総コストが低くなると、それだけソリューションの「適性」は大きくなる。この「適性」は、ソリューション探索モジュール５１０によって実行される遺伝的アルゴリズムによって使用される。
【００５２】
図６は、本発明の一実施形態に従って、パイプラインシステムの動作の様相を最適化する方法６００を示す。方法６００はステップ６１０で始まる。ステップ６１０では、ソリューション探索モジュール５１０が、入力ファイル２２０によって指定される終了条件を読み取る。２つ以上が指定されるならば、それらの１つが満足されたとき最適化システムは終了する。一実施形態において、終了条件は、生成されるソリューションの最大数、費やされるクロックタイムの最大量、又は指定された品質（又は適性）を超えるソリューションの発見を含む。更に、ユーザ・インタフェース２６０によって、ユーザは最適化実行を手作業で（例えば、キーボードから中断コマンドを入力することによって）停止することができる。これは入力ファイル２２０に含まれる条件ではないが、最適化アプリケーション２１０は、最適化実行中にこの条件を定期的にチェックしてもよい。
【００５３】
ステップ６２０では、ソリューション探索モジュール５１０が最適化実行を初期化する。これは、例えば、キャッシュの作成、プラント・オプティマイザの初期化、探索ソリューション・モジュール５１０によって使用されるデータ構造の作成などを含んでもよい。ステップ６３０では、ソリューション探索モジュール５１０が遺伝的アルゴリズムのために初期ソリューションの集合を作り出す。言い換えれば、ソリューション探索モジュール５１０は、遺伝的アルゴリズムが修正及び繁殖を介して進化するためのソリューション「集団」を作り出す。
【００５４】
一実施形態において、ソリューション探索モジュール５１０は、スマートな発見的方法に基づいて第１の群のシード・ソリューションを作り出し、第２の群のシード・ソリューションをランダムに生成する。一般的に、発見的方法は経験法則である。この経験法則は、しばしば良好に働いて、所望の結果、例えば、コストの低減と同時に所望レベルの生産維持を達成する。発見的方法は、しばしば先行する経験に基づく。ソリューション探索モジュール５１０で使用される発見的方法の例は、「パイプラインの或る領域の圧力が最大又は最小でない場合、圧力を上げるか下げることが、コストを下げてパイプラインの隣接領域のパフォーマンスを改善するならば、圧力を上げるか下げることを考慮せよ」である。
【００５５】
第１の群のシード・ソリューションを生成するため、ソリューション探索モジュール５１０は、人間が使用する発見的方法に類似したソリューション生成発見的方法に基づいて、複数の「スマートなシード」を作り出す。例えば、第１の群のソリューションは、全ての圧力及び流れが最大に設定され、修復の発見的方法が合理的なやり方で圧力を下方へ調整してパイプラインの圧力制約を満足させるソリューションを含んでもよい。高い圧力が必要とされる場合、このシードは良好に働いて、良好なソリューションを生成することができる。他の「スマートなシード」は、全ての圧力及び流れが最小に設定され、発見的方法が合理的なやり方で圧力を上方へ調整して顧客の圧力制約を満足させるソリューションを含んでもよい。ソリューションが最も重要なクライアントを満足させることに向けられるとき、このシードは良好に働いて、良好なソリューションを生成することができる。なぜなら、圧力を増加する発見的方法は、圧力が増加するときの最も重要なクライアントの必要性に注目する傾向があるからである。他の「スマートなシード」は、全ての圧力及び流れが、実現可能な範囲の中間に設定され、後続の最適化が、これらの圧力を、範囲内の最大及び最小値のいずれかの方へ動かすことによって、より良好なソリューションを発見するソリューションを含む。
【００５６】
更に、第１の群は、該当するならば、入力ファイル２２０の中で指定されたソリューションの群を含んでもよい。そうすることによって、ユーザは、上記のソリューションとは異なる見本のソリューションを探索ソリューション・モジュール５１０へ提供することができる。例えば、先行する問題に対するソリューションのデータベースが存在するならば、マッチング・アルゴリズムが使用されて、パイプライン及びこの要件の現在の状態を先行状態へマッチさせてもよい。こうして、現在の状態に類似した１つ以上の先行状態に対するソリューションを初期集団のシードにすることが合理的であろう。
【００５７】
第１群のシード・ソリューションに加えて、探索ソリューション・モジュール５１０は、ソリューション集団を満たすため、入力ファイル２２０の中に指定された制約を満足させるランダム生成ソリューションの群を生成してもよい。このソリューション集団は大きな多様性を提供し、遺伝的アルゴリズムは最適化プロセスの開始時に広範囲のソリューションを探査することができる。
【００５８】
ステップ６４０では、ソリューション探索モジュール５１０が新しいソリューションを生成する。前述したように、一実施形態において、ソリューション探索モジュールは、ステップ６３０で生成された初期ソリューションの集団を使用し遺伝的アルゴリズムを実行することによって、新しいソリューションを生成するように構成される。一般的に、遺伝的アルゴリズムは、何千という世代にわたって初期ソリューションの集団を「進化」させ、各世代で新しい集団を生成するように動作することが想定される。下記で説明する図７は、更に、ステップ６３０の一部分として実行される行動の実施形態を例示する。
【００５９】
一度、ステップ６３０が完了すると、最適化モジュール２４５は、典型的には、多くのソリューションを生成している。ステップ６５０では、集団内に現在存在する最良ソリューション（即ち、最低の動作コストを有するソリューション）が識別及び処理される。一実施形態において、最良ソリューションとして識別されたソリューションは、追加の最適化ルーチンへ渡されてもよい。例えば、ソリューションのためにプラント・オプティマイザが実行され、ソリューション内で指定されたプラント構成が実現可能であることを確認し、構成の更なる最適化が容易に識別されるかどうかを決定する。ステップ６６０では、最適化実行中に生成された最良の識別ソリューションが返却される。例えば、出力モジュール２５０は、出力ファイル２５５を生成するように構成されてもよい。
【００６０】
図７は、本発明の一実施形態に従って、パイプラインシステムの動作に対する最適化ソリューションを発見する方法７００を示す。一実施形態において、方法７００は何回も繰り返して−標準の最適化実行では何万回と−実行されてもよい。それはパイプライン最適化問題に対する高パフォーマンス・ソリューションを発見するためである。方法７００を通過する各々の実行中に、ソリューション探索モジュール５１０は、集団内に現在存在するソリューションの集合から、少なくとも１つの新しいソリューションを生成する。初期集団は、前述した方法６００の一部分で作り出される。
【００６１】
ステップ７１０では、ソリューション修正手法が選択される。古典的な遺伝的アルゴリズムにおいて、ソリューション修正手法は、事実上ランダムである−それらの手法は、例えば、圧力の或る小さなパーセンテージを修正する−しかし、ランダムな変化を使用して良好なソリューションを探索することは、指示された発見的方法を使用して探索することほどに、高速でも有効でもない。したがって、一実施形態において、最適化モジュール２４５は、多数の非発見的（即ち、ランダム）及び発見的（即ち、非ランダム）手法を選択してソリューションを修正するように構成されてもよい。これらの手法には、次の手法が含まれる。
【００６２】
・  ランダムな変化。この修正手法は、ソリューション内の１つのパラメータへランダムな突然変異を生成する。
【００６３】
・  生産の移行。この修正手法は、コストの高いプラントからコストの安いプラントへ生産を移す。
【００６４】
・  ガス抜きの低減。この修正手法は、ガス抜きしているプラントを探し、ガス抜きに対するペナルティをチェックし、それらのプラントの１つで生産レベルを変更するやり方を探す。
【００６５】
・スマートＮＣＥの構成変更。この修正手法は、再構成可能な要素への修正が、ソリューションのパフォーマンスを向上するかどうかを識別する。向上するならば、スマートＮＣＥの構成に対する許容できる変更が選択される。この発見的方法は、人間のパイプライン熟練者が使用するようなプロセスを使用し、再構成可能なパイプライン・コンポーネントの構成を変更するかどうかを決定する。
【００６６】
・  プラントの停止。この発見的方法は、プラントの停止が資金の節約となるソリューションを識別する。例えば、１つのプラントにおける生産コストが非常に高ければ、このプラントを停止し、生産を他のプラントへ移行することが、ソリューションの適性を改善し得る。
【００６７】
・プラントの起動化。この発見的方法は、プラントが利益を伴ってオンにされ得るとき、プラントを起動化するソリューションを識別する。新しいソリューションは、オンにする不活性プラントを選択することによって作り出されてもよい。この手法は、人間のパイプライン熟練者が使用する推論を使用して、どのプラントがオンにされる候補であるかを決定してもよい。
【００６８】
・  ２つのソリューションの交雑。この発見的方法は、２つのソリューションを選択し、２つの元のソリューションを交雑することによって、新しいソリューションを作り出す。２つの元のソリューションの異なる部分が結合され、新しいソリューションを作り出す。例えば、２つのソリューションの第１の部分を備えるパラメータ値の２つのリストを使用して、２つの元のソリューションのどれが、新しいソリューションへ値を寄与するかを、フィールドごとに、ランダムに決定することができる。このソリューションによって、２つの異なるソリューションの有効要素が相互に再結合可能である。
【００６９】
一実施形態において、これら（又は他の）手法の任意のものが、この最適化サイクルを通過する間に選択されてもよい。更に、修正手法は、デフォルトの確率又は入力ファイル２２０の中に指定された確率を使用して、確率的に選択されてもよい。したがって、どの修正手法も、選択される機会を有するが、或る修正手法は他の修正手法よりも高い確率を有し得る。確率の設定は、オプティマイザが所与のパイプラインについて生成するソリューションのタイプの実験及び分析の問題である。
【００７０】
ステップ７２０では、ステップ７１０で選択された修正手法に従って、ソリューションの現在の貯留からの１つ以上のソリューションが、修正のために選択される。一度、修正手法が選択されると、１つ又は２つのソリューションのいずれが、入力として必要であるかが決定される。前述した修正手法の大部分は、ただ１つのソリューションを必要とするが、例えば、交雑修正は２つのソリューションを必要とする。
【００７１】
一実施形態において、ソリューションは、時にはランク付けルーレット円盤手法と呼ばれる手法を使用して、ソリューションの一般的集団から選ばれる。手法が「ランク付け」と呼ばれる理由は、ソリューション集団内のソリューションを、最良ソリューションから最悪ソリューションまで順序づけられたリストへ並べ替えるからである。次に、この手法はリスト内の各ソリューションへ重みを割り当てる。これらの重みは線形に減少する。例えば、減少率が１０であり、開始する重みが１００であるとき、集団の最初の１２の構成員は１００、９０、８０、７０、６０、５０、４０、３０、２０、１０、１、０．５、．．．．の重みを有する。これらの重みは選択プロセスを偏向させるために使用され、最良の個体が最悪の個体よりも選択される可能性が高いようにされる。比喩は、集団の各構成員についてスロットを有するルーレット円盤である。しかし、スロットは等しいサイズではない。各ソリューションのスロットは、上記のように計算された重みに比例する。ルーレット円盤がこのように設定されるとき、コンピュータ化されたボールが旋回し、ボールが着地したスロットを有する個体が選ばれる。１００の重み及びスロット・サイズを有する集団内の最良の個体は、ソリューションが要求されるとき、１の重み及びスロット・サイズを有する最悪の個体よりも、選ばれる可能性が１００倍も高い。この重みづけられた選択プロセスは、最良の個体が、最悪の個体よりも、繁殖のために選ばれる頻度が高くなる点で、自然選択理論における「最適者生存」の考えに対応する。
【００７２】
ステップ７３０において、新しいソリューションを作り出すため、選択されたソリューション修正手法が使用される。方法７００のこのステップにおいて、選ばれたソリューションは、元のソリューションと同じ新しいソリューションを作り出すようにクローン化される。次に、修正手続きが新しいソリューションへ適用され、それが元のソリューションの修正バージョンとなるようにされる。修正の幾つかは非常に小さく−例えば、パイプライン内の１つの場所で圧力を少しだけ変更する。幾つかの修正は全く大きく−例えば、パイプラインの再構成可能なコンポーネントの構成を、弁から昇圧機又は圧縮機へ変更する。
【００７３】
ソリューションはクローン化され、「クローン」及びこの「親」の双方が集団内に維持される。修正が良好な修正であれば、親は集団から最終的に削除される可能性が高く、新しいソリューション及びこの子孫は集団内に含められる。修正が悪いソリューションを生成するならば、新しいソリューションは集団から削除される可能性が高く、元のソリューションは保持されて、他の新しいソリューションを作り出すように修正される潜在力を有する。
【００７４】
ステップ７４０では、新しいソリューションのパフォーマンスがシミュレーションされる。このステップの一部分として、新しいソリューションが使用され、このソリューションから生じるパイプライン状態の完全シミュレーションを作り出す。更に、ＤＰＯ最適化モジュール５３０を使用することによって、線形最適化プロセスが適用されてもよい。ステップ７４０で生成されるソリューションのシミュレーションは、更に、図８及び図９で説明される。
【００７５】
ステップ７５０では、新しいソリューションから誘導されるシミュレーション・パイプラインの「適性」が評価される。前述したように、評価モジュール５２０は、新しいソリューションのコスト（即ち、適性又は評価得点）を誘導するように構成されてもよい。ステップ７６０では、新しいソリューションが集団へ追加される。一実施形態において、ソリューションの集団は、並べ替えられた順序に維持され、したがって新しいソリューションは、この評価に従って配置される。ステップ７７０では、集団の最悪（即ち、最小適性）構成員が集団から除去される。こうして、集団のサイズは最適化プロセス中に一定に維持されてもよい。ステップ７８０では、終了条件が満足されるかどうかを探索ソリューション・モジュール５１０が決定する。満足されるならば、最適化プロセスは終了し、制御は方法６００のステップ６５０へ戻る。そうでなければ、方法７００が反復され、他の新しいソリューションを生成する（即ち、集団は他の世代へ移行する）。
【００７６】
図８は、本発明の一実施形態に従って、パイプラインシステムの動作をシミュレーションする方法を示す。
【００７７】
ステップ８１０において、方法８００は流れ伝搬段階を含む。この段階の間、シミュレーション・モジュール５１５は、入力圧力、要素設定、及びユーザによって選ばれた既知の流れ及び流体方程式を使用し、入力ソリューションに基づいて、パイプライン全体の流れを計算する。一実施形態において、流れの伝搬は、Ａｎｄｒｚｅｊ  Ｏｓｉａｄａｃｚ  によるガス・ネットワークのシミュレーション及び分析（Ｓｉｍｕｌａｔｉｏｎ  ａｎｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｇａｓ  Ｎｅｔｗｏｒｋｓ）で指定されるニュートン・ノーダル・アルゴリズム（Ｎｅｗｔｏｎ  Ｎｏｄａｌ  ａｌｇｏｒｉｔｈｍ）に従って実行される。このアルゴリズムを使用して、入力ファイル２２０によって指定されたパイプライン内の様々な機器要素に関する既知の圧力、設定、及び構成に基づき、流れが計算されてもよい。一度、第１の流れ伝搬が計算されると、シミュレーション・モジュール５１５は、流れの妨害（例えば、クライアント場所への不十分な流れなど）がシステム内に存在するかどうかを決定してもよい。流れの妨害が発見されるならば、シミュレーション・モジュール５１５はこの事実を記録し、ソリューションの更なるシミュレーションを打ち切る。なぜなら、ハード制約に妨害することが知られたパイプライン・シミュレーションの構築及び最適化を継続することは不必要だからである。流れ伝搬段階が完了すると、システムは、どれほどの流れの量がパイプラインの各コンポーネントを通過しているかを記録する。
【００７８】
ステップ８２０において、シミュレーション・モジュール５１５は、流れ伝搬段階（ステップ８１０）で計算された流れを使用して、パイプライン内の各要素における圧力を決定する。一実施形態において、圧力の決定は反復プロセスであり、前に参照した  Ｏｓｉａｄａｃｚ  の書籍で指定されたアルゴリズムを基礎としてもよい。圧力計算は、反復される行列最適化及びリニアプログラミング手法によって実行されることに注意すべきである。公知のように、リニアプログラミングは、幾つかの変数の一次関数を最小又は最大にする数学的手続きであり、これらの変数における有限個の線形制限に従う。
【００７９】
シミュレーション・モジュール５１５は、実現不可能な圧力−例えば、或る要素における最大許容圧力を超える圧力を記録する。実現不可能な圧力が識別されるならば、シミュレーション・モジュール５１５はシミュレーション構築プロセスを継続する（パイプライン・シミュレーションの構築及び最適化を継続することは必要である。なぜなら、実現不可能な圧力はＤＰＯモジュール５３０によって補正されてもよいからである）。第１の圧力伝搬段階が完了すると、シミュレーション・モジュール５１５は、パイプラインの各コンポーネントでの流れ圧力及び流量がどのようなものかを記録する。
【００８０】
ステップ８３０において、ＤＰＯモジュール５３０は、直接圧力最適化アルゴリズム（今後は「ＤＰＯ」と呼ぶ）を実行して、可能な場合に圧力を低減するように構成されてもよい。一般的に、ＤＰＯは、システムによって要求される最適化量を減少させ、したがって最適化プロセスに必要な時間を１へ劇的に減少させる。更に、ＤＰＯモジュールは、パイプライン全体に可能な最小圧力を確保することによって、ソリューションの品質を改善するように構成されてもよい。
【００８１】
ＤＰＯモジュール５３０は、遺伝的アルゴリズムがソリューションのために流れ及び流れの割り振りを指定するだけであれば、パイプラインシステムの最適化が劇的に単純化され、一度、流れが割り振られると、より簡単な直接的アプローチを使用して圧力を最適化できるという洞察に基づく。下記で説明する図９は、ＤＰＯモジュール５３０によって実行されてもよいＤＰＯ最適化アルゴリズムの実施形態の詳細な説明を含む。
【００８２】
ステップ８４０において、方法８００は第２の圧力伝搬段階を含む。第２の圧力伝搬段階において、シミュレーション・モジュール５１５は、ＤＰＯアルゴリズム段階で計算された圧力を使用して、パイプライン内の各要素における圧力を決定する。一実施形態において、この段階の圧力決定は、第１の圧力伝搬段階で使用された手法と同じ手法を使用して行われる。第２の圧力伝搬段階の出力は、パイプラインの各要素における圧力である。
【００８３】
ステップ８５０において、方法８００は、大域妨害チェック段階を含む。このステップにおいて、シミュレーション・モジュール５１５は、パイプラインシステム内の圧力妨害、例えば、許容範囲の外にある要素圧力値を識別するように構成されてもよい。そのような妨害が発見されるならば、システムは妨害を記録し、シミュレーション・プロセスから出る。
【００８４】
一実施形態において、流体パイプライン・シミュレーションが完了したとき、次のことが起こっている。即ち、システム内の各要素の圧力及び流れは、流体的に実現可能なやり方で確立されており、シミュレーションは全ての制約を満足させると判定されているか、満足させなかったことは記録されており、システム内の或る圧力はＤＰＯアルゴリズムによって調整されており、各プラントにおける圧力及び流れは指定されている。
【００８５】
ステップ８６０において、方法８００はプラント最適化段階を含む。このステップにおいて、最適化モジュール２４５は各プラントの圧力及び流れを使用し、各プラントの効率的やり方を決定し、シミュレーション・プロセスの先行段階で割り当てられた圧力及び流れを生成する。プラント最適化プロセスの詳細な説明は、次のとおりである。
【００８６】
言い換えれば、ステップ８６０は各プラントの低コスト構成を発見することを含む。この低コスト構成は、ソリューションによって指定された圧力及び流れを生成するためのプラント要件を満足させる。例えば、プラントを構成して、要求されるレベルの圧力及び流れを生成するため、最適化モジュール２４５は暴力的探索アルゴリズムを実行するように構成されてもよい。この手法は、ＡＳＵが２つ及び圧縮機が２つより少ない（総計で４より少ない）プラント・システム・モデルに有用であり得る。その場合、暴力的探索アルゴリズムを使用して、全ての可能な構成を探索してもよい。
【００８７】
しかし、プラント・モデルが一層複雑になると、可能な構成の数は急速に大きくなり、合理的な時間内で暴力的探索を実行することができない。そのような場合、修復アルゴリズムを使用してプラントを構成し、ソリューションによって指定された圧力及び流れを生成してもよい。一般的に、修復アルゴリズムは、最大で動作している各デバイス（例えば、各ＡＳＵ及び圧縮機）から始まる。修復アルゴリズムは、生産物を生産するユニット当たりのコストの減少順序にデバイスを並び替える。次に、修復アルゴリズムは、生産が所望レベルへ低減されるまで、リスト内の各品目を順次にオフにする。最後のデバイスは、オフにされる代わりに停止される。最後のデバイスの最小要求生産レベルが要求レベルよりも高ければ、アルゴリズムは反復し、停止する最高コスト・デバイスを探し、生産を所望のレベルへ下げる。
【００８８】
一度、ステップ８６０が完了すると、パイプライン内の各要素の圧力及び流れが知られ、圧力及び流れを生成する各プラントの構成も知られる。重要な注意点として、オプティマイザの制御のもとにある圧力の多くは、元のソリューションの圧力とは異なってもよい。相違は、例えば、ＤＰＯアルゴリズム又は他の局所的最適化プロセスによる圧力低減に起因するであろう。
【００８９】
上記で説明した方法８００は、遺伝的アルゴリズムによって生成されているソリューションが所与のプラントについて同一の流れ要件を含むならば、概念的には膨大な回数で実行され得る。したがって、一実施形態において、上記のプロセスを介して誘導されたソリューションは、ステップ８６０が実行される度にアクセスされるキャッシュへ追加される。キャッシュが、現在の問題と類似した問題について既に誘導されているソリューションを含むならば、プラント最適化プロセスが反復される代わりに、キャッシュされたソリューションが使用される。プラント最適化手続きの後、シミュレーション・プロセスは完了し、処理は方法７００のステップ７５０へ戻る。ステップ７５０では、生成及び最適化されたばかりのソリューションが評価されてもよい。一度、評価されると、ソリューションは、前述した遺伝的アルゴリズム・プロセスによって操作される全体的ソリューション集団の中に含められてもよい。
【００９０】
図９は、本発明の一実施形態に従った直接圧力最適化モジュール５３０の動作を示す。方法９００はステップ９１０で始まる。ステップ９１０において、ＤＰＯモジュール５３０は、パイプラインの全ての要素を通る流れ、及び任意の流れノードにおける「ノーダル（ｎｏｄａｌ）」流れ（即ち、パイプラインへ入るか出る流れ）を計算する。この時点において、遺伝的アルゴリズムによって生成されたソリューションは、既に、それが最適化している流れ及び圧力変数の全てについて値を選んでいる。ステップ９１０において、ＤＰＯが最適化している圧力ノードの圧力は、最小及び最大圧力限度に基づいて或る固定値へ設定される。
【００９１】
ステップ９２０では、流体モデルがノード圧力を伝搬し、パイプラインの全てのノード要素における圧力を決定する。ステップ９３０では、ＤＰＯモジュール５３０が圧力ノードを特定の順序で最適化する。一実施形態において、ＤＰＯは有向グラフ・データ構造を生成する。その場合、頂点はパイプライン内のサブネットワーク（ｓｕｂ  ｎｅｔｗｏｒｋ）を表し、有向エッジは接続要素を表し、エッジ方向は接続要素ガス流れの方向と反対である。即ち、エッジは、接続要素を横切る要求圧力勾配の方向を指し示す。
【００９２】
本明細書で使用されるように、有向グラフは圧力依存性グラフ（ＰＤＧ）と呼ばれる。なぜなら、個々のノードの圧力は、このノードから流れるエッジに依存するからである。パイプライン内の流れの方向がスマートＮＣＥの構成に依存するとき、ＰＤＧが変化することに注意すべきである（即ち、スマートＮＣＥは、構成に依存して、パイプラインシステム内で異なる方向の流れを生じることができる）。このため、一実施形態において、ＤＰＯモジュール５３０は、異なるスマートＮＣＥ構成から生じるパイプラインの各可能なアーキテクチャについて、ＰＤＧをキャッシュする。ＰＤＧが非周期的であれば（即ち、ＰＤＧが周期を含まない）、圧力は単一の通過で最小化され得る。
【００９３】
ステップ９４０では、ＤＰＯモジュール５３０は、ＰＤＧによって指示された部分順序づけに従って、直接に最適化されるべき圧力ノードのリストを並べ替える。例えば、ＰＤＧが非周期的であれば、頂点ａから頂点ｂへの有向エッジの存在は、ＤＰＯが、頂点ｂを含むサブネットワーク内の圧力を最適化する前に、頂点ａを有するサブネットワーク内の圧力を最適化しなければならないことを示す。次に、ＤＰＯモジュール５３０は圧力を最適化し、圧力ノードの並べ替えられたリストによって与えられる順序で、圧力ノードの直接圧力最適化を実行する。
【００９４】
ステップ９５０において、各サブネットワーク及びＰＤＧに存在するサブネットワーク内の圧力ノードについて、ＤＰＯモジュール５３０は、このサブネットワーク内の全てのノードにわたって反復し、このサブネットワークについて最小一般化圧力ギャップ又は空き高を追跡する。
【００９５】
ステップ９６０において、ＤＰＯモジュール５３０はサブネットワーク内の各ノードについて最小圧力を計算する。ステップ９７０において、サブネットワークのノードにわたって反復した後、ＤＰＯモジュール５３０はサブネットワークの圧力ノードの圧力を調節し、サブネットワークの最小現実圧力空き高を０．０１ＰＳＩへ低減する。例えば、高圧ネットワークについては、圧力は、次の式、即ち、
【数１】
2008537246.tif 000004
【００９６】
によって与えられてもよい。ここで、ｐｏｐｔは最適化された圧力ノードの圧力であり、ｐｉｎｉｔは初期の圧力ノードの圧力であり、ｇは一般化された最小圧力ギャップである。
【００９７】
ステップ９８０において、ＤＰＯモジュール５３０は、圧力ノードの新しく最適化された圧力をサブネットワークへ伝搬する。ステップ９９０において、ＤＰＯモジュール９９０のモジュールは、サブネットワーク内の任意の未知の要素パラメータについて圧力値を再計算する。ＤＰＯモジュール５３０が方法９００の実行を完了した後、処理は方法８００のステップ８３０へ戻る。
【００９８】
方法９００が完了したとき、ソリューションは幾つかの圧力を低減されているが、要求されるパフォーマンスを依然として維持している（即ち、全てのハード制約は満足されたままである）。
【００９９】
例示的なシステムの段階的説明
一実施形態において、最適化システム２００は次のステップを進行して、パイプライン最適化問題を解決する。次の段階的説明は、概して、図３〜図５に示された入力及びモジュールを使用する図６〜図９に示された方法に対応する。
【０１００】
１．入力ファイル２２０は、ユーザによる入力ファイル２２０の編集、又はパイプライン状況データベース２１５から入力ファイル２２０を生成することによって準備される。
【０１０１】
２．データ入力モジュール４１０は、入力ファイル２２０からデータを読み取り、必要な構造を作成し、モジュールによって読み込まれるデータを記憶する。
【０１０２】
３．データ確認モジュール４１５は入力データファイルを確認し、任意の潜在的に不正確なデータのログを作成する。
【０１０３】
４．前処理モジュール４２０は、最適化を初期化する（例えば、入力ファイル２２０によって表されるパイプライン・ネットワークの接続を分析すること、サブネットワーク・データ構造を作成すること、などによって）。
【０１０４】
５．ソリューション探索モジュール５１０は、終了条件を読み取る。
【０１０５】
６．ソリューション探索モジュール５１０は、最適化プロセスの間に使用する構造を初期化する。
【０１０６】
７．ソリューション探索モジュール５１０は、シード・ソリューション生成発見的方法及びランダム・ソリューション生成手続きの双方を使用して、ソリューションの初期集団を生成する。
【０１０７】
８．ソリューション探索モジュール５１０は、初期ソリューション集合の中の各ソリューションをシミュレーション及び評価する。
【０１０８】
９．ソリューション探索モジュールは、終了規準が満足されるまで、ステップの次の内部ループ・シーケンスを反復する。
【０１０９】
ａ．ソリューション探索モジュール５１０は、ソリューション修正手法を選択する。
【０１１０】
ｂ．ソリューション探索モジュール５１０は、ソリューション修正手法によって要求される数のソリューション−典型的には１つか２つを選択する。
【０１１１】
ｃ．ソリューション探索モジュール５１０は、選択されたソリューションをコピーすることによって、新しい１つのソリューション（又は複数のソリューション）を生成する。
【０１１２】
ｄ．ソリューション探索モジュール５１０は、修正手法を新しいソリューションへ適用する。
【０１１３】
ｅ．シミュレーション・モジュール５１５は、新しいソリューションの水理学的挙動をシミュレーションする。一実施形態において、このプロセスは次のステップを含んでもよい。
【０１１４】
ｉ．シミュレーション・モジュール５１５は、ソリューションの設定に基づいて、流れをパイプラインへ伝搬する。流れの妨害が存在するならば、シミュレーション・モジュール５１５は現在の通過を打ち切る。
【０１１５】
ｉｉ．シミュレーション・モジュール５１５は、最初の圧力伝搬通過を実行する。
【０１１６】
ｉｉｉ．直接圧力最適化モジュール（ＤＰＯ）５３０は、直接圧力最適化アルゴリズムを実行し、パイプラインの幾つかの要素の幾つかの圧力を変更する可能性がある。一実施形態において、このプロセスは次のステップを含んでもよい。
【０１１７】
ａａ．ＤＰＯモジュール５３０は全ての流れを計算する。
【０１１８】
ｂｂ．ＤＰＯモジュール５３０はノード圧力を伝搬する。
【０１１９】
ｃｃ．ＤＰＯモジュール５３０は圧力依存性グラフを作成する。
【０１２０】
ｄｄ．ＤＰＯモジュール５３０は圧力ノードを並べ替える。
【０１２１】
ｅｅ．ＤＰＯモジュール５３０は、各サブネットワークについて、一般化された圧力ギャップを計算する。
【０１２２】
ｆｆ．ＤＰＯモジュール５３０は、各サブネットワークについて、最小圧力を計算する。
【０１２３】
ｇｇ．ＤＰＯモジュール５３０は、可能であれば、各サブネットワークについて、圧力ノードの圧力を低減する。
【０１２４】
ｈｈ．ＤＰＯモジュール５３０は、圧力を各サブネットワークへ伝搬する。
【０１２５】
ｉｉ．ＤＰＯモジュール５３０は、各サブネットワークについて、未知の要素パラメータの圧力を再計算する。
【０１２６】
ｉｖ．シミュレーション・モジュール５１５は、第２の圧力伝搬通過を実行する。圧力妨害が存在すれば、シミュレーション・モジュール５１５は現在の通過を打ち切る。
【０１２７】
ｖ．シミュレーション・モジュール５１５は、圧力制約について大域チェックを実行する。大域制約妨害が存在するならば、シミュレーション・モジュール５１５は現在の通過を打ち切る。
【０１２８】
ｖｉ．シミュレーション・モジュール５１５は各プラントを構成し、各プラントが、最も経済的なやり方で、ソリューションで指定された圧力及び流れを生成できるようにする。
【０１２９】
ｆ．評価モジュール５２０は新しいソリューションのパフォーマンスを評価し、この評価を新しいソリューションに関連づける。
【０１３０】
ｇ．新しいソリューションが集団の中へ挿入される。
【０１３１】
ｈ．集団内の最悪ソリューションが削除される。
【０１３２】
ｉ．ソリューション探索モジュール５１０は、終了すべきかどうかを決定する。終了すべきであれば、ソリューション探索モジュール５１０はプロセスの最終段階へ行く。そうでなければ、ソリューション探索モジュール５１０は上記のステップａへ戻り、内部ループ・シーケンスを再び実行する。
【０１３３】
１０．一度、シミュレーション・モジュール５１５が内部ループ・シーケンスを終了すると、集団の中に現在存在する最良ソリューションが識別される。
【０１３４】
１１．後処理ルーチンが、発見された最良ソリューションへ適用される。
【０１３５】
１２．出力モジュール２５０は、システム実行、発見された最良ソリューション、及び任意の他の対象となる実行特徴を記述するレポートを生成する。
【０１３６】
本発明を実施するための好ましいプロセス及び装置が説明された。本発明の趣旨及び範囲から逸脱することなく、前述した実施形態へ多くの変更及び修正が行われてもよいことは、当業者に理解され、また容易に明らかであろう。これまでの説明は単なる例示であり、下記のクレームで定められた本発明の真の範囲から逸脱することなく、統合されたプロセス及び装置の他の実施形態が使用されてもよい。
【図面の簡単な説明】
【０１３７】
【図１】既存のパイプラインシステムを示す地図である。
【図２】本発明の一実施形態に従って、パイプラインシステムの動作的様相を最適化するために使用されるシステムを示す。
【図３Ａ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｂ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｃ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｄ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｅ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｆ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図３Ｇ】本発明の一実施形態に従って、最適化されるべきパイプラインシステムの様相をモデル化するために使用されるデータ要素の階層的収集物を示す。
【図４】本発明の一実施形態に従って、図２で示されるパイプライン最適化アプリケーションの中に含まれる入力モジュールの収集物を示す。
【図５】本発明の一実施形態に従って、図２で示されるパイプライン最適化アプリケーションの中に含まれる最適化モジュールの収集物を示す。
【図６】本発明の一実施形態に従って、パイプラインの動作の様相を最適化する方法を示す。
【図７】本発明の一実施形態に従って、パイプラインの動作の様相を最適化するために使用される最適化プロセスを実行する方法を示す。
【図８】本発明の一実施形態に従って、パイプラインの動作をシミュレーションする方法を示す。
【図９】本発明の一実施形態に従って、直接圧力最適化モジュールの動作を示す。
【図１】
2008537246.tif 000005
【図２】
2008537246.tif 000006
【図３Ａ】
2008537246.tif 000007
【図３Ｂ】
2008537246.tif 000008
【図３Ｃ】
2008537246.tif 000009
【図３Ｄ】
2008537246.tif 000010
【図３Ｅ】
2008537246.tif 000011
【図３Ｆ】
2008537246.tif 000012
【図３Ｇ】
2008537246.tif 000013
【図４】
2008537246.tif 000014
【図５】
2008537246.tif 000015
【図６】
2008537246.tif 000016
【図７】
2008537246.tif 000017
【図８】
2008537246.tif 000018
【図９】
2008537246.tif 000019
【国際調査報告】
2008537246.tif 000020
2008537246.tif 000021
2008537246.tif 000022