(57)【要約】【課題】離散的な状態を取る対象装置について運転計画を作成する場合に、実行可能な解を演算するための時間を短縮化することが好ましい。【解決手段】運転計画方法では、それぞれの対象装置の離散的な状態を示す離散状態値を含む複数の状態値を演算するための元問題を取得する問題取得段階と、元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの対象装置の連続的な状態を演算する緩和問題演算段階と、元問題を複数の部分問題に分割して、緩和問題の解と部分問題の解との距離を用いて部分問題を解くことで複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する部分問題演算段階と、複数の状態値のうちの一部について部分問題演算段階で演算した値に固定し、且つ、元問題の制約条件を用いたスラック問題を解いて、複数の状態値のうちの残りの状態値を演算するスラック問題演算段階とを備える。【選択図】図１
2020065407.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより、複数の対象装置の運転計画を生成する運転計画方法であって、
予め定められた目的および制約条件を満たすことができる、それぞれの対象装置の離散的な状態を示す離散状態値を含む複数の状態値を演算するための元問題を取得する問題取得段階と、
前記元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの前記対象装置の連続的な状態を演算する緩和問題演算段階と、
前記元問題を複数の部分問題に分割して、前記緩和問題の解と部分問題の解との距離を用いて前記部分問題を解くことで前記複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する部分問題演算段階と、
前記複数の状態値のうちの一部について前記部分問題演算段階で演算した値に固定し、且つ、前記元問題の前記制約条件を用いたスラック問題を解いて、前記複数の状態値のうちの残りの状態値を演算するスラック問題演算段階と
を備える運転計画方法。
【請求項２】
前記複数の状態値は、前記対象装置の出力量を示す状態値を含み、
前記部分問題演算段階において、少なくとも一部の前記対象装置の出力量を示す状態値を演算し、
前記スラック問題演算段階において、少なくとも一部の前記対象装置の出力量を固定し、且つ、残りの前記対象装置の出力量を示す状態値を演算する
請求項１に記載の運転計画方法。
【請求項３】
前記対象装置の出力容量、出力効率および応答性の少なくとも一つの特性に基づいて、前記スラック問題演算段階において状態値を演算する前記対象装置を選択する
請求項２に記載の運転計画方法。
【請求項４】
前記複数の対象装置は、１つ以上の発電装置と、１つ以上の蓄電装置とを含み、
前記部分問題演算段階で、前記発電装置の出力量を示す状態値を演算し、
前記スラック問題演算段階で、前記発電装置の出力量を固定し、且つ、前記蓄電装置の出力量を示す状態値を演算する
請求項２または３に記載の運転計画方法。
【請求項５】
前記複数の状態値は、前記対象装置の出力量を示す状態値と、前記対象装置の起動状態を示す状態値とを含み、
前記部分問題演算段階において、前記複数の対象装置の起動状態を示す状態値を演算し、
前記スラック問題演算段階において、前記複数の対象装置の起動状態を示す状態値を固定し、且つ、前記複数の対象装置の出力量を示す状態値を演算する
請求項１に記載の運転計画方法。
【請求項６】
前記複数の状態値は、前記対象装置の出力量を示す状態値と、前記対象装置の起動状態を示す状態値とを含み、
第１のスラック問題演算段階において、一部の前記対象装置についての出力量を前記部分問題演算段階で得られた値に固定し、且つ、残りの前記対象装置の出力量を示す状態値を演算し、
前記第１のスラック問題演算段階において、前記制約条件を満たす前記状態値が存在しない場合、
第２のスラック問題演算段階において、前記複数の対象装置の起動状態を示す状態値を前記部分問題演算段階で得られた値に固定し、且つ、前記複数の対象装置の出力量を示す状態値を演算する
請求項１に記載の運転計画方法。
【請求項７】
前記複数の状態値は、前記対象装置の出力量を示す状態値と、前記対象装置の起動状態を示す状態値とを含み、
第１のスラック問題演算段階において、前記複数の対象装置の起動状態を示す状態値を前記部分問題演算段階で得られた値に固定し、且つ、前記複数の対象装置の出力量を示す状態値を演算し、
前記第１のスラック問題演算段階において、前記制約条件を満たす前記状態値が存在しない場合、
第２のスラック問題演算段階において、一部の前記対象装置についての出力量を前記部分問題演算段階で得られた値に固定し、且つ、残りの前記対象装置の出力量を示す状態値を演算する
請求項１に記載の運転計画方法。
【請求項８】
コンピュータに、請求項１から７のいずれか一項に記載の運転計画方法を実行させるためのプログラム。
【請求項９】
複数の対象装置の運転計画を生成する運転計画装置であって、
予め定められた目的および制約条件を満たすことができる、それぞれの対象装置の離散的な状態を示す離散状態値を含む複数の状態値を演算するための元問題を取得する問題取得部と、
前記元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの前記対象装置の連続的な状態を演算する緩和問題演算部と、
前記元問題を複数の部分問題に分割して、前記緩和問題の解と部分問題の解との距離を用いて前記部分問題を解くことで前記複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する部分問題演算部と、
前記複数の状態値のうちの一部について前記部分問題演算部で演算した値に固定し、且つ、前記元問題の前記制約条件を用いたスラック問題を解いて、前記複数の状態値のうちの残りの状態値の離散的な値を演算するスラック問題演算部と
を備える運転計画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運転計画方法、運転計画装置およびプログラムに関する。
【０００２】
従来、ラグランジュ緩和法と呼ばれる反復法を用いて発電機の起動停止計画を作成する技術が知られている（例えば、特許文献１参照）。特許文献１におけるラグランジュ緩和法は、問題を対象装置ごとの部分問題に分割して解を演算する。ラグランジュ緩和法によって解を演算する場合には、処理の反復回数が増加して、演算時間が長くなる場合がある。関連する技術として、離散的な制約条件を緩和した緩和問題を求解する緩和問題最適化部と、部分問題を求解する部分問題最適化部とを備える制御装置が知られている（例えば、特許文献２参照）。
［特許文献］
［特許文献１］  特開２００２−３００７２０号公報
［特許文献２］  特開２０１３−６４２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
離散的な状態を取る対象装置について運転計画を作成する場合に、実行可能な解を演算するための時間を短縮化することが好ましい。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明の第１の態様においては、コンピュータにより、複数の対象装置の運転計画を生成する運転計画方法を提供する。運転計画方法は、予め定められた目的および制約条件を満たすことができる、それぞれの対象装置の離散的な状態を示す離散状態値を含む複数の状態値を演算するための元問題を取得する問題取得段階を備えてよい。運転計画方法は、元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの対象装置の連続的な状態を演算する緩和問題演算段階を備えてよい。運転計画方法は、元問題を複数の部分問題に分割して、緩和問題の解と部分問題の解との距離を用いて部分問題を解くことで複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する部分問題演算段階とを備えてよい。運転計画方法は、複数の状態値のうちの一部について部分問題演算段階で演算した値に固定し、且つ、元問題の制約条件を用いたスラック問題を解いて、複数の状態値のうちの残りの状態値を演算するスラック問題演算段階を備えてよい。
【０００５】
複数の状態値は、対象装置の出力量を示す状態値を含んでよい。部分問題演算段階において、少なくとも一部の対象装置の出力量を示す状態値を演算してよい。スラック問題演算段階において、少なくとも一部の対象装置の出力量を固定し、且つ、残りの対象装置の出力量を示す状態値を演算してよい。
【０００６】
対象装置の出力容量、出力効率および応答性の少なくとも一つの特性に基づいて、スラック問題演算段階において状態値を演算する対象装置を選択してよい。
【０００７】
複数の対象装置は、１つ以上の発電装置と、１つ以上の蓄電装置とを含んでよい。部分問題演算段階で、発電装置の出力量を示す状態値を演算してよい。スラック問題演算段階で、発電装置の出力量を固定し、且つ、蓄電装置の出力量を示す状態値を演算してよい。
【０００８】
複数の状態値は、対象装置の出力量を示す状態値と、対象装置の起動状態を示す状態値とを含んでよい。部分問題演算段階において、複数の対象装置の起動状態を示す状態値を演算してよい。スラック問題演算段階において、複数の対象装置の起動状態を示す状態値を固定し、且つ、複数の対象装置の出力量を示す状態値を演算してよい。
【０００９】
複数の状態値は、対象装置の出力量を示す状態値と、対象装置の起動状態を示す状態値とを含んでよい。第１のスラック問題演算段階において、一部の対象装置についての出力量を部分問題演算段階で得られた値に固定し、且つ、残りの対象装置の出力量を示す状態値を演算してよい。第１のスラック問題演算段階において、制約条件を満たす状態値が存在しない場合、第２のスラック問題演算段階において、複数の対象装置の起動状態を示す状態値を部分問題演算段階で得られた値に固定し、且つ、複数の対象装置の出力量を示す状態値を演算してよい。
【００１０】
複数の状態値は、対象装置の出力量を示す状態値と、対象装置の起動状態を示す状態値とを含んでよい。第１のスラック問題演算段階において、複数の対象装置の起動状態を示す状態値を部分問題演算段階で得られた値に固定し、且つ、複数の対象装置の出力量を示す状態値を演算してよい。第１のスラック問題演算段階において、制約条件を満たす状態値が存在しない場合、第２のスラック問題演算段階において、一部の対象装置についての出力量を部分問題演算段階で得られた値に固定し、且つ、残りの対象装置の出力量を示す状態値を演算してよい。
【００１１】
本発明の第２の態様においては、コンピュータに、第１の態様に係る運転計画方法を実行させるためのプログラムを提供する。
【００１２】
本発明の第３の態様においては、複数の対象装置の運転計画を生成する運転計画装置を提供する。運転計画装置は、予め定められた目的および制約条件を満たすことができる、それぞれの対象装置の離散的な状態を示す離散状態値を含む複数の状態値を演算するための元問題を取得する問題取得部を備えてよい。運転計画装置は、元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの対象装置の連続的な状態を演算する緩和問題演算部を備えてよい。運転計画装置は、元問題を複数の部分問題に分割して、緩和問題の解と部分問題の解との距離を用いて部分問題を解くことで複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する部分問題演算部を備えてよい。運転計画装置は、複数の状態値のうちの一部について部分問題演算部で演算した値に固定し、且つ、元問題の制約条件を用いたスラック問題を解いて、複数の状態値のうちの残りの状態値の離散的な値を演算するスラック問題演算部を備えてよい。
【００１３】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一つの実施形態に係る運転計画方法の一例を示すフローチャートである。
【図２】図１におけるスラック問題演算段階の内容を示すフローチャートである。
【図３】図１において説明した運転計画方法における部分問題の求解処理の概要を示す図である。
【図４】図１におけるスラック問題演算段階の第１例を示すフローチャートである。
【図５】図１において説明した運転計画方法の概要を示す図である。
【図６】図１において説明した運転計画方法における緩和問題、部分問題、およびスラック問題のそれぞれの解の一例である。
【図７】スラック問題演算段階における演算対象となる対象装置を選択する処理の一例を示すフローチャートである。
【図８】本発明の一つの実施形態に係る運転計画装置３００が制御する、対象装置の一例を示す図である。
【図９】図１におけるスラック問題演算段階の第２例を示すフローチャートである。
【図１０】図１におけるスラック問題演算段階の第３例を示すフローチャートである。
【図１１】運転計画装置３００の構成例を示す図である。
【図１２】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。
【発明を実施するための形態】
【００１５】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１６】
図１は、本発明の一つの実施形態に係る運転計画方法の一例を示すフローチャートである。運転計画方法においては、コンピュータにより、複数の対象装置の運転計画を生成する。コンピュータは、汎用のコンピュータであってよく、運転計画を生成するための専用コンピュータであってもよい。
【００１７】
対象装置は、離散的な状態を取る装置である。例えば対象装置は電源装置であり、離散的な状態は「起動」と「停止」である。本明細書では、状態値として装置の「起動」を離散状態値として「１」で表し、「停止」を離散状態値として「０」で表す場合がある。対象装置は、離散的な状態を示す離散状態値を含む複数の状態値を取る。状態値は、上述した起動状態を示す状態値のみならず、対象装置の出力量を含んでよい。対象装置の出力量は、例えば、出力電力の値である。なお、対象装置は電源装置に限られない。また、離散的な状態は「起動」および「停止」には限られない。また、対象装置は、３値以上の離散的な状態を取る装置であってもよい。
【００１８】
対象装置の運転計画とは、例えば複数の電源装置のそれぞれを「起動」または「停止」するタイミングの計画である。一例として対象装置の運転計画は、予め定められた制約条件を満たしつつ、予め定められた目的を満たすように、各時刻における複数の対象装置の状態を設定する。一例において、制約条件は、電源装置の出力電力の最大値、最小値等のように、対象装置の性能に起因する条件を含んでよく、人為的に取り決められた条件を含んでもよい。運転計画の目的は、消費電力の最小化、運転コストの最小化等のように、所定のパラメータの最小化であってよい。運転計画の目的は、所定のパラメータの最大化であってよく、所定のパラメータを基準値に近づけるものであってもよい。
【００１９】
まずコンピュータは、上述した目的および制約条件を満たすことができる、それぞれの対象装置の状態を示す複数の状態値を演算するための元問題を取得する（問題取得段階Ｓ１０２）。複数の状態値は、対象装置の離散的な状態を示す離散状態値を含む。元問題は、一例として下式で示すことができる。
【数１】
2020065407.tif 000003
式（１．１）は運転計画の目的を示す目的関数であり、「ｓ．ｔ．」以下に示される式（１．２）から（１．４）は運転計画の制約条件を示す。ａは分割される部分を示しており、例えば、各ノードを示している。ａは、例えば各対象装置の番号を示している。一例において、ｘａおよびｙａは、ａ番目のノード、例えば、ａ番目の対象装置における状態を示す状態値である。本明細書では、ｘ、ｙ等の状態値を、単に「状態ｘ」、「状態ｙ」等のように称する場合がある。ｆａはａ番目のノードの状態ｘａおよびｙａに応じた所定の目的パラメータをノード毎に示す関数である。目的パラメータは、例えば上述したように運転コスト等である。本例の目的関数は、各ノードにおける目的パラメータの総和を最小化することを示している。
【００２０】
Ｇａは独立制約条件と呼ばれる。Ｇａは、対象装置の状態ｘａおよびｙａに応じた所定値と、基準値０との関係をノード毎に規定する関数である。本例では、所定値が基準値０以下となることを制約条件としている。独立制約条件Ｇａは、各ノードにおける電源の出力制約または電圧制約であってよい。Ｈは、対象装置の状態ｘａおよびｙａに応じた所定値と、基準値０との関係を複数、あるいは全てのノードで規定する関数である。例えば、Ｈは、変数ｘ、ｙ全体にまたがる制約条件である。Ｈとしては、すべての対象装置の出力量の総和が負荷に等しいといった需給バランス制約、およびネットワーク制約等が挙げられる。なお、制約条件は、所定値が基準値以下となることを規定するものに限定されない。制約条件として、対象装置の様々な特性値を所定の条件に制約するものを用いることができる。
【００２１】
式（１．４）におけるＲは、任意の実数の値を取ることを示しており、Ｚは、複数の離散的な値を取ることを示している。式（１．４）に示されるように、状態値ｘａは、サイズｎの連続変数である。一例において、状態値ｘａは、一つの対象装置におけるｎ個の特性の連続的な値の状態を示してよく、ｎ個の対象装置のそれぞれの状態を示してもよい。例えば、ｘａは時系列ごとの電源出力等を示す状態値である。状態値ｙａは、サイズｍの離散変数である。一例において、状態値ｙａは、停止（０）および起動（１）の離散的な２値の状態を示す状態値である。状態値ｙａは、変圧器タップのような段階的動作を示す状態値であってもよい。状態値ｙａは、一つの対象装置におけるｍ個の特性の状態を示してよく、ｍ個の対象装置のそれぞれの状態を示してもよい。
【００２２】
元問題を解く場合、目的関数および制約条件を満たす、各時間断面における対象装置の状態ｘ、ｙを求解できる。しかし式（１．１）および式（１．２）〜（１．４）で示される元問題は、混合整数非線形計画問題である。混合整数非線形計画問題は、ＮＰ困難と呼ばれるクラスに属する問題である。混合整数非線形計画問題においては、対象装置の数等が大規模になると演算量が膨大になり、解を得ることが困難になる。
【００２３】
本例の運転計画方法においては、コンピュータは、元問題を解く代わりに、元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解く（緩和問題演算段階Ｓ１０４）。コンピュータは、Ｓ１０４においては、元問題における目的関数および制約条件を用いつつ、制約条件においてそれぞれの対象装置が連続的な状態を取り得ると仮定して、対象装置の連続的な状態を演算する。緩和問題および元問題における目的関数および制約条件は、状態値が離散値をとるか連続値を取るかの相違を除き、同一であってよい。
【００２４】
緩和問題は、一例として下式で示すことができる。
【数２】
2020065407.tif 000004
式（２．４）におけるｙｉハットは、特定の範囲の任意の実数を取り得ることを示している。例えば、ｙｉハットは、０以上１以下の任意の実数を取り得る。本例の緩和問題の目的関数（式（２．１））および制約条件（式（２．２）から（２．４））は、離散的な状態値ｙに代えて、式（２．４）における所定の範囲の任意の値（たとえば、０から１の間の任意の値）を取り得る連続変数である状態値ｙハットを用いること以外は、元問題の目的関数（式（１．１））および制約条件（式（１．２）から（１．４））と同一である。式（２．１）および制約条件（式（２．２）から（２．４））で示される緩和問題は、非線形計画問題である。非線形計画問題は、逐次二次計画法等の手法で高速に解くことができる。たとえば、非線形計画問題である緩和問題は、目的関数が凸性の仮定の下において，解を演算することができる。本明細書では、緩和問題で求めた解（すなわち離散的でなく、所定の範囲の任意の値を取り得る解）を緩和解と称する場合がある。
【００２５】
次に、コンピュータは、緩和問題において、実行可能解（すなわち、制約条件を満たす状態ｘ、ｙ）が存在するか否かを判定する（第１判定段階Ｓ１０６）。実行可能解が存在しない場合、処理が終了する。実行可能解が存在する場合、コンピュータは、元問題を複数に分割した部分問題を解く（部分問題演算段階Ｓ１０８）。
【００２６】
一例として部分問題は、元問題を複数のノード（対象装置）に対応する複数の部分に分割した問題である。それぞれの部分問題は、時間断面を一つ含んでよく、複数の時間断面を含んでもよい。それぞれの部分問題に含まれる時間断面の個数は同一であってよく、部分問題間で異なっていてもよい。
【００２７】
それぞれの部分問題を解く場合には、コンピュータは、緩和問題の緩和解（すなわち、任意の実数の値を取り得る状態ｙハットと、例えば、０から１の間の任意の値を取り得る状態ｙハット）と、部分問題の解（すなわち、状態ｘと、０または１の離散値であるｙ）との距離を用いる。部分問題演算段階Ｓ１０８は、解の距離を用いて部分問題を解くことで、複数の状態値のうちの少なくとも一部の離散状態値を含む値を演算する。解の距離とは、それぞれの状態パラメータ（本例ではｘおよびｙ）空間における、それぞれの解に対応する２つの点の離れ具合を表す尺度を意味する。距離の種類としては、ユークリッド距離やチェビシェフ距離などがある。または距離のほかに類似度、近接度などの指標を用いてもよい。一例としてＳ１０８においては、緩和問題の解に対するユークリッド距離が最小となるように、部分問題の解を演算してよい。
【００２８】
部分問題は、一例として下式で示すことができる。ここで、部分問題ｘ´ａ、ｙ´ａ以外の変数、すなわち、ｘ１ハット、ｙ１ハット、・・・ｘａ−１ハット、ｙａ−１ハット、ｘａ＋１ハット、ｙａ＋１ハット、・・・ｘＡハット、ｙＡハットは、緩和解を用いて固定変数として扱う。本例では、部分問題における目的関数は、それぞれのノードにおいて、所定の目的パラメータｆａを最小化する。
【数３】
2020065407.tif 000005
本例の部分問題では、それぞれノードａについて、式（３．２）から（３．４）を満たす状態ｘ´ａ、ｙ´ａを演算する。部分問題における状態ｘ´ａは、式（３．４）に示すように任意の実数の値を取る。また状態ｙ´ａは、緩和問題で求めた緩和解ｙａハット（すなわち、０から１の間の任意の値を取り得る）に所定の偏差Δを加算したものであり、０または１の２値のいずれかの値を取る。偏差Δは、状態ｙ´ａと緩和解ｙａハットとの差分（すなわち距離）を示している。
【００２９】
部分問題の目的関数および制約条件においては、元問題の目的関数および制約条件における状態ｙａに代えて状態ｙ´ａを用いる。状態ｙ´ａは、緩和解ｙａハットに対して偏差Δの差を有している。本例では、部分問題の目的関数として、式（３．１）で示されるように、関数ｆａで規定される目的パラメータと、偏差Δに応じた距離パラメータｄとの和を最小にする目的関数を用いる。なおｄは偏差Δの大きさを表す尺度であり、ユーザーが任意に設定してよい。ｄは、ｙハットと、実行可能な修正解ｙ´ａの距離（近接度）を評価する近接度指数であってよい。ｄは、最も単純な指標として、２乗ノルム等であってよい。
【００３０】
このような部分問題を解くことで、元問題を複数の部分問題に分割して、緩和問題の緩和解と、部分問題の離散値解との距離を用いてそれぞれの部分問題を解くことができる。部分問題においては、元問題を複数に分割するので、一つの問題の規模が小さくなる。このため、離散的な状態ｙを含んでいても高速に演算できる。部分問題の演算は、例えば分枝限定法等を用いることで高速に実行できる。
【００３１】
そして、目的関数に距離パラメータ（本例ではｄ）を導入して部分問題を解くことで、部分問題の解が、一つの部分問題だけを考慮して最適化された部分最適となることを避けることができる。特に、緩和解ｙａハットと、部分問題の解ｙ´ａとの距離を最小にするように目的関数を設定することで、厳密解に近い妥当な解を、高速に得ることができる。
【００３２】
式（３．１）から（３．４）に示した例では、緩和解ｙａハットを用いていたが、緩和解ｘａハットを用いてもよい。この場合、ｘ´ａ＝ｘａハット＋Δとなる。また、緩和解ｘａハットおよびｙａハットの両方を用いてもよい。
【００３３】
一つの部分問題について解を求めた後、予め定められた数の部分問題について解を求めたか否かを判定する（第２判定段階Ｓ１１０）。予め定められた数の部分問題について解を求めていない場合、次の部分問題に対してＳ１０８からＳ１１０までの処理を繰り返す。但し、部分問題ａ＝１、・・・Ａは、並列に解かれてよい。予め定められた数の部分問題について解が演算された場合には、コンピュータは、スラック問題を解く（スラック問題演算段階Ｓ１１２）。
【００３４】
図２は、図１におけるスラック問題演算段階の内容を示すフローチャートである。コンピュータは、複数の状態値のうちの一部について部分問題演算段階Ｓ１０８で演算した値に固定する（Ｓ２０２）。そして、コンピュータは、元問題の制約条件を用いたスラック問題を解いて、複数の状態値のうちの残りの状態値を演算する（Ｓ２０４）。
【００３５】
スラック問題は、一例として下式で示すことができる。本例では、ｘ´ｓ、ｙ´ｓを除く、ｘ´１、ｙ´１、ｘ´２、ｙ´２、・・・，ｘ´ｓ−１、ｙ´ｓ−１、ｘ´ｓ＋１、ｙ´ｓ＋１、・・・ｘ´Ａ、ｙ´１、ｘ´Ａが複数の状態値のうちの一部にとして固定されてよい。
【数４】
2020065407.tif 000006
【００３６】
スラック問題の目的関数および制約条件においては、元問題の目的関数および制約条件における状態ｙａに代えて状態ｙ´ｓを用いる。状態ｙ´ｓは、緩和解ｙｓハットに対して偏差Δの差を有している。本例では、スラック問題の目的関数として、式（４．１）で示されるように、関数ｆｓで規定される目的パラメータを最小にする目的関数を用いる。
【００３７】
スラック問題の解法は、複数の状態値のうちの一部について部分問題演算段階で演算した値に固定して、残りの状態値を演算する。なお、コンピュータは、全部の部分問題について、部分問題演算段階Ｓ１０８で求解した上で、スラック問題演算段階（Ｓ１１２）において、少なくとも一部の部分問題をスラック問題として解きなおしてよい。
【００３８】
そして、スラック問題として解くべき状態値を除いて、コンピュータは、複数の状態値について部分問題演算段階Ｓ１０８で演算した値に固定した上で、元問題の制約条件を用いたスラック問題を解いて、複数の状態値のうちの残りの状態値を演算する。したがって、スラック問題演算段階を有しない場合と比べて、制約条件を満たす状態値が存在しない状態の発生が抑制される。すなわち、実行可能な解を得ることができるように、スラック問題演算段階で解を調整することが可能となる。したがって、実行可能な解を演算するための時間を短縮化することができる。
【００３９】
図３は、図１において説明した運転計画方法における部分問題の求解処理の概要を示す図である。図３における横軸は状態値ｙ１を示し、縦軸は状態値ｙ２を示している。状態値ｙ１、ｙ２において、対象装置が実際にとり得る離散値を、菱形の複数のマーク２０４でプロットしている。直線２０２は、制約条件を満たす状態値ｙ１、ｙ２の境界線を示している。直線２０２の外側において破線でハッチングされている領域が、制約条件を満たさない領域であり、ハッチングされていない領域が制約条件を満たす領域である。図３においては、ある時間断面における直線２０２を示している。
【００４０】
また、緩和解に対応する位置を丸形のマーク２０６でプロットしている。緩和解は、制約条件を満たす領域内で、目的関数に最も適合する解である。これに対して、部分問題では、制約条件を満たす領域内の離散的な解（マーク２０４）のうち、緩和解との偏差Δが最小となる解（マーク２０８）を演算する。このような処理により、元問題から求まる厳密解とは必ずしも一致しないが、緩和解に対する距離が近く妥当性が高い解を、高速に求解できる。
【００４１】
図４は、図１におけるスラック問題演算段階の第１例を示すフローチャートである。複数の状態値は、対象装置の起動状態を示す状態値のみならず、対象装置の出力量を含んでよい。そして、図１の部分問題演算段階Ｓ１０８において、少なくとも一部の対象装置の起動状態を示す状態値のみならず、対象装置の出力量が演算される。
【００４２】
図４に示されるとおり、複数の対象装置のうち、一部の対象装置についての出力量を示す状態値および起動状態を示す状態値が固定される。一部の対象装置についての出力量を示す状態値および起動状態を示す状態値は、緩和問題の解と部分問題の解との距離を用いて部分問題を解いて得られた値に固定される（Ｓ３０２）。例えば、対象装置（Ａ）、対象装置（Ｂ）、対象装置（Ｃ）、および対象装置（Ｄ）がある場合、そのうちの、対象装置（Ａ）、対象装置（Ｂ）、および対象装置（Ｄ）について、出力量を示す状態値および起動状態を示す状態値を、解の距離を用いて部分問題を解いて得られた値に固定する。
【００４３】
次いで、コンピュータは、複数の対象装置のうち、残りの対象装置についての出力量を示す状態値および起動状態を示す状態値を演算する（Ｓ３０４）。上記の例によれば、コンピュータは、残りの対象装置（Ｃ）についての出力量を示す状態値と起動状態を示す状態値演算する。なお、スラック問題演算処理は、部分問題演算処理の後に実行し、スラック問題として解く問題以外の部分問題の各状態値を固定し、固定していない各状態値を演算する。
【００４４】
図５は、図１において説明した運転計画方法の概要を示す図である。まず、コンピュータは、元問題においてそれぞれの対象装置が連続的な状態を取り得ると仮定した緩和問題を解き、それぞれの対象装置の連続的な状態を演算する。そして、コンピュータは、電源Ｇ１および電源Ｇ２を対象装置として、部分問題を解く。特に、コンピュータは、緩和問題の解と部分問題の解との距離を用いて、電源Ｇ１および電源Ｇ２についての出力量を示す状態値と起動状態を示す状態値を固定する。コンピュータは、そして電源Ｇ３を残りの対象装置として、スラック問題を解く。なお、部分問題については、全部の対象装置、すなわち、電源Ｇ１、電源Ｇ２、電源Ｇ３について解いて部分問題を解いた上で、電源３についてスラック問題を解き直してもよい。一方、スラック問題として解く対象の電源３については、部分問題演算処理を省略してもよい。
【００４５】
図６は、図１において説明した運転計画方法における緩和問題、部分問題、およびスラック問題のそれぞれの解の一例である。それぞれ、電源Ｇ１、電源Ｇ２、および電源Ｇ３の出力量を示す状態値をｘ１、ｘ２、ｘ３が例示される。まず、緩和問題における制限状態のもとで、緩和解ｘ１ハット、ｘ２ハット、ｘ３ハットが算出される。そして、緩和解と部分問題の解との距離を用いて、部分問題を解くことで、部分問題の解ｘ´１、解ｘ´２、解ｘ´３が演算される。但し、図６に示されるとおり、部分問題演算段階において求められた解が制限条件等を満たさない場合があり得る。たとえば、各部分問題の解の総和が、負荷を超えてしまう場合等が生じ得る。この場合、実行可能解が得られない。したがって、複数の部分問題のうちから、一部についてスラック問題を解くことで、実行可能解を得ることができるように処理される。
【００４６】
複数の対象装置のうちから、スラック問題演算段階における演算対象となる対象装置を選択する処理について説明する。図７は、スラック問題演算段階における演算対象となる対象装置を選択する処理の一例を示すフローチャートである。運転計画装置は、複数の対象装置について特性情報を取得し、取得した特性情報をデータベースに格納する。特性情報には、対象装置の出力容量、出力効率、および応答性の少なくとも一つが含まれてよい。新たな対象装置が設けられる度に、新たな対象装置は、通信ネットワークを介して特性情報を運転計画装置に送信してよい。
【００４７】
運転計画が実行される場合(Ｓ４０４：ＹＥＳ)、運転計画装置として機能するコンピュータは、データベースを参照しつつ、対象装置の出力対象装置の出力容量、出力効率および応答性の少なくとも一つの特性に基づいて、スラック問題演算段階における演算対象となる対象装置を選択する（Ｓ４０６）。具体的には、対象装置の出力容量が所定の値より大きい対象装置、特に出力容量が最大の対象装置が選択されてよい。出力容量が最大の対象装置を選ぶことによって、スラック問題演算段階において調整幅が広がる。
【００４８】
また、出力効率が所定の値より低い対象装置、特に、出力効率が最低の対象装置が選択されてよい。出力効率は、消費エネルギーに対する出力効率である。スラック問題演算段階において演算対象となる対象装置は、図６に示されるように、最適解から最も遠い解となる可能性がある。したがって、出力効率が低い対象装置をスラック問題演算段階において演算対象とすることで、最適解から遠い解となる可能性があることに起因する影響を低減することができる。
【００４９】
また、応答性が所定の値より高い対象装置、特に、複数の対象装置のなかで応答性が最速の対象装置が、スラック問題演算段階において演算対象となる対象装置として選択されてよい。応答性は、制御指令に対する追従速度であってよい。なお、図７のＳ４０６以降は、図１と同様の処理を実行してよい。
【００５０】
図８は、本発明の一つの実施形態に係る運転計画装置３００が制御する、対象装置の一例を示す図である。本例における複数の対象装置は、複数の電源である。具体的には、複数の対象装置（３０４、３０６）は、１つ以上の発電装置３０４と、１つ以上の蓄電装置３０６とを含む。発電装置３０４および蓄電装置３０６は、外部装置３０２に電力を供給する。外部装置３０２は、サーバーであってよい。
【００５１】
運転計画装置３００は、部分問題演算段階Ｓ１０８において、複数の発電装置３０４の出力量を示す状態値を演算する。運転計画装置３００は、スラック問題演算段階Ｓ１１２で、発電装置３０４の出力量を固定し、且つ、蓄電装置３０６の出力量を示す状態値を演算してよい。なお、蓄電装置３０６が複数ある場合には、スラック問題演算段階において演算対象となる対象装置として、一つの蓄電装置３０６が選択されてよい。この場合、スラック問題演算段階において演算対象となる蓄電装置３０６以外の蓄電装置の出力量は、スラック問題演算段階において、固定されてよい。蓄電装置３０６における応答性が、発電装置３０４における応答性より早い。
【００５２】
以上のように、図４から図８においては、複数のノード、すなわち複数の対象装置において、スラック問題演算段階における演算対象となる装置以外の対象装置の出力量および起動状態を固定した上で、スラック問題演算段階において、演算対象となる対象装置の出力量を示す状態値および起動状態を示す状態値を演算した。しかしながら、本発明は、このようにノードに応じてスラック問題演算段階における演算対象を選択する処理に限られない。
【００５３】
図９は、図１におけるスラック問題演算段階の第２例を示すフローチャートである。数の状態値は、対象装置の出力量を示す状態値と、対象装置の起動状態を示す状態値とを含んでいる。そして、図１の部分問題演算段階Ｓ１０８においては、複数の対象装置の起動状態を示す状態値ｙを少なくとも演算する。特に、全ての対象装置における各起動状態を示す状態値ｙについて少なくとも演算する。数式は、複数の対象装置についての起動状態を示す状態値ｙａについて部分問題演算段階において演算された値ｙａバーに固定した上で、各対象装置の出力量ｘａを演算する。
【００５４】
【数５】
2020065407.tif 000007
【００５５】
図９に示されるとおり、複数の対象装置についての起動状態を示す状態値ｙａバーを固定する。全ての対象装置についての各起動状態を示す状態値ｙａバーを固定してよい。複数の対象装置についての起動状態を示す状態値は、緩和問題の解と部分問題の解との距離を用いて部分問題を解いて得られた値に固定する（ステップＳ５０２）。例えば、対象装置（Ａ）、対象装置（Ｂ）、対象装置（Ｃ）、および対象装置（Ｄ）がある場合、そのうちの全ての対象装置（Ａ）、対象装置（Ｂ）、対象装置（Ｃ）、および対象装置（Ｄ）について、起動状態を示す状態値ｙａバーを、解の距離を用いて部分問題を解いて得られた値に固定する。
【００５６】
次いで、複数の状態値のうち、残りの状態値、すなわち対象装置の出力量を示す状態値を演算する（Ｓ５０４）。上記の例によれば、複数の対象装置（Ａ）、対象装置（Ｂ）、対象装置（Ｃ）、および対象装置（Ｄ）の全てについて、各対象装置の出力量ｘａを演算する。なお、スラック問題演算処理においては、スラック問題として解く出力量を示す状態値以外の複数の状態値を固定し、スラック問題として解く出力量を示す状態値を用いて解が演算されてよい。
【００５７】
以上のとおり、図４から図８において説明したように、ノードに応じてスラック問題演算段階における演算対象を選択する処理と、図９において説明したように、複数の状態値の種別に応じてスラック問題演算段階における演算対象を選択する処理とが存在する。このような二種類の処理によって、実行可能解が得られる可能性が異なる場合がある。したがって、一方の処理を実行して、スラック問題の実施可能解が得られない場合には、他方の処理を実行してよい。
【００５８】
図１０は、図１におけるスラック問題演算段階の第３例を示すフローチャートである。数の状態値は、対象装置の出力量を示す状態値と、対象装置の起動状態を示す状態値とを含んでいる。まず、第１のスラック問題求解処理を実行し（Ｓ６０２）、実行可能解があったら（Ｓ６０４：ＹＥＳ）、スラック問題求解処理が完了して、処理はそのままリターンする。一方、実行可能解がない場合には、第２のスラック問題求解処理を実行する（ステップＳ６０６）。
【００５９】
第１のスラック問題求解処理Ｓ６０２が、図４のＳ３０２およびＳ３０４の処理であり、第２のスラック問題求解処理Ｓ６０６が、図９のＳ５０２およびＳ５０４の処理であってよい。この場合、第１のスラック問題演算段階（Ｓ６０２）において、一部の対象装置についての出力量を部分問題演算段階で得られた値に固定し、且つ、残りの対象装置の出力量を示す状態値を演算する（図４のＳ３０２およびＳ３０４）。そして、第１のスラック問題演算段階において、制約条件を満たす状態値が存在しない場合（Ｓ６０４：ＮＯ）、第２のスラック問題演算段階（Ｓ６０６）において、複数の対象装置の起動状態を示す状態値を部分問題演算段階で得られた値に固定し、且つ、複数の対象装置の出力量を示す状態値を演算する（図９のＳ５０２およびＳ５０４）。
【００６０】
一方、第１のスラック問題求解処理Ｓ６０２が、図９のＳ５０２およびＳ５０４の処理であり、第２のスラック問題求解処理Ｓ６０６が、図４のＳ３０２およびＳ３０４の処理であってよい。この場合、第１のスラック問題演算段階（Ｓ６０２）において、複数の対象装置の起動状態を示す状態値を部分問題演算段階で得られた値に固定し、且つ、複数の対象装置の出力量を示す状態値を演算する（図９のＳ５０２およびＳ５０４）。そして、第１のスラック問題演算段階において、制約条件を満たす状態値が存在しない場合（Ｓ６０４：ＮＯ）、第２のスラック問題演算段階（Ｓ６０６）において、一部の対象装置についての出力量を部分問題演算段階で得られた値に固定し、且つ、残りの対象装置の出力量を示す状態値を演算する（図４のＳ３０２およびＳ３０４）。
【００６１】
このような処理によれば、一種類のスラック問題演算によって、制約条件を満たす状態値が得られなかった場合であっても、他種類のスラック問題演算によって、制約条件を満たす状態値が得られる場合がある。したがって、実行可能な解を得やすくなる。
【００６２】
図１１は、運転計画装置３００の構成例を示す図である。運転計画装置３００は、問題取得部１１０２、緩和問題演算部１１０４、部分問題演算部１１０６、およびスラック問題演算部１１０８を備える。緩和問題演算部１１０４、部分問題演算部１１０６、およびスラック問題演算部１１０８は、共通の演算部１１１０であってよい。
【００６３】
問題取得部１１０２は、図１に示した問題取得段階Ｓ１０２を実行する。緩和問題演算部１１０４は、図１に示した緩和問題演算段階Ｓ１０４および第１判定段階Ｓ１０６を実行する。部分問題演算部１１０６は、図１に示したＳ１１０８およびＳ１１１０までの処理を実行する。このような構成により、図１から図１０において説明した運転計画方法を実行できる。
【００６４】
図１２は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。コンピュータ２２００にインストールされたプログラムは、コンピュータ２２００に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の１または複数のセクションとして機能させることができ、または当該操作または当該１または複数のセクションを実行させることができ、および／またはコンピュータ２２００に、本発明の実施形態に係る方法または当該方法の段階を実行させることができる。そのようなプログラムは、コンピュータ２２００に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、ＣＰＵ２２１２によって実行されてよい。
【００６５】
本実施形態によるコンピュータ２２００は、ＣＰＵ２２１２、ＲＡＭ２２１４、グラフィックコントローラ２２１６、およびディスプレイデバイス２２１８を含み、それらはホストコントローラ２２１０によって相互に接続されている。コンピュータ２２００はまた、通信インタフェース２２２２、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６、およびＩＣカードドライブのような入／出力ユニットを含み、それらは入／出力コントローラ２２２０を介してホストコントローラ２２１０に接続されている。コンピュータはまた、ＲＯＭ２２３０およびキーボード２２４２のようなレガシの入／出力ユニットを含み、それらは入／出力チップ２２４０を介して入／出力コントローラ２２２０に接続されている。
【００６６】
ＣＰＵ２２１２は、ＲＯＭ２２３０およびＲＡＭ２２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ２２１６は、ＲＡＭ２２１４内に提供されるフレームバッファ等またはそれ自体の中にＣＰＵ２２１２によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス２２１８上に表示されるようにする。
【００６７】
通信インタフェース２２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ２２２４は、コンピュータ２２００内のＣＰＵ２２１２によって使用されるプログラムおよびデータを格納する。ＤＶＤ−ＲＯＭドライブ２２２６は、プログラムまたはデータをＤＶＤ−ＲＯＭ２２０１から読み取り、ハードディスクドライブ２２２４にＲＡＭ２２１４を介してプログラムまたはデータを提供する。ＩＣカードドライブは、プログラムおよびデータをＩＣカードから読み取り、および／またはプログラムおよびデータをＩＣカードに書き込む。
【００６８】
ＲＯＭ２２３０はその中に、アクティブ化時にコンピュータ２２００によって実行されるブートプログラム等、および／またはコンピュータ２２００のハードウェアに依存するプログラムを格納する。入／出力チップ２２４０はまた、様々な入／出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入／出力コントローラ２２２０に接続してよい。
【００６９】
プログラムが、ＤＶＤ−ＲＯＭ２２０１またはＩＣカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ２２２４、ＲＡＭ２２１４、またはＲＯＭ２２３０にインストールされ、ＣＰＵ２２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ２２００の使用に従い情報の操作または処理を実現することによって構成されてよい。
【００７０】
例えば、通信がコンピュータ２２００および外部デバイス間で実行される場合、ＣＰＵ２２１２は、ＲＡＭ２２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース２２２２に対し、通信処理を命令してよい。通信インタフェース２２２２は、ＣＰＵ２２１２の制御下、ＲＡＭ２２１４、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭ２２０１、またはＩＣカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【００７１】
また、ＣＰＵ２２１２は、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６（ＤＶＤ−ＲＯＭ２２０１）、ＩＣカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がＲＡＭ２２１４に読み取られるようにし、ＲＡＭ２２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ２２１２は次に、処理されたデータを外部記録媒体にライトバックする。
【００７２】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ２２１２は、ＲＡＭ２２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ２２１４に対しライトバックする。また、ＣＰＵ２２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２２１２は、第１の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【００７３】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ２２００上またはコンピュータ２２００近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ２２００に提供する。
【００７４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７５】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７６】
２０２・・・直線、２０４、２０６、２０８・・・マーク、３００・・・運転計画装置、３０２・・・外部装置、３０４・・・発電装置、３０６・・・蓄電装置、１１０２・・・問題取得部、１１０４・・・緩和問題演算部、１１０６・・・部分問題演算部、１１０８・・・スラック問題演算部、１１１０・・・演算部、２２００・・・コンピュータ、２２０１・・・ＤＶＤ−ＲＯＭ、２２１０・・・ホストコントローラ、２２１２・・・ＣＰＵ、２２１４・・・ＡＭ、２２１６・・・グラフィックコントローラ、２２１８・・・ディスプレイデバイス、２２２０・・・入／出力コントローラ、２２２２・・・通信インタフェース、２２２４・・・ハードディスクドライブ、２２２６・・・ＤＶＤ−ＲＯＭドライブ、２２３０・・・ＲＯＭ、２２４０・・・入／出力チップ、２２４２・・・キーボード
【図１】
2020065407.tif 000008
【図２】
2020065407.tif 000009
【図３】
2020065407.tif 000010
【図４】
2020065407.tif 000011
【図５】
2020065407.tif 000012
【図６】
2020065407.tif 000013
【図７】
2020065407.tif 000014
【図８】
2020065407.tif 000015
【図９】
2020065407.tif 000016
【図１０】
2020065407.tif 000017
【図１１】
2020065407.tif 000018
【図１２】
2020065407.tif 000019