Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7436291B2 - Time series optimization program and time series optimization system - Google Patents
[go: Go Back, main page]

JP7436291B2 - Time series optimization program and time series optimization system - Google Patents

Time series optimization program and time series optimization system Download PDF

Info

Publication number
JP7436291B2
JP7436291B2 JP2020093257A JP2020093257A JP7436291B2 JP 7436291 B2 JP7436291 B2 JP 7436291B2 JP 2020093257 A JP2020093257 A JP 2020093257A JP 2020093257 A JP2020093257 A JP 2020093257A JP 7436291 B2 JP7436291 B2 JP 7436291B2
Authority
JP
Japan
Prior art keywords
time series
state
dam
time
optimization program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020093257A
Other languages
Japanese (ja)
Other versions
JP2021189660A (en
Inventor
悟史 山口
尚史 楠田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Power Solutions Co Ltd
Original Assignee
Hitachi Power Solutions Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Power Solutions Co Ltd filed Critical Hitachi Power Solutions Co Ltd
Priority to JP2020093257A priority Critical patent/JP7436291B2/en
Publication of JP2021189660A publication Critical patent/JP2021189660A/en
Application granted granted Critical
Publication of JP7436291B2 publication Critical patent/JP7436291B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、時系列最適化プログラムおよび時系列最適化システムに関する。 The present invention relates to a time series optimization program and a time series optimization system.

時系列最適化対象として例えばダムがある。ダムは、洪水調整や発電などの目的のために設置される。それらの目的を最大限に実現するために、ダムの貯水位および放流量が最適化されるべきである。このことは、単一のダムはもちろんであるが、複数のダムが直列・並列に接続された水系(連接水系)に対しても同様である。 An example of a time-series optimization target is a dam. Dams are installed for purposes such as flood control and power generation. In order to best realize these objectives, dam storage levels and discharge volumes should be optimized. This applies not only to a single dam, but also to water systems in which multiple dams are connected in series or parallel (connected water systems).

一方で、連接水系のダム群を連携させる操作(ダム群連携操作)は、上流ダムの放流量による下流のダムの貯水量への影響を考察するなど、複雑な考察が必要である。そのため、ダム群連携操作を人間の勘や経験に基づいて実現することが難しい。このダム群連携操作のように、複数の送水系統の操作に関する人間の意思決定を支援するコンピュータシステムが提案されてきた。 On the other hand, the operation of linking dam groups in a connected water system (dam group cooperative operation) requires complex considerations, such as considering the effect of the discharge amount of an upstream dam on the water storage amount of a downstream dam. Therefore, it is difficult to realize dam group cooperative operation based on human intuition and experience. Computer systems that support human decision-making regarding the operation of multiple water supply systems, such as this cooperative operation of dam groups, have been proposed.

特許文献1には、「送水運用制御装置」が開示されている。この発明は、河川や湖などの取水場から取水して浄水場まで送水する取水ポンプや、その浄水場から配水池まで送水する送水ポンプなど、送水系統を構成しているポンプの運転スケジュールを策定する送水運用制御装置に関するものである。上水道施設においては、毎日の水需要量に応じて、上水道の送水系統を構成している送水ポンプの送水運転計画を立案しているが、その送水ポンプの運転の平滑化を図るとともに、その送水ポンプの動力コストを削減することができる送水運転計画を立案するため、数理的手法を実施して送水運転計画を策定し、その送水運転計画を運用者に提示する送水運用制御装置が利用されている。 Patent Document 1 discloses a "water supply operation control device". This invention develops operation schedules for pumps that make up the water supply system, such as intake pumps that take water from water intake points such as rivers and lakes and send it to water treatment plants, and water transmission pumps that send water from the water treatment plants to distribution reservoirs. This relates to a water supply operation control device. In water supply facilities, water supply operation plans are drawn up for the water pumps that make up the water supply system, depending on the daily water demand. In order to formulate a water supply operation plan that can reduce pump power costs, a water supply operation control device is used that uses mathematical methods to formulate a water supply operation plan and presents the water supply operation plan to the operator. There is.

特許文献1に開示された発明は、水需要量予測手段により予測された水需要量を条件とする線形計画法を実施して、上水道の送水系統を構成しているポンプの運転スケジュールを暫定する運転スケジュール暫定手段と、予め設定されているポンプの送水量可能範囲を、その運転スケジュール暫定手段により暫定された運転スケジュールにしたがってポンプを運転したときに、そのポンプにより送水される送水量を含む所定の送水量範囲に限定する可能範囲限定手段とを設け、その可能範囲限定手段により限定された送水量可能範囲を条件とする動的計画法を実施して、そのポンプの運転スケジュールを策定するようにしたものである。 The invention disclosed in Patent Document 1 implements a linear programming method with the water demand predicted by a water demand forecasting means as a condition, and tentatively determines the operation schedule of pumps that constitute a water supply system for waterworks. A provisional operation schedule means and a preset possible range of the amount of water delivered by the pump, including a predetermined amount of water delivered by the pump when the pump is operated according to the operation schedule provisionally set by the provisional operation schedule means. A possible range limiting means for limiting the amount of water to be delivered is provided, and an operation schedule for the pump is formulated by implementing a dynamic programming method that is conditioned on the possible range of water delivery amount limited by the possible range limiting means. This is what I did.

特開2007-070829号公報Japanese Patent Application Publication No. 2007-070829

上記従来手法は、可能範囲限定手段により限定された探索範囲を設定して動的計画法を実行するため、解精度の劣化を招くことなく、短時間で最適な制御変数を決定することができる、としている。具体的には、
最適な運転スケジュールの探索範囲=線形計画法による解±所定量
とし、この範囲に限定して動的計画法により解を探索する。
The above conventional method executes dynamic programming by setting a limited search range using a possible range limiting means, so it is possible to determine optimal control variables in a short time without deteriorating solution accuracy. . in particular,
The optimal operation schedule search range = linear programming solution ± a predetermined amount, and dynamic programming is used to search for a solution limited to this range.

動的計画法の場合、探索範囲の大きさは、その範囲を何段階に分割するかによって決まる。すなわち、探索範囲の大きさは、探索範囲を解像度(1段階あたりの値)で除した値である。細かい解像度で解を得ようとすると、段階数を大きくする必要があり、探索範囲が大きくなる。この場合、長い計算時間を要し、実用的な装置を作ることができない。計算を短時間で完了させるためには、探索範囲を小さくする必要があり、そのために段階数を小さく(解像度を粗く)する必要が生じる。しかし粗い解像度の解では、実用性が満たされない場合がある。 In the case of dynamic programming, the size of the search range is determined by how many stages the range is divided into. That is, the size of the search range is the value obtained by dividing the search range by the resolution (value per step). When trying to obtain a solution with fine resolution, it is necessary to increase the number of stages, which increases the search range. In this case, a long calculation time is required and a practical device cannot be manufactured. In order to complete the calculation in a short time, it is necessary to reduce the search range, and therefore it is necessary to reduce the number of stages (roughen the resolution). However, solutions with coarse resolution may not be practical.

本発明は上述したこの課題に鑑みてなされたものである。本発明が解決しようとする課題は、最適化問題を細かい解像度で解くためのシステムを提供することである。 The present invention has been made in view of this problem mentioned above. The problem to be solved by the present invention is to provide a system for solving optimization problems with fine resolution.

上記課題を解決するために、本発明においては、時刻と共に遷移する対象の状態の時系列を最適化する最適化処理をコンピュータに実行させる時系列最適化プログラムは、前記コンピュータに、連続値を第1の単位で離散化した離散値で各時刻における前記状態を表した場合に各時刻間の状態遷移を評価する評価値が最良となる前記状態の時系列を入力時系列として受け付ける第1の処理と、前記連続値を前記第1の単位よりも小さい第2の単位で離散化した離散値で各時刻における前記状態を表した場合に、前記入力時系列の所定近傍内で前記評価値が最良となる前記状態の時系列を算出する第2の処理とを実行させることを特徴とする。 In order to solve the above problems, the present invention provides a time series optimization program that causes a computer to execute an optimization process that optimizes a time series of target states that change with time. A first process of accepting as an input time series a time series of the state that gives the best evaluation value for evaluating the state transition between each time when the state at each time is represented by a discrete value discretized in units of 1. and, when the state at each time is expressed by a discrete value obtained by discretizing the continuous value in a second unit smaller than the first unit, the evaluation value is the best within a predetermined neighborhood of the input time series. and a second process of calculating a time series of the states.

本発明によれば、最適化問題を細かい解像度で解くことができる。 According to the present invention, optimization problems can be solved with fine resolution.

ダム群連携操作の定式化を説明するための図である。FIG. 3 is a diagram for explaining the formulation of dam group cooperative operation. 動的計画法(DP)の概要を説明するための図である。FIG. 2 is a diagram for explaining an overview of dynamic programming (DP). 離散微分動的計画法(DDDP)の概要を説明するための図である。FIG. 2 is a diagram for explaining an overview of discrete differential dynamic programming (DDDP). プログレッシブ動的計画法(PDP)の概要を説明するための図である。FIG. 2 is a diagram for explaining an overview of progressive dynamic programming (PDP). プログレッシブ動的計画法(PDP)の概要を説明するためのフローチャートである。It is a flowchart for explaining the outline of progressive dynamic programming (PDP). 実施形態を実現するためのコンピュータシステムの構成を示す概略ブロック図である。FIG. 1 is a schematic block diagram showing the configuration of a computer system for implementing an embodiment. ダム群連携操作プログラムのソフトウェア構成図である。FIG. 2 is a software configuration diagram of a dam group cooperative operation program. GUIモジュールが表示するGUIである。This is the GUI displayed by the GUI module. 実施形態を実現するためのコンピュータシステムによって実行される処理を示すシーケンス図である。FIG. 2 is a sequence diagram illustrating processing executed by a computer system for implementing the embodiment. 図9のステップS907の詳細を示すシーケンス図である。10 is a sequence diagram showing details of step S907 in FIG. 9. FIG. DP/DDDPによる最適化処理の詳細を示すフローチャートである。3 is a flowchart showing details of optimization processing by DP/DDDP. DP/DDDPによる最適化処理の詳細を示すフローチャートである。3 is a flowchart showing details of optimization processing by DP/DDDP. 本則操作に基づくダム貯水率およびダム放流量の時系列グラフの例である。This is an example of a time series graph of dam water storage rate and dam discharge amount based on basic operation. ダム群連携操作プログラムの出力する最適化されたダム群連携操作に基づくダム貯水率およびダム放流量の時系列グラフの例である。This is an example of a time series graph of dam water storage rate and dam discharge amount based on the optimized dam group cooperative operation output by the dam group cooperative operation program. 下流に急激な水位の変動を生じない放流量の多項式近似の例である。This is an example of polynomial approximation of the discharge amount that does not cause sudden changes in water level downstream. ダムモデルに関するプロジェクトデータのデータ構造を示す図である。FIG. 3 is a diagram showing a data structure of project data regarding a dam model. 河川モデルに関するプロジェクトデータのデータ構造を示す図である。FIG. 3 is a diagram showing a data structure of project data regarding a river model.

以下、図面を参照して本発明の実施形態を説明する。実施形態は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施することが可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。 Embodiments of the present invention will be described below with reference to the drawings. The embodiments are examples for explaining the present invention, and are omitted and simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless specifically limited, each component may be singular or plural.

図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。 The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.

各種情報の例として、「テーブル」、「リスト」、「キュー」等の表現にて説明することがあるが、各種情報はこれら以外のデータ構造で表現されてもよい。例えば、「XXテーブル」、「XXリスト」、「XXキュー」等の各種情報は、「XX情報」としてもよい。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについては互いに置換が可能である。 Examples of various types of information will be described using expressions such as "table," "list," and "queue," but various information may also be expressed using data structures other than these. For example, various information such as "XX table", "XX list", "XX queue", etc. may be referred to as "XX information". When describing identification information, expressions such as "identification information", "identifier", "name", "ID", and "number" are used, but these expressions can be replaced with each other.

同一あるいは同様の機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。また、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。 When there are multiple components having the same or similar functions, the same reference numerals may be given different suffixes for explanation. Furthermore, if there is no need to distinguish between these multiple components, the subscripts may be omitted from the description.

実施形態において、プログラムを実行して行う処理について説明する場合がある。ここで、計算機は、プロセッサ(例えばCPU、GPU)によりプログラム(モジュール)を実行し、記憶資源(例えばメモリ)やインターフェースデバイス(例えば通信ポート)等を用いながら、プログラムで定められた処理を行う。そのため、プログラムを実行して行う処理の主体を、プロセッサとしてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。 In the embodiments, processing performed by executing a program may be described. Here, a computer executes a program (module) using a processor (eg, CPU, GPU), and performs processing determined by the program using storage resources (eg, memory), interface devices (eg, communication port), and the like. Therefore, the main body of processing performed by executing a program may be a processor. Similarly, the subject of processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The main body of processing performed by executing the program may be an arithmetic unit, and may include a dedicated circuit that performs specific processing. Here, the dedicated circuit is, for example, an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or a CPLD (Complex Programmable Logic Device).

プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、実施形態において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 A program may be installed on a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server includes a processor and a storage resource for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. Furthermore, in the embodiments, two or more programs may be implemented as one program, or one program may be implemented as two or more programs.

先ず、図1~図5を参照して、本実施形態の概要を説明する。 First, an overview of this embodiment will be explained with reference to FIGS. 1 to 5.

<ダム群連携操作の定式化>
図1は、ダム群連携操作の定式化を説明するための図である。ダム群操作最適化をコンピュータによって実現するために、ダム群操作を次の通り定式化する。
<Formulation of dam group cooperative operation>
FIG. 1 is a diagram for explaining the formulation of dam group cooperative operation. In order to realize dam group operation optimization using a computer, the dam group operation is formulated as follows.

図1にダム群の例を示す。本明細書では、図1に示すダム群を連携操作対象の例として説明する。図1に示すように、ダムD0(101)、ダムD1(102)、ダムD2(103)がある。水位計G0(111)の上流には、ダムD0(101)およびダムD1(102)がある。水位計G1(112)の上流には、ダムD2(103)がある。水位計G2(113)の上流には水位計G0(111)および水位計G1(112)がある。 Figure 1 shows an example of a dam group. In this specification, the dam group shown in FIG. 1 will be described as an example of a cooperative operation target. As shown in FIG. 1, there are a dam D0 (101), a dam D1 (102), and a dam D2 (103). Upstream of water level gauge G0 (111) are dam D0 (101) and dam D1 (102). Dam D2 (103) is upstream of water level gauge G1 (112). Upstream of water level gauge G2 (113) are water level gauge G0 (111) and water level gauge G1 (112).

河川R0(121)は、ダムD0(101)から出て、水位計G0(111)、および水位計G2(113)を通る。河川R1(122)は、ダムD1(102)から出て、水位計G0(111)の上流で河川R0に合流する。河川R2(123)は、ダムD2(103)から出て、水位計G1(112)を通って、水位計G2(113)の上流で河川R0に合流する。 River R0 (121) leaves dam D0 (101) and passes through water level gauge G0 (111) and water level gauge G2 (113). River R1 (122) leaves dam D1 (102) and joins river R0 upstream of water level gauge G0 (111). River R2 (123) leaves dam D2 (103), passes through water level gauge G1 (112), and joins river R0 upstream of water level gauge G2 (113).

ダム群は、離散化された時刻t=0,1,...,T-1において、状態変数STATE[t]により表現されるとする。ただし状態変数STATE[t]はN次元のベクトルである。
STATE[t]=(state[t,0],state[t,1],...,state[t,N-1])
ここでstate[t,i]は、ダムiの貯水量の指標であり、K段階に分割した有効貯水容量の何段階目まで貯水されているかを表す。したがって、state[i,t]は、0,1,...,K-1のいずれかの値をとる。
It is assumed that the dam group is expressed by the state variable STATE[t] at discretized time t=0,1,...,T-1. However, the state variable STATE[t] is an N-dimensional vector.
STATE[t]=(state[t,0],state[t,1],...,state[t,N-1])
Here, state[t,i] is an index of the amount of water stored in dam i, and indicates which stage of the effective water storage capacity divided into K stages the water is stored. Therefore, state[i,t] takes any value from 0, 1,...,K-1.

ダムの状態は(数式1)で表される連続式を満たす。
STATE[t]=VTOS(STOV(STATE[t-1])+(INFLOW[t]-OUTFLOW[t])*ΔT)
・・・(数式1)
ただし、INFLOW[t]およびOUTFLOW[t]は、時刻t-1からtまでの時間ΔTにおけるダムへの平均流入量、およびダムからの平均放流量である。STOV(STATE)は、STATEをダム貯水量VOLUMEに変換する関数、VTOS(VOLUME)は、ダム貯水量VOLUMEを貯水量の指標STATEに変換する関数である。
The state of the dam satisfies the continuity equation expressed by (Equation 1).
STATE[t]=VTOS(STOV(STATE[t-1])+(INFLOW[t]-OUTFLOW[t])*ΔT)
...(Formula 1)
However, INFLOW[t] and OUTFLOW[t] are the average amount of inflow into the dam and the average amount of discharge from the dam at time ΔT from time t-1 to t. STOV(STATE) is a function that converts STATE to dam water storage amount VOLUME, and VTOS(VOLUME) is a function that converts dam water storage amount VOLUME to STATE, an index of water storage amount.

また、水位計j=0,1,...,J-1における流量RIVERFLOW[t]は、洪水流のシミュレーションを行う関数SIMを用いて(数式2)のように表現される。
RIVERFLOW[t]=(riverflow[0,t],riverflow[1,t],riverflow[J-1,t])
=SIM(RIVERFLOW[t-1],OUTFLOW[t],LATERALFLOW[t])・・・(数式2)
関数SIMは、1次不定流として実装してもよいし、上流端における流量がある時間後に下流端に到達するとするモデル(遅れ時間モデル)として実装してもよい。ここでLATERALFLOW[t]は、水位計j=0,1,...,J-1地点においてダム以外から河川に流入する量(本川側方流入量および支川流量)である。
Further, the flow rate RIVERFLOW[t] at the water level gauge j=0,1,...,J-1 is expressed as in (Equation 2) using the function SIM that simulates flood flow.
RIVERFLOW[t]=(riverflow[0,t],riverflow[1,t],riverflow[J-1,t])
=SIM(RIVERFLOW[t-1],OUTFLOW[t],LATERALFLOW[t])...(Formula 2)
The function SIM may be implemented as a first-order unsteady flow, or as a model in which the flow rate at the upstream end reaches the downstream end after a certain time (delay time model). Here, LATERALFLOW[t] is the amount flowing into the river from sources other than the dam at the water level gauge j=0,1,...,J-1 (main river lateral inflow amount and tributary flow amount).

ダム群操作最適化とは、初期値STATE[0]と制約条件のもとで、次の目的関数の値を最小化する状態遷移(STATE[0],STATE[1],...,STATE[T-1])を求めることである。
目的関数:OBJECTIVE(STATE[0],STATE[1],...,STATE[T-1])
Dam group operation optimization is a state transition (STATE[0],STATE[1],...,STATE [T-1]).
Objective function:OBJECTIVE(STATE[0],STATE[1],...,STATE[T-1])

このように定式化された問題は、多段階決定過程と呼ばれる。多段階決定過程を効率的に解く手法として、動的計画法(Dynamic Programming;DP)が知られている。 A problem formulated in this way is called a multistep decision process. Dynamic programming (DP) is known as a method for efficiently solving multi-step decision processes.

DPでは「最適性の原理」を用いることで効率化を実現する。すなわち、「最適政策は最適部分政策だけから成る」と仮定し、(数式3)で表される漸化式の値を最小化するSTATE[t]を求める問題とする。
OBJECTIVE(STATE[0],STATE[1],...,STATE[t])
=COST(STATE[t-1],STATE[t])+OBJECTIVE(STATE[0],STATE[1],
...,STATE[t-1]))・・・(数式3)
ここでCOSTは、状態遷移(STATE[t-1],STATE[t])のよさを評価する関数(コスト関数)である。COSTは常に0以上の値を返し、評価が良いほど小さい値を返す。
DP achieves efficiency by using the "principle of optimality." That is, it is assumed that "the optimal policy consists of only optimal sub-policies", and the problem is to find STATE[t] that minimizes the value of the recurrence formula expressed by (Equation 3).
OBJECTIVE(STATE[0],STATE[1],...,STATE[t])
=COST(STATE[t-1],STATE[t])+OBJECTIVE(STATE[0],STATE[1],
...,STATE[t-1]))...(Formula 3)
Here, COST is a function (cost function) that evaluates the quality of state transition (STATE[t-1], STATE[t]). COST always returns a value greater than or equal to 0, and the better the evaluation, the smaller the value.

