(57)【要約】【課題】機器の発停または稼働率を含む制約条件のもとでオペレータに必ず解を与えるエネルギー供給システムの運用計画作成方法を提供する。【解決手段】エネルギー供給機器ごとの発停制約を設定する工程（ST110）と、設定された発停制約を目的関数化する工程（ST120）と、基礎データとともに発停制約を目的関数化した式を読み込んで最適化問題の演算を実行する工程（ST150）と、を備える。最適化問題の演算を実行する工程が目的関数の最小化によって解を求め得る場合には、発停制約を目的関数化する工程（ST120）は、発停制約の要求を満たす場合には値が小さくなり、発停制約の要求を満たさない場合には値が大きくなるようにエネルギー供給機器ごとに目的関数を作成する。【選択図】図2
2010226879.tif 000002
【特許請求の範囲】
【請求項１】
複数のエネルギー供給機器を備え複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成する方法であって、
前記エネルギー供給機器ごとの発停制約を設定する工程と、
前記設定された発停制約を目的関数化する工程と、
基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化の演算を実行する工程と、を備える
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項２】
請求項1に記載のエネルギー供給システム運転計画作成方法において、
前記最適化の演算を実行する工程が目的関数の最小化によって解を求め得る場合には、
前記設定された発停制約を目的関数化する工程は、発停制約の要求を満たす場合には値が小さくなり、発停制約の要求を満たさない場合には値が大きくなるように前記エネルギー供給機器ごとに目的関数を作成する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項３】
請求項1に記載のエネルギー供給システム運転計画作成方法において、
前記最適化の演算を実行する工程が目的関数の最大化によって解を求め得る場合には、
前記設定された発停制約を目的関数化する工程は、発停制約の要求を満たす場合には値が大きくなり、発停制約の要求を満たさない場合には値が小さくなるように前記エネルギー供給機器ごとに目的関数を作成する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項４】
請求項1から請求項3のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
前記エネルギー供給機器ごとの発停制約を含む複数の目的に重み付けを設定する工程と、
設定された重み付けを最適化条件の式に含ませて目的の重み付けを反映した目的関数を定式化する工程と、を備える
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項５】
請求項1から請求項4のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
演算結果を表示する工程は、
前記発停制約を設定する工程で設定された発停制約と前記演算を実行する工程にて得られた解とを対比して、差異部分をオペレータが視認できるように提示する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項６】
請求項1から請求項5のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
前記設定された発停制約を目的関数化する工程を実行するか否かが選択可能であって、
オペレータが前記設定された発停制約を目的関数化する工程を選択しなかった場合には、
前記演算を実行する工程は、前記設定された発停制約を制約側条件として演算を実行する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項７】
請求項1から請求項5のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
前記エネルギー供給機器ごとの発停制約を設定する工程の後、前記設定された発停制約を制約側条件として演算を実行し、
演算の解が不能であった場合には、発停制約を制約側条件から外すとともに、前記設定された発停制約を目的関数化する工程を自動的に実行する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項８】
請求項1から請求項5のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
前記エネルギー供給機器ごとの発停制約を設定する工程によって設定された前記発停制約に対して、エネルギー供給機器ごとおよび／または時間ごとに前記設定された発停制約を目的関数化する工程を実行するか否かが選択可能である
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項９】
請求項1から請求項8のいずれかに記載のエネルギー供給システムの運転計画作成方法において、
前記エネルギー供給機器ごとの発停制約を設定する工程に代えて、エネルギー供給機器ごとの出力レベルの制約を設定し、
前記設定された発停制約を目的関数化する工程に代えて、出力レベルの制約の目的関数化を実行する
ことを特徴とするエネルギー供給システムの運転計画作成方法。
【請求項１０】
複数のエネルギー供給機器を備え複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成する運転計画作成装置であって、
オペレータが入力したエネルギー供給機器ごとの発停制約を設定記憶するメモリと、
前記設定された発停制約を目的関数化する目的関数化手段と、
基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化問題の演算を実行する演算実行部と、を備える
ことを特徴とするエネルギー供給システムの運転計画作成装置。
【請求項１１】
複数のエネルギー供給機器を備え複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成するプログラムであって、
コンピュータに、
前記エネルギー供給機器ごとの発停制約を設定する工程と、
前記設定した発停制約を目的関数化する工程と、
基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化問題の演算を実行する工程と、を実行させる
ことを特徴とするエネルギー供給システムの運転計画作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エネルギー供給システムの運用計画作成方法に関する。
具体的には、ボイラやコジェネレーション(cogeneration)などのエネルギー供給機器を複数備えるエネルギー供給システムの運転計画を作成する方法に関する。
【背景技術】
【０００２】
例えばビル等の大規模建物や石油化学などの大規模プラントでは複数のエネルギー供給機器を備えている。
そして、省エネルギーや省コストの要請を満たすように各エネルギー供給機器の発停および稼働率を最適に調整するように運転計画を作成している。
【０００３】
従来、このような複数のエネルギー供給機器の運転計画を作成するにあたっては、数理計画法（最適化手法）が利用されている。
従来の運転計画作成方法について説明する。
【０００４】
図14は、複数のエネルギー供給機器を備えたエネルギー供給システムの一例を示す図である。
このエネルギー供給システム100は、エネルギー供給機器として、コジェネレーション110と、ボイラ120と、を備えている。
そして、購入エネルギーとして電力とガスとを購入し、エネルギー供給システム100によって電力負荷の電力需要および蒸気負荷の蒸気需要に応じる電力と蒸気とを生成する。
コジェネレーション110は、購入ガスを用いて発電するとともに排熱を用いて蒸気を生成する。
ボイラ120は、購入ガスを用いて蒸気を生成する。
ただし、ボイラ120を駆動させるための補機は、ガス量に応じた電力を消費する。
電力負荷としては室内照明等が例に挙げられ、蒸気負荷としては冷房、暖房等の空調設備が例に挙げられる。
なお、生成された蒸気が蒸気負荷の需要を超過して余った場合には廃棄できる一方、電力は電力負荷の需要を超えて余らせることは禁止されるとする。
【０００５】
そして、建物の電力需要と蒸気需要とは予め見通しがあり、例えば、蒸気需要予測が図15、電力需要予測が図16のように求められていると仮定する。
ここで、ある時刻における電力需要および蒸気需要を満たしつつ、購入エネルギー費用（購入電力費用＋購入ガス費用）を最小にするという目的を達成したいとする。
このような条件および目的のもとで運転計画を作成するためのエネルギー供給システムの定式化は次のようになる。
【０００６】
まず、最適化の目的はエネルギー購入費用を最小化することであるので、次のf1を最小化することが数理計画問題の目的となる。
【０００７】
f1＝ElecFromBuy×ElecPrice＋GasFromBuy×GasPrice  ・・・・（P1）
Minimize f1  ・・・・・・・・・・・・・・・・・・（P2）
【０００８】
ここで、
ElecFromBuy：購入する電力量（非負）。
GasFromBuy：購入する都市ガス量（非負）。
ElecPrice：電力料金。具体的計算例では仮に10.93とおく。
GasPrice：ガス料金。具体的計算例では仮に32.05とおく。
【０００９】
そして、数理計画問題をとく前提となる制約条件は次のように定式化される。
【００１０】
蒸気は余ってもよいが、電力が余ることは禁止するので、次の式になる。
【００１１】
ElecDemand＋ElecToBoiler＝ElecFromCGS＋ElecFromBuy  ・・・・（C1）
SteamDemand≦SteamFromCGS＋SteamFromBoiler  ・・・・・・・・(C2)
【００１２】
ここで、
ElecDemand：電力需要。具体的計算例では仮に30とおく（図16の9時に相当する）。
SteamDemand：蒸気需要。具体的計算例では仮に20とおく（図15の9時に相当する）。
ElecToBoiler：ボイラ補機による電力消費量。
SteamFromBoiler：ボイラによる生成蒸気量。
ElecFromCGS：コジェネレーションによる発電量。
SteamFromCGS：コジェネレーションによる生成蒸気量。
【００１３】
購入ガスの消費先は、コジェネレーション110とボイラ120とであるので次の式がたつ。
【００１４】
GasFromBuy＝GasToCGS＋GasToBoiler  ・・・・（C3）
【００１５】
ここで、
GasToBoiler：ボイラによる都市ガスの消費量（非負）。
GasToCGS：コジェネレーションによる都市ガスの消費量（非負）。
【００１６】
コジェネレーション110における消費エネルギーと生成エネルギーの量的関係を次のように定式化する。
【００１７】
ElecFromCGS＝GasToCGS×A  ・・・・（C4）
SteamFromCGS＝GasToCGS×B  ・・・・（C5）
【００１８】
ここで、
A：コジェネレーションにおける都市ガス単位あたりの発電量。具体的計算例では仮に5.04とする。
B：コジェネレーションにおける都市ガス単位あたりの生成蒸気量。具体的計算例では仮に3.16とする。
【００１９】
また、ボイラ120における消費エネルギーと生成エネルギーとの量的関係を次のように定式化する。
【００２０】
ElecToBoiler＝GasToBoiler×C  ・・・・（C6）
SteamFromBoiler＝GasToBoiler×D  ・・・・（C7）
【００２１】
ここで、
C：ボイラにおける都市ガス単位あたりの消費電力。具体的計算例では仮に0.009とする。
D：ボイラにおける都市ガス単位あたりの生成蒸気量。具体的計算例では仮に11とする。
【００２２】
コジェネレーションの性能規格を次のように定式化する。
【００２３】
X×U1≧GasToCGS≧X×L1  ・・・・（C8）
【００２４】
ここで、
X：コジェネレーションが運転していれば1、停止していれば0とする二値変数。
U1：コジェネレーションにおける都市ガスの入力上限。具体的計算例では仮に1000とする．
L1：コジェネレーションにおける都市ガスの入力下限。具体的計算例では仮に0とする．
【００２５】
同様に、ボイラ120の性能規格を次のように定式化する。
【００２６】
Y×U2≧GasToBoiler≧Y×L2  ・・・・（C9）
【００２７】
ここで、
Y：ボイラが運転していれば1、停止していれば0とする二値変数。
U2：ボイラにおける都市ガスの入力上限。具体的計算例では仮に1000とする。
L2：ボイラにおける都市ガスの入力下限。具体的計算例では仮に0とする。
【００２８】
このような制約条件（C1）から（C9）のもとで目的（P1）、（P2）を満たすように解くと、オペレータの目的に適うエネルギー供給システムの運転計画が求められる。
【００２９】
このようなエネルギー供給システムの運転計画を作成する方法として数理計画法を適用したものが例えば特許文献1、特許文献2に開示されている。
そして、特許文献１および特許文献2では、エネルギー供給設備の稼働において、低コスト、低二酸化炭素排出、低消費エネルギーなどの複数の目的に対し、重み付けパラメータを設定して多目的のなかで最適な運転計画を作成する方法を開示している。
【先行技術文献】
【特許文献】
【００３０】
【特許文献１】特開平9-26804号公報
【特許文献２】特開2002-252926号公報
【発明の概要】
【発明が解決しようとする課題】
【００３１】
オペレータの要請としては様々なものがあり、たとえば、機器ごとの発停（運転、停止）を制約したいという要請がある。
すなわち、ある時刻では一のエネルギー供給機器の稼働を優先したいと要求したり、あるいは、ある時刻では一のエネルギー供給機器の運転は停止させたいと要求する場合がある。
【００３２】
ここで、上記の設例において、さらに、オペレータが「ボイラ120よりもコジェネレーション110を優先して動かし、蒸気は全てコジェネレーション110で賄う」という制約を加えたいとする。
このような場合には、上記の制約条件（C1）から（C9）に加えて、次の制約条件式が加わることになる。
すなわち、コジェネレーション110が稼働し（X=0）、ボイラ120は停止している（Y＝0）という制約を定式化する。
【００３３】
X＝1  ・・・・（C10）
Y＝0  ・・・・（C11）
【００３４】
しかしながら、このような制約条件（C1）から（C11）のもとで目的（P1）、（P2）を満たすように解こうとすると、制約条件が矛盾するため、解の算出が不能になってしまう。
すなわち、たとえば、9時の蒸気需要に応じるようにコジェネレーション110を稼働させた場合、9時の電力需要よりもコジェネレーション110による発電量が上回ってしまう。
図18は、仮に蒸気の生成量を図17のように蒸気需要に合わせたとした場合にコジェネレーション110で発電されてしまう電力量を手計算で求めたものである。
図18に示されるように、9時、10時では、需要を上回る発電量が発電されてしまっている。
これは、蒸気需要を満たしつつ（C2）、電力が余ることを禁止する制約条件（C1）を満たさない。
このように矛盾した制約のもとでは解が得られないため、実際に演算装置で演算を実行してもエラーになるだけで何らの出力も得られないことになる。
【００３５】
このように解が不能となった場合、オペレータは、適切な解が求められるように制約を外したり緩めたりする定式化の変更を行う。
しかし、どの制約が矛盾しているのか容易には分からないことが多い。
現実問題としては、図14よりもはるかに大型のシステムを対象とするため、手計算でエラーの原因を突き止めるのは非常に困難である。
このような問題に対処するためには、制約条件の定式化を再検討できるだけの対象システムに関する専門知識が要求されるうえ、専門知識をもって再検討しても相当の試行錯誤を要していた。
【００３６】
本発明の目的は、従来の問題に鑑み、機器の発停または稼働率を含む制約条件のもとでオペレータに必ず解を与えるエネルギー供給システムの運用計画作成方法および装置を提供することにある。
【課題を解決するための手段】
【００３７】
本発明のエネルギー供給システムの運転計画作成方法は、複数のエネルギー供給機器を備え、複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成する方法であって、前記エネルギー供給機器ごとの発停制約を設定する工程と、前記設定された発停制約を目的関数化する工程と、基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化の演算を実行する工程と、を備えることを特徴とする。
【００３８】
このような構成によれば、機器の発停を目的関数化して演算を実行するので、発停制約の矛盾に起因して解が不能になるという事態に陥ることがない。
従来は発停の要求は制約条件として絶対に満たすべきものとして式に組み込まなければならなかったため、制約が矛盾して解けないことがあり、その対応調整には多大な時間と専門的知識が必要であった。
この点、本発明によれば、機器の発停制約を目的関数に変換しているため解が不能となることはなく、運転計画を必ず作成することができる。
【００３９】
本発明では、前記最適化問題の演算を実行する工程が目的関数の最小化によって解を求め得る場合には、前記設定された発停制約を目的関数化する工程は、発停制約の要求を満たす場合には値が小さくなり、発停制約の要求を満たさない場合には値が大きくなるように前記エネルギー供給機器ごとに目的関数を作成することが好ましい。
また、本発明では、前記最適化問題の演算を実行する工程が目的関数の最大化によって解を求め得る場合には、前記設定された発停制約を目的関数化する工程は、発停制約の要求を満たす場合には値が大きくなり、発停制約の要求を満たさない場合には値が小さくなるように前記エネルギー供給機器ごとに目的関数を作成することが好ましい。
【００４０】
このような構成により、機器の発停を目的関数化したうえ、通常の最適化問題の解法によって解を求めることができる。
【００４１】
本発明では、前記エネルギー供給機器ごとの発停制約を含む複数の目的に重み付けを設定する工程と、設定された重み付けを最適化条件の式に含ませて目的の重み付けを反映した目的関数を定式化する工程と、を備えることが好ましい。
【００４２】
機器の発停制約を目的関数化するため、オペレータの発停制約の要求を完全に満たさない解が求められることもあり得るが、重要度に応じて重み付けを調整できることにより、可能な限りオペレータの要求に近い解を求めることができる。そして、このようにオペレータ要求を可能な限り満たしたうえで必ず解を与えることができる。
【００４３】
本発明では、演算結果を表示する工程は、前記発停制約を設定する工程で設定された発停制約と前記演算を実行する工程にて得られた解とを対比して、差異部分をオペレータが視認できるように提示することが好ましい。
【００４４】
このような構成によれば、差異部分が分かるため、解が発停制約をどの程度満たしているかがわかり、必要であれば解を求め直すように調整することが可能となる。
また、設定された発停制約と異なる部分が表示されることによって、演算対象としているエネルギー供給システムをオペレータがより深く把握するための知見を得ることもできる。
【００４５】
本発明では、前記設定された発停制約を目的関数化する工程を実行するか否かが選択可能であって、オペレータが前記設定された発停制約を目的関数化する工程を選択しなかった場合には、前記演算を実行する工程は、前記設定された発停制約を制約側条件として演算を実行することが好ましい。
【００４６】
このような構成によれば、機器の発停を制約側条件として扱うか目的側条件として扱うかをオペレータが適宜選択できるため、必ず発停条件を満たしたい場合には機器の発停を制約側条件とすることにより、必ず要求に沿った解を得ることができる。また、仮に、制約が矛盾していて解が不能である場合でも、制約条件を目的側条件とする演算を行ってみることによって制約の矛盾点を発見しやすくなり、短時間で容易に定式の調整を行うことができるようになる。
【００４７】
本発明では、前記エネルギー供給機器ごとの発停制約を設定する工程の後、前記設定された発停制約を制約側条件として演算を実行し、演算の解が不能であった場合には、発停制約を制約側条件から外すとともに、前記設定された発停制約を目的関数化する工程を自動的に実行することが好ましい。
【００４８】
このような構成によれば、オペレータが設定入力した発停制約が適切な制約条件となっている場合にはそのまま演算が実行されて解が求められる。
そのため、目的関数化や重みの設定などの手間がなく、運転計画の立案を素早く行うことができる。
その一方、発停制約が過度な制約条件になって解が不能である場合であっても自動的に発停制約を目的関数化する処理に移行するため、オペレータ要求を可能な限り満たしたうえで必ず解を得ることができ、時間や専門知識を要することなく円滑に運転計画を作成することができる。
【００４９】
本発明では、前記エネルギー供給機器ごとの発停制約を設定する工程によって設定された前記発停制約に対して、エネルギー供給機器ごとおよび／または時間ごとに前記設定された発停制約を目的関数化する工程を実行するか否かが選択可能であることが好ましい。
【００５０】
このような構成によれば、オペレータが機器ごと時間ごとに発停制約を制約側条件とするか目的側条件とするかを細かく選択することができるので、機器ごと、時間ごとに発停制約の目的関数化を許容できないケースが切り替わるような場合でも臨機応変に対応することができる。
【００５１】
本発明では、前記エネルギー供給機器ごとの発停制約を設定する工程に代えて、エネルギー供給機器ごとの出力レベルの制約を設定し、前記設定された発停制約を目的関数化する工程に代えて、出力レベルの制約の目的関数化を実行することが好ましい。
【００５２】
このような構成によれば、機器の出力レベルを目的関数として定式化し、解が不能となることを回避して、必ずオペレータ要求に近い解を求めることができる。
【００５３】
本発明のエネルギー供給システムの運転計画作成装置は、複数のエネルギー供給機器を備え複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成する運転計画作成装置であって、オペレータが入力したエネルギー供給機器ごとの発停制約を設定記憶するメモリと、前記設定された発停制約を目的関数化する目的関数化手段と、基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化問題の演算を実行する演算実行部と、を備えることを特徴とする。
【００５４】
本発明のエネルギー供給システムの運転計画作成プログラムは、複数のエネルギー供給機器を備え複数の購入エネルギーから複数の需要エネルギーを生成するエネルギー供給システムの運転計画を作成するプログラムであって、コンピュータに、前記エネルギー供給機器ごとの発停制約を設定する工程と、前記設定した発停制約を目的関数化する工程と、基礎データとともに前記発停制約を目的関数化した式を読み込んで最適化問題の演算を実行する工程と、を実行させることを特徴とする。
【００５５】
このような構成によれば上記発明と同様の作用効果を奏する。
【図面の簡単な説明】
【００５６】
【図１】第1実施形態に係るエネルギー供給システムの運用計画作成装置の機能ブロック図。
【図２】第1実施形態において、エネルギー供給システムの運用計画作成方法の手順を示すフローチャートである。
【図３】第1実施形態において、機器の発停制約の入力画面の一例を示す図。
【図４】第1実施形態において、重みを入力する入力画面の一例を示す図。
【図５】演算結果を表示する画面例を示す図。
【図６】演算結果を表示する画面例を示す図。
【図７】演算結果を表示する画面例を示す図。
【図８】第2実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャート。
【図９】第3実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャート。
【図１０】第4実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャート。
【図１１】第5実施形態において、出力レベルと重み付き目的関数の値と関係を示す図。
【図１２】演算結果を表示する画面例を示す図。
【図１３】演算結果を表示する画面例を示す図。
【図１４】複数のエネルギー供給機器を備えたエネルギー供給システムの一例を示す図。
【図１５】蒸気需要の予測の一例を示す図。
【図１６】電力需要の予測の一例を示す図。
【図１７】蒸気生成量を蒸気需要に合わせた場合を示す図。
【図１８】仮に蒸気の生成量を図17のように蒸気需要に合わせたとした場合にコジェネレーションで発電されてしまう電力量を手計算で求めた図。
【発明を実施するための形態】
【００５７】
以下、本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
（第1実施形態）
本発明に係る第1実施形態について説明する。
図1は、本発明の第1実施形態に係るエネルギー供給システムの運用計画作成装置200の機能ブロック図である。
また、図2は、エネルギー供給システムの運用計画作成方法の手順を示すフローチャートである。
運用計画作成装置200は、制御部300と、メモリ400と、表示部500と、入力部600と、を備えたコンピュータの構成である。
各部の機能および動作については、図2のフローチャートの手順を参照しつつ説明する。
なお、運転計画を作成する対象となるエネルギー供給システムとしては、図14に示したシステムを例に説明する。
【００５８】
まず、ST100において、エネルギー供給システム100の運用計画を作成するための基礎データの設定を行う。
これは、オペレータが入力部600から基礎データを入力し、基礎データをメモリ400に設定入力する工程である。
基礎データとしては、エネルギーの需要予測、エネルギー供給機器（110、120）の性能規格、エネルギーの現在価格、対象システム100の定式化モデルなどがある。
【００５９】
エネルギー需要予測とは、図15、図16に示される蒸気需要と電力需要との見通しであり、時間ごとに推移していく予測値が設定入力される。
機器の性能規格とは、各エネルギー供給機器（コジェネレーション110とボイラ120）における消費エネルギーと生成エネルギーの量的関係や、入力上限、入力下限等である。
エネルギー価格は、購入が必要な電力、ガスの価格である。日中と夜間では料金が異なるなどの各種の価格条件がある。
【００６０】
システムの定式化モデルは、対象とするエネルギー供給システム100を定式化したモデルであり、背景技術で説明した制約条件の式（C1）から式（C9）が含まれる。
さらに、システムの運転費用を表す式（背景技術の式（P1））や、システムの排出二酸化炭素量を表す式、システムの消費エネルギーを表す式などもシステムの定式化モデルに含み、これらを基礎データの一部として設定入力しておく。
【００６１】
これら基礎データはメモリ400の基礎データ記憶部410に設定記憶される。
【００６２】
基礎データの設定に続いて、次に、発停制約の設定を行う（ST110）。
これは、オペレータの要求に応じて機器ごとの発停（運転、停止）制約を設定する工程である。
すなわち、ある時刻では一のエネルギー供給機器の稼働を優先したいと要求したり、あるいは、ある時刻では一のエネルギー供給機器の運転は停止させたいとする要求を設定する。
このとき、入力部600の画面に例えば図3のように、コジェネレーション（CGS）110およびボイラ120の発停制約入力画面が表示されるようにする。
オペレータは、時間ごとおよび機器ごとに発停制約を入力する。
ここでは、オペレータが「ボイラよりもコジェネレーションを優先して動かし、蒸気は全てコジェネレーションで賄う」という発停制約を要求するとする。
すなわち、図3において、計算対象とする時間（ここでは8時から10時）でコジェネレーション110の稼働（X＝1）と、ボイラ120の停止（Y＝0）と、を入力する。
すると、メモリ400は、8時から10時について、
【００６３】
X＝1  
Y＝0  
【００６４】
とする機器の発停制約を記憶する。
【００６５】
次に、ST120において、設定入力された発停制約を目的関数化する。
制御部300は、目的関数化手段310を備え、メモリ400に記憶された発停制約を読み出して目的関数に変換する。
すなわち、機器の発停によって変化する関数を新たに立式する。
このとき、オペレータの要求を満たす場合には値が小さくなり、オペレータの要求を満たさない場合には値が大きくなるように目的関数をつくる。
【００６６】
たとえば、オペレータ要求としては、コジェネレーションを稼働させ（X＝1）、ボイラは停止させる（Y＝0）ので、目的関数を次のようにたてる。
【００６７】
f2＝1−X・・・・（P3）
f3＝Y−0  ・・・・（P4）
【００６８】
次に、ST130において、各目的の重みを設定する。
これは、オペレータの要求に応じて各目的の重みを設定する工程である。
オペレータの要求としては、低コストや、二酸化炭素排出量の最小化の他、さらに、機器の発停制約があるところ、これらの要求の重要度に応じて重み付けを行う。
このとき、表示部500の画面に例えば図4のように、目的の項目ごとに重みを入力できる入力画面が表示されるようにする。
オペレータは、目的ごとに重みを入力する。
ここでは、オペレータが、コジェネレーション110の発停制約の重みをw2、ボイラ120の発停制約の重みをw3、コストの重みをw1に設定したとする。
設定された重みはメモリ400に記憶される。
具体的な計算例として、w1を1、w2を10、w3を10、に設定したと仮定する。
【００６９】
次に、ST140において、設定された重み付けを最適化条件の式に含ませて目的の重み付けを反映した目的関数を定式化する。
制御部300は、重み付け定式化手段320を備え、メモリ400に記憶された目的の重み設定を読み出して目的関数に重み付けをする。
すなわち、次のように重み付きの目的関数をおく。
【００７０】
f＝w1×f12＋w2×f22＋w3×f32  ・・・・（P5）
【００７１】
そして、このfを最小化することを最適化の目的とする。
【００７２】
Minimize f  ・・・・・（P6）
【００７３】
次に、ST150において、演算を実行する。
制御部300は、演算実行部330を備えている。
演算実行部330は、基礎データとして与えられている制約条件（C1）~（C9）に加え、目的関数（P3）、（P4）、（P5）、（P6）を読み込んだうえで、式（P6）を最適化の目的として演算を実行する。
【００７４】
本実施形態の演算は、二次計画問題としての定式化であり、過度な制約条件もないため、通常の最適化問題の解法で解を求めることができる。
たとえば、株式会社数理システムの「NUOPT」などの市販ソフトを用いて求解することができる。
【００７５】
具体的数値例において、解は、X＝1、Y＝1、となる。
オペレータ要求としてはボイラ120の停止を要求していたのに対し、解としてはボイラ120の停止は完全には満たされていない。
【００７６】
ただし、コジェネレーション110およびボイラ120の都市ガス消費量はそれぞれ、
【００７７】
GasToCGS = 5.952574112
GasToBoiler = 0.108169619
【００７８】
となる。
これは、コジェネレーション110の出力電力からボイラ補機の消費電力を差し引いた電力が30となり、電力需要をちょうど満たしている。
また、コジェネレーション110およびボイラ120からの蒸気の和が20となり，蒸気需要をちょうど満たしている。
【００７９】
このような演算結果を時間ごとに求める。
このように求められた解は、表示部500に表示される。
【００８０】
図5から図7は、演算結果を表示する画面の例である。
図5および図6の表示によって、蒸気需要、電力需要がともに満たされていることがわかる。
また、図5では、蒸気を生成する機器の分担もわかる。
【００８１】
また、図7は、時間ごとの機器の発停状態を示す図である。
ここで、オペレータ要求としては、すべての時間においてボイラ120の停止を要求したのに対し、演算結果では9時と10時でボイラ120が稼働しているという違いが生じている。
このようにオペレータが要求した発停制約と異なる部分についてはオペレータにわかるように示す。
たとえば、図7のように差異部分には色やハッチングをつけて表示する。
このような表示制御は、制御部300の表示制御部340によって実行する。
すなわち、表示制御部340は、オペレータ要求の発停入力値と解として求められた発停データとを対比して、図7のように差異部分に色またはハッチングをつけて表示部500に表示させる。
【００８２】
このような構成を備える第1実施形態によれば、次の効果を奏することができる。
（１）機器の発停を目的関数化して演算を実行するので、発停制約の矛盾に起因して解が不能になるという事態に陥ることがない。
機器の発停は絶対的な制約ではなく、オペレータの希望程度である場合も往々にしてあるが、そのような場合でも従来は発停の要求は制約条件として絶対に満たすべきものとして式に組み込まなければならなかったため、制約が矛盾して解けないことがあり、その対応調整には多大な時間と専門的知識が必要であった。
この点、本実施形態では、機器の発停制約を目的関数に変換しているため解が不能となることはなく、運転計画を必ずオペレータに示すことができる。
【００８３】
（２）発停制約について目的関数化するところ、発停制約について他の目的と比較したときの重み付けを設定することができる。
オペレータの発停制約の要求を完全に満たさない解が求められることもあり得るが、重要度に応じて重み付けを調整できることにより、可能な限りオペレータの要求に近い解を求めることができる。
そして、このようにオペレータ要求を可能な限り満たしたうえで必ず解を与えることができる。
【００８４】
（３）オペレータ要求と異なる解が求まった場合、差異部分には色またはハッチングを付して表示するので、オペレータ要求と異なっている部分がすぐに判別できる。
これにより、解が発停制約をどの程度満たしているかがわかり、必要であれば解を求め直すように調整することが可能である。
また、与えた発停制約と異なる部分が表示されることによって、対象としているエネルギー供給システムをより深く把握するための知見を得ることもできる。
上記の例では、ボイラ120の停止を要求しているにも拘らず運転という解が算出されていることから，ボイラ120の停止要求がそれに関わる制約と相反していると推測できる。
【００８５】
（第2実施形態）
次に、本発明の第2実施形態について説明する。
第2実施形態の基本的構成は第1実施形態に同様であるが、機器の発停を制約条件とするか目的とするかを選択できる点に特徴を有する。
図8は、第2実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャートである。
図8においては、機器の発停制約を設定入力（ST110）した後、発停制約を目的側条件にするか否かの選択工程（ST111）がある。
これは、例えば、表示部500の画面において、発停制約を目的側条件にするか制約側条件にするかの選択を促す画面を表示する。
そして、オペレータが発停制約を目的側条件にするか制約側条件にするかの選択を入力する。
オペレータが発停制約を目的側条件にするように選択した場合（ST111：YES）、以後ST120からST160は前記第1実施形態に説明した手順で進行し、求められた解は、表示部500に表示される（ST160）。
【００８６】
一方、オペレータが発停制約を制約側条件のままにすることを選択した場合には（ST111：NO）、発停制約の目的関数化（ST120）を行わず、ST150の演算実行に移行する。
なお、この場合、最適化計算の目的については、背景技術で説明したようにコストの最小を目的にするように式（P1）、（P2）を使用してもよく、別途、低二酸化炭素、低消費エネルギーを最適化の目的にするようにしてもよい。
そして、求められた結果は表示部500にて表示される（ST160）。
ここで、制約条件が矛盾しているために解が不能である場合がありうる。
このような場合には、解法が不能であることを表示して処理を終了する。
【００８７】
このような第2実施形態によれば、機器の発停を制約側条件として扱うか目的側条件として扱うかをオペレータが適宜選択できる。
したがって、制約が矛盾していて解が不能である場合には、それを知ることができる。
また、解が不能であった場合でも、制約条件を目的側条件とする演算を行ってみることによって、第1実施形態と同様にユーザー要求を可能な限り満たしたうえで必ず解を得ることができ、時間や専門知識を要することなく円滑に運転計画を作成することができる。
【００８８】
（第3実施形態）
次に、本発明の第3実施形態について説明する。
第3実施形態の基本的構成は第1実施形態に同様であるが、演算が不能であった場合に自動的に発停制約を目的側条件にする処理に移行する点に特徴を有する。
図9は、第3実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャートである。
図9においては、機器の発停制約を設定入力（ST110）した後、演算の実行に移行する（ST112）。
そして、演算によって解がある場合には（ST113：YES）、表示部500によって解を表示する。
【００８９】
一方、演算の結果、解が不能であった場合（ST113：NO）、制御部300は、機器の発停制約を制約側条件から外す処理に自動的に移行する（ST114）。
このとき、オペレータに、解が不能であること、および、発停制約を制約側条件から外す処理を実行していることを提示してもよい。
【００９０】
そして、T120において設定入力された発停制約を目的関数化し、続いて、表示部500に図4の入力画面を表示して重み設定をオペレータに促す。
オペレータによる重み設定（ST130）を受けて重み付けを定式化したのち（ST140）、再び演算実行に戻る（ST112）。
すると、今回は、過度な制約条件がなくなっているため、解が求められる。
したがって、ST113を通過して（ST113：YES）、表示部500に解が表示される（ST160）。
このとき、オペレータ要求の発停入力値と解として求められた発停データとを対比して、差異部分がわかるように表示される（図7）。
【００９１】
このような第3実施形態によれば、オペレータが入力した発停制約が適切な制約条件となっている場合にはそのまま演算が実行されて解が求められる。
その一方、発停制約が過度な制約条件になって解が不能である場合であっても自動的に発停制約を目的関数化する処理に移行するため、重みを設定することによって必ず解を得ることができる。
したがって、解が不能である場合と解が得られる場合とを対比することにより、対象とするシステムを深く理解するための知見を得ることができる。
また第1実施形態と同様に、ユーザー要求を可能な限り満たしたうえで必ず解を得ることができ、時間や専門知識を要することなく円滑に運転計画を作成することができる。
【００９２】
（第4実施形態）
次に、本発明の第4実施形態について説明する。
第4実施形態は、機器ごと、時間ごとに機器の発停を制約側条件とするか目的側条件とするかを選択できる点に特徴を有する。
図10は、第4実施形態におけるエネルギー供給システムの運用計画作成方法の手順を示すフローチャートである。
図10においては、機器の発停制約を設定入力（ST110）した後、機器ごと、時間ごとに発停制約の目的関数化を選択設定する選択工程（ST115）がある。
この工程では、ST110にて設定した機器ごと／時間ごとの機器発停制約（図3）に対し、さらに、機器ごと／時間ごとに制約側条件とするか目的側条件とするかの選択を行う。
【００９３】
この場合、例えば、「10時におけるボイラの発停制約を目的関数化する」などのように時間と機器種類との両方が細かく選択できるようになっていてもよい。つまり、図3においてセルごとに目的関数化の選択ができるようになっていてもよい。
または、「10時はすべて目的関数化する」などのように、時間ごとに選択できるようになっていてもよい。つまり、図3において行ごとに目的関数化の選択ができるようになっていてもよい。
または、「ボイラの発停はすべて目的関数化する」などのように機器ごとに選択できるようになっていてもよい。つまり、図3において列ごとに目的関数化が選択できるようになっていてもよい。
【００９４】
オペレータが発停制約のすべてを制約側条件のままにすることを選択した場合には（ST116：NO）、発停制約の目的関数化を行わず、ST150の演算実行に移行する。
そして、そのまま解があれば（ST151：YES）、求められた結果は表示部500にて表示される（ST160）。
【００９５】
ここで、ST115において、オペレータが発停制約の一つ以上を目的側条件にすることを選択した場合（ST116：YES）、制御部300は、目的関数化を選択された発停制約を制約側条件から外す処理を実行する（ST117）。
そして、ST118において、目的関数化が選択された発停制約を目的関数化する。
続いて、表示部500に図4の入力画面を表示し、重み設定をオペレータに促し、重み設定を行う（ST130）
このとき、重みの設定が必要なものは、低コストや、二酸化炭素排出量の最小化の他、目的関数化が選択された発停制約である。
設定された重み付けを最適化条件の式に含ませて目的の重み付けを反映した目的関数を定式化し（ST140）、演算を実行する（ST150）。
そして、解が存在すれば（ST151：YES）、求められた結果は表示部500にて表示される（ST160）。
【００９６】
なお、すべての発停制約が制約側条件のままであったり、発停制約の一部のみが目的関数化されている場合には、解が不能である場合もありうる（ST151：NO）。
このような場合には、オペレータに解が不能であることを通知するとともに、ST115に戻って再度機器ごと時間ごとに発停制約を目的関数化する選択を促す。
【００９７】
このような第4実施形態によれば、オペレータが機器ごと時間ごとに発停制約を制約側条件とするか目的側条件とするかを細かく選択することができる。
例えば、ある機器をメンテナンスする予定がある場合など、機器ごと、時間ごとに発停制約の目的関数化を許容できないケースが切り替わることがあり得る。
本実施形態では機器ごと時間ごとに発停制約の目的関数化を細かく選択できるため、上記のようなケースでも臨機応変に対応可能となる。
また、仮に発停制約が過度な制約条件となって解が不能である場合でも、機器ごと時間ごとの発停制約を徐々に目的関数化していくことにより、最終的に必ず解を得ることができる。
そして、目的関数化の選択を細かく変えつつ、解が不能である場合と解が得られた場合とを対比することにより、対象とするシステムを深く理解するための知見を詳細に得ることができる。
【００９８】
（第5実施形態）
次に、本発明の第5実施形態について説明する。
第5実施形態の基本的構成は第1実施形態に同様であるが、機器の稼働レベルを目的関数化する点に特徴を有する。
上記第1実施形態では、オペレータは機器の発停を制約として要求し、これを機器の発停制約として入力した。
そして、運転計画作成装置は、機器の発停制約を目的関数化（式（P3、P4））した。
【００９９】
ここで、オペレータの要求として、ある時刻における各機器の出力レベル（稼働率）を制限したいという要求があり得る。
すなわち、ある時刻では一のエネルギー供給機器の出力レベルを一定以下に制限したり、あるいは、ある時刻では一のエネルギー供給機器の出力レベルを一定以上にしたいと要求する場合がある。
【０１００】
この場合、図2のST110の発停制約の設定に代えて、オペレータは、機器の出力レベルを制約として設定する。
例えば、ある時刻におけるコジェネレーション110の出力下限値LLc(lower limit)および出力上限値ULc（upper limit）を設定し、あるいは、ボイラ120の出力下限値LLb(lower limit)および出力上限値ULb（upper limit）を設定入力する。
【０１０１】
そして、ST120の発停制約の目的関数化に代えて、出力レベル制約の目的関数化を次のように行う。
すなわち、fe1、fe2≧０のパラメータを導入し、機器の出力レベルを次の式におさめるようにする。
【０１０２】
（LL−fe1）×X≦出力レベル≦（UL＋fe2）×X
【０１０３】
すなわち、機器の出力レベルが出力下限LLを下回っているときには、fe1の値が正の方向に大きくなる。
また、機器の出力レベルが出力上限ULを上回っているときには、fe2の値が正の方向に大きくなる。
また、機器の出力レベルが出力上限ULと出力下限LLの間に入っているときには、fe1、fe2の値は０である。
【０１０４】
次に、目的の重みを設定するところ、これは第1実施形態と同様である。
なお、出力レベルの下限方向に外れてほしくない場合は、前記fe1にかかる重みを大きくし、逆に、出力レベルの上限方向に外れてほしくない場合には、前記fe2にかかる重みを大きくする。
ここで、前記fe1にかかる重みをW4、前記fe2にかかる重みをW5として設定したとする。
このように重みを設定すると、図11に示されるように、出力レベルが出力上限ULまたは出力下限LLから外れると、目的関数の値が大きくなる。
【０１０５】
そして、設定された重み付けを最適化条件の式に含ませて、目的の重み付けを反映した目的関数を定式化する。
すなわち、次のように重み付きの目的関数をおく。
【０１０６】
f＝w1×f1＋w4×fe1＋w5×fe2
【０１０７】
そして、このfを最小化することを最適化演算の目的とする。
【０１０８】
このような構成によれば、出力レベルを目的関数として定式化することができる。
ここで、出力レベルの下限および上限を制約条件としてしまうと制約の矛盾に起因して解が不能という事態が生じうるが、本実施形態では、出力レベルの下限および上限の設定を目的関数としたので解が不能となることはなく、必ず運転計画を作成することができる。
また、オペレータが重要度に応じて出力レベルに重みを付けることができるので、可能な限りオペレータの要求に近い解をよりきめ細やかに求めることができる。
【０１０９】
（第6実施形態）
次に、本発明の第6実施形態について説明する。
第6実施形態の基本的構成は上記実施形態に同様であるが、表示部500による結果の表示に特徴を有する。
演算結果の表示にあたっては、オペレータが要求した制約と異なる部分についてはオペレータにわかるように示す。
この場合、図12に示すようにしてもよい。
図12では、機器ごとに出力レベルの時間変化を示している。
このとき、オペレータが要求した発停制約および出力レベルの範囲を満たしている時間については、通常の表示で示す。
図12では、普通の白抜きの棒によって出力レベルを示している。
【０１１０】
その一方、オペレータが要求した発停制約および出力レベルの範囲を満たしていない時間については、異なる表示で示す。
図12では、黒塗の棒によってオペレータ制約を満たしていないことを示す。
なお、オペレータが機器の稼働を要求したのに対し、演算結果として機器の停止が求められた場合には、その時刻にマークをする。
図12では、×（バツ）印を付している。
【０１１１】
また、図13のように結果を表示してもよい。
図13では、オペレータが要求した発停制約および出力レベルの範囲を満たしている時間については、太い棒線で示している。
一方、オペレータが要求した出力レベルとは異なるレベルで機器を運転する部分は細い棒線で示している。
さらに、オペレータが機器の稼働を要求したのに対し、演算結果として機器の停止が求められた場合には、破線で示している。
このように機器の運転時間を棒線で示しつつ、オペレータ要求を満たさない部分には異なる線種を表示する。
これによりオペレータ要求と異なっている部分がすぐに判別できる。
【０１１２】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
機器の発停制約を目的関数化するにあたって（目的関数化手段310、ST120）、オペレータの要求を満たす場合には値が小さくなり、オペレータの要求を満たさない場合には値が大きくなるように目的関数をつくる場合を例示した。
これは、目的関数の最小化によって解を得る場合であるが、逆に、目的関数の最大化によって解を得る場合には、オペレータの要求を満たす場合には値が大きくなり、オペレータの要求を満たさない場合には値が小さくなるように目的関数をつくることとする。
また例示された目的関数は二次関数であったが、その形式に限定されず、たとえばより一般的な非線形関数でもよい。
【０１１３】
制御部は、制御処理、演算処理等を行うCPU（Central Processing Unit）、CPUによって実行される制御プログラム、演算プログラム等が記憶されたROM（Read Only Memory）、処理データ等を一時的に記憶するRAM（Random Access Memory）等を有し、所定のプログラムによって演算実行部、目的関数化手段、重み付け定式化手段、表示制御部として機能するようにし、上記実施形態で説明した各工程を実行させるようにしてもよい。
【０１１４】
対象とするエネルギー供給システムとしては図14に示す構成に限定されず、複数のエネルギー供給機器を備えるシステムに対して本発明が適用できることはもちろんである。
【符号の説明】
【０１１５】
100…エネルギー供給システム、110…コジェネレーション、120…ボイラ、300…制御部、310…目的関数化手段、320…重み付け定式化手段、330…演算実行部、340…表示制御部、400…メモリ、410…基礎データ記憶部、500…表示部、600…入力部。
【図１】
2010226879.tif 000003
【図２】
2010226879.tif 000004
【図３】
2010226879.tif 000005
【図４】
2010226879.tif 000006
【図５】
2010226879.tif 000007
【図６】
2010226879.tif 000008
【図７】
2010226879.tif 000009
【図８】
2010226879.tif 000010
【図９】
2010226879.tif 000011
【図１０】
2010226879.tif 000012
【図１１】
2010226879.tif 000013
【図１２】
2010226879.tif 000014
【図１３】
2010226879.tif 000015
【図１４】
2010226879.tif 000016
【図１５】
2010226879.tif 000017
【図１６】
2010226879.tif 000018
【図１７】
2010226879.tif 000019
【図１８】
2010226879.tif 000020