Patent Description:
Control systems for water resource infrastructures (WRIs), such as municipal water distribution systems, wastewater treatment facilities, drinking water treatment plants, or sewage collection systems, typically integrate with several key infrastructure components which function together to meet system demands. The term actuable infrastructure components may be used to refer to the infrastructure components of the WRI which include control mechanisms which can be actuated to cause a change in the system, such as a pump which can be switched on/off, or a valve which can be opened/closed. For example, a municipal water distribution system typically has a water reservoir from which water may be drawn, pumps to transport water to end users, district-metered areas (DMAs) where water is consumed by end users, and storage tanks for storing water and maintaining a pressure head.

The actuable infrastructure components have control mechanisms which can be controlled manually in response to system demands. In the example of a municipal water distribution system, additional pumps may be switched online to handle rising water demand, and control valves may be opened or closed to redirect water flow.

Attempts have been made to model WRIs to aid in the manual control of key infrastructure components with the aim of efficiently utilizing key infrastructure components. Such models have traditionally involved large and complex physicallybased numerical models derived from scientific relationships defining system characteristics. Since these traditional models rely on physical modeling, an extensive process is required to design, calibrate, build, and tune the numerical models to match reality, which is a cumbersome and expensive process. Such models often require a large number of parameters that are not directly measurable, or difficult to measure. Further, such models may be computationally inefficient since they may require long simulation execution times to retrieve meaningful results. Such models can also become overparameterized, leading to computational difficulties. These traditional models often require significant staff resources to maintain functionality over time, and are typically not available for integration with enhancement routines or Supervisory Control and Data Acquisition (SCADA) systems, rendering them difficult to implement in real-time.

<CIT> relates to a method and system for optimizing building energy usage. The method comprising receiving a plurality of input values associated with a building or plurality of buildings. The method then constructs a thermal and an electrical load model based on the inputs and constructs an overall energy model, the overall energy model being based on the thermal and electrical load models. The method next generates a plurality of demand models and optimizes the demand models using complex multivariate optimization techniques, wherein optimizing is based on usage data and energy rules. Finally, the method displays recommendations based on the optimized model or generating real-time, complementary control instructions based on the optimized model, the determination based on client preferences.

<CIT> relates to a system and method for predicting future disturbance in MPC applications by segregating a transient part and a steady state value associated with the disturbance. A dynamic state space model that includes a variable disturbance prediction module can be utilized for analyzing a dynamic behavior of a physical process associated with a process model. The process model represents a dynamic behavior of the physical process being controlled and the dynamic state space model represents current deviations from the process model and future deviations over a predetermined prediction horizon. A predicted trajectory can be calculated as a response to the initial conditions estimated by a Kalman Filter for the process model extended by a disturbance model. The output of the dynamic state space model utilized for the disturbance prediction can be further provided as an estimated input to a MPC.

<CIT> relates to a controller for a building system receives training data that includes input data and output data. The output data measures a state of the building system affected by both the input data and an extraneous disturbance. The controller performs a two-stage optimization process to identify system parameters and Kalman gain parameters of a dynamic model for the building system. During the first stage, the controller filters the training data to remove an effect of the extraneous disturbance from the output data and uses the filtered training data to identify the system parameters. During the second stage, the controller uses the non-filtered training data to identify the Kalman gain parameters. The controller uses the dynamic model with the identified system parameters and Kalman gain parameters to generate a setpoint for the building system. The building system uses the setpoint to affect the state measured by the output data.

<CIT> relates to approaches for designing algorithms that allow for fast retrieval, classification, analysis or other processing of data, with minimal expert knowledge of the data being analyzed, and further, with minimal expert knowledge of the math and science involved in building classifications and performing other statistical data analysis. Further, methods of analyzing data are provided where the information being analyzed is not easily susceptible to quantitative description.

A control mechanism scheduler for a water resource infrastructure receives operating data and disturbance data, the operating data describing infrastructure components of the water resource infrastructure, the disturbance data comprising a disturbance signal describing a disturbance expected to disturb the water resource infrastructure. The control mechanism scheduler generates classes for disturbance signals, generates simulations of the water resource infrastructure, and generates schedules of setpoints for control mechanisms actuable to control the infrastructure components of the water resource infrastructure in accordance with approaching a predetermined objective.

Non-limiting embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:.