<動的計画法(DP)の概要>
図2は、動的計画法(DP)の概要を説明するための図である。DPは、不連続、微分不可能、非凸な目的関数を持つ多段階決定過程に対して効率的に大域解を求めることができる。一方、DPには状態変数の次元に対し計算量がべき乗で増える、「次元の呪い」(curse of dimensionality)と呼ばれる短所がある。
<Overview of dynamic programming (DP)>
FIG. 2 is a diagram for explaining an overview of dynamic programming (DP). DP can efficiently find global solutions for multi-step decision processes with discontinuous, non-differentiable, and non-convex objective functions. On the other hand, DP has a disadvantage called the ``curse of dimensionality,'' in which the amount of calculation increases exponentially with the dimensionality of the state variable.

ダム群最適制御については、ダム数をN、貯水量をK段階に分割し、対象期間をT段階に分割すると、pow(TK,2N)通りの状態遷移を求める必要がある。ただし、pow(x,y)はxのy乗を返す関数である。たとえば、ダム数3、貯水量を50段階に分割し、1時間ごと24時間の最適貯水量を求める場合、3750億通りの状態遷移を計算する必要がある。これを計算機で扱うことは、処理速度の点から非実用的である。 For optimal control of dam groups, if the number of dams is divided into N, the amount of water storage is divided into K stages, and the target period is divided into T stages, it is necessary to find pow(TK,2N) state transitions. However, pow(x,y) is a function that returns x to the y power. For example, if the number of dams is 3 and the amount of water stored is divided into 50 stages, and the optimal amount of water stored every hour for 24 hours is to be determined, 375 billion state transitions need to be calculated. Handling this with a computer is impractical in terms of processing speed.

DPはまず、時間方向に前に進みながら最適解を求め、その最適な状態遷移を記憶する。各時刻における処理は次の通りである。図2に示す各ノード(○印、たとえば211)は、系がとりうる状態を示している。ノードは、ダム数をN、貯水量をK段階に分割した場合、各時刻においてpow(K,N)個ある。時刻tにおいてノード212(STATE[t]=k1)に至るすべての状態遷移をリンク(たとえば213)で示した。これらのリンクのコストをコスト関数COSTにより求める。得られた値から、次の目的関数の値が最も小さい状態遷移(最小コストリンク)を求める。
目的関数:OBJECTIVE(STATE[0],STATE[1],...,STATE[t]=k1)
DP first finds the optimal solution while moving forward in the time direction, and stores the optimal state transition. The processing at each time is as follows. Each node (○ mark, for example 211) shown in FIG. 2 indicates a possible state of the system. If the number of dams is N and the amount of water storage is divided into K stages, there are pow(K,N) nodes at each time. All state transitions leading to node 212 (STATE[t]=k1) at time t are indicated by links (for example, 213). The cost of these links is determined by the cost function COST. From the obtained values, find the state transition (minimum cost link) with the smallest value of the next objective function.
Objective function: OBJECTIVE(STATE[0],STATE[1],...,STATE[t]=k1)

最小コストリンクがリンク215だとすると、このリンク215(ノード214(STATE[t-1]=k0)からノード212に至るリンク215)を記憶しておく。同様の処理を、時刻tにおけるすべてのノードに対して実行する。これらの処理を時刻t=1からt=T-1まで実行する。この処理の実装については図11にて説明する。 If the minimum cost link is link 215, this link 215 (link 215 from node 214 (STATE[t-1]=k0) to node 212) is stored. Similar processing is executed for all nodes at time t. These processes are executed from time t=1 to t=T-1. The implementation of this process will be explained with reference to FIG.

続いて、時刻t=T-1におけるすべてのノードのうち、目的関数値が最も小さいノードを見つける。このノードに至る状態遷移は、今までの計算過程によりすでに記憶されているので、時刻t=0のノードまでを時間方向に後ろ向きにたどることで、目的関数値の値を最小化する状態遷移(STATE[0],STATE[1],...,STATE[T-1])を求めることができる。この処理の実装については図12にて説明する。 Next, find the node with the smallest objective function value among all the nodes at time t=T-1. The state transition leading to this node has already been memorized from the calculation process up to now, so by tracing backward in time to the node at time t=0, the state transition that minimizes the objective function value ( STATE[0],STATE[1],...,STATE[T-1]) can be found. The implementation of this process will be explained with reference to FIG.

<離散微分動的計画法(DDDP)の概要>
図3は、離散微分動的計画法(DDDP)の概要を説明するための図である。動的計画法の「次元の呪い」と呼ばれる欠点を克服するため、近似解法が提案されている。そのうちの一つである離散微分動的計画法(Discrete Differential Dynamic Programming,DDDP)は、状態変数(本実施形態では貯水量)の段階数Kを小さな値dKに制約して準最適解を求める処理を繰り返すものである。
<Overview of Discrete Differential Dynamic Programming (DDDP)>
FIG. 3 is a diagram for explaining an overview of discrete differential dynamic programming (DDDP). Approximate solutions have been proposed to overcome the so-called "curse of dimensionality" of dynamic programming. One of these methods, Discrete Differential Dynamic Programming (DDDP), is a process to obtain a quasi-optimal solution by constraining the number of stages K of the state variable (water storage amount in this embodiment) to a small value dK. is repeated.

DDDPでは、適当な貯水量時系列を初期トラジェクトリ301として与え、この貯水量を数段階だけ増減する範囲(たとえば-1,0,+1の3段階、この場合dK=3)のみで最適解を探索し、次回の最適解探索処理の初期値とする。この探索範囲にあるノード(図3中の破線で結ばれたノード、例えばノード303)をコリドー302という。このように、コリドーの中で最適解を探索する処理を繰り返すことによって、最終的に最適系列を求めるものである。仮に10回の探索繰り返しで最適解に到達するならば、前述の3750億通りの状態遷移計算と同じ結果が、約200万分の1(約17万通り)の計算量で得られることになる。 In DDDP, an appropriate water storage amount time series is given as the initial trajectory 301, and the optimal solution is found only within a range in which the water storage amount is increased or decreased by several steps (for example, 3 steps of -1, 0, +1, in this case dK = 3). The value is searched and used as the initial value for the next optimal solution search process. Nodes within this search range (nodes connected by broken lines in FIG. 3, for example, node 303) are called a corridor 302. In this way, the optimal sequence is finally determined by repeating the process of searching for the optimal solution within the corridor. If the optimal solution is reached in 10 search iterations, the same result as the 375 billion state transition calculations described above can be obtained with approximately 1/2 millionth (approximately 170,000 ways) the amount of calculation.

DDDPは、目的関数が初期トラジェクトリから最適解に至るまで凸である必要がある。これはたとえば、目的関数を水位計における河川流量の2乗にすればよい。たとえば、目的関数は、(数式4)のように表される。
COST(STATE[t-1],STATE[t])=
SIGMA(j=0,J-1,pow(riverflow[j,t]/designFlow[j], 2))・・・(数式4)
とすればよい。ただし、SIGMA(i=0,I-1,Expression)は、変数iを0からI-1まで1ずつ増やしながら式Expressionの値を総和する関数、designFlow[j]は水位計jにおける計画高水流量である。
DDDP requires that the objective function be convex from the initial trajectory to the optimal solution. For example, this can be done by setting the objective function to the square of the river flow rate at the water level gauge. For example, the objective function is expressed as (Equation 4).
COST(STATE[t-1],STATE[t])=
SIGMA(j=0,J-1,pow(riverflow[j,t]/designFlow[j], 2))...(Formula 4)
And it is sufficient. However, SIGMA(i=0,I-1,Expression) is a function that sums up the value of expression Expression while increasing variable i by 1 from 0 to I-1, and designFlow[j] is the planned high water level at water level gauge j. It is the flow rate.

しかし、洪水調整では、流量の急激な変動についても考慮するなど複数目的を同時に実現する必要がある。複数目的の場合、目的関数は多峰となるため凸な関数とはならない。たとえば、ダムの操作規則においては、下流に急激な水位の変動を生じない放流量を超えないこと(いわゆる「放流の原則」を守ること)が求められる。下流に急激な水位の変動を生じない放流量の多項式近似の例は、図15にて説明する。 However, flood control requires simultaneous realization of multiple objectives, such as taking into account sudden fluctuations in flow rate. In the case of multiple objectives, the objective function is multimodal, so it is not a convex function. For example, dam operating rules require that the discharge amount not exceed the amount that does not cause sudden changes in the water level downstream (observing the so-called "discharge principle"). An example of polynomial approximation of the discharge amount that does not cause sudden changes in water level downstream will be explained with reference to FIG.

水位計における河川流量を小さくし、かつ「放流の原則」を守るような目的関数は、たとえば(数式5)で表現できる。
COST(STATE[t-1],STATE[t])=
SIGMA(j=0,J-1,pow(riverflow[j,t]/designFlow[j],2))
+SIGMA(i=0,I-1,pow((outflow[i,t]-outflow[i,t-1])/outflowLimit[i],2))
・・・(数式5)
ただし、outflowLimit[i]は、ダムiにおける下流に急激な水位の変動を生じない放流量であり、その値はoutflow[i,t]によって決定される。
An objective function that reduces the river flow rate at the water level gauge and adheres to the "principle of discharge" can be expressed, for example, by (Equation 5).
COST(STATE[t-1],STATE[t])=
SIGMA(j=0,J-1,pow(riverflow[j,t]/designFlow[j],2))
+SIGMA(i=0,I-1,pow((outflow[i,t]-outflow[i,t-1])/outflowLimit[i],2))
...(Formula 5)
However, outflowLimit[i] is the discharge amount that does not cause sudden changes in the water level downstream at dam i, and its value is determined by outflow[i,t].

DDDPはまた、状態変数の段階数Kが大きな値であったならば、コリドーの幅を広げる必要があり、最適解に到達するまでに多数回の探索繰り返しをすることになる。現実的な時間で解が求まるためには、状態変数の段階数Kを10から100程度にする必要がある。しかし、ダムの操作のためにはダム放流量時系列を1m3/s程度で決める必要がある。たとえばダムの有効貯水容量が10MCM、1時間単位の操作をする場合、最適化を1m3/s以下の単位にするには段階数Kを5120にする必要がある。これだけの段階数がある状態変数をDDDPで解くことは現実的でない。 Also, in DDDP, if the number of stages K of the state variable is a large value, it is necessary to widen the width of the corridor, and the search will be repeated many times before reaching the optimal solution. In order to find a solution in a realistic amount of time, the number of stages K of state variables needs to be approximately 10 to 100. However, in order to operate the dam, it is necessary to determine the time series of the dam discharge amount on the order of 1 m3/s. For example, if the effective water storage capacity of the dam is 10 MCM and the operation is performed in units of 1 hour, the number of stages K needs to be 5120 in order to optimize in units of 1 m3/s or less. It is not realistic to solve state variables with this many stages using DDDP.

すなわち、DDDPは、現実の問題に適用する上で、2つの課題があるといえる。1つ目の課題は、多峰の目的関数にも適用可能にすることである。2つ目の課題は、状態変数の段階数Kが大きな値でも適用可能にすることである。 In other words, it can be said that DDDP has two issues when applied to real problems. The first challenge is to make it applicable to multimodal objective functions. The second challenge is to make it applicable even when the number of stages K of the state variable is large.

<プログレッシブ動的計画法(PDP)の概要>
図4は、プログレッシブ動的計画法(PDP)の概要を説明するための図である。図5は、プログレッシブ動的計画法(PDP)の概要を説明するためのフローチャートである。上記のように目的関数が多峰であり、状態変数の段階数Kが大きな値である場合に適用するため、本実施形態では、プログレッシブ動的計画法(Progressive Dynamic Programing)を提案する。図5の処理主体は、後述するダム群連携操作プログラム621である。
<Overview of progressive dynamic programming (PDP)>
FIG. 4 is a diagram for explaining an overview of progressive dynamic programming (PDP). FIG. 5 is a flowchart for explaining an overview of progressive dynamic programming (PDP). This embodiment proposes progressive dynamic programming in order to be applied when the objective function is multimodal and the number of stages K of the state variables is a large value as described above. The main processing entity in FIG. 5 is a dam group cooperative operation program 621, which will be described later.