Water resource infrastructures, such as municipal water distribution networks and water treatment plants, experience disturbances which may impact the functioning of the water resource infrastructure. Control mechanisms in infrastructure components in the water resource infrastructure may be manually actuated to compensate for such disturbances. For example, additional pumping may be brought online to tap into water reservoirs to provide water to a municipality during a particularly hot day. However, manual control of such infrastructure components may be costly and prone to error.

A system is trained to automatically generate a schedule of setpoints for control mechanisms to control such infrastructure components in accordance with some predetermined objective. The objective may be, for example, to improve reliability, reduce maintenance downtime, or reduce operating costs. The system may be trained to be responsive to even minor disturbances. Such objectives may include maintaining the water resource infrastructure within regulatory restraints.

The system receives disturbance data, which includes a disturbance signal, which describes a disturbance expected to disturb the water resource infrastructure. For example, the system may receive temperature data for a particular day showing particularly high temperatures which are expected to increase water demand in a particular area. The system applies a pattern recognition algorithm to the received disturbance variables to generate a unique class for the disturbance signal into which similar future disturbance signals can be classified. The system generates a simulation of the water resource infrastructure based on the disturbance and generates a schedule of setpoints for control mechanisms which are actuable to control infrastructure components of the water resource infrastructure in pursuit of achieving the predetermined objective. For example, the schedule of setpoints may be generated to provide increased water flow to an area of high water demand to maintain efficiency of water delivery. The schedule of setpoints is stored for future use, and may be labelled to correspond with the generated class of disturbance signals.

A system may then use the generated schedules of setpoints to make recommendations for controlling infrastructure components of the water resource infrastructure in real-time. The system may receive new disturbance data, generate a predicted disturbance signal, and attempt to classify the predicted disturbance signal into a predetermined class of disturbance signals for which a predetermined schedule of setpoints has already been generated. The appropriate schedule of setpoints may then be retrieved and outputted as a recommended schedule of setpoints for review by operating personnel, or directly executed by active infrastructure component control systems.

<FIG> is a schematic diagram of an embodiment of such a system. In <FIG>, a system <NUM> includes a municipal water distribution network, hereinafter referred to as water resource infrastructure (WRI) <NUM>. The WRI <NUM> includes various infrastructure components, including actuable infrastructure components which include control mechanisms which can be actuated to cause a change to the WRI <NUM>. According to the claimed embodiment, WRI <NUM> includes water reservoirs, water tanks, piping, water pumps, control valves, and may include other infrastructure components. The water tanks and reservoirs may serve as sources of water to be distributed around the WRI <NUM>. The water pumps and control valves include control mechanisms which are be controlled to alter various properties of the WRI <NUM>, such as water flow rates and pressure heads. The control valves may block or allow water flow to or from different areas of the WRI <NUM>.

The WRI <NUM> is divided into different district-metered-areas (DMAs) <NUM>. The DMAs <NUM> may represent different commercial or residential areas of the municipality. These DMAs <NUM> may be divided according to the water-distribution capabilities of the municipality such that the water use of each DMA <NUM> is controlled by actuable infrastructure components.

The system <NUM> further includes a monitoring system <NUM>, disturbance data providers <NUM>, and control mechanism scheduler <NUM>, which are in communication over network <NUM>. The monitoring system <NUM> includes one or more computing devices running a server application with storage, communication, and processing means. Similarly, the disturbance data providers <NUM> includes one or more computing devices running a server application with storage, communication, and processing means. Similarly, the control mechanism scheduler <NUM> includes one or more computing devices running a server application with storage, communication, and processing means. The network <NUM> includes a computing communication network such as the internet, a localarea network, a wide-area network, a wireless telecommunications network, a virtual private network, a combination of such, and similar.

The monitoring system <NUM> communicates with sensors which collect operating data related to the infrastructure components of the WRI <NUM> through links <NUM>. This operating data may be transmitted from the sensors through communication links <NUM> and/or network <NUM> to the monitoring system <NUM>. The monitoring system <NUM> may collect state variables describing states of infrastructure components. For example, state variables may include the on/off state or flowrate of a pump, the open/closed state or flowrate of a control valve, the water level of a water tank or reservoir, or the water pressure at various points in the WRI <NUM>. The monitoring system <NUM> may also collect control variables which may be controlled to actuate control mechanisms of actual infrastructure components of the WRI <NUM>. For example, control variables may include the on/off state of a pump or the open/closed state of a control valve. Certain control variables may be described as state variables in some contexts. In some examples, the monitoring system <NUM> may include a Supervisory Control and Data Acquisition (SCADA) system.

The disturbance data providers <NUM> provide disturbance data, which may include exogenous data describing disturbances or perturbations to the WRI <NUM>, or any other disturbance data which may be expected to have an impact on operational parameters of infrastructure components of the WRI <NUM>. For example, the disturbance data providers <NUM> may provide weather data, calendar data, or event data, relevant to the WRI <NUM>. The calendar data may include information about large scale public events, such as concerts, sporting events, or public gatherings, which may be expected to impact water demand in WRI <NUM>. For example, if a large sporting event is taking place in a particular DMA <NUM>, an increased water demand may be expected at that DMA <NUM> at a certain time, corresponding with reduced demand in the other DMAs <NUM>. The weather data may include temperature, humidity, and precipitation data which may similarly impact water demand in the WRI <NUM>. For example, a hot and dry summer day may be expected to correspond with an increased water demand across each DMA <NUM>.

The control mechanism scheduler <NUM> includes memory for storing operational data, disturbance data, disturbance signal patterns, simulations of the WRI <NUM>, and control mechanism schedules. The control mechanism scheduler <NUM> trains to generate schedules of setpoints for control mechanisms, and retrieves and outputs these recommended schedules in response to receiving real-time operational data. These processes are discussed in greater detail with respect to <FIG> and <FIG> below.

<FIG> is a block diagram of the functional components of an example control mechanism scheduler such as the control mechanism scheduler <NUM>. The control mechanism scheduler <NUM> includes a communication interface <NUM>, a processor <NUM>, and a memory storage unit <NUM>.

The communication interface <NUM> includes programming logic enabling the control mechanism scheduler <NUM> to communicate over network <NUM>, is configured for bidirectional data communications through the network <NUM>, and accordingly can include a network adaptor and driver suitable for the type of network. The communication interface <NUM> is configured to receive disturbance data from disturbance data providers <NUM> and operational data from monitoring system <NUM>.

The memory storage unit <NUM> may include volatile storage and non-volatile storage. Volatile storage may include random-access memory (RAM) or similar. Non-volatile storage may include a hard drive, flash memory, and similar. The memory storage unit <NUM> includes operating data store <NUM>, disturbance data store <NUM>, pattern tables store <NUM>, simulation tables store <NUM>, and schedule tables store <NUM>. The memory storage unit <NUM> further stores programming instructions for implementing the functional engines and modules, described below.

The processor <NUM> includes any quantity and combination of a processor, a central processing unit (CPU), a microprocessor, a microcontroller, a field-programmable gate array (FPGA), and similar. The processor <NUM> is in communication with the communication interface <NUM> and the memory storage unit <NUM>, and can be configured to execute a pattern recognizing engine <NUM>, a prediction engine <NUM>, an objective-seeking engine <NUM>, a classification engine <NUM>, and a pattern mapping engine <NUM>. The function of each of these engines described in greater detail below with respect to <FIG> and <FIG>.

<FIG> is a schematic diagram of an example process <NUM> for training a control mechanism scheduler such as the control mechanism scheduler <NUM>. In process <NUM>, the control mechanism scheduler <NUM> is trained to generate a schedule of setpoints for control mechanisms in accordance with approaching a predetermined objective. The objective may be, for example, to improve reliability, reduce maintenance downtime, or reduce operating costs. The training may take place while the control mechanism scheduler <NUM> is offline, i.e. not actively generating and outputting recommended schedules for control mechanisms. Portions of the training may also take place while the control mechanism scheduler <NUM> is online.

In process <NUM>, historical data is received from historical data store <NUM> and ingested into a data processor <NUM>. The historical operating data may include an archive dataset containing historical operating data of the WRI <NUM> and historical disturbance data. The historical data may include data from, for example, one year, two years, or larger or smaller sets of data.

The data processor <NUM> cleans or ingests the collected data in preparation for further analysis. The cleaning may include by extract, transform, load (ETL) methods, involving statistical imputation techniques for handling missing and erroneous data, smoothing noisy signals, and alarms for indicating sensor faults. In some examples, the cleaned dataset may be standardized into Z notation so that effects are properly scaled regardless of the units and magnitudes of each datum received. In some examples, the dataset may be stored locally, at a cloud computing device, in a database, or in flash storage for later use.

The disturbance variables from the historical data are extracted and consumed by pattern recognizing engine <NUM>. The pattern recognizing engine employs a pattern recognition algorithm to generate unique classes corresponding to patterns recognized in the disturbance data, indicated as data patterns <NUM>. The data patterns <NUM> may be stored in pattern tables store <NUM>. These classes are used to recognize disturbance signals when they are observed in the future.