図5にて説明するステップS501の結果、または繰り返し処理するステップS502の前回処理の結果を、図4に示すようなトラジェクトリ401とする。このトラジェクトリ401の近傍にコリドー402(図4において破線で結ばれたノード)を設置する。ただし、トラジェクトリ401を得たステップでの段階数よりも、状態変数の段階数を2倍にする。これにより新たなノード403などが用意される。このコリドー402において、DDDPによって最適解を得る。 The result of step S501 explained with reference to FIG. 5 or the result of the previous processing of step S502 which is repeatedly processed is assumed to be a trajectory 401 as shown in FIG. A corridor 402 (nodes connected by broken lines in FIG. 4) is installed near this trajectory 401. However, the number of stages of the state variable is twice the number of stages at which the trajectory 401 was obtained. As a result, a new node 403 and the like are prepared. In this corridor 402, an optimal solution is obtained by DDDP.

本実施形態で開示する最適化手法であるプログレッシブ動的計画法(Progressive Dynamic Programming,PDP)では、先ずDPを用いて初期値を得る(ステップS501)。この際の状態変数の段階数をKInitとする。続いて初期値の近傍で状態変数の段階数Kを2倍にしてDDDPを行い、新たな初期値を得る(ステップS502)。このステップS502をM回繰り返す(ステップS503)。すなわち、状態変数の段階数Kは、K=pow(2,M)*KInitとなる。 In progressive dynamic programming (PDP), which is an optimization method disclosed in this embodiment, initial values are first obtained using DP (step S501). Let the number of stages of the state variable at this time be KInit. Next, DDDP is performed by doubling the stage number K of the state variable near the initial value to obtain a new initial value (step S502). This step S502 is repeated M times (step S503). That is, the number of stages K of the state variable is K=pow(2,M)*KInit.

ステップS502をM回繰り返す中での前回r=iの段階数Kは、連続値を第1の単位で離散化した離散値で各時刻における状態を表す際の“第1の単位”である。また、今回r=i+1の段階数Kは、連続値を第1の単位よりも小さい第2の単位で離散化した離散値で各時刻における状態を表す際の“第2の単位”である。Mは、第2の単位に基づく後述のダムの流量解像度がユーザ所望の解像度となる段階数Kを与える。 The step number K of the previous time r=i in repeating step S502 M times is a "first unit" when representing the state at each time with a discrete value obtained by discretizing a continuous value in a first unit. In addition, the number of stages K for r=i+1 this time is the "second unit" when expressing the state at each time with a discrete value that is a continuous value discretized in a second unit smaller than the first unit. be. M gives the number of stages K at which the dam's flow rate resolution, which will be described later, based on the second unit becomes the resolution desired by the user.

前述の1つ目の課題である多峰の目的関数にも適用可能にすることに対し、PDPは初期トラジェクトリを動的計画法で求めることで解決を図る。また、新しい段階数に対しDDDPのコリドーの幅を十分に持たせることで、多峰の目的関数に対応できるようにする。たとえば、段階数2倍に対し幅5にすればよい。 PDP attempts to solve the first problem mentioned above, which is to make it applicable to multimodal objective functions, by finding the initial trajectory using dynamic programming. In addition, by making the DDDP corridor wide enough for the new number of stages, it is possible to support multimodal objective functions. For example, the width can be set to 5 for twice the number of stages.

2つ目の課題である状態変数の段階数Kが大きな値でも適用可能とすることに対し、PDPは漸進的に段階数を増加させることで解決を図る。ステップS501の動的計画法で全体最適解を求めているため、その後に行われるDDDPでは、動的計画法に比べ少ない計算量で全体最適解近傍の局所解に達する。これにより全体の計算量を削減する。たとえばダムの有効貯水容量が10MCM、1時間単位の操作をする場合、段階数KInitを10とし、ステップS502を9回繰り返すことで、段階数5,120(流量解像度0.54m3/s)を実現できることになる。このように、非凸の目的関数の最適化問題を細かい解像度で解き時系列を最適化することができる。 The second problem, which is to make it applicable even if the number of stages K of the state variable is large, is solved by PDP by gradually increasing the number of stages. Since the global optimal solution is determined by the dynamic programming method in step S501, the subsequent DDDP reaches a local solution in the vicinity of the global optimal solution with a smaller amount of calculation compared to the dynamic programming method. This reduces the overall amount of calculation. For example, if the effective storage capacity of the dam is 10 MCM and the operation is performed in hourly increments, the number of stages KInit is set to 10 and step S502 is repeated 9 times to achieve the number of stages 5,120 (flow resolution 0.54 m3/s). . In this way, the optimization problem of a non-convex objective function can be solved with fine resolution and the time series can be optimized.

以下、実施形態の詳細を説明する。 The details of the embodiment will be described below.

<実施形態を実現するためのコンピュータシステムの構成>
図6は、実施形態を実現するためのコンピュータシステムの構成を示す概略ブロック図である。本実施形態のコンピュータシステムは、ネットワーク660に接続されたPC(Personal Computer)などのコンピュータ610、降雨予測サーバ680を含んで構成される。
<Configuration of a computer system for realizing the embodiment>
FIG. 6 is a schematic block diagram showing the configuration of a computer system for implementing the embodiment. The computer system of this embodiment includes a computer 610 such as a PC (Personal Computer) connected to a network 660, and a rainfall prediction server 680.

コンピュータ610は、メモリ620、CPU(Central Processing Unit)などのプロセッサ630、HDD(Hard Disk Drive)などの二次記憶装置であるストレージ640、および入出力部650を備える。メモリ620には、時系列最適化プログラムの一例であるダム群連携操作プログラム621が展開される。このダム群連携操作プログラム621はプロセッサ630への命令によって構成される。プロセッサ630は、ダム群連携操作プログラム621の命令に従い計算、ストレージ640へのアクセス、クライアント端末670からのリクエストへの応答などを行う。 The computer 610 includes a memory 620, a processor 630 such as a CPU (Central Processing Unit), a storage 640 that is a secondary storage device such as an HDD (Hard Disk Drive), and an input/output unit 650. A dam group cooperative operation program 621, which is an example of a time series optimization program, is developed in the memory 620. This dam group cooperative operation program 621 is configured by instructions to the processor 630. The processor 630 performs calculations, accesses the storage 640, responds to requests from the client terminal 670, etc. according to instructions from the dam group cooperative operation program 621.

以下の説明においてダム群連携操作プログラム621が実行する処理は、実際には、ダム群連携操作プログラム621に記述された命令に従うプロセッサ630によって実行される。ダム群連携操作プログラム621の処理結果はストレージ640にダム群連携操作データ642として格納される。 The processing executed by the dam group cooperative operation program 621 in the following description is actually executed by the processor 630 according to instructions written in the dam group cooperative operation program 621. The processing results of the dam group cooperative operation program 621 are stored in the storage 640 as dam group cooperative operation data 642.

降雨予測サーバ680からは、降雨予測データ641が送信される。このデータをダム群連携操作プログラム621が受信し、ストレージ640に格納する。降雨予測データ641は、降雨強度分布の予測に関する時系列データである。このデータは時系列メッシュデータとして格納される。すなわち、時空間を初期時刻、予測時間、緯度、経度の4軸で定義し、それぞれの軸ごとに開始点、終了点、解像度が定義され、それに基づき時空間がセルに分割され、セルに値が格納される。ダム群連携操作プログラム621は、初期時刻、予測時間、緯度、経度を指定することにより、それに相当する値を取得することができる。このデータの格納には、NetCDFフォーマットなどを使用すればよい。 Rainfall prediction data 641 is transmitted from the rainfall prediction server 680. The dam group cooperative operation program 621 receives this data and stores it in the storage 640. Rainfall prediction data 641 is time series data related to prediction of rainfall intensity distribution. This data is stored as time series mesh data. In other words, space-time is defined by four axes: initial time, predicted time, latitude, and longitude. A start point, end point, and resolution are defined for each axis. Based on that, space-time is divided into cells, and values are assigned to the cells. is stored. The dam group cooperative operation program 621 can obtain values corresponding to initial time, predicted time, latitude, and longitude by specifying them. To store this data, use NetCDF format or the like.

ストレージ640にはまた、ダム群連携操作データ642が格納される。このデータは、ダムの貯水量、ダムへの流入量、ダムからの放流量、本川側方流入量および支川流量、および河川水位計における流量の、それぞれの時系列からなる。これらの時系列データの格納には、独自のバイナリフォーマットなどを使用すればよい。 The storage 640 also stores dam group cooperative operation data 642. This data consists of time series of the amount of water stored in the dam, the amount of inflow into the dam, the amount of discharge from the dam, the amount of lateral inflow into the main river, the amount of tributary river flow, and the amount of flow at the river water level gauge. A proprietary binary format may be used to store these time series data.

ストレージ640にはまた、地図データ643が格納される。地図データ643は、たとえば地図画像である。これらの地図画像は、Web Map Tile Service(WMTS)に準拠して格納すればよい。 Storage 640 also stores map data 643. The map data 643 is, for example, a map image. These map images may be stored in compliance with Web Map Tile Service (WMTS).

ストレージ640にはまた、プロジェクトデータ644が格納される。プロジェクトデータ644は、対象とするダム群をシミュレーションするために必要なデータである。これらのデータは、たとえばXMLに準拠して格納すればよい。データの構造の詳細は図16および図17にて詳述する。 Storage 640 also stores project data 644. The project data 644 is data necessary for simulating the target dam group. These data may be stored in accordance with, for example, XML. The details of the data structure will be explained in detail in FIGS. 16 and 17.

入出力部650は、キーボード651およびマウス652などからなる入力部と、ディスプレイ653などからなる出力部によって構成される。ユーザは、入力部のキーボード651およびマウス652から命令を入力し、出力部のディスプレイ653から結果を視覚的に確認することができる。 The input/output unit 650 includes an input unit including a keyboard 651 and a mouse 652, and an output unit including a display 653. The user can input commands from the keyboard 651 and mouse 652 of the input section, and visually check the results from the display 653 of the output section.

<ダム群連携操作プログラム621のソフトウェア構成図>
図7は、ダム群連携操作プログラム621のソフトウェア構成図である。ダム群連携操作プログラム621は、シミュレータモジュール710、最適化モジュール720、本則操作モジュール730、およびGUIモジュール740の4つのモジュールから構成される。
<Software configuration diagram of dam group cooperative operation program 621>
FIG. 7 is a software configuration diagram of the dam group cooperative operation program 621. The dam group cooperative operation program 621 is composed of four modules: a simulator module 710, an optimization module 720, a basic operation module 730, and a GUI module 740.

シミュレータモジュール710では、モデルコントローラ711が基本モデル712およびその派生クラスを制御する。ダムモデル713、河川モデル714および流出モデル715は、基本モデル712の派生クラスである。 In the simulator module 710, a model controller 711 controls a base model 712 and its derived classes. Dam model 713, river model 714, and outflow model 715 are derived classes of basic model 712.

ダムモデル713は、図1と共に説明した(数式1)に従う状態遷移を行う。河川モデル714は、図1と共に説明した(数式2)に従う状態遷移を行う。流出モデル715は、分布型流出モデル、あるいは貯留関数法などとして実装すればよい。流出モデル715は、入力データとして降雨予測データ641を用い、予測降雨の時系列が変換されたダム流入量の時系列にて、山地からダムへ流出する降雨を表すモデルである。 The dam model 713 performs state transition according to (Equation 1) explained in conjunction with FIG. The river model 714 performs state transition according to (Equation 2) explained in conjunction with FIG. The runoff model 715 may be implemented as a distributed runoff model, a storage function method, or the like. The runoff model 715 is a model that uses the rainfall prediction data 641 as input data and represents the rainfall flowing from the mountains to the dam based on the time series of the dam inflow amount obtained by converting the time series of predicted rainfall.

ダムモデル713、河川モデル714および流出モデル715のいずれのモデルも、離散化された時刻tにおける状態STATE[t]から、次の時刻t+1の状態STATE[t+1]に状態遷移する機能を有する。さらに、いずれのモデルも、状態をメモリ620に保存し、かつ保存された状態をメモリ620から読み込むことができる。初期時刻t=0における状態(初期状態)STATE[0]はユーザにより与えられる。 All of the dam model 713, river model 714, and runoff model 715 have a function to transition from the state STATE[t] at discretized time t to the state STATE[t+1] at the next time t+1. has. Additionally, either model can save state to memory 620 and read saved state from memory 620. The state (initial state) STATE[0] at initial time t=0 is given by the user.

モデルコントローラ711は、最適化モジュール720から、初期状態STATE[0]の読み込み、時刻tの状態STATE[t]の保存および読み込み、状態STATE[t]からSTATE[t+1]への状態遷移、その状態遷移におけるコスト関数値の算出を行う。そしてモデルコントローラ711は、その状態遷移により得られたダム群連携操作データ642をストレージ640に保存する命令を受け付ける。 The model controller 711 receives instructions from the optimization module 720 to read the initial state STATE[0], save and read the state STATE[t] at time t, state transition from state STATE[t] to STATE[t+1], The cost function value for the state transition is calculated. The model controller 711 then receives a command to save the dam group cooperative operation data 642 obtained through the state transition in the storage 640.

最適化モジュール720は、ダム群操作の最適化処理を模擬するようシミュレータモジュール710に命令を出す。最適化モジュール720は、PDPコントローラ721、およびDP/DDDPコントローラ722の2つのモジュールから構成される。PDPコントローラ721はDP/DDDPコントローラ722への命令を発行する。最適化モジュール720はGUIモジュール740からの命令を受け付ける。 Optimization module 720 instructs simulator module 710 to simulate an optimization process for dam group operations. The optimization module 720 is composed of two modules: a PDP controller 721 and a DP/DDDP controller 722. PDP controller 721 issues instructions to DP/DDDP controller 722. Optimization module 720 accepts instructions from GUI module 740.

本則操作モジュール730は、本則操作に基づくダム群操作を模擬するようシミュレータモジュール710に命令を出す。本則操作モジュール730はGUIモジュール740からの命令を受け付ける。シミュレータモジュール710のモデルコントローラ711は、本則操作に基づくダム群操作による状態遷移により得られたダム群連携操作データ642をストレージ640に保存する命令を受け付ける。 The basic operations module 730 instructs the simulator module 710 to simulate dam group operations based on the basic operations. The main operation module 730 receives commands from the GUI module 740. The model controller 711 of the simulator module 710 accepts a command to save in the storage 640 dam group cooperative operation data 642 obtained by state transition by dam group operation based on the basic operation.

GUIモジュール740は、ダム群連携操作プログラム621のGUI(Graphical User Interface)を提供する。このGUIについては図8にて説明する。 The GUI module 740 provides a GUI (Graphical User Interface) for the dam group cooperative operation program 621. This GUI will be explained with reference to FIG.

<GUIモジュール740が表示するGUI>
図8は、GUIモジュール740が表示するGUIである。このGUIはディスプレイ653に表示され、キーボード651およびマウス652を通じユーザからの指示を受け付ける。このGUIはウィンドウ800からなる。
<GUI displayed by GUI module 740>
FIG. 8 is a GUI displayed by the GUI module 740. This GUI is displayed on the display 653 and accepts instructions from the user through the keyboard 651 and mouse 652. This GUI consists of windows 800.

メッセージ部801にはメッセージが表示される。たとえば現在時刻においてユーザが洪水警戒態勢をとっている場合にはメッセージ部801に「洪水警戒態勢」と表示される。 A message is displayed in the message section 801. For example, if the user is on flood alert at the current time, "Flood alert" is displayed in the message section 801.

河川流量時系列グラフ部810には河川流量の時系列グラフが表示される。表示されるグラフの横軸は時間、縦軸は河川流量である。河川流量時系列グラフ部810の3つの時系列グラフは、それぞれ水位計111、112、113(図1)に対応する。 The river flow time series graph section 810 displays a time series graph of river flow. The horizontal axis of the displayed graph is time, and the vertical axis is river flow rate. The three time series graphs of the river flow rate time series graph section 810 correspond to the water level gauges 111, 112, and 113 (FIG. 1), respectively.

ダム状態時系列グラフ部820にはダム状態の時系列グラフが表示される。ダム状態とはたとえばダム流入量(点線表示)、ダム放流量(実線表示)、およびダム貯水率(破線表示)である。表示されるグラフの横軸は時間、第1の縦軸は流量、第2の縦軸は貯水率である。ダム状態時系列グラフ部820の3つの時系列グラフは、それぞれダム101、102、103(図1)に対応する。 The dam state time series graph section 820 displays a time series graph of the dam state. The dam status is, for example, the dam inflow amount (dotted line), the dam discharge amount (solid line), and the dam water storage rate (dotted line). The horizontal axis of the displayed graph is time, the first vertical axis is flow rate, and the second vertical axis is water storage rate. The three time series graphs in the dam state time series graph section 820 correspond to the dams 101, 102, and 103 (FIG. 1), respectively.

地図部830には連携操作対象のダム群および水位計を示す地図が表示される。地図にはダムアイコン831、河川水位計アイコン832、および河川833が示される。このダム、河川水位計および河川の接続関係は、図1に示したダム群の接続関係と同じである。 A map section 830 displays a map showing dam groups and water level gauges to be operated in conjunction. A dam icon 831, a river water level gauge icon 832, and a river 833 are shown on the map. The connection relationship between this dam, river water level gauge, and river is the same as the connection relationship between the dam group shown in FIG. 1.

地図部830にある3つのダムアイコン831のそれぞれに対し、ダム状態時系列グラフ部820の3つのグラフが対応し表示されている。同様に、地図部830にある3つの河川水位計アイコン832のそれぞれに対し、河川流量時系列グラフ部810の3つのグラフが対応し表示されている。ユーザがいずれかのアイコンを選択すると、対応するグラフが強調表示される。図8は、1つのダムアイコン831が選択され、そのアイコンに対応するグラフが強調表示されている。 Three graphs in the dam status time series graph section 820 are displayed in correspondence with each of the three dam icons 831 in the map section 830. Similarly, three graphs in the river flow rate time series graph section 810 are displayed in correspondence with each of the three river water level gauge icons 832 in the map section 830. When the user selects either icon, the corresponding graph is highlighted. In FIG. 8, one dam icon 831 is selected and the graph corresponding to that icon is highlighted.

ステータスバー840には、GUIの現在のステータスが表示される。 Status bar 840 displays the current status of the GUI.

ユーザがメニューから最適操作メニュー802を選択すると、最適化モジュール720が出力したダム群連携操作データ642に基づき、ウィンドウ800の河川流量時系列グラフ部810およびダム状態時系列グラフ部820にはグラフが表示される。このグラフは、図9で述べる最適化処理(ステップS907)の進捗に従い、逐次内容が更新される。最適化処理が進捗すると段階数が増加するため、ユーザは画面を通じて徐々に流量解像度が増加する様子を直感的に把握することができる。 When the user selects the optimal operation menu 802 from the menu, graphs are displayed in the river flow rate time series graph section 810 and dam status time series graph section 820 of the window 800 based on the dam group cooperative operation data 642 output by the optimization module 720. Is displayed. The contents of this graph are sequentially updated according to the progress of the optimization process (step S907) described in FIG. Since the number of stages increases as the optimization process progresses, the user can intuitively understand how the flow rate resolution gradually increases through the screen.

また、ステータスバー840にメッセージ841およびプログレスバー842を表示することで、ユーザは現在の最適化処理の進捗を画面で確認することができる。最適化処理の進捗を、トラジェクトリに対するコリドー内の最小コストの状態の時系列を段階数を増加させながら算出する繰り返し処理の全繰り返し回数に対する現在までの実行回数の比率で表してもよい。もし、ユーザが途中結果を見て、ユーザが期待する結果が得られないと判断した場合、ユーザはキャンセルボタン843により処理を中断することができる。 Furthermore, by displaying a message 841 and a progress bar 842 on the status bar 840, the user can check the progress of the current optimization process on the screen. The progress of the optimization process may be expressed as the ratio of the number of executions up to now to the total number of repetitions of the iterative process of calculating the time series of the minimum cost state in the corridor for the trajectory while increasing the number of stages. If the user looks at the intermediate results and determines that the results the user expects are not obtained, the user can interrupt the process by pressing the cancel button 843.

ユーザは設定ボタン805により設定画面を出現させ、目的関数を設定または変更して最適化処理を行うことができる。 The user can use the settings button 805 to display a settings screen, set or change the objective function, and perform optimization processing.

ユーザがメニューから本則操作メニュー803を選択すると、本則操作モジュール730の命令に応じてシミュレータモジュール710が出力したダム群連携操作データ642に基づき、ウィンドウ800の河川流量時系列グラフ部810およびダム状態時系列グラフ部820にはグラフが表示される。 When the user selects the main operation menu 803 from the menu, based on the dam group cooperative operation data 642 output by the simulator module 710 in response to the command from the main operation module 730, the river flow rate time series graph section 810 of the window 800 and the dam status A graph is displayed in the series graph section 820.

ユーザがメニューから降雨予測メニュー804を選択すると、降雨予測データ641に基づき、ウィンドウの800地図部830に降雨強度分布が表示される。 When the user selects the rainfall prediction menu 804 from the menu, a rainfall intensity distribution is displayed in the map section 830 of the window 800 based on the rainfall prediction data 641.

<実施形態を実現するメイン処理>
図9は、実施形態を実現するためのコンピュータシステムによって実行される処理を示すシーケンス図である。ダム群連携操作プログラム621は、以下のステップS901~S906、および、ステップS907~S910の一連の処理をM回繰り返すループ処理を実行する。
<Main processing to realize the embodiment>
FIG. 9 is a sequence diagram illustrating processing executed by a computer system for implementing the embodiment. The dam group cooperative operation program 621 executes a loop process that repeats the following series of steps S901 to S906 and steps S907 to S910 M times.

ステップS901にて、入出力部650のディスプレイ653にウィンドウ800を表示する。ステップS902にて、降雨予測データ641を読み込む。ステップS903にて、本則操作モジュール730によりダム群操作を模擬するようシミュレータモジュール710に命令を出す。ステップS904にて、ステップS903の結果をダム群連携操作データ642としてストレージ640に保存する。ステップS905にて、ステップS904で保存したダム群連携操作データ642をストレージ640から読み込む。ステップS906にて、河川流量時系列グラフ部810およびダム状態時系列グラフ部820にグラフを表示する。ただし、このステップS903~S906の処理はユーザがメニューから本則操作メニュー803を選択している場合のみ実行する。 In step S901, window 800 is displayed on display 653 of input/output unit 650. In step S902, rainfall prediction data 641 is read. In step S903, the basic operation module 730 issues a command to the simulator module 710 to simulate the dam group operation. In step S904, the result of step S903 is stored in storage 640 as dam group cooperative operation data 642. In step S905, the dam group cooperative operation data 642 saved in step S904 is read from the storage 640. In step S906, graphs are displayed in the river flow rate time series graph section 810 and the dam state time series graph section 820. However, the processing in steps S903 to S906 is executed only when the user selects the main operation menu 803 from the menu.

続いて、ステップS907からステップS910を変数r=0,1,...,M-1について繰り返し実行する。 Subsequently, steps S907 to S910 are repeatedly executed for variables r=0,1,...,M-1.

ステップS907にて、最適化モジュール720により最適化を行う。その処理の詳細は図10で説明する。ステップS908にて、ステップS907の結果をダム群連携操作データ642としてストレージ640に保存する。ステップS909にて、ステップS908で保存したダム群連携操作データ642をストレージ640から読み込む。ステップS910にて、S909で読み込んだ河川流量時系列グラフ部810およびダム状態時系列グラフ部820にグラフを表示する。ただし、このステップS907~S910のループ処理はユーザがメニューから最適操作メニュー802を選択している場合のみ実行する。 In step S907, optimization module 720 performs optimization. Details of the processing will be explained with reference to FIG. In step S908, the result of step S907 is stored in storage 640 as dam group cooperative operation data 642. In step S909, the dam group cooperative operation data 642 saved in step S908 is read from the storage 640. In step S910, graphs are displayed in the river flow rate time series graph section 810 and the dam state time series graph section 820 read in S909. However, this loop processing of steps S907 to S910 is executed only when the user selects the optimal operation menu 802 from the menu.

<図9のステップS907の詳細>
図10は、図9のステップS907の詳細を示すシーケンス図である。ダム群連携操作プログラム621は、GUIモジュール740から最適化モジュール720に対し最適化処理を行うよう命令する。命令を受け付けた最適化モジュール720は、PDPコントローラ721に対し変数rが0の場合はステップS1001を、そうでない場合はステップS1004を実行するよう命令する。ただし変数rは図9にて述べた変数である。
<Details of step S907 in Figure 9>
FIG. 10 is a sequence diagram showing details of step S907 in FIG. The dam group cooperation operation program 621 instructs the optimization module 720 from the GUI module 740 to perform optimization processing. The optimization module 720 that has received the instruction instructs the PDP controller 721 to execute step S1001 if the variable r is 0, and to execute step S1004 if not. However, the variable r is the variable described in FIG.

ステップS1001にて、PDPコントローラ721は段階数K=KinitにてDPを実行するようDP/DDDPコントローラ722に命令する。ステップS1002にて、DP/DDDPコントローラ722はシミュレータモジュール710に対しDPにて最適解を得る最適化処理を実行するよう命令を出す。ステップS1002では、シミュレータモジュール710は、最適化処理を実行する。最適化処理の詳細は図11および図12で説明する。ステップS1003にて、PDPコントローラ721は得られた解を初期トラジェクトリとする。 In step S1001, the PDP controller 721 instructs the DP/DDDP controller 722 to execute DP with the number of stages K=Kinit. In step S1002, the DP/DDDP controller 722 issues a command to the simulator module 710 to execute optimization processing to obtain an optimal solution in the DP. In step S1002, simulator module 710 executes optimization processing. Details of the optimization process will be explained with reference to FIGS. 11 and 12. In step S1003, the PDP controller 721 sets the obtained solution as the initial trajectory.

ステップS1004にて、PDPコントローラ721は与えられたトラジェクトリのコリドーの中でDDDPを実行する。与えられたトラジェクトリとは、ステップS1003の実行の結果得られた初期トラジェクトリ、または、前回のステップS1006の実行の結果得られたトラジェクトリである。ただし、段階数Kは、前回の段階数の2倍に設定する。コリドーの幅は5とする。段階数の倍数は2以上の整数、コリドーの幅はこの新しい段階数に対し十分に適切な幅であればよい。 In step S1004, the PDP controller 721 executes DDDP within the given trajectory corridor. The given trajectory is the initial trajectory obtained as a result of the execution of step S1003, or the trajectory obtained as a result of the previous execution of step S1006. However, the number of stages K is set to twice the previous number of stages. The width of the corridor is 5. The multiple of the number of stages may be an integer greater than or equal to 2, and the width of the corridor may be sufficiently appropriate for the new number of stages.

ステップS1005にて、DP/DDDPコントローラ722はシミュレータモジュール710に対しDDDPにて最適解を得るよう命令を出す。ステップS1005では、シミュレータモジュール710は、ステップS1002と同様の最適化処理を実行する。その処理の詳細は図11および図12で説明する。ステップS1006にて、PDPコントローラ721は得られた解を次のステップS1004のトラジェクトリとする。 In step S1005, the DP/DDDP controller 722 issues a command to the simulator module 710 to obtain an optimal solution using DDDP. In step S1005, simulator module 710 executes optimization processing similar to step S1002. Details of the processing will be explained with reference to FIGS. 11 and 12. In step S1006, the PDP controller 721 uses the obtained solution as the trajectory for the next step S1004.

<DP/DDDPによる最適化処理の詳細>
図11および図12は、DP/DDDPにより最適化処理の詳細を示すフローチャートである。図11および図12は、図10のステップS1002、S1005でシミュレータモジュール710が実行する処理の詳細を示す。
<Details of optimization processing using DP/DDDP>
11 and 12 are flowcharts showing details of optimization processing using DP/DDDP. 11 and 12 show details of the processing executed by the simulator module 710 in steps S1002 and S1005 in FIG. 10.

ステップS1101にて、初期化を行う。初期化により、シミュレータモジュール710の時刻は初期時刻t=0、状態はユーザの与えた初期状態STATE[0]となる。ステップS1102にて、時刻tを1に設定する。ステップS1103にて、時刻tがT未満ならばステップS1104に、そうでないならば図12のステップS1201に進む。 In step S1101, initialization is performed. By initialization, the time of the simulator module 710 becomes initial time t=0, and the state becomes the initial state STATE[0] given by the user. In step S1102, time t is set to 1. In step S1103, if time t is less than T, the process advances to step S1104; otherwise, the process advances to step S1201 in FIG. 12.

ステップS1104にて、変数curStateに時刻t、コリドー内の最初のノードを代入する。なお、DPを実行する場合コリドー内にはすべてのノードがあるとする。DDDPを実行する場合はコリドーの幅が与えられる。 In step S1104, time t and the first node in the corridor are assigned to the variable curState. Note that when executing DP, it is assumed that all nodes are in the corridor. When running DDDP, the width of the corridor is given.

ステップS1105にて、変数prevStateに時刻t-1、コリドー内の最初のノードを代入する。ステップS1106にて、ノードprevStateに至る状態遷移をメモリから読み込む。ここで読み込む情報は、ステップS1112でメモリに保存している。もしここで読み込む情報がない場合はこのステップS1106を飛ばす。 In step S1105, time t-1 and the first node in the corridor are assigned to the variable prevState. In step S1106, the state transition leading to node prevState is read from memory. The information read here is saved in the memory in step S1112. If there is no information to be read here, skip step S1106.

ステップS1107にて、prevStateからcurStateに至る状態遷移コストを算出し、その値を変数costに代入する。コストの算出には(数式5)を用いればよい。ステップS1108にて、目的関数値obsを求める。これは(数式3)で示したように、prevStateの目的関数値に変数costを加えた値である。得られた値を変数obsに代入する。 In step S1107, the state transition cost from prevState to curState is calculated, and the value is assigned to the variable cost. (Equation 5) may be used to calculate the cost. In step S1108, the objective function value obs is determined. As shown in (Equation 3), this is the value obtained by adding the variable cost to the objective function value of prevState. Assign the obtained value to the variable obs.

ステップS1109にて、時刻t-1、コリドー内に次のノードがある場合は、ステップS1110に、そうでない場合はステップS1111に進む。 In step S1109, if there is a next node in the corridor at time t-1, the process advances to step S1110; otherwise, the process advances to step S1111.

ステップS1110にて、変数prevStateに時刻t-1、コリドー内に次のノードを代入する。ステップS1110が終了すると、ステップS1106に戻る。 In step S1110, time t-1 and the next node in the corridor are assigned to the variable prevState. When step S1110 ends, the process returns to step S1106.

ステップS1111にて、変数bestPrevStateに、時刻t-1におけるobsの値が最小のノードを代入する。ステップS1112にて、bestPrevStateからcurStateに至る状態遷移をメモリに保存する。ステップS1113にて、時刻t、コリドー内に次のノードがある場合は、ステップS1114に、そうでない場合はステップS1115に進む。 In step S1111, the node with the minimum value of obs at time t-1 is assigned to the variable bestPrevState. In step S1112, the state transition from bestPrevState to curState is stored in memory. In step S1113, if there is a next node in the corridor at time t, the process advances to step S1114; otherwise, the process advances to step S1115.

ステップS1114にて、変数curStateに時刻t、コリドー内に次のノードを代入する。ステップS1114が終了すると、ステップS1105に戻る。 In step S1114, time t and the next node in the corridor are assigned to the variable curState. When step S1114 ends, the process returns to step S1105.

ステップS1115にて、時刻tに1を加え、次の時刻に設定し、ステップS1103に戻る。 In step S1115, 1 is added to time t to set the next time, and the process returns to step S1103.

図12のステップS1201にて、変数bestStateに、時刻T-1における最小のobs値を持つノードを代入する。ステップS1202にて、変数bestStateを配列bestStatesに追加する。ステップS1203にて、変数stateFromに、変数bestStateの1つ前のノードを代入する。 In step S1201 of FIG. 12, the node having the minimum obs value at time T-1 is assigned to the variable bestState. In step S1202, the variable bestState is added to the array bestStates. In step S1203, the node immediately before the variable bestState is assigned to the variable stateFrom.

ステップS1204にて、変数stateFromに有効なノードが格納されているならば、ステップS1205に、そうでなければ処理を終了する。ステップS1205にて、変数stateFromを配列bestStatesに追加する。ステップS1206にて、変数stateFromに、変数bestStateの1つ前のノードを代入する。ステップS1206が終了すると、ステップS1204に戻る。 If a valid node is stored in the variable stateFrom in step S1204, the process proceeds to step S1205; otherwise, the process ends. In step S1205, the variable stateFrom is added to the array bestStates. In step S1206, the node immediately before the variable bestState is assigned to the variable stateFrom. When step S1206 ends, the process returns to step S1204.

図11および図12の最適化処理が終了した時点で、配列bestStatesには、時刻t=0から時刻t=T-1までの最適な状態遷移が格納されている。 When the optimization processing of FIGS. 11 and 12 is completed, the optimal state transition from time t=0 to time t=T-1 is stored in the array bestStates.

<本則操作に基づくダム貯水率およびダム放流量の時系列グラフ>
図13は、本則操作に基づくダム貯水率およびダム放流量の時系列グラフの例である。グラフ1310はダムD0のダム状態時系列グラフである。同様に、グラフ1320はダムD1の、グラフ1330はダムD2のダム状態時系列グラフである。注記1311、1321、および1331は、この時刻において緊急放流がなされたことを示す。緊急放流とはただし書き操作、あるいは異常洪水時防災操作とも呼ばれるダム操作であり、ダムが満杯となったためダム決壊を防ぐため、ダム流入量と同じだけ、ダム放流を行う操作である。これによりダム放流量は短時間で急激に増加することになる。
<Time series graph of dam water storage rate and dam discharge amount based on basic operations>
FIG. 13 is an example of a time series graph of the dam water storage rate and the dam discharge amount based on the basic operation. Graph 1310 is a dam state time series graph of dam D0. Similarly, graph 1320 is a dam state time series graph of dam D1, and graph 1330 is a dam state time series graph of dam D2. Notes 1311, 1321, and 1331 indicate that emergency releases were made at this time. Emergency water release is a dam operation also called a proviso operation or emergency flood disaster prevention operation, and is an operation in which water is released from the dam in an amount equal to the inflow into the dam in order to prevent the dam from collapsing because the dam is full. As a result, the amount of water released from the dam will increase rapidly in a short period of time.

<最適化されたダム群連携操作に基づくダム貯水率およびダム放流量の時系列グラフ>
図14は、ダム群連携操作プログラム621の出力する最適化されたダム群連携操作に基づくダム貯水率およびダム放流量の時系列グラフの例である。図14におけるダム流入量は図13に示したものと同一であり、本則操作を行うのみでは緊急放流に至る規模の流入がある場合を示している。グラフ1410はダムD0のダム状態時系列グラフである。同様に、グラフ1420はダムD1の、グラフ1430はダムD2のダム状態時系列グラフである。注記1411、1421、および1431は、この期間において事前放流がなされたことを示す。事前放流は、例えば降雨予測データ641が示す予測降雨によるダムの貯水増加に基づいて行われる。事前放流の期間はダム流入量よりもダム放流量が上回っている。最適化されたダム群連携操作により、予測される急激な降雨に対して事前放流を行い、緊急放流を防ぎ、下流側河川での洪水発生を防止できる。ダム下流の下線をただし放流量の増加の割合は図15に示す「放流の原則」を遵守している。
<Time series graph of dam water storage rate and dam discharge amount based on optimized dam group cooperative operation>
FIG. 14 is an example of a time series graph of the dam water storage rate and the dam discharge amount based on the optimized dam group cooperative operation output by the dam group cooperative operation program 621. The dam inflow amount in FIG. 14 is the same as that shown in FIG. 13, and shows a case where there is an inflow on a scale that would require emergency release if only basic operations were performed. Graph 1410 is a dam state time series graph of dam D0. Similarly, graph 1420 is a dam state time series graph of dam D1, and graph 1430 is a dam state time series graph of dam D2. Notes 1411, 1421, and 1431 indicate that pre-discharges were made during this period. The pre-discharge is performed, for example, based on an increase in water storage in the dam due to predicted rainfall indicated by the rainfall prediction data 641. During the pre-release period, the dam discharge amount exceeds the dam inflow amount. Through optimized dam group cooperative operation, it is possible to release water in advance of predicted sudden rainfall, prevent emergency release, and prevent flooding in downstream rivers. The underlined area downstream of the dam indicates that the rate of increase in the discharge amount complies with the "discharge principle" shown in Figure 15.

<下流に急激な水位の変動を生じない放流量>
図15は、下流に急激な水位の変動を生じない放流量の多項式近似の例である。ダムの操作規則においては、下流に急激な水位の変動を生じない放流量を超えないこと(いわゆる「放流の原則」を守ること)が求められる。グラフ1500は、その「放流の原則」を多項式で近似した例である。横軸は直前におけるダムiから下流への放流量であり、(数式5)におけるoutflow[i,t]に相当する量である。また縦軸はダムiにおける下流に急激な水位の変動を生じない放流量であり、(数式5)におけるoutflowLimit[i]に相当する量である。グラフ1500を用いることで、横軸の値outflow[i,t]によって縦軸の値outflowLimit[i]を決定できる。
<Discharge amount that does not cause sudden changes in water level downstream>
FIG. 15 is an example of polynomial approximation of the discharge amount that does not cause sudden changes in water level downstream. Dam operating rules require that the discharge amount not exceed the amount that does not cause sudden changes in water level downstream (observing the so-called ``discharge principle''). Graph 1500 is an example of approximating the "discharging principle" using a polynomial. The horizontal axis is the amount of water discharged downstream from the dam i immediately before, which corresponds to outflow[i,t] in (Equation 5). In addition, the vertical axis is the amount of discharge at dam i that does not cause sudden changes in the water level downstream, and is the amount equivalent to outflowLimit[i] in (Equation 5). By using the graph 1500, the value outflowLimit[i] on the vertical axis can be determined by the value outflow[i,t] on the horizontal axis.

<ダムモデル713(プロジェクトデータ644)>
図16は、ダムモデル713に関するプロジェクトデータ644(図6)のデータ構造を示す図である。この図においては図1で示したダム群についてのデータ構造を表1600で示す。ダムのそれぞれに、有効貯水容量、洪水調整容量、初期状態、および下流モデルが定義される。表1600の内容はXML形式のプロジェクトデータ644として保存される。
<Dam model 713 (project data 644)>
FIG. 16 is a diagram showing the data structure of project data 644 (FIG. 6) regarding dam model 713. In this figure, the data structure for the dam group shown in FIG. 1 is shown in table 1600. For each dam, effective water storage capacity, flood control capacity, initial conditions, and downstream model are defined. The contents of table 1600 are saved as project data 644 in XML format.

<河川モデル714(プロジェクトデータ644)>
図17は、河川モデル714に関するプロジェクトデータ644(図6)のデータ構造を示す図である。図16と同様に、この図においては図1で示したダム群についてのデータ構造を表1700で示す。河川水位計のそれぞれに、上流側のモデル、そのモデルからの遅れ時間、および下流モデルが定義される。表1700の内容はXML形式のプロジェクトデータ644として保存される。
<River model 714 (project data 644)>
FIG. 17 is a diagram showing the data structure of project data 644 (FIG. 6) regarding river model 714. Similar to FIG. 16, this figure shows the data structure for the dam group shown in FIG. 1 as a table 1700. For each river water level gauge, an upstream model, a delay time from that model, and a downstream model are defined. The contents of table 1700 are saved as project data 644 in XML format.

[他の実施形態]
なお、本発明の適用可能な分野は、多目的ダムの貯水位時系列および放流量時系列の最適化に限らない。非凸の目的関数の最適化問題を、細かい解像度で解く要求のある分野に適用可能である。より具体的には、ある物体や人がある量でゲート前スペースに入ってきて、ゲートを通って出先へ出ていく状況で、物流や人流を制御するためにゲートの最適操作を支援する問題に適用できる。
[Other embodiments]
Note that the applicable field of the present invention is not limited to the optimization of the water storage level time series and discharge amount time series of multipurpose dams. It can be applied to fields that require solving optimization problems with non-convex objective functions with fine resolution. More specifically, the problem is to support the optimal operation of the gate in order to control logistics and people flow in a situation where a certain amount of objects or people enter the space in front of the gate and exit through the gate to the destination. Applicable to

例として、イベント会場などにおける入場管理が挙げられる。イベント会場に複数の入場ゲートがあり、観客をそれぞれのゲート前スペースに入れ会場内の通路を通り自席に着席させる状況で、ゲート前スペースを溢れさせることなく、観客の平均待ち時間と待ち時間の標準偏差の最小化を試みる場合を考える。従来の方法では、観客一人一人を最適化の単位にするのではなく、複数人(例えば256人)を単位に最適化することで、計算負荷を減らす必要がある。本発明の適用により、観客一人を単位とした最適化が可能になる。 An example is admission management at event venues. In a situation where an event venue has multiple entrance gates and spectators are placed in the space in front of each gate and are seated at their own seats through the aisle in the venue, the average waiting time and waiting time of the spectators can be reduced without overflowing the space in front of the gate. Consider the case where we try to minimize the standard deviation. In conventional methods, it is necessary to reduce the computational load by optimizing for multiple people (for example, 256 people), rather than for each individual audience member. Application of the present invention enables optimization for each audience member.

なお、他の実施形態における“ゲートを有するゲート前スペース”が上述した実施形態における「ダム」に該当し、“ゲートからの出先”が「河川」に該当する。また、“ゲート前スペースへの物体または人の流入量”が「ダム流入量」に該当し、“ゲート前スペースにおける物体または人の収容率”が「貯水位(貯水率)」に該当し、“ゲート前スペースからゲートを通過させる物体または人の量”が「放流量」に該当する。 Note that the "space in front of the gate with a gate" in other embodiments corresponds to the "dam" in the above embodiment, and the "destination from the gate" corresponds to the "river". In addition, the "inflow amount of objects or people into the space in front of the gate" corresponds to the "dam inflow amount", and the "accommodation rate of objects or people in the space in front of the gate" corresponds to the "water storage level (water storage rate)". “The amount of objects or people that pass through the gate from the space in front of the gate” corresponds to the “discharge amount”.

本発明は上述の実施形態に限定されるものではなく、様々な変形例を含む。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、矛盾しない限りにおいて、ある実施形態の構成の一部を他の実施形態の構成で置き換え、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、構成の追加、削除、置換、統合、または分散をすることが可能である。また実施形態で示した構成および処理は、処理効率または実装効率に基づいて適宜分散、統合、または入れ替えることが可能である。 The present invention is not limited to the above-described embodiments, but includes various modifications. For example, the above-described embodiments have been described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described. Further, as long as there is no contradiction, it is also possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, replace, integrate, or distribute a part of the configuration of each embodiment. Furthermore, the configurations and processes shown in the embodiments can be distributed, integrated, or replaced as appropriate based on processing efficiency or implementation efficiency.

610:コンピュータ、620:メモリ、621:ダム群連携操作プログラム、630:プロセッサ、640:ストレージ、650:入出力部 610: Computer, 620: Memory, 621: Dam group cooperative operation program, 630: Processor, 640: Storage, 650: Input/output section

Claims (10)

時刻と共に遷移する対象の状態の時系列を最適化する最適化処理をコンピュータに実行させる時系列最適化プログラムであって、
前記コンピュータに、
連続値を第1の単位で離散化した離散値で各時刻における前記状態を表した場合に各時刻間の状態遷移を評価する評価値が最良となる前記状態の時系列を入力時系列として受け付ける第1の処理と、
前記連続値を前記第1の単位よりも小さい第2の単位で離散化した離散値で各時刻における前記状態を表した場合に、前記入力時系列の所定近傍内で前記評価値が最良となる前記状態の時系列を算出する第2の処理と
を実行させることを特徴とする時系列最適化プログラム。
A time series optimization program that causes a computer to execute an optimization process for optimizing a time series of a target state that changes with time,
to the computer;
When the state at each time is represented by a discrete value obtained by discretizing a continuous value in a first unit, a time series of the state that gives the best evaluation value for evaluating state transition between each time is accepted as an input time series. a first process;
When the state at each time is represented by a discrete value obtained by discretizing the continuous value in a second unit smaller than the first unit, the evaluation value is the best within a predetermined neighborhood of the input time series. A time series optimization program, comprising: a second process for calculating a time series of the states; and a time series optimization program.
請求項1に記載の時系列最適化プログラムであって、
前記コンピュータに、
前回実行の前記第2の処理で算出した前記状態の時系列を今回実行の前記第1の処理の前記入力時系列とする前記第1の処理および前記第2の処理の繰り返し処理を、所定条件が充足されるまで実行させる
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 1,
to the computer;
Repeated processing of the first process and the second process in which the time series of the state calculated in the second process executed last time is the input time series of the first process executed this time is performed under a predetermined condition. A time series optimization program that is characterized by being executed until the condition is satisfied.
請求項2に記載の時系列最適化プログラムであって、
前記コンピュータに、
前記繰り返し処理の初回の前記第1の処理で受け付ける前記入力時系列を動的計画法を用いて算出する処理
を実行させることを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 2,
to the computer;
A time series optimization program, characterized in that the program executes a process of calculating, using dynamic programming, the input time series received in the first process of the first time of the iterative process.
請求項1に記載の時系列最適化プログラムであって、
前記コンピュータに、
前記第2の処理において、前記入力時系列の所定近傍内で前記評価値が最良となる前記状態の時系列を離散微分動的計画法を用いて算出させる
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 1,
to the computer;
A time series optimization program characterized in that, in the second process, a time series of the state in which the evaluation value is the best within a predetermined neighborhood of the input time series is calculated using discrete differential dynamic programming. .
請求項1に記載の時系列最適化プログラムであって、
前記第1の単位は、前記第2の単位の2倍の大きさである
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 1,
The time series optimization program, wherein the first unit is twice as large as the second unit.
請求項2に記載の時系列最適化プログラムであって、
前記所定条件の充足は、前記第2の単位に基づく前記対象に関する流量解像度が所望の解像度となることである
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 2,
The time series optimization program, wherein the satisfaction of the predetermined condition is that the flow rate resolution regarding the object based on the second unit becomes a desired resolution.
請求項に記載の時系列最適化プログラムであって、
前記コンピュータに、
前記繰り返し処理毎に、前記第2の処理で算出した前記状態の時系列、前記流量解像度、および、前記流量解像度が所望の解像度となるまで実行する前記繰り返し処理の進捗を示す情報を表示部に表示させる処理
を実行させることを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 6 ,
to the computer;
For each of the repetitive processes, information indicating the time series of the state calculated in the second process, the flow rate resolution, and the progress of the repetitive process to be executed until the flow rate resolution reaches a desired resolution is displayed on a display unit. A time series optimization program characterized by executing display processing.
請求項1に記載の時系列最適化プログラムであって、
前記対象は、ダムであり、
前記状態は、降雨予測データに基づく前記ダムの流入量、前記ダムの貯水位、および前記ダムの放流量である
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 1,
The target is a dam,
The time-series optimization program, wherein the state is an inflow amount of the dam, a water storage level of the dam, and a discharge amount of the dam based on rainfall prediction data.
請求項1に記載の時系列最適化プログラムであって、
前記対象は、ゲートを有するゲート前スペースであり、
前記状態は、前記ゲート前スペースへの物体または人の流入量、前記ゲート前スペースにおける物体または人の収容率、および、前記ゲート前スペースから前記ゲートを通過させる物体または人の量である
ことを特徴とする時系列最適化プログラム。
The time series optimization program according to claim 1,
The target is a space in front of a gate having a gate,
The state is the amount of objects or people flowing into the space in front of the gate, the accommodation rate of objects or people in the space in front of the gate, and the amount of objects or people allowed to pass through the gate from the space in front of the gate. A time series optimization program with special features.
時刻と共に遷移する対象の状態の時系列を最適化する最適化処理を実行する時系列最適化システムであって、
前記時系列最適化システムは、メモリと協働して処理を実行するプロセッサを有し、
前記プロセッサは、
連続値を第1の単位で離散化した離散値で各時刻における前記状態を表した場合に各時刻間の状態遷移を評価する評価値が最良となる前記状態の時系列を入力時系列として受け付ける第1の処理と、
前記連続値を前記第1の単位よりも小さい第2の単位で離散化した離散値で各時刻における前記状態を表した場合に、前記入力時系列の所定近傍内で前記評価値が最良となる前記状態の時系列を算出する第2の処理と
を実行することを特徴とする時系列最適化システム。
A time series optimization system that performs optimization processing to optimize a time series of a target state that changes with time,
The time series optimization system includes a processor that executes processing in cooperation with a memory,
The processor includes:
When the state at each time is represented by a discrete value obtained by discretizing a continuous value in a first unit, a time series of the state that gives the best evaluation value for evaluating state transition between each time is accepted as an input time series. a first process;
When the state at each time is represented by a discrete value obtained by discretizing the continuous value in a second unit smaller than the first unit, the evaluation value is the best within a predetermined neighborhood of the input time series. A time series optimization system, comprising: a second process of calculating a time series of the states;
JP2020093257A 2020-05-28 2020-05-28 Time series optimization program and time series optimization system Active JP7436291B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020093257A JP7436291B2 (en) 2020-05-28 2020-05-28 Time series optimization program and time series optimization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020093257A JP7436291B2 (en) 2020-05-28 2020-05-28 Time series optimization program and time series optimization system

Publications (2)

Publication Number Publication Date
JP2021189660A JP2021189660A (en) 2021-12-13
JP7436291B2 true JP7436291B2 (en) 2024-02-21

Family

ID=78850324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020093257A Active JP7436291B2 (en) 2020-05-28 2020-05-28 Time series optimization program and time series optimization system

Country Status (1)

Country Link
JP (1) JP7436291B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023177079A (en) * 2022-06-01 2023-12-13 株式会社イシダ packaging equipment
CN118863927B (en) * 2024-09-24 2024-12-20 东方金典数字科技(湖南)有限公司 Cultural relic circulation tracing method, device and system based on blockchain technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170808A (en) 2010-02-22 2011-09-01 Chugoku Electric Power Co Inc:The System and method for support of operation in water storage facility, and program
CN108537449A (en) 2018-04-12 2018-09-14 长江勘测规划设计研究有限责任公司 Meter and river are passed the flood period the reservoir coordinated scheduling strategy acquisition methods of demand

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332503A (en) * 1993-05-25 1994-12-02 Mitsubishi Heavy Ind Ltd Operation controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170808A (en) 2010-02-22 2011-09-01 Chugoku Electric Power Co Inc:The System and method for support of operation in water storage facility, and program
CN108537449A (en) 2018-04-12 2018-09-14 长江勘测规划设计研究有限责任公司 Meter and river are passed the flood period the reservoir coordinated scheduling strategy acquisition methods of demand

Also Published As

Publication number Publication date
JP2021189660A (en) 2021-12-13

Similar Documents

Publication Publication Date Title
Altman et al. On optimal call admission control in resource-sharing system
Laguna Applying robust optimization to capacity expansion of one location in telecommunications with demand uncertainty
KR102613367B1 (en) Method and apparatus for automatically reducing model weight for deep learning model serving optimization, and a method for providing cloud inference services usin the same
JP7436291B2 (en) Time series optimization program and time series optimization system
WO2020023998A1 (en) Improvements to operational state determination and modification
Nasseri et al. A fuzzy primal simplex algorithm and its application for solving flexible linear programming problems
EP3923108B1 (en) Management of liquid conduit systems
Buchholz et al. Computation of weighted sums of rewards for concurrent MDPs
CN109886699A (en) Behavior recognition method and device, electronic device, storage medium
O'Shea et al. Testing the impact of direct and indirect flood warnings on population behaviour using an agent-based model
Abdy Sayyed et al. Combined flow and pressure deficit-based penalty in GA for optimal design of water distribution network
Finardi et al. Stochastic hydro-thermal unit commitment via multi-level scenario trees and bundle regularization
Afshar et al. Fuzzy multi-objective optimization of finance-based scheduling for construction projects with uncertainties in cost
Makropoulos Thinking platforms for smarter urban water systems: fusing technical and socio-economic models and tools
CN119809141A (en) Efficient solution method for flood control optimization dispatching of complex reservoir groups in river basins
US20230367847A1 (en) Computerized methods and systems for machine-learned multi-output multi-step forecasting of time-series data
CN117472511A (en) Container resource monitoring method, device, computer equipment and storage medium
Soncini-Sessa et al. TwoLe: a software tool for planning and management of water reservoir networks
JP7853897B2 (en) Water management planning system and water management planning method
CN118334912A (en) Aircraft taxiing time prediction method and device based on deep learning
Ghobadi et al. Developing a Web-based decision support system for reservoir flood management
Yang et al. Bayesian modelling for human error probability analysis in CREAM
JP6285265B2 (en) Power management system, power management method, and power management program
Bukowski et al. Fuzzy logic expert system for supply chain resilience modelling and simulation
Chick et al. New greedy myopic and existing asymptotic sequential selection procedures: preliminary empirical results

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240208

R150 Certificate of patent or registration of utility model

Ref document number: 7436291

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150