The pattern recognizing engine <NUM> may include a clustering engine. In examples where the pattern recognizing engine <NUM> includes a clustering engine, the pattern recognizing engine <NUM> employs an algorithm to decompose the multidimensional disturbance signal in the disturbance variables into lower dimensions such that it can be clustered, and the pattern recognizing engine <NUM> employs a clustering engine to cluster the lower-dimension disturbance data to generate classes of identifiable data clusters corresponding to the disturbance signal.

The algorithm used to decompose the disturbance signal into lower dimensions may include principal component analysis (PCA) or t-distributed Stochastic Neighbor Embedding (t-SNE).

The clustering engine may employ a K-Means, Affinity Propagation, spectral clustering, or ward agglomerative clustering algorithm. In some examples where a predetermined number of clusters is expected, a K-Means algorithm may be employed. In examples without having a pre-determined number of expected clusters, an Affinity Propagation algorithm may be used. In some examples where Affinity Propagation is used, a damping value of about <NUM> may be used. In other examples in which the data to be clustered is of particularly varied density, spectral clustering or ward agglomerative clustering may be used. Other clustering algorithms are contemplated.

The historical data may also be used for initial training of the prediction engine <NUM>. In some examples, the prediction engine <NUM> may include a hierarchical learning model having a recursive hierarchical layered design whereby each infrastructure component of WRI <NUM> is represented by a machine learning driven regression estimator describing operating parameters of an infrastructure component of the WRI <NUM>. The regression estimators may be interconnected recursively in a directed graph in the hierarchical learning model. By decomposing the large and complex WRI <NUM> into smaller, linked infrastructure components, each of which can be modeled directly, strong prediction quality and computational efficiency may be achieved.

The prediction engine <NUM> may include a predictive modelling algorithm such as gradient boosted decision tree algorithms, random forest algorithms, multi-layer perception (MLP) algorithms, deep learning algorithms, support vector machine algorithms, or other appropriate ensemble-based machine learning algorithms.

The prediction engine <NUM> generates an interim simulation <NUM> of the WRI <NUM> based on the interim state variables of the operating data, including at least the water pressure at district-metered areas (DMAs) and a storage tank water level.

The objective-seeking engine generates an interim schedule <NUM> of setpoints of control mechanisms of infrastructure components. The interim schedule <NUM> is generated based on an algorithm with the objective of enhancing the output of an objective function relating to an improved state of operation of the WRI <NUM>, such as reducing maintenance downtime, or reducing a cost function relating to the infrastructure components (e.g. electricity costs), until an appropriate threshold is reached. In some examples, the algorithm employed by the objective-seeking engine <NUM> may include an optimization algorithm designed to reduce or increase a variable, such as cost or energy use. The objective-seeking engine may be programmed to constrain the outputted interim schedules <NUM> by pre-defined regulatory constraints mandated in the WRI <NUM>, such as maximum pressure levels or minimum water storage levels. In some examples, the interim schedules <NUM> may provide on/off instructions for a plurality of infrastructure components. For example, interim schedules <NUM> may provide on/off instructions for various pumps or control valves in the WRI <NUM>. The interim schedules <NUM> may be organized by daily, hourly, or other intervals.

Where the objective-seeking engine <NUM> employs an optimization algorithm, the optimization algorithm employed may comprise, for example, a population-based, stochastic, or metaheuristic optimization method.

After an initial simulation, the prediction engine <NUM> iterates with objective-seeking engine <NUM> to generate additional interim simulations <NUM> in response to the interim schedules <NUM> of setpoints of control mechanisms. This loop is indicated as objective-seeking loop <NUM>.

When an interim schedule <NUM> is generated that satisfies the objective function within a certain threshold, an enhanced schedule <NUM> of setpoints is outputted, which may be stored in schedule tables store <NUM>. A final simulation output <NUM> may also be outputted and stored in simulation tables store <NUM>. These schedules and simulations may be stored for later use during online operation.

Determination of whether a threshold has been reached may be understood as meaning that any further iteration of the objective-seeking loop <NUM> is expected to have negligible impact on the interim schedules <NUM>. As such, an objective function may be referred to as having been optimized when such a threshold is reached, without reaching a theoretical optimal solution. For example, where a variable or objective function is said to be optimized or minimized, in some applications, obtaining a result within about <NUM>% of the theoretical optimal result, or in other applications within about <NUM>% of the theoretical optimal result, or in other applications within about <NUM>% of the theoretical optimal result, or in still other application within about <NUM>% of the theoretical optimal result, may be appropriate in the given case, and still constitute reaching an appropriate threshold. Generally, the terms "optimal" or "optimized" may be used to refer to the state of having met such a threshold.

In examples where the pattern recognizing engine <NUM> employs a clustering algorithm, the objective-seeking loop <NUM> may be repeated for each centroid of the previously identified data clusters until each data cluster has an enhanced control schedule associated with it.

In some examples, the objective-seeking loop <NUM> may be performed in parallel in a Master-Slave architecture for converging toward an enhanced solution. For example, a high-performance computing (HPC) architecture may be employed. A typical HPC architecture comprises a cluster of nodes interconnected via a high-throughput, low latency network. As such, using a system of 'm' computational nodes, a Master-Slave Architecture is adopted whereby one (<NUM>) node is demarcated as the Master and the remaining 'm-<NUM>' are Slaves. In this parallelization construct, the Master Node is used to distribute messages to each Slave node. Each message consists of two parts: (i) control variables in the context of optimization; and (ii) an envelope which contains the rank of the sender and receiver and a data stream tag. The tag serves the purpose of demarcating different messages being passed between the same senders and receivers. Each Slave has its own local memory and evaluates the message with a predefined objective function asynchronously and independently of the others.

In some examples, the outputs of the iteration of the prediction engine <NUM> and the objective-seeking engine <NUM> may be validated. The validation process may involve assessing the optimality of the setpoints produced by the objective-seeking engine <NUM>, as well as the interim prediction accuracy of the model predictions produced by the prediction engine <NUM>. In the event that the prediction accuracy has deteriorated beyond a tolerance threshold, an alert may be triggered indicating that the model is to obtain additional training.

<FIG> is a schematic diagram of an example process <NUM> for generating a schedule of setpoints of control mechanisms of a water resource infrastructure. The process employs a control mechanism scheduler, such as control mechanism scheduler <NUM>, to generating schedules of setpoints for control mechanisms of infrastructure components in real-time.

In process <NUM>, a real-time data stream is ingested in real-time and stored temporary in real-time data store <NUM> for further processing. The real-time data may include a dataset containing real-time operating data of the WRI <NUM> and real-time disturbance data. It is to be understood that the term "real-time data" may be used to refer to near-real-time data inputs that may be received in a stream or batches that relates to recent or near-real time information and is not intended to be limiting.

Data processor <NUM> cleans or ingests the collected data in preparation for further analysis. The data processor <NUM> may be similar, or identical to, data processor <NUM>, and may employ similar methods.

The disturbance data in the real-time data is fed into a disturbance module of the prediction engine <NUM>. The disturbance module of the prediction engine <NUM> generates a predicted disturbance signal <NUM> based on the disturbance variables in the disturbance data.

The predicted disturbance signal <NUM> is fed into a classification engine <NUM> for classification as a pre-determined class of disturbance signals, which may be stored in pattern tables store <NUM>. The classification engine may employ an algorithm to decompose the signal into lower dimensions enabling it to be classified. The algorithm used to decompose the disturbance signal into lower dimensions may include principal component analysis (PCA) or t-distributed Stochastic Neighbor Embedding (t-SNE). In some examples, a multi-output regression map may be used to map real-time data to reduce storage space requirements.

Where classification of the predicted disturbance signal <NUM> is unsuccessful, the new pattern pathway <NUM> is followed. Where classification of the predicted disturbance signal <NUM> is successful, the retrieval pathway <NUM> is followed.

Under the new pattern pathway <NUM>, when a new disturbance signal is detected, the pattern recognizing engine <NUM> attempts to recognize a new pattern in the new signal. The new data pattern <NUM> is stored in pattern tables store <NUM>. Where a clustering algorithm is employed, the signal is transformed into a new data cluster classification, which is stored.

The newly formed data pattern <NUM> is fed into the prediction engine <NUM> and objective-seeking engine <NUM> and iterated, as indicated by objective-seeking loop <NUM>. Understanding of the objective-seeking loop <NUM> may be had with reference to <FIG>.

The objective-seeking engine <NUM> generates and outputs an enhanced schedule <NUM> of setpoints, and the prediction engine <NUM> generates and outputs a simulation output <NUM>. The outputs are stored in schedule tables store <NUM> and simulation tables store <NUM>, with the particular enhanced schedule <NUM> associated with the particular disturbance signal <NUM>.

Under the retrieval pathway <NUM>, when the predicted disturbance signal <NUM> is recognized by the classification engine <NUM> as corresponding to a pre-determined class of disturbance signals, a pattern mapping engine <NUM> retrieves and outputs the associated enhanced schedule <NUM>. The enhanced schedule <NUM> is stored in schedule tables store <NUM>. The prediction engine <NUM> also generates a simulation output <NUM> given the enhanced schedule <NUM>. The simulation output is stored in simulation tables store <NUM>.

The enhanced schedule <NUM> of control mechanisms and/or the stimulation output <NUM> may be transmitted to and outputted. These outputs may be used to make recommendations to operators of active control systems which may actively control infrastructure components of the WRI <NUM>. For example, the outputs may be transmitted to a display device for review by infrastructure component operators. The display device may display a <NUM>-hour schedule based on the enhanced schedule <NUM> of the on/off states of each pump, control valve, and other active component for the next <NUM> hours. Alternatively, the enhanced schedule <NUM> may directly feed into an active control system to actively operate the infrastructure components.

The availability of the new pattern pathway <NUM> and the retrieval pathway <NUM> provides speed, flexibility, and resiliency to the control mechanism scheduler <NUM>. A proportion of the incoming real-time data may include disturbance signals which may be quickly recognized and classified by classification engine <NUM> for the retrieval of a predetermined enhanced schedule <NUM>, allowing the control mechanism scheduler <NUM> to operate with a high degree of responsiveness to changing incoming disturbance data. A proportion of the incoming real-time data, however, may include disturbance signals which are unrecognized, at which point the classification engine <NUM> may process the new disturbance signal under the new pattern pathway <NUM> to both generate a new enhanced schedule <NUM> for current use, as well as for future use under the retrieval pathway <NUM>.

<FIG> is a schematic diagram of an example process <NUM> for generating a simulation of the water resource infrastructure of <FIG>. The process <NUM> involves operation of functional modules of a prediction engine of a control mechanism scheduler, such as prediction engine <NUM> of control mechanism scheduler <NUM>.

The prediction engine <NUM> includes a disturbance module <NUM> for predicting disturbances to the WRI <NUM>. For example, disturbances to the WRI <NUM> may include water demand. The prediction engine <NUM> includes a pump module <NUM> for predicting pump flow rates and response time. The prediction engine <NUM> includes a storage or tank module <NUM> for predicting storage tank water levels. The prediction engine <NUM> includes a pressure module <NUM> for predicting the system pressure response to the tank levels and other infrastructure components affecting pressure.

For a WRI having N elements for each infrastructure component (e.g. N pumps), the prediction engine <NUM> may comprise N modules for the N elements (e.g. N pumping modules for N pumps, each pumping module capturing the specific behavior of each pump). Each module may generate its output prediction across a future timeframe so that a scheduling of setpoints of control mechanisms can be determined. In some examples, each module may predict its output for every hour for the next <NUM> hours. In other examples, each module may predict the next <NUM> hours in <NUM> minute increments, or may predict the next <NUM> hours, or the next <NUM> hours, or other similar timeframe, at any similar increment.

In the present example, the disturbance module <NUM> predicts water demand at each DMA <NUM> in WRI <NUM> and total aggregated system water demand. Disturbance module <NUM> has as inputs exogenous disturbance data from disturbance data store <NUM> which may impact WRI <NUM>. For example, disturbance data may include the time of day, day of the week, month, and dates of national holidays, dates of major events, and weather data, which may include temperature, precipitation index, and aridity index. Disturbance module <NUM> has as outputs the predicted water demand flowrate (Q) at each DMA (k), from the current time to the prediction time (T) (Qk<NUM>,. Output from disturbance module <NUM> may be presented as an Nx24 matrix, where N is the number of DMAs in WRI <NUM>, each having a predicted flowrate for the next <NUM> hours. In other embodiments in which, for example, the next <NUM> hours are forecasted in <NUM> minute intervals, the output may be presented as an Nx96 matrix, or other suitably sized matrix appropriate to the forecasting schedule, and so on.

Pump module <NUM> predicts pump flowrate at each pump in WRI <NUM>. A pump's behavior is controlled by its system head-curve, pump operating curve (head-flow), and efficiency curve (efficiency-flow). A pump's behavior also considers non-linear dynamics including lagged response time, since a pump will not achieve a set steady-state flowrate instantaneously. The objective of pump module <NUM> may be to map on/off statuses of pump <NUM> to the pump's production flowrate considering its lagged response time. Pump module <NUM> has as inputs the water demand flowrates calculated by the disturbance module <NUM>, the pressure heads calculated by pressure module <NUM> (discussed below), the on/off state of the water pumps in WRI <NUM>, the water pressure at each DMA <NUM>, and the open/closed state of the control valves in WRI <NUM>. Pump module <NUM> has as outputs the pump flowrate (Q) at each pump (k), from the current time to the prediction time (t+T) (Qk<NUM>,. Output from pump module <NUM> may be presented as a matrix as appropriate and consistent with disturbance module <NUM>.

Tank module <NUM> maps the tank level at each time (t) of each water storage tank (k) to the tank level at time (t+<NUM>) based on pump flowrate and water demand at time (t) in order to determine the equalization flow required from each storage tank to achieve mass balance for updating the tank level for time (t+<NUM>). Tank module <NUM> has as inputs pump flowrates calculated by pump module <NUM>, water demand flowrates calculated by disturbance module <NUM>, and current storage tank heights. Tank module <NUM> has as output the change in tank level (Lk<NUM>,. Output from tank module <NUM> may be presented as a matrix as appropriate and consistent with the other modules.

Pressure module <NUM> predicts the average system pressures at each DMA <NUM> at time (t). Pressure module <NUM> has as inputs the change in tank levels calculated by tank module <NUM>, water demand flowrates at each DMA <NUM> calculated by disturbance module <NUM>, tank levels, and pump flowrates calculated by pump module <NUM>. Pressure module <NUM> has as outputs the predicted water pressure at each DMA <NUM> at time (t). Output from pressure module <NUM> may be presented as a matrix as appropriate and consistent with the other modules.

<FIG> is a schematic diagram of another example system <NUM> for scheduling setpoints of control mechanisms of another WRI. System <NUM> includes a water treatment system, hereinafter referred to as WRI <NUM>. The WRI <NUM> includes comprising an influent source <NUM>, a primary clarifier <NUM>, anoxic unit <NUM>, aerobic unit <NUM> having air blowers <NUM>, a secondary clarifier <NUM> having a recycle valve <NUM>, and tertiary treatment system <NUM>.

The system <NUM> also includes a monitoring system <NUM>, links <NUM>, disturbance data providers <NUM>, control mechanism scheduler <NUM>, and network <NUM>. General description of monitoring system <NUM>, links <NUM>, disturbance data providers <NUM>, control mechanism scheduler <NUM>, and network <NUM> may be had with reference to the analogous components of system <NUM>.

In system <NUM>, wastewater to be treated flows from the influent source <NUM> through the primary clarifier <NUM>, anoxic unit <NUM>, aerobic unit <NUM>, and secondary clarifier <NUM>, and tertiary treatment systems <NUM>.

Monitoring system <NUM> includes links <NUM> to sensors on air blower <NUM> and recycle valve <NUM>. The air blower <NUM> and recycle valve <NUM> comprise actuable infrastructure components which are monitored by sensors which transmit sensor data to monitoring system <NUM>, which also include control means for which a schedule of setpoints may be generated. The monitoring system <NUM> is also connected to other sensors in WRI <NUM> which measure states of the WRI <NUM> such as chemical analyzers measuring key chemical parameters in the wastewater treatment, and flowmeters. For simplicity, however, only the connections which correspond to the control mechanisms of the air blower <NUM> and recycle valve <NUM> are shown.

Monitoring system <NUM> may record the air flowrate of the air blower 605and the recycle flow rate through recycle valve <NUM>, the on/off state of air blower, and the open/closed state of recycle valve <NUM>. The air flow rate through air blower <NUM> and the flow rate of recycled wastewater from secondary clarifier <NUM> to anoxic unit <NUM> are examples of some state variables which describe the state of the WRI <NUM>. The on/off state of air blower <NUM> and the open cross-section of recycle valve <NUM> are examples of setpoints. Disturbance data providers <NUM> records disturbance data such as calendar data and weather data, such as the kind described above, which may impact WRI <NUM>.

The control mechanism scheduler <NUM> may include functional components analogous to those shown in <FIG>, and may function in the same way to be trained to generate schedules of setpoints for control mechanisms of infrastructure components of WRI <NUM>. Thus, the control mechanism scheduler <NUM> may include a prediction engine which runs a process to generate simulations of the WRI <NUM>.

<FIG> is a schematic diagram of an example of such a process <NUM>. The prediction engine of control mechanism scheduler <NUM> may include an influent module <NUM> which predicts influent flowrate and composition, an anoxic module <NUM> which predicts anoxic states, an aerobic module <NUM> which predicts aerobic states, and an effluent module <NUM> which predicts effluent states.

For a WRI having N elements for each unique infrastructure component (e.g. N unique anoxic units), the prediction engine may include N modules for the N elements. Each module may predict its output across a future timeframe so that a scheduling of setpoints can be generated. In some examples, each module predicts its output for every hour for the next <NUM> hours or other time interval.

In process <NUM>, influent module <NUM> predicts influent states. Influent module <NUM> has as inputs disturbance data which may impact WRI <NUM>. In some examples, inputs to influent module <NUM> may include calendar data, which may include the time of day, day of the week, month, and dates of national holidays, dates of major events, and temperature data, which may include temperature, precipitation index, and aridity index. Influent module <NUM> may have as outputs the predicted influent states (Z) at the influent node, from the current time to the prediction time (T) (Z<NUM>,. Output from Influent module <NUM> may be presented as a 1x(24xM) matrix, where M is the number of sampling intervals in any given hour for the next <NUM> hours.

Anoxic module <NUM> predicts anoxic states. Anoxic module <NUM> may have as inputs the influent calculated by influent module <NUM> and the effluent states predicted by the effluent module <NUM> (discussed below). Anoxic module <NUM> may have as outputs the predicted anoxic states.

Aerobic module <NUM> predicts aerobic states. Aerobic module <NUM> may have as inputs the anoxic states calculated by anoxic module <NUM>, disturbance data, and the influent states as calculated by the influent module <NUM>. Aerobic module <NUM> has as outputs the predicted aerobic states.

Effluent module <NUM> predicts effluent states. Effluent module <NUM> may have as inputs the aerobic states as calculated by aerobic module <NUM>, and the influent states as calculated by the influent module <NUM>. The effluent module <NUM> may have as outputs effluent states.

It is contemplated that, in other examples, other modules pertaining to other key infrastructure components (e.g. other processing equipment) may be employed in similar or other WRIs, such as drinking water treatment plants or sewage collection systems. It is contemplated that key infrastructure components may be selected for inclusion or exclusion from the hierarchical learning model based on the WRI.

It should thus be apparent from the above that a system may be trained to generate a schedule of setpoints for control mechanisms in accordance with approaching a predetermined objective, and the system may generate schedules of setpoints in real-time, for review by operating personnel or for direct control of infrastructure components of the WRI. Disturbance data may be used to predict disturbances in the WRI, which may be used to generate a predictive model of the WRI, which may subsequently be used to generate a schedule of setpoints to respond to the disturbance. The system may model the WRI and the infrastructure components therein using recursively connected predicted modules for key infrastructure components in a hierarchical learning model to achieve strong prediction quality and computational efficiency.

Claim 1:
A control mechanism scheduler (<NUM>) of a water resource infrastructure (<NUM>), the control mechanism scheduler (<NUM>) comprising:
a communication interface (<NUM>) configured to receive operating data and disturbance data, the operating data describing infrastructure components of the water resource infrastructure (<NUM>) for a municipal water distribution system, the operating data comprising state variables describing a state of the infrastructure components and control variables describing control mechanisms for modifying actuable infrastructure components, and wherein the state variables comprise a water pressure at district-metered areas (DMAs) and a storage tank water level, wherein the control variables comprise a water pump state and a control valve state, the disturbance data comprising a disturbance signal received from a disturbance data provider (<NUM>) that describes a disturbance expected to disturb the water resource infrastructure (<NUM>);
a memory storage unit (<NUM>); and
a processor (<NUM>) in communication with the communication interface (<NUM>) and the memory storage unit (<NUM>), the processor (<NUM>) configured to:
apply a pattern recognition algorithm to disturbance variables of the disturbance signal to generate a unique class for the disturbance signal, wherein the unique class corresponds to a pattern recognized in the disturbance signal;
generate a simulation of the water resource infrastructure (<NUM>), including a water pump and a control valve, based on:
the disturbance signal; and
the state variables of the operating data, including at least the water pressure at district-metered areas (DMAs) and a storage tank water level;
generate a schedule of setpoints for control mechanisms actuable to control the infrastructure components of the water resource infrastructure (<NUM>) based on the simulation, generation of the schedule of setpoints being in accordance with approaching a predetermined objective; and
associate the schedule of setpoints with the class and store the schedule of setpoints in the memory storage unit (<NUM>), and
actuate the schedule of setpoints to control the infrastructure components of the water resource infrastructure (<NUM>).