IRI-TR-09-04 Modelling and Decentralized Model Predictive Control of Drinking Water Networks The Barcelona Case Study Valentina Fambrini∗ Carlos Ocampo-Martinez Abstract In this report, MPC strategies have been designed and tested for the global centralized and decentralized control of drinking water networks. Test have been performed in order to highlight the advantages of having a partition of a complex network in several subsystems. Despite the possible suboptimal solution of the optimization probles from the global point of view, the clear gain related to the computation times and loads has been demostrated by means of the simulations and test developed here. The high correlation between system elements, i.e., the strong coupling of the network, makes impossible to have independient subsystems to be controlled by using a set of decoupled MPC controllers. Moreover, the necessity of a hierarchy scheme is discussed and interesting results are obtained from the mixture of techniques giving rise to a control law sharing decentralized and hierachical features. ∗ Valentina Fambrini is with the Department of Information Engineering, University of Siena, Via Roma 56, 53100 Siena, Italy. Institut de Robòtica i Informàtica Industrial (IRI) Consejo Superior de Investigaciones Cientı́ficas (CSIC) Universitat Politècnica de Catalunya (UPC) Llorens i Artigas 4-6, 08028, Barcelona Spain Tel (fax): +34 93 401 5750 (5751) http://www-iri.upc.es Corresponding author: C. Ocampo-Martinez tel: +34 93 401 5786 [email protected] http://www-iri.upc.es/people/cocampo © Copyright IRI, 2009 CONTENTS 1 Contents 1 Introduction 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Drinking Water Systems . . . . . . . . . . . . . . . . . . . 1.3 Model Predictive Control . . . . . . . . . . . . . . . . . . 1.4 WIDE Project and Distributed Model Predictive Control 1.5 Outline of the Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 5 5 and Main Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 8 9 10 11 11 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14 16 16 17 18 19 21 22 23 23 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27 27 28 28 30 33 39 39 39 5 Concluding Remarks 5.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 43 44 A Parameters of the ABN Case Study 46 B Aggregated Barcelona Drinking Water Network Model Equations 48 2 Background 2.1 Drinking Water Networks: Description 2.2 Model Predictive Control . . . . . . . 2.2.1 MPC Strategy . . . . . . . . . 2.2.2 Basic MPC Formulation . . . . 2.3 Decentralized MPC . . . . . . . . . . . 2.3.1 Preliminaries . . . . . . . . . . 2.3.2 General Formulation . . . . . . 3 Mathematical Modelling and MPC in Water 3.1 Modelling of Drinking Water Networks . . . . 3.2 MPC Problem Formulation . . . . . . . . . . 3.2.1 General Considerations . . . . . . . . 3.2.2 Problem Formulation . . . . . . . . . 3.2.3 Control Objectives . . . . . . . . . . . 3.2.4 Optimal Control Problem Formulation 3.3 Small Example Demonstration . . . . . . . . 3.3.1 Case Study Description . . . . . . . . 3.3.2 Control Objectives . . . . . . . . . . . 3.3.3 Scenarios and Simulations . . . . . . . 3.3.4 Results . . . . . . . . . . . . . . . . . Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Barcelona Drinking Water Network: the Case 4.1 Case Study Description . . . . . . . . . . . . . 4.1.1 The Barcelona Drinking Water Network 4.1.2 Aggregated Case Study . . . . . . . . . 4.2 Scenarios . . . . . . . . . . . . . . . . . . . . . 4.3 Centralized MPC . . . . . . . . . . . . . . . . 4.4 Decentralized MPC . . . . . . . . . . . . . . . . 4.5 Simulation of Scenarios . . . . . . . . . . . . . 4.5.1 Comparison with the CMPC . . . . . . 4.5.2 Main Results . . . . . . . . . . . . . . . Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 CONTENTS Section 1 1 Introduction 3 Introduction 1.1 Motivation Water, essential element for the survival of all known forms of life, is an increasingly important global problem because it is becoming a scarce resource. Water demand already exceeds supply in many parts of the world, and as world population continues to rise at an unprecedented rate, many more areas are expected to experience this imbalance in the near future. As the economy of a country becomes richer, a larger percentage of its people tend to have access to drinking water, that is water that is of sufficiently high quality so that it can be consumed or utilized without risk of immediate or long term harm. Such water is commonly called potable water. Access to drinking water is measured by the number of people who have a reasonable means of getting an adequate amount of water that is safe for drinking, washing, and essential household activities. Like the overpopulation and scarcity of water resources, another contributing factor of poor access to drinking water is the climate changes, that could have significant impacts on water resources. According to the problem presented above, limited water supplies, conservation and sustainability policies, as well as the infrastructure complexity for meeting consumer demands with appropriate flow pressure and quality levels make water management a challenging control problem. Decision support systems provide useful guidance for operators in complex networks, where best action resources management are not intuitive [6]. Optimization and optimal control techniques provide an important contribution to strategy computing in drinking water management. Similarly, the problems related to modelling and control of water supply and distribution have been the object of important research efforts in the last few years [3]. This report focuses on studying an approach and implementation of predictive control in drinking water networks. Water network systems, that carry drinking water from sources to consumers, consist of pipes, pumps, valves and storage tanks, and so, because of the interconnectivity of these element, the complexity of the control increases in the sense of its management. 1.2 Drinking Water Systems Water networks are generally composed of a large number of interconnected pipes, reservoirs, pumps, valves and other hydraulic elements which carry water to demand nodes from the supply areas, with specific pressure levels to provide a proper service to consumers. Water supply, treatment, transport and distribution are often operated separately, by different authorities. Planning and management of these subsystems have different goals and time-scales. Additionally, the hydraulics involved differ considerably from one to another, in particular, between large, spatially-distributed open channel areas and pressurized water sections with distribution to consumers. In many water systems, network operation is carried out based on heuristic approaches, operator judgement, etc., which may be very complex in large-scale interconnected systems. Decision support systems, which are based on mathematical network and operation models may efficiently contribute to the optimal management of water networks by computing control strategies ahead in time, which optimize management goals. According to the discussion presented earlier, drinking water systems present some specific characteristics which make them especially challenging from the point of view of analysis and control. Water systems complex dynamics are usually comprised of: • Compositional subsystems containing both continuous-variable elements. • Storage and actuator elements with operational constraints, which are operated within a specific physical range. 4 Modelling and Decentralized MPC of Drinking Water Networks Operational objective determination Set−points determination (MPC)) Control trajectories realization (PID controllers) Management Level Global Control Level demand Adaptation Local Control Level Application water network measurements (flows, pressures, volumes, levels, etc.) Information exchange Water Network Figure 1: Hierarchical structure for RTC of drinking water system. Adapted from [18] • Distributed, large-scale architecture, since water systems may have hundreds or even thousands of sensors, actuators and local controllers. All the features mentioned before should be taken into account not only in the topology design of a drinking network but also in the definition of an adequate control strategy in order to fulfil a set of given control objectives. 1.3 Model Predictive Control The control strategies in water networks deal with the problem of generating control strategies ahead of time, to guarantee a good service in the network, while achieving certain performance goals, which may include one or more of the following, according to the needs of a specific utility: minimization of supply and pumping costs, maximization of water quality, pressure regulation for leak prevention, etc. Such methodologies have to handle multivariable models (since there are many sensors and actuators within a water network), and can consider physical constraints and non-linear behaviour. Thus, within the field of water network control, there exists a suitable strategy which fits the particular issues of such system. This strategy is known as Model Predictive Control (MPC), which more than a control technique, is a set of control methodologies that use a mathematical model of a considered system to obtain a control signal which minimizes a cost function related to selected indexes related to the system performance. MPC is very flexible regarding its implementation and can be used over almost all systems since it is set according to the model of the plant [5]. Moreover, MPC has some features to deal with complex systems as water networks: big delays compensation, use of physical constraints, relatively simple for people without deep knowledge of control, multivariable systems handling. So, according to [18], such controllers are very suitable to be used in the global control of networks related to the urban water cycle within a hierarchical control structure. This global control structure is depicted in Figure 1, where the MPc determines the references for the local Section 1 Introduction 5 controllers located on different elements of the network. The Management level is used to provide to MPC the operational objective, which is reflected in the controller design as the performance indexes to be minimized. 1.4 WIDE Project and Distributed Model Predictive Control In water distribution networks, the high costs of transportation, storage, treatment and distribution limit the accessibility of water for a large portion of the world. Innovation is needed to enable efficient resource operation of such distribution infrastructures in order to keep the natural environment from being further depleted . The emerging wireless sensor network (WSN) technologies enable now the deployment of a pervasive plant-wide information gathering system that permits coordination and optimization across all hierarchical layers of plant-wide management. The challenges of integrating WSNs in plant-wide management are at the core of the recently funded European Project WIDE, with aims of developing a framework for advanced control and real-time optimization of large-scale and spatially distributed processes. Using wireless sensor networks to gather information and validing the approach in a real water distribution system combined with the issue of size and uncertainty of measurements, makes the control problem hard to solve with classical control techniques. One of the best solutions is the application of MPC as it allows for the taking into account a lot of information about the plant to tune the control law. Since MPC is substantially an optimization problem, whose size is directly proportional to the plant size, large-scale systems are a hard challenge to deal with MPC. The reason lies in the fact that the optimization algorithms are hard to parallelize. Increasing computation power is often not enough. A possible solution to adopt an MPC approach in control of large-scale systems is the distribution of the model, that is the decomposition of a plant into independent subsystems. Those subsystems will be the model that MPC controllers will use to compute the control action. This implies a much smaller solution time for the MPC problems and also the possibility to parallelize the computations. This approach is referred to as Distributed MPC (DMPC) in the literature [1]. Since the growth of the complexity of the MPC computation is usually exponential with the growth of the number of variables, the gain of implementing DMPC increases with the size of the problem which presented a trade-off between performance and complexity, since DMPC solutions provide a decrease in closed-loop performance due to the sub-optimal approach. 1.5 Outline of the Report This report is organized in the following way: Section 2: Background This section proposes the main idea and concepts about the different topics considered in this report. The section presents the theory and the definitions about drinking water networks, MPC strategy and DMPC approach. Section 3: Mathematical Modelling and MPC in Water Networks Once the structure and operational mode of water networks are introduced, a modelling methodology for control design and analysis is required. This section introduces the modelling principles for water networks. Moreover, this section deals with the formalization of the control problem with equality and inequality constraints, known disturbances and multi-objective cost function related to the optimization problem. The section ends with the description of the DMPC strategy followed in this report, formalizing the related control problem. 6 Modelling and Decentralized MPC of Drinking Water Networks Section 4: Barcelona Drinking Water Network Case Study This section presents and describes in detail the case study of this report on which the control techniques and methodologies will be applied. The case study corresponds to a representative version of the water network of the city of Barcelona. The particular mathematical model is obtained and calibrated using real data from forecasts demands of water occurred in Barcelona during the year 2007. After having described the case study, the section proposes the description of the implementation of both the techniques MPC and DMPC. Simulations and final results are provided abundantly for the two strategies. Moreover, a comparison between the two implementations is shown in order to highlight the advantages and disadvantages of each approach. Section 5: Concluding Remarks This section summarizes the contributions made in this report and discusses the ways for future research. Appendices The appendices contain the parameter tables, the model equations and the description of the functions used in the Matlabr implementation of the case study. 2 Background This section introduces briefly the main topics of this report, describes in a general way the concepts and the definitions of drinking water networks, and introduces a standard formulation of predictive control. For this purpose, a state space setting is used–it is the most convenient for multivariable problem, and it includes all other approaches. Moreover, within the framework of the predictive control, the decentralized strategy is introduced and a general mathematical formalization of this control problem is outlined. 2.1 Drinking Water Networks: Description and Main Concepts The potable or drinking water comes from untreated water (also called raw water that may come from groundwater sources or surface waters such as lakes, reservoirs, and rivers) that is usually transported to a water treatment plant, where it is processed to produce treated water (also known as potable or finished water). The degree to which the raw water is processed to achieve potability depends on the characteristics of the raw water, relevant drinking water standards, treatment processes used, and the characteristics of the distribution system. Customers of a water supply system are easily identified - they are the reason that the system exists in the first place. Homeowners, factories, hospitals, restaurants, golf courses, and thousands of other types of customers depend on water systems to provide everything from safe drinking water to irrigation. Customers and the nature in which they use water are the driving mechanism behind how a water distribution system behaves. Water use can vary over time both in the long-term (seasonally) and the short-term (daily), and over space. Good knowledge of how water use is distributed across the system is critical to accurate modelling. Moving water from the source to the customer requires a network of pipes, pumps, valves, and other hydraulic elements. Storing water to accommodate fluctuations in demand due to varying rates of usage or fire protection needs requires storage facilities such as tanks and reservoirs. Piping, storage, and the supporting infrastructure are together referred to as the drinking water network. Water networks are generally composed of a large number of interconnected pipes, reservoirs, pumps, valves and other hydraulic elements which carry water to demand nodes from the supply areas, with specific pressure levels to provide a good service to consumers. The hydraulic elements in a network may be classified into two categories: active and passive [7]. The active elements are those which can be operated to control the flow and/or the pressure of water in specific parts of the network, such as pumps and valves; passive elements are tanks and pipes. Section 2 Background 7 A set of these typical elements are described below. The figures presented are taken from the Barcelona drinking water network, which is described in Section 4 as the case study of this report. Pipes In a drinking water system, a pipe is the element used to convey fluids from one location to another, thus it is considered only as the connection between network pieces. In Figure 2, the pipes of the Barcelona drinking water network are shown. Figure 2: Drinking Water Network Pipes. Taken from [11] Tanks Water tanks are water storage containers which accumulate water for human consumption. In this case, a water tank provides for the storage capabilities of drinking water. A tank has physical limits that are related to the maximum and minimum capacity of storage water. Tanks, as pipes, may be classified as passive elements of the network, as they receive the effects of the operation of the other active elements, in term of pressure and flow, but they can not be directly acted upon [7]. Figure 3 shows a Barcelona water network tank. Figure 3: Barcelona Drinking Water Network Storage Device. Taken from [11] 8 Modelling and Decentralized MPC of Drinking Water Networks Nodes These elements correspond to points where water flows are either merged or propagated. Propagation means that the node has one inflow and multiples outflows. On the other hand, merging means that more than one inflow merges or splits to one or more than one outflow respectively. The nodes represent network connections and mass balance relations between inflows and outflows. Pumping Stations Pumping stations are needed to take the water that can not flow by gravity. The pumps, presented into the drinking water network, are of two types: • those that draw from the underground sources; • those that are used to carry the water where there is an elevation difference between two different elements. The Figure 4 shows one of the pumping stations which belong to the Barcelona water drinking network. Figure 4: Drinking Water Network Pumping Station. Taken from [11] Valves A valve is a device that regulates the flow of the water by opening, closing, or partially obstructing various passageways. Valves are technically pipe fittings, but are usually discussed as a separate category. They may be operated manually, either by using a hand wheel, lever or pedal. Valves may also be automatic, driven by changes in pressure, temperature or flow. More complex control systems using valves requiring automatic control based on an external input (i.e., regulating flow through a pipe to a changing set point) require an actuator. An actuator will stroke the valve depending on its input and set-up, allowing the valve to be positioned accurately, and allowing control over a variety of requirements. In the Barcelona case study, these elements are active within the network but, unlike the pumps, they are not able to drive the water from a hydraulic element to another with different elevation. The valves can only let the water pass through or not, and establish the strength of the flow. It is important to notice that there is always a valve coupled to an exterior source to control the bheviour of the sources. 2.2 Model Predictive Control Model Predictive Control (MPC) is one of the most advanced control methodologies which has made a significant impact on industrial control engineering. The reason for this success can be attributed to the fact that MPC is, perhaps, the most general way of posing the process control problem in the time domain. MPC does not designate a specific control strategy but a very Section 2 Background 9 ample range of control methods which make an explicit use of a model of the process to obtain the control signal by minimizing an objective function. The MPC can handle multivariable control problems, it can take into account actuator limitations and allows the operation within constraints. The main ideas appearing in the predictive control are basically [14] [5]: • Explicit use of a model to predict the process output at future time instants (horizon). • Calculation of a control sequence to minimize an objective function. • Receding strategy, so that at each instant the horizon is deplaced toward the future, which involves the application of the first control signal of the sequence calculated at each step. MPC presents a series of advantages over other methods, amongst which stand out that: • It is possible to staff with only a limited knowledge of control because the concepts are very intuitive and at the same time the tuning is relatively easy; • it can be used to control a great variety of processes, from those with relatively simple dynamics to other more complex ones; • the multivariable case can easily be dealt with; • it introduces feed forward control in a natural way to compensate measurable disturbances; • its extension to the treatment of constraints is conceptually simple and these can be systematically included during the design process; • it is very useful when future references are known; This control strategy has also its drawbacks. One of these is that although the resulting control law is easy to implement and requires no significant computation load, its derivation is more complex and when the constraints are considered, the amount of computation required is even higher. Although this, with the computing power available today,it is not an essential problem but depends of the case. Even so, the greatest drawback is the need for an appropriate model of the process to be available. The design algorithm is based on a prior knowledge of the model and the performance is related to the quality of the plant representation. 2.2.1 MPC Strategy The methodology of all the controllers belonging to the MPC family is characterized by a set of common elements, that are the following: (i) Prediction model, which should capture all process dynamics and allows to predict the future behaviour of the system. (ii) Objective function, which is, in general form, the mathematical expression that penalizes deviations of the predicted controller outputs from a reference trajectory. The objective function can take into account and penalize more than just one term and it allows multiobjective cases that represents performance indexes of the system studied. (iii) Control signal computation. (iv) Constraints, which can represent physical limit of the palnt as well as constraints on the control signals, or manipulated variables, and on the outputs. 10 Modelling and Decentralized MPC of Drinking Water Networks Reference Trajectory Past Inputs and Outputs Predicted Outputs Model + − Future Inputs Optimizer Cost Function Future Error Constraints Figure 5: Basic structure of MPC The methodology of all the controllers belonging to the MPC family is based on iterative, finite horizon optimization of a plant model. At the time k, the current plant state is sampled and a cost minimizing control strategy is computed for a relatively short time in the future T time steps. Specifically, an on-line calculation is used to explore state trajectories that emanate from the current state and find a cost-minimizing control strategy until time k + T . Only the first step of the control strategy is implemented, the plant state is sampled again and the calculation is repeated starting from the now current state, yielding a new control and new predicted state path. The prediction horizon keeps being shifted forward and for this reason MPC is also called receding horizon control, and this approach is called receding horizon strategy [14]. In order to implement this strategy, the basic structure shown in Figure 5 is used. A model is used to predict the future plant outputs, based on past and current values and on the proposed optimal future control actions. These actions are calculated by the optimizer taking into account the cost function (where the future tracking error is considered) as well as the constraints. 2.2.2 Basic MPC Formulation In most of the cases shown in the research literature, the MPC formulation is expressed in state space and presents a generic and simple representation of the strategy. The standard MPC problem based on the linear discrete-time prediction model is considered [14]: x(k + 1) = Ax(k) + Bu(k), y(k) = Cx(k), (1) where x(k) ∈ Rn is the state vector and u(k) ∈ Rm is the vector of command variables at time step k, and y(k) ∈ Rp is the vector of the measured output. Following the formalism of [14] for the basic formulation of a predictive control, the cost function is assumed to be quadratic and Section 2 Background 11 the constraints are in the form of linear inequality. Thus, the following optimization problem has to be solved: Hp −1 T min V (k) = min x(k + Hp ) P x(k + Hp ) + U U X x(k + j)T Qx(k + j)+ (2a) j=0 + u(k + j)T Ru(k + j), s.t x(k + 1) = Ax(k) + Bu(k), (2b) x(0) = x(k), (2c) umin ≤ u(k) ≤ umax , k = 0, · · · , Hp − 1, (2d) where Hp is the prediction horizon, x(0) is the initial condition of the state vector, umin and umax are known vectors defining the saturation constraints on inputs variables (operational ranges), and “≤” denotes componentwise inequality. Problem (2) can be recast as a Quadratic Programming (QP) problem, whose solution U ∗ (k) , [u(k)∗T · · · u(k + Hp − 1)∗T ]T ∈ RHp m×1 (3) is a sequence of optimal control inputs that generates an admissible state sequence. At each sampling time k, Problem (2) is solved for the given measured (or estimated) current state x(k). Only the first optimal move u(k)∗ of the optimal sequence U ∗ (k) is applied to the process, uM P C (k) = u(k)∗ , (4) the remaining optimal moves are discarded and the optimization is repeated at time k + 1. 2.3 2.3.1 Decentralized MPC Preliminaries Complex dynamical networks have attracted increasing attention from control scientists in recent years [9]. Recently, much attention has been directed towards the study of control methodologies for large-scale systems that can be often characterized by a set of multiple interconnected subsystems with constraints on information flows between them. The desired goal of structuring a distributed information and decision framework for large-scale systems does not mesh with the available centralized methodologies and procedures associated with classical and modern control theory, thus providing impetus for a decentralized control scheme. The last two decades have seen the widespread diffusion of MPC techniques, which are now recognized as a very useful approach to deal with control problems involving several inputs and outputs and under constraints on such variables, as is typically the case in the process industry. However, centralized MPC (CMPC) is largely viewed as impractical for control of large-scale systems due to the need of converging all the measurements in one single location, where the optimization is solved, and the computation time needed to solve the large optimization problem within a sampling step. Decentralized MPC (DMPC) is a decomposition of a single CMPC problem into a set of M subproblems, and each subproblem is assigned to a different MPC controller (a basic scheme of this strategy is shown in Figure 6). In decentralized control of multivariable systems, the achievement of a global control task is obtained by the cooperation of many controllers, each one computing a subset of control commands individually under a possibly limited exchange of information with the other controllers [1]. Compared to centralized schemes, decentralized control has the disadvantage of inevitably leading to a loss of performance, however it has a twofold technological advantage: 12 Modelling and Decentralized MPC of Drinking Water Networks Past inputs and Outputs Reference Trajectory Plant + Predicted Outputs − Inputs DMPC 1 DMPC 2 Error DMPC M Figure 6: Basic scheme of DMPC (i ) no need for a high-performance central processing unit performing complex global control algorithms that take into account the overall system dynamics, as it is replaced by several simpler (and therefore cheaper) units; (ii ) all process measurements (command variables) do not need to be conveyed to (issued from) a single unit, therefore limiting the exchange of information between spatially distributed components of the process. More recently, the interest in decentralized control schemes was revived by the interest in increasingly complex distributed sensing and actuation system. The control of a multitude of sensing and actuator devices is naturally tackled by decentralized control designs, conceived to ensure both local self-properties and global coordination. From a theoretical control point of view, a centralized approach with complete knowledge of the overall system has the potential of providing significant properties like stability and optimality [16]; a similar advantage arises in optimization while comparing a global solution to a collection of locally optimal solutions. 2.3.2 General Formulation Several approaches to decentralized control design have been proposed in the literature. They differ from each other in the assumption made on the kind of iteration between different components of the overall system, the model of information exchange between subsystems, and the control design technique used for each subsystem. A very promising design approach to decentralized control was proposed in the context of MPC [12]. Motivated by describing problems of networks of independently actuated systems, most contributions focused the attention on dynamically decoupled systems, i.e. dynamical systems decomposed into distinct subsystems that can be independently actuated. For each subsystem, a distinct MPC controller computes the local control action based on the measurements (and predictions) of the states of its corresponding subsystem and of its neighbours. Section 2 Background 13 Decentralized Prediction Model Prediction is based on a linear-discrete time model of each subsystem. Let the system to be controlled be described again by the process model (1). Matrices A, B will have a certain number of zero components corresponding to partially dynamically decoupled subsystems, or may even be block diagonal in case of total dynamical decoupling (this is the case for instance of independent moving agents each one having its own dynamics). Let M be the number of decentralized control actions that we want to design, for example M = m in the case that each individual actuator is governed by its own controller. For i = 1, · · · , M , x i ∈ Rni as the vector collecting a subset Ix i ⊆ 1 , · · · , n of the state components, xi1 xi = WiT x = ... ∈ Rni , xini (5) where Wi ∈ Rn×ni collects the ni columns of the identity matrix of order n corresponding to the indices in Ixi , and, similarly, ui1 ui = ZiT u = ... ∈ Rmi , uimi (6) as the vector of input signals tackled by the i-th controller, where Zi ∈ Rm×mi collects mi columns of identity matrix of order m corresponding to the set of indices Iui ⊆ 1, · · · , m. Note that WiT Wi = Ini , ZiT Zi = Imi , ∀i = 1, · · · , M. (7) By left-multiplying (1) by WiT , we obtain xi (k + 1) = WiT x(k + 1) = WiT Ax(k) + WiT Bu(k). (8) An approximation of (1) is obtained by changing WiT A into WiT AWi WiT and WiT B into WiT BZi ZiT , therefore getting the new prediction model of reduced order xi (k + 1) = Ai xi (k) + Bi ui (k), (9) where matrices Ai = WiT AWi ∈ Rni ×ni and Bi = WiT AZi ∈ Rmi ×mi are submatrices of the original A and B matrices, respectively, describing in a possibly approximate way the evolution of the states of i-th subsystem. Model (9) has a smaller size than the original process model (1). The choice of the dimension ni , mi and of matrices Wi , Zi are a tuning knob of the proposed decentralized procedure and should be inspired by the inspection of zero or negligible entries in A, B (or in other words by physical insight on the process dynamics). A controlled is designed for each set of moves ui according to the prediction model (9) and based on feedback on xi , for all i = 1, · · · , M . Note that in general different states xi , xj and different inputs ui , uj may share common components. In particular, to avoid ambiguities on the control action to be provided to the process, is imposed that only a subset of input signals computed by i-th controller is actually applied to the process, with the conditions that all actuators are commanded and the condition that each actuator is commanded by only one controller. For the sake of simplicity of notation, is assumed that M = m and that each controller i only controls the i-th input signal. 14 Modelling and Decentralized MPC of Drinking Water Networks Decentralized Optimal Control Problems finite-time constrained optimal control problem For all i = 1, · · · , M , consider the following Hp −1 min Vi (k) = min ui (0) ui (0) X x(k + j)iT WiT QWi xi (k + j) + u(k + j)iT ZiT RZi u(k + j)i , s.t xi1 (k + 1) = Ai xi (k) + Bi ui (k), i (10a) j=0 (10b) i (10c) umin ≤ u(k) ≤ umax . (10d) x (0) = WiT x(k) i = x (k), At time k, each MPC controller MPC i measures (or estimates) the state xi (k) (usually corresponding to local and neighbouring states), solves Problem 10and obtains the optimal sequence u(0)∗i = [u(0)∗i1 , · · · , u(0)∗ii , · · · , u(0)∗imi ]T ∈ Rmi . In the simplified case, M = m, only the i-th sample of u(0)∗i ui (k) = u∗ii i (11) will determinate the i-th component ui (k) of the input vector actually implemented to the process at time k. The inputs u(0)∗ij , j 6= i, j ∈ Iui to the neighbours are discarded, their only rule is to provide a better prediction of the state trajectories x(k)i , and therefore a possibly better performance of the overall system. The collection of the optimal inputs of all the M MPC controllers, uM P C (k) = [u(0)∗11 · · · u(0)∗ii · · · u(0)∗mm ]T , (12) is the actual input of the model (1). The optimization problem (10) is repeated at time k + 1, based on the new states xi (k + 1) = Wik x(k + 1), according to the usual receding horizon control paradigm. 3 Mathematical Modelling and Model Predicitive Control in Water Networks Predictive control is model-based in the sense that it uses an explicit internal model to generate predictions of future plant behaviour. Thus, in predictive control, and in general in the control of dynamical system, great importance lies on the definition of the model for the considered systems. This section proposes a mathematical description of a water system, the modelling methodology and control strategy for MPC design. In the same way, the equations that describe the dynamical behaviour are defined. The modelling methodology is inspired in previous works reported in the literature where the study of complex networks related to the urban water cycle were done [18], [17]. Moreover, this section proposes and describes an illustrative case study based on the Barcelona drinking water system. 3.1 Modelling of Drinking Water Networks Several modelling techniques have been presented in the literature that deal with drinking networks, see [3] [7] and [6]. The modelling approach used in this study is based on a flow-only model, where only the control variables are required to compute the change in the state of the networks produced by a control action and it follows the principles of the approach presented in [2]. There, the model just considers the mass conservation law related to water flows, so the equations that describe the system dynamics are linear. A further extension of the model would Section 3 Mathematical Modelling and MPC in Water Networks 15 be, for instance, to include the non-linear relations between flow and pressure, for example. However, this will lead to a non-linear model which is not considered in this report. General Aspects In order to find the mathematical model that characterizes the network, this section introduces the modelling principles for drinking water network used for the main case study presented in this report. • Tanks. A water tank provides the entire system with the storage capability of drinking potable water. The state of water network is related to tank volumes so the maximum and minimum capacity of the tanks are considered as model constraints. Moreover, tank water volumes represent the output variable of the model. • Actuators. There are two types of control actuators: pumps and valves. The manipulated flows through the actuators represent the control input variables of the model. Both pumps and valves have lower and upper bounds that are also model constraints. It is assumed that there is a local controller that ensures that the flow required in the actuator is satisfied. • Nodes. These elements correspond to the points where water flows are merged or divided within the network. Thus, the nodes represent mass balance relations and they are modelled as equality constraints related to inflows and outflows of the nodes. • Sectors of Consume. A sector of consume represents the water demand made by the network users. It is considered as a known disturbance in the model since there exists a set of profiles which forecast the behaviour of these demands characterized using a statistical approach, see [8] and [13]. Model Equations A convenient description of the model of a water network could be obtained by considering the set of flows through the actuator elements as the vector of control variables, the set of reservoir volumes as a vector of observable state variables and, since the model is used for predictive control, a set of flows of demands as a vector of demand forecasts, obtained through appropriate prediction models (see Section 3.1). • xi : volume associated to the i-th tank; • ui : flow through the i-th actuator; • di : water demand associated to the i-th sector of consume; • ∆t: sampling time. Using this description, the following elementary models are introduced: Tank. The mass balance expression relating the stored volume, the manipulated inflows and outflows and the demands can be written as the difference equation: X X (13) qout,j (k) , qin,i (k) − xi (k + 1) = xi (k) + ∆t i j where qin,i (k) and qout,j (k) correspond to the i-th inflow and the j-th outflow, respectively (Figure 7), given in m3 /s. The physical constraint related to the range of tank volume capacities is expressed as: xmin ≤ xi (k) ≤ xmax , (14) i i where xmin and xmax denote the minimum and the maximum volume capacity, respectively, i i 3 given in m . As this constraint is physical, it is impossible to send more water to a tank than it can store. 16 Modelling and Decentralized MPC of Drinking Water Networks Figure 7: Scheme of a network storage deposit Node. The expression of this element can be treated as a mass balance relation. Its equation is simply an equality of the inflows (from other tanks through valves or pumps) and outflows, represented not only by manipulated flows but also by demand flows. The static equation that expresses the mass conservation, can be written as: X X qin,i (k) = qout,j (k) (15) i j where qin,i (k) and qout,j (k) are the the i-th inflow and the j-th outflow respectively, given in m3 /s , (see Figure 8). Figure 8: Scheme of a network node 3.2 3.2.1 MPC Problem Formulation General Considerations One of the most effective and accepted control strategies for complex system control problems is MPC [14]. The objective to use the optimal/predictive control in the controller design of a drinking water network is to calculate in a predictive way the best control inputs in order to achieve the optimal performance of the network according to a given set of control objectives and predefined performance indexes. The predictive controller in drinking water networks is usually thought to occupy the middle level of a hierarchical control structure where on the top, the states are estimates and the water demand is predicted over the control horizon. This information is the input into the MPC problem while the outputs are the reference values for local controllers that implement the calculated set-points. See [18] for reference where this hierarchical structure is followed. Associated with the drinking water network control problem, there are more than one control objectives, thus the optimization problem of the MPC controller has multiple objectives as well. Like it is well outlined in [18], the most common approach to solve multi-objective control problems is to form a scalar cost function, composed of a linearly weighted sum of expressions associated with each objective. The priority and the importance that the objectives have is reflected on the choice of the weights. Generally, the selection of weights is done by heuristic Section 3 Mathematical Modelling and MPC in Water Networks 17 trial and error procedures involving a lot of numerical simulation. For this report the choice of the weights for the multi-objective cost function has been based on [4] and on heuristic valuation. 3.2.2 Problem Formulation The MPC model used in this study, given the element-based modelling discussed beforehand, is a constrained one (mass balance relations) with measured disturbances (known demands). MPC model and constraints The model used for this study has the following discrete time representation in state space: x(k + 1) = Ax(k) + Bu(k) + Bp d(k), y(k) = Cx(k), (16a) (16b) where x(k) ∈ Rn is the state vector corresponding to the water volumes of the tanks, u(k) ∈ Rm represents the vector of manipulated flows through the actuators, d(k) ∈ Rp corresponds to the vector of the known disturbances which, in this case, are the water demands, and y(k) ∈ Rn is the vector of outputs and these measured output variables are the same of state variables. A, B, Bp and C are the system matrices of suitable dimensions and k is the discrete time instant. Since the demands are supposed to be known, d(k) is a known vector containing the system measured disturbances. Therefore, (16a) can be rewritten as x(k + 1) = Ax(k) + B̃ ũ(k), (17) where B̃ = [B Bp ] and ũ(k) = [u(k)T d(k)T ]T . Following the considerations made in Section 3.1, system constraints are related to: • Mass balance relations at the network nodes (relations between manipulated inputs and, in some cases, measured disturbances). These are equality relations of the form E1 ũ(k) = E2 . (18) • Bounds in system states and measured inputs expressed by the inequalities umin 6 u(k) 6 umax , x min 6 x(k) 6 x max , (19a) (19b) where umin and umax are vectors containing the lower and upper limits of the actuator, respectively. Hence, using (16b), (17), (18) and (19), the constrained model of the system for MPC design purposes is expressed as x(k + 1) = Ax(k) + B̃ ũ(k), y(k) = Cx(k), (20) E1 ũ(k) = E2 , min 6 u(k) 6 umax , u min x 6 x(k) 6 xmax . 18 Modelling and Decentralized MPC of Drinking Water Networks Multi-objective Optimization Like it has been discussed beforehand, the control problem associated to the MPC controller has more than one objective. A survey of multi-objective optimization can be found in [15]. In general, such a problem can be formulated as: min [f1 (z), f2 (z), · · · , fr (z)], z∈Z (21) where z ∈ Z is a vector containing the optimization variables, Z ⊆ Rm is the admissible set of optimization variables, fi are scalar-valued function of z, and r is the number of the objectives. A common approach to solving multi-objective optimization problems is by scalarization, see [15] and conversion of the problem into single-objective optimization problem with a scalar-valued objective function. A common way to obtain a scalar objective function is to form a linearly weighted sum of functions fi , r X Wi f i , (22) i=1 where the priority of the objective is reflected by the weight Wi 3.2.3 Control Objectives Optimal control in water network deals with the problem of generating flow control strategy from the sources to the consumer areas in order to satisfy the demand of water, while optimizing performance goals such as network safety volumes and flow control stability. Thus, the following operational objectives should be satisfied by the MPC controller by order of priority: (i) Water production and transport cost. The economical costs are associated to water production (chemical treatments and legal canons) and the electrical costs associated to the water transport using pumps. Hence, each pump and water source has a given economical factor depending on the water flow, energy consumption (electricity) and water quality and availability. For this study, this control objective can be described by the expression f1 = ||α1 u(k)||2Wα + ||α2 (k)u(k)||2Wα 1 2 = α1 u(k)T Wα1 u(k) + (α2 (k)u(k))T Wα2 (α2 (k)u(k)), (23) where α1 corresponds to a known vector related to the economical costs of the water according to the selected source (treatment plant, dwell, etc.) and α2 (k) is a vector of suitable dimensions associated to the economical cost of the flow through certain actuators (pumps only) and their control effort (pumping). Notice the k-dependence of α2 since the pumping effort has different values according to the moment of the day (electricity costs). Weight matrices Wα1 and Wα2 penalize the control objective related to the economical costs in the optimization process, and can have the same or different value according to the case. (ii) Security term. The satisfaction of water demands should be satisfied at any time instant. This is guaranteed through the equality constraints of the water mass balances at demand sectors. However, some infeasibility avoidance mechanisms should be introduced in the management of the tank volumes such that this volume does not fall below a security amount resulting in demands which can not be satisfied. This leads to the management of the tank volumes above a certain security volume, which ensures that the demand flows can always be supplied by the network. Preliminary approaches to this control objective within a quadratic framework suggest an expression of the form f2 = ||x(k) − β xmax ||2Wx = (x(k) − β xmax )T Wx (x(k) − β xmax ), (24) Section 3 Mathematical Modelling and MPC in Water Networks 19 where β is a factor which determines the security volume to be considered for the control law computation. Notice that this term induces to a regulation around this critical volume, which is not completely realistic. Some approaches are currently being analyzed in order to improve this aspect. (iii) Stability of control actions. Pumps and valves should operate smoothly in order to avoid big transients in the pressurized pipes that can lead to their damage. To obtain such smoothing effect, the MPC controller includes in the objective function a third term that penalizes control signal variation △u(k), △u(k) = u(k) − u(k − 1). (25) This term additionally infers stability in the level/volume of the header deposits and to the entire network. It can be expressed as f3 = ||∆u||2Wu = ∆u(k)T Wu ∆u(k), (26) where △u(k) are the changes of the inputs vector and Wu corresponds to the the weight matrix of suitable dimensions. Therefore, the cost function V (k) considering the aforementioned control objectives will be of the form V (k) = HX u −1 δu(k + i|k)T Wu △u(k + i|k) i=0 Hp + X (x(k + i|k) − βxmax )T Wx (x(k + i|k) − βxmax ) i=1 HX u −1 + α1 + u(k + i|k)T Wα1 u(k + i|k) i=0 Hu−1 X (α2 (k + i|k)u(k + i|k))T Wα2 (α2 (k + i|k)u(k + i|k)), (27) i=0 where Hp and Hu correspond to the prediction and control horizons, respectively. Note that for this study, the control horizon Hu and the prediction horizon Hp will have the same value. 3.2.4 Optimal Control Problem Formulation In order to solve the predictive control problem, now it is described the approach followed to compute the optimal value of the controller variables [14]. Considering the system model (16a), the prediction model can be written in the following form: X = σ + Λ U + Υ D, with (28) 20 Modelling and Decentralized MPC of Drinking Water Networks x(k + 1|k) x(k + 2|k) .. . X = x(k + Hu |k) .. . x(k + Hp |k) 0 B .. . B AB .. . 0 0 .. . Λ = AHu −1 B AHu −2 B · · · .. .. . . ··· H H p −1 p −2 A B A B ··· Bp ABp .. . ··· ··· , σ = AHu .. . AHp 0 0 .. . ··· ··· B .. . ··· PHp −Hu i ··· AB i=0 0 Bp .. . 0 0 .. . ··· ··· A A2 .. . 0 0 .. . ··· Υ = AHu −1 Bp · · · B 0 p ··· .. .. . . . . · · · . . .. AHp −1 Bp AHp −2 Bp · · · · · · Bp x(k), , U = , u(k|k) u(k + 1|k) .. . u(k + Hu − 1|k) d(k|k) d(k + 1|k) .. . D = d(k + Hu − 1|k) .. . d(k + Hp − 1|k) , , where X ∈ RnHp is the state vector over the prediction horizon, σ ∈ RnHp ×n is the matrix with the past part of the system model, Λ ∈ RnHp ×mHu is the matrix associated to the control signal and part of the future of the model, U ∈ RmHu is the manipulated inputs vector over the control horizon, Υ ∈ RnHp ×pHp is the matrix associated to the disturbances and part of the future of the model and D ∈ RpHp is the known vectors of disturbances (demands) over the prediction horizon. Now considering the expressions (18) and (19), the constraints over the prediction horizon can be formulated in the following way: ∆U (k) U X E = 0, F ≤ 0, G ≤ 0, (29) 1 1 1 where ∆U is defined analogously to U and E, F , G are matrices of suitable dimensions to represent inequality and equality constraints. The entire optimization problem is formulated considering as controlled variable the slow rate of the manipulated inputs ∆U . So the expressions (29) are rewritten in terms of ∆U . Let E = [E1 , E2 ] , F = [F1 , f ] , G = [G1 , p] , (30) where E1 , F1 , G1 , are matrices of suitable dimensions and E2 , f , p are the last vectors of the respective matrices. According to (25): U = Θ∆U + Πu(k − 1), (31) where Θ and Π are matrices of suitable dimensions to calculate the expression (25) over the prediction horizon. Thus, the expression (28) in terms of ∆U is X = ρ + (ΛΘ)∆U + ΥD, (32) Section 3 Mathematical Modelling and MPC in Water Networks 21 where ρ = σ + ΛΠu(k − 1). (33) Considering (31) and (32), (29) finally has the following form: F1 Θ G1 ΛΘ E1 Θ ∆U ≤ ∆U = −F1 Πu(k − 1) − f −G1 (ρ + ΥD) − p −E2 − E1 Πu(k − 1) , (34) . The same procedure described for the constraints is done for the cost function (27). All the control objectives expressions are changed in terms of ∆U , and the final expression has the following form: Hp −1 X V (k) = ∆U (k + i|k)T Φ∆U (k + i|k) + φT ∆U (k + i|k). (35) i=0 where Φ is the Hessian of the objective function and φ is a vector of suitable dimensions for the linear term. Considering (34) and (35), the problem to be solved will be a standard optimization problem known as QP (Quadratic Programming) and hence will be convex [14]. Finally, the optimization problem has the following form: min V (k) (36a) △u s.t H △U = h Ω △U ≤ ω (36b) where H = [E1 Ω = F1 Θ G1 ΛΘ Θ], , h = [−E2 − E1 Φu(k − 1)], ω = F1 Φu(k − 1) − f G1 (ρ + ΥD) − p . (37) Hence, the optimal set of future optimization variables1 is: △U ∗ = [∆u∗1 (k|k) · · · ∆u∗1 (k + Hu − 1|k) · · · ∆u∗m (k|k) · · · ∆u∗m (k + Hu − 1)]T , being m the number of control inputs of the system. 3.3 Small Example Demonstration In this section is presented a motivational example useful to understand the approach proposed and to show its effectiveness. The particular drinking water system used as case study is a small but significant example containing the representative elements of a water network system (water sources, tanks, actuators —pumps and valves—, nodes and demands, see Figure 9) and it is extracted from the Barcelona drinking water network. 1 Remember that only the part of this solution corresponding to the first step is used, in accordance with the receding horizon strategy. 22 Modelling and Decentralized MPC of Drinking Water Networks Figure 9: Small portion of the Barcelona drinking water network 3.3.1 Case Study Description The network, as depicted in Figure 9, is composed by three tanks, six actuators (three pumps and three valves), four sectors of consume and two nodes and it is described by the discrete-time equation (16a), where 1 0 0 0 0 0 1 1 0 A = 0 1 0 , B = ∆t 0 0 0 0 0 1 , 0 0 1 0 0 1 0 0 0 −1 0 0 0 Bp = ∆t 0 0 −1 0 . 0 0 0 −1 The system constraints according to Section 3.2.2 are: (i) Physical range related to physical limits of the system variables, such as: xmin 6 xi 6 xmax , i = 1, 2, 3 i i 0 6 uj 6 umax , j = 1, · · · , 6 j (ii) Mass Balance constraints in network nodes: u1 (k) = u2 (k) + u3 (k) + u6 (k), u2 (k) = u5 (k) + d2 (k). Section 3 Mathematical Modelling and MPC in Water Networks 23 Tables 1, 2 and 3 describe the values of the parameter for the different elements considered in this small case study. Table 1: Tanks and their lower and upper bounds Name Model Variable Min Volume [m3 ] Max Volume [m3 ] d125PAL d110PAP d54REL x1 x2 x3 150 375 800 470 960 3100 Table 2: Valves and their lower and upper bounds Name Model Variable Min flow [m3 /s] Max flow [m3 /s] VALMA VALMA45 VALMA47 u1 u2 u3 0 0 0 1.297 0.05 0.12 Table 3: Pumps and their lower and upper bounds 3.3.2 Name Model Variable Min flow [m3 /s] Max flow [m3 /s] bMS CPIV CPII u4 u5 u6 0 0 0 0.015 0.0317 0.022 Control Objectives For simplicity, in the example presented in this section only the stability term is included since this example has been considered in order to illustrate the modelling principles and the general methodology proposed for in MPC control of water distribution networks. Thus, the cost function used in the optimization control problem has only the objective term (26) and its expression is: Hp−1 X V (k) = ∆u(k + i|k)T Wu ∆u(k + i|k) i=0 3.3.3 Scenarios and Simulations The implementation of this example has been made using Matlabr and for the simulation of this case study the quadprog2 solver has been used that attempts to solve the QP-problem associated to the MPC controller (see the Matlabr help for further details on the solver quadprog). 2 quadprog 24 Modelling and Decentralized MPC of Drinking Water Networks Profile sector of consume d1 0.014 0.013 3 demand forecasted [m /s] 0.012 0.011 0.01 0.009 0.008 0.007 0.006 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 10: Periodical profile of sector of consume d1 The scenario used has the prediction horizon Hp set as 24, which is equivalent to 24 hours (with the sampling time ∆t = 3600s), to take into account the current operational need as well as the transport delays between the supplies and the consumer sites. The scenario has a number of iterations that emulate the system behaviour of two days (48 hours). The weights for the optimization control problem have all the same value, set at one. The initial condition of the tanks is chosen as the 80% of their maximum range (see Table 4), while the initial position of the actuators is their lower bound (see Table 2 and 3). Table 4: Initial condition of the tanks Name Model Variable Initial Condition[m3 /h] d125PAL d110PAP d54REL x1 x2 x3 376 768 2480 The demands episode used in the example scenario is provided by AGBAR3 , the company that controls the water distribution in Barcelona and refers to the year 2007. The demands have a periodical profile like depicted in Figure 10, and the variables that represent the sectors of consume are listed in the Table 5. Table 5: Sectors of consume 3 Name Model Variable c125PAL c70PAL c110PAP c10COR d1 d2 d3 d4 AGBAR: SOCIEDAD GENERAL DE AGUAS DE BARCELONA, S.A. Section 3 Mathematical Modelling and MPC in Water Networks 25 Trajectory tank x 1 500 450 MATLAB min=150 max=470 volume level [m3/s] 400 350 300 250 200 150 100 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 11: Tank x1 trajectory 3.3.4 Results Due to the demonstrative aim of this example, it has been used only the outlined scenario to running the simulation. The optimal solutions are computed in 10.7080 seconds and the computational time refer to Matlabr implementation running on a Intelr Pentiumr Core Duo 2.4 Ghz machine. The optimization problem solver finds the optimal solution, for all the iteration, that minimizes the particular cost function, satisfying the mass balance equation at the network nodes, the physical constraints and the volume balance. Let kf in be the total number of iterations made in the simulation, hence the volume balance is defined as follows: kf in VT (0) + X kf in Vin (i) = VT (kf in ) + X Vout (i), (38) i=1 i=1 where Vin is the volume of water taken from the sources during the simulation, VT (0) is the initial volume of the tanks , Vout is the volume of water required by the sectors of consume during all the simulation and VT (kf in ) is the final volume of the tanks. The results of the predictive control application on the simplified network for the test scenario described beforehand are shown in the following figures. Figure 11 shows a deposit storage device behaviour that evolves regularly, as suit the operational needs with respect to the physical constraints. Figure 12 shows the behaviour of two inputs, and they evolve without abrupt changes like it is requested by the optimization problem. As the tanks, also the controlled actuators work within their range of operability, satisfying the physical usage limits. Trajectory actuator u Trajectory actuator u6 1 0.025 0.025 0.02 0.02 MATLAB min=0 max=1.297 0.01 0.005 0.01 0.005 0 0 −0.005 −0.005 −0.01 1 5 9 13 17 21 25 29 33 37 41 MATLAB min=0 max=0.022 0.015 flow value [m3/s] flow value [m3/s] 0.015 45 48 −0.01 1 5 9 13 time (samples) 17 21 25 29 33 37 41 45 48 time (samples) (a) Flow behaviour of actuator u1 (b) Flow behaviour of actuator u6 Figure 12: Actuator flows trajectories To validate some way the correct working of Matlabr simulation, the results are compared with 26 Modelling and Decentralized MPC of Drinking Water Networks results provided form another well tested informatic tool, called Plio4 , which minimizes a similar cost function and it is based on predictive control [10]. The results obtained from Plio simulation are made with the same scenario, parameters and set-up of initialization as Matlabr . Figure 13 shows the behaviour of the volume of deposit x2 resulting from the manipulated flows provided from the controlled actuators and the flow through the actuator u6 . The results are very similar to the Plio ones. PLIO vs MATLAB: trajectory tank x PLIO vs MATLAB: trajectory actuator u 2 1000 0.02 900 0.015 800 volume level [m3] flow value [m3/s] 6 0.025 MATLAB PLIO min=0 max=0.022 0.01 0.005 700 600 500 0 400 −0.005 −0.01 MATLAB PLIO min=375 max=960 1 5 9 13 17 21 25 29 33 37 41 45 300 48 1 5 9 13 17 21 time (samples) 25 29 33 37 41 45 48 time (samples) (a) Flow behaviour of actuator u6 (b) Volume behaviour of tank x2 Figure 13: Comparison within the tool Plio (red) and Matlabr (blue)-based approach The final interesting thing to observe is the behaviour of the cost function of both Plio and Matlabr simulation. Figure 14 shows how the controllers work almost always in the same way. PLIO vs MATLAB: cost function evaluation −5 9 x 10 8 7 MATLAB PLIO min V(k) 6 5 4 3 2 1 0 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 14: Cost function behaviour of tool Plio (red) and Matlabr (blue) 4 Barcelona Drinking Water Network: the Case Study This section proposes and describes a case study based on a real drinking water network derived from the Barcelona water distribution system. Using such a case study, the MPC and DMPC techniques, outlined and discussed in Section 2, are applied to the system and their associated advantages and problems are discussed through the analysis of different situations related to the system and the controller design. 4 Plio uses a GAM S r solver Section 4 Barcelona Drinking Water Network: the Case Study 27 Figure 15: AGBAR Control Centre 4.1 4.1.1 Case Study Description The Barcelona Drinking Water Network The city of Barcelona has a drinking water network that covers a territorial extension of 425 km2 , with a total length of 4470 km. It supplies 237,7 hm3 of drinkable water to a population of more than 2.8 million of inhabitants and it supplies water not only to Barcelona city but also to the metropolitan area. The network is managed by the company Aguas de Barcelona (AGBAR). Since 1976, the network has a centralized tele-control system, organized in a twolevel architecture. At the upper level, a supervisory control system installed in the control centre of AGBAR (see Figure 15) is in charge to optimally control the whole network by taking into account operational restrictions and consumer demands. This upper level provides the set-points for the lower-level control system. On the other hand, the lower level optimizes the pressure profile to minimize losses by leakage and provide sufficient pressure, e.g., for high rise buildings. The whole control system responds to changes in network topology (ruptures), typical daily/weekly profiles, as well as major changes in demand. The Barcelona water network is comprised of 200 sectors with approximately 400 control points. At present, the Barcelona information system receives, in real time, data from 200 control points, mainly through flow meters and a few pressure sensors. Sensor measurements are sent to the operational database of the telecontrol information system via telephone XTC network or GSM radio using the ModBus communication protocol [11]. The Sources Currently, Barcelona drinking water supply comes from three main sources: the water stored in the Sau and Susqueda reservoirs form the river Ter, that is carried to the purification plant in Cardedeu and later supplied to Barcelona through the Trinitat water tanks; the Llobregat River, whose waters are harnessed in the area close to Sant Joan Despı̀ to be later distributed through the urban piping network; the subsurface flow of the Llobregat River, a strategically important water reserve that can now be used (although in limited quantities in order to prevent overexploitation) [11]. Balance between supply and demand indicates that security margins are already below the desirable levels in Barcelona, like in all the Catalonia region, and is prone to a water deficit that is likely to become significant. The main problems affecting water supply within the area of 28 Modelling and Decentralized MPC of Drinking Water Networks Barcelona are related to the periodic droughts that deplete the water reserves from rivers and ironically, despite all these concerns surrounding droughts, the flooding, that has also become an increasing occurrence. Floods and droughts are a common characteristic of Mediterranean water cycles in the Barcelona region. Due to the climatological and hydrological peculiarities of Mediterranean ephemeral streams, the rivers suffer from extended periods of very low or non-existent flow occasionally altered by much shorter and violent flooding episodes. 4.1.2 Aggregated Case Study From the whole drinking water network of Barcelona, which has described beforehand, this report considers an aggregated version of this model that is a completely representative version of the entire network. Aggregated means that some sectors of the network are collected in a unique part, hence some tanks are collected in a single representative tank and the respective actuators in a single representative pump or valve. This operation has been made to simplify the complexity of the model in order to have a more manageable but at the same time significant system in which the control strategy of this study was apply. Hence, this representative network is selected to be the case study of this report, where a calibrated and validated model of the system, following the methodology explained in Section 3, is available as well as the demands data. According to this approach, the equivalent system obtained is presented in Figure 16. The Aggregated Barcelona drinking water network (ABN) is comprised of 17 tanks, 61 actuators divided in 26 pumps and 35 valves. Among of the pumps, five (bMS, bCast, bPousCAST, bPousE, bPousB) draw water from the underground sources and the rest are used to carry the water where an elevation difference between two elements of the network exists. Moreover, the network has 25 sectors of consume and 11 nodes. Both the demands episode and the calibration set-up of the network are provided by AGBAR. The demands episode used for the simulation of the ABN and the design of the strategy is based on forecasts demands data. All the physical parameters and ranges of tanks and actuators used for the calibration of this case study are reported in Appendix A. 4.2 Scenarios Currently, there is only one demands episode available from AGBAR, and it is comprised of the forecasts demands provided referred to the water consume of the year 2007. Using it, some scenarios are considered by modifying the simulation and the controller parameters setup. These parameters are the following: (i) the security volume level, denoted with β, in the objective term (24) of the cost function. The security levels considered are the following: – the 80% of the maximum capacity of the tanks xmax , that is denoted as µ. This level is purely illustrative to show the effectiveness of the MPC controller; – the minimal tank volumes requested to satisfy the demands, except for the tanks dPLANTA, d54REL and d10COR that are considered as sources because of their strategical location in the network and so the volumes have to be kept as big as possible. Let us call this set of values η. This second security level is more realistic and actual, because it is required to keep the volumes of the tanks as low as possible, satisfying at each step the demands. In this way the controller tries to satisfy the consumer demands using the minimal quantity of water. Less water means less costs and less usage of the actuators, that lead to less ruptures as well as less need of electricity. Both of these aspects have relevant weight in an economical consideration. All the specific security level values used in each scenario are listed in Table 6. Section 4 Barcelona Drinking Water Network: the Case Study 29 Figure 16: Barcelona Drinking Water Network: Aggregated case (ii) the weight matrices for the optimization control problem. Let (ω∆u , ωx ) be the couple of weights associated to the weight matrices used for the term (26) and for the term (24), respectively. The weight matrices are diagonal with the i-th diagonal element representing the specific weigh of the associated variables. As the weights referred to the state variables 30 Modelling and Decentralized MPC of Drinking Water Networks Table 6: Security volume levels used in the scenarios Name Model Variable β = µ [m3 ] β = η [m3 ] d125PAL d110PAP d115CAST d80GAVi80CAS85 dPLANTA d54REL d100FCE d10COR d200BLL d130BAR d176BARsud d70BBEsud d200ALT d100BLLnord d200BARnord d101MIR d120POM x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 356 768 3096 2600 11560 2480 52160 9396 5840 12800 828 78433 3392 30160 5840 3930 1428 172.40 399.83 256.01 693.10 14450 3100 18917 11745 1005.3 5449.3 333.266 26787 755.82 8113.5 1404.7 2070.5 160.54 or inputs are the same for each type of variables, instead of a matricial expression this couple of weights matrices are denoted with a couple of numbers that represent the weights used for the term (26) and the (24) respectively. According to this, in this case study are used two couple of weights that are (1, 1) and (0.1, 1) . These particular values of the weights are carefully selected, according to a previous study, based on trial and error tuning procedure [4]. According to this, the case study has the following scenarios: Scenario 1 : the security level is β = µ, the weights are (ω∆u , ωx ) = (1, 1); Scenario 2 : the security level is β = µ, the weights are (ω∆u , ωx ) = (0.1, 1); Scenario 3 : the security level is β = η, the weights are (ω∆u , ωx ) = (1, 1); Scenario 4 : the security level is β = η, the weights are (ω∆u , ωx ) = (0.1, 1). The duration of the simulations is selected as 48 samples or 48 hours (since ∆t=1h) as the demands have profiles that are periodic, so it is not necessary to have a large horizon of simulation. The initial conditions of the state variables are chosen to be the 50% of their maximum range, as reported in Table 7. All the used scenarios have the control and prediction horizons selected as 24 samples, what is equivalent to 24 hours, with a sampling time of 3600 seconds. This selection has been done according to the heuristic knowledge of the AGBAR control center and field tests made in their water network. 4.3 Centralized MPC The related system model of ABN has 17 state variables corresponding to the volumes in the 17 tanks, 61 control inputs corresponding to the manipulated actuator flows and 25 measured Section 4 Barcelona Drinking Water Network: the Case Study 31 Table 7: Initial condition of the ABN tanks Name Model Variable X (′) [m3 ] d125PAL d110PAP d115CAST d80GAVi80CAS85 dPLANTA d54REL d100FCE d10COR d200BLL d130BAR d176BARsud d70BBEsud d200ALT d100BLLnord d200BARnord d101MIR d120POM x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 222 480 1935 1625 7225 1550 32600 5873 3650 8000 517 49021 2120 18850 3650 2456 892 disturbances corresponding to the measurements of the consumers demands. Moreover, the model has 11 mass-balance constraints corresponding to the nodes and inequality constraints due to the ranges of both inputs and state variables. According to the modelling methodology proposed in Section 3, the tables in Appendix A summarize the description of the case study variables as well as their ranges while, in the Appendix B, are reported the model and the nodes equations. The implementation of CMPC controller on the ABN follows the modelling formalization made in Section 3. For this case study, the control objective relative to the economical cost is omitted, thus the cost function only take into account the terms (24) and (26). Simulations and Results Discussion The implementation of the ABN model has been made using Matlabr . Because of the complexity of the model, the simulation of this case of study took an elevated computation time, which make impossible to simulate the optimization control problem with the solver quadprog, as it has been done in the motivational example of Section 3. Hence, to solve the problem considering the computational time issue, the simulations have required a more sophisticated solver, and in this case study it is been used the Cplex5 solver under the Tomlabr6 platform. All the data that will be shown in the next sections are referred to this Matlabr implementation running on a Intelr CoreT M Duo 2.26 Ghz machine. For all the simulation the optimization problem solver finds the optimal solution, satisfying at each step the requests of water, the mass balance equations at the network nodes, the physical constraints and the volume balance (38). 5 Cplex is an optimization software package. Tomlabr Optimization Environment is a powerful optimization platform for solving applied optimization problems in Matlab. Tomlab/Cplex efficiently integrates the solver package Cplex with Matlab and Tomlab. 6 32 Modelling and Decentralized MPC of Drinking Water Networks Input Trajectory u21 Input Trajectory u22 0.8 2.5 2 1.5 1 u21 0.5 u21max 0 u min 45 4821 1 5 9 13 17 21 25 29 33 37 41 flow value [m3/s] 3 flow value [m /s] 3 0.6 0.4 u22 0.2 u22max 0 1 5 9 13 time (samples) Input Trajectory u23 25 29 33 37 41 u min 45 4822 Input Trajectory u24 4 3 2.5 flow value [m /s] 3 flow value [m /s] 21 time (samples) 3 2 1.5 1 u23 0.5 0 17 3 2 u24 1 u23max 1 5 9 13 17 21 25 29 33 time (samples) 37 41 u min 45 4823 u24max 0 1 5 9 13 17 21 25 29 33 37 41 u min 45 4824 time (samples) Figure 17: Flow behaviour for actuators considering Scenario 1. Results Scenario 1 and Scenario 2 The simulations of these scenarios are very useful to better understand the strategy of the MPC controller and to validate the strategy on a more complex network model. The duration of the simulations scenario has a CPU time on average of 207 seconds. Figure 17 shows the optimal control strategy for four actuators with weights setted to (1,1). As it can be seen, the actuators respect the range and the controller tries to keep them as constant as possible. The same thing happens even if the controller strategy has a lower weighted cost function for the term (26). Figure 18 shows this behaviour for four actuators, that have a smooth flow evolution flow except for the u48 that has a peak in the first iteration. The control strategy, moreover, follows with the expected behaviour the volume references of the 80% of the maximum states capacity in both the scenarios ( Figure 19 show this behaviour for the Scenario 2). Hence, an improvement performance on the inputs has be observed weighting more the objective of ∆U , according to the fact that the control strategy penalizes more the variation on the inputs, as depicted in Figure 20, but it is not significant. No important performance improvement with regard to the state variables is observed between the two scenarios (see Figure 21). According to this, there is no very significant improvement choosing one of the two weights on the ∆U term. Comparing Scenario 2 and Scenario 4 The duration of the simulations scenario has a CPU time on average of 211 seconds. Figure 22 shows the evolution of the reservoir x17 in Scenario 4 and can be observed that the evolution is what is expected from the controller action, since no extreme condition are reached while satisfying all the demands. The simulations of this Scenario 2 and Scenario 3 have a more relevant importance, due to its more realistic objectives. Like the Scenario 1 and Scenario 2, no significant performance improvement exists between the two different weights on the objective (26), but significant differences can be seen comparing the scenarios with a different security level. According to this, without lost of generality, from now on, the weights combination used will be (0.1, 1), making the comparison between different security level. Barcelona Drinking Water Network: the Case Study Input Trajectory u45 −3 flow value [m3/s] 5 x 10 Input Trajectory u46 4 3 2 u45 1 0 u45max 1 33 1.5 5 9 13 17 21 25 29 33 37 41 flow value [m3/s] Section 4 u min 45 4845 1 u46 0.5 u46max 0 1 5 9 13 time (samples) Input Trajectory u47 25 29 33 37 41 u min 45 4846 Input Trajectory u48 0.025 0.6 0.4 u 47 0.2 u47max 1 5 9 13 17 21 25 29 33 37 41 flow value [m3/s] 3 flow value [m /s] 21 time (samples) 0.8 0 17 u47min 45 48 0.02 0.015 0.01 u 48 0.005 0 u48max 1 5 9 13 time (samples) 17 21 25 29 33 37 41 u48min 45 48 time (samples) Figure 18: Flow behaviour for actuators considering Scenario 2. Normalized Tanks Trajectories 1 Normalized Volum Level 0.9 0.8 0.7 0.6 W∆u = 0.1 0.5 Wx = 1 0.4 0.3 0.2 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 19: Normalized Tank Trajectories Scenario 2. The comparison shows, according to the choice of the minimal level of security, the gain in terms of quantity of water used to satisfy the demands in the Scenario 4 with respect to the Scenario 2. In fact, keeping the volume capacities on the minimum level η allows a lower request of water from the sources consequently a lower usage of the actuators than the security level of Scenario 2 requires. Figures 23 and 24 show this gain on four actuators, while the respective level of security is followed, as expected, for both the scenarios. 4.4 Decentralized MPC The ABN case study of this report is a very complex network and, as it is a large-scale dynamically interconnected system with constraints, the complexity of on-line optimal control problem 34 Modelling and Decentralized MPC of Drinking Water Networks Normalized Input Trajectory: u46 0.6 0.5 0.5 Normalized Flow Normalized Flow Normalized Input Trajectory: u45 0.51 0.49 0.48 0.47 0.4 0.3 0.2 W =1 W =1 ∆u 0.46 1 5 9 13 17 21 25 29 33 37 ∆u W =0.1 ∆u 45 48 41 0.1 1 5 9 13 17 time (samples) 25 29 33 37 41 W =0.1 ∆u 45 48 time (samples) Normalized Input Trajectory: u47 Normalized Input Trajectory: u48 1 1 0.9 0.8 Normalized Flow Normalized Flow 21 0.8 0.7 0.6 0.6 0.4 0.2 W =1 W =1 ∆u ∆u 0.5 1 5 9 13 17 21 25 29 33 37 W =0.1 ∆u 45 48 41 0 1 5 9 13 time (samples) 17 21 25 29 33 37 41 W =0.1 ∆u 45 48 time (samples) Figure 20: Flow behaviour actuators: Scenario 1 (blue) and Scenario 2 (red). Normalized Tank Trajectory x1 Normalized Tank Trajectory x2 1 Noramlized Volume Noramlized Volume 1 0.9 0.8 W∆u=1 0.7 W∆u=0.1 0.6 0.5 1 5 9 13 17 21 25 29 33 37 41 0.9 0.8 W∆u=1 0.7 0.6 0.5 45 48 W∆u=0.1 1 5 9 13 time (samples) Normalized Tank Trajectory x3 25 29 33 37 41 45 48 Normalized Tank Trajectory x4 1 0.85 0.8 0.75 W∆u=1 0.7 W∆u=0.1 0.65 0.6 0.55 1 5 9 13 17 21 25 29 33 time (samples) 37 41 45 48 Noramlized Volume Noramlized Volume 21 time (samples) 0.9 0.5 17 0.9 0.8 W∆u=1 0.7 W∆u=0.1 0.6 0.5 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 21: Volume level evolution: Scenario 1 (blue) and Scenario 2(red). Section 4 Barcelona Drinking Water Network: the Case Study 35 Tank Trajectory x 17 1800 1600 x17 1200 3 Volume level [m ] 1400 x max 17 x min 1000 17 ηe 800 600 400 200 0 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 22: Volume level evolution tank x17 in Scenario 4. Normalized Input Trajectory u57 Normalized Input Trajectory u58 0.2 0.3 0.2 0.1 0 ηe 1 5 9 13 17 21 25 29 33 37 41 Flow value [m2/s] Flow value [m3/s] 0.4 0.15 0.1 0.05 ηe 0 80% 45 48 1 5 9 13 time (samples) Normalized Input Trajectory u59 25 29 33 37 41 80% 45 48 Normalized Input Trajectory u60 1 Flow value [m3/s] Flow value [m2/s] 21 time (samples) 1 0.8 0.6 0.4 0.2 0 17 ηe 1 5 9 13 17 21 25 29 time (samples) 33 37 41 80% 45 48 0.8 0.6 0.4 0.2 ηe 0 1 5 9 13 17 21 25 29 33 37 41 80% 45 48 time (samples) Figure 23: Flow behaviour actuators: comparison between Scenario 2 (red) and Scenario 1 (blue). could causes practical difficulties, i.e., it requires a significant computation load, like it has been outlined beforehand. Therefore, ordinary MPC technique based on centralized optimization problem may involve limits on its applicability on complex high dimensional systems. Thus, it becomes very important to apply on this large-scale system computationally efficient algorithms with the attractive less computational load. Like it has been discussed in Section 2, one way to cope with computational issues is to use decentralized control schemes. The main idea of the DMPC algorithm is that the on-line optimization of MPC for large-scale system can be converted into a small-scale optimization of more that one MPC controller. Hence, according to the distributed MPC approach reported in [1], for this case study a DMPC controller is implemented in order to make a decentralized control that takes into account the overall system dynamics, replaced by several simpler units, and on the other hand takes care about computational prob- 36 Modelling and Decentralized MPC of Drinking Water Networks Normalized Tank Trajectory x 17 0.9 0.8 Normalized Volume 0.7 x17, ηe 0.6 ηe x17, 80% 0.5 80% 0.4 0.3 0.2 0.1 0 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 24: Volume level evolution tank x17 in Scenario 2 (red) and in Scenario 4 (blue). lems. Even if this distributed approach described has been followed, due to the complexity of this case study and its interconnected elements, it has been not possible to partition the system in independent subsystems, but they exchange information through some actuators. Hence, it is been necessary to introduce an approach of hierarchical control. System Partitioning: Algorithm and Heuristics The decomposition of the ABN is carried out in two steps: first partitioning algorithm sensitivitybased [2] on the aggregated system is applied and then, to improve the partition obtained, some heuristic methods are used. The algorithm works with the following parameters: • the topology of the network, that are the matrices A, B and E of the model expression (20). Using this algorithm, it is necessary to provide these matrices in the form: B A 0 , Balgorithm = Aalgorithm = 0 0 E where E is the matrix of equality constraints of the expression (29) considering Hp = 1. • the usage of each actuators. This parameter is an optional parameter but it is very useful because it can provide a more accurate partition. Unfortunately, despite its utility, this parameter has a drawback which is the necessity of a previous simulation and computation of inputs behaviour. In this case study, to calculate the usage of the actuators is used a previous centralized optimal simulation and the relative value of the inputs that allows, making the average of the normalized value of the optimal inputs, to obtain the normalized total amount of water flowed through each actuator. These parameter offers to the algorithm a criteria to evaluate how important is a single actuator. • the threshold of the actuators magnitude. This parameter, together with the usage, is used by the algorithm in order to neglect same actuators that have less importance in the entire system behaviour. Once all the input parameters are provided to the algorithm, a trial and error procedure is made, changing to threshold value of the magnitude, in order to find an acceptable partition of the ABN case study. Obtaining a reasonable partition of the system, the second step is to improve the partition with heuristics. Due to the possibility of the algorithm to neglect actuators, it is necessary a heuristic procedure that makes this partition feasible with the approach followed in this case study, where any of the actuators can be considered as neglected. Finally a partition in three subsystems is found, as depicted in Figure 25. The subsystems are: Section 4 Barcelona Drinking Water Network: the Case Study 37 Table 8: Dimension comparison between the subsystems and the entire system Elements Subsystem 1 Subsystem 2 Subsystem 3 Entire System Tanks Actuators Demands Nodes 2 5 4 2 5 22 9 3 10 34 22 6 17 61 25 11 1. Subsystem 1: composed by tanks xi , i ∈ {1, 2}, inputs uj , j ∈ {1, 2, 3, 4, 5}, demands dl , l ∈ {1, 2, 3}, and nodes nq , q ∈ {1, 2}. It is represented in Figure 6 with red color. 2. Subsystem 2: composed by tanks xi , i ∈ {3, 4, 5, 12, 17}, inputs uj , j ∈ {7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 25, 26, 32, 34, 40, 41, 47, 48, 56, 60}, demands dl , l ∈ {4, 5, 6, 7, 15, 18, 22}, and nodes nq , q ∈ {3, 4, 7} with blue color. 3. Subsystem 3: composed by tanks xi , i ∈ {6, 7, 8, 9, 10, 11, 13, 14, 15, 16}, inputs uj , j ∈ {6, 17, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38, 39, 42, 43, 44, 45, 46, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61}, demands dl , l ∈ {8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 23, 24, 25}, and nodes nq , q ∈ {5, 6, 8, 9, 10, 11}. It is represented in Figure 25 with green color. Thus, taking into account all the actuators, the subsystems have to exchange informations from each others (the shared elements are represent with the colour violet in Figure 25 and in Figure 26). Hence, also in this situation, a heuristic procedure has been followed in order to establish a criteria for the control of these actuators. The shared elements (see Figure 26) are: Subsystem 2–Subsystem 3 : u18 , u20 , u21 , u32 , u34 , u40 , u47 , u56 , u60 ; Subsystem 1–Subsystem 3 : u6 . These actuators can have a entrance direction or an exiting direction according the considered subsystem. The input shared actuators in the i-th subsystem are considered inputs and they are controlled by the i-th MPC. Otherwise, the shared actuators that have an exiting direction from the i-th subsystem are considered as sectors of consume and, at each step, the value of the known demand is the optimal input calculated previously by another controller in which this element is a manipulated variable. According to these considerations, the total number of variables for each subsystem increases. Table 8 summarizes the amount of variables of each subsystem as well as of the entire model. This heuristic procedure makes necessary to consider the distributed DMPC with a hierarchical issue, as the control of the subsystems has to be executed with a preestablished order. The order of the DMPC execution is in the following way: 1. MPC Subsystem 3. It needs, for the first step, the initial values for the shared elements u18 , u32 , u34 , u40 , u47 , u56 , u60 , that are considered as demands, values that in the next iterations will be provided by the optimal inputs calculated by the MPC of Subsystem 2. These values are given by the equivalent simulation of CMPC. The MPC of this subsystem at each step generates the optimal inputs that will represent the value of known disturbances u20 , u21 , u6 for the Subsystem 2 and Subsystem 1. 38 Modelling and Decentralized MPC of Drinking Water Networks Figure 25: Partition of ABN 2. MPC Subsystem 2. It considers as demands the elements u20 , u21 . At each step, the value of these elements are provided by the previous execution of the MPC of the Subsystem 3. Moreover, this MPC provides for the next step the values for the actuators u18 , u32 , u34 , u40 , u47 , u56 , u60 , that are considered as demands in the Subsystem 3. Section 4 Barcelona Drinking Water Network: the Case Study 39 Subsystem 1 u6 Subsystem 3 u 20 u 21 Subsystem 2 u 18 u 32 u 34 u 40 u 47 u 56 u 60 Figure 26: Shared actuators between Subsystem 1, Subsystem 2 and Subsystem 3 3. MPC Subsystem 1. It considers the element u6 like demand. At each step, the value of this element is provided by the previous execution of the MPC of Subsystem 3. 4.5 Simulation of Scenarios The implementation of the DMPC controller has been made using Matlabr . In order to compare the computational load with the CMPC, it is been used the Cplex solver under the Tomlabr platform. All the data that will be shown from now on are referred to this Matlabr implementation running on a Intelr CoreT M Duo 2.26 Ghz machine. For all the simulations the optimization problem solver finds the optimal solution that satisfy the request of water, the mass balance equations at the network nodes, the physical constraints and the volume balance (38). 4.5.1 Comparison with the CMPC To evaluate the strategy of the DMPC controller against the CMPC, the behaviour of the manipulated inputs, the state variables, as well as the cost function evolution are compared for each scenario. In Figures 27 and 28 are reported all the tanks trajectories obtained with the Scenario 2 (in blue the Centralized behaviour and in red the Decentralized one). As depicted in these figures, even if there is an inevitable loss of performances in the DMPC framework. The gap with the optimal solution of the CMPC is not significant for the states (in some reservoirs the evolution is similar), while for the manipulated inputs, this loss of performance is relevant (see Figure 30). 4.5.2 Main Results To compare the strategy of the DMPC controller against the CMPC over the simulation scenarios, values related to the control objectives were calculated for each scenario, as well as the computational times. Moreover, in order to have a more exhaustive comparison, an economical evaluation has been made even if both the controllers do not minimize the term referred to 40 Modelling and Decentralized MPC of Drinking Water Networks Tank Trajectory x1 Tank Trajectory x2 1000 Volume level [m3] 3 Volume level [m ] 500 400 300 Centralized MPC x max 1 200 x min 800 600 Centralized MPC x max 2 400 x min 2 1 100 1 5 9 13 17 21 25 29 33 time (samples) 80% 37 Decentralized 41 45 48 MPC 200 1 5 9 13 21 25 29 33 time (samples) Tank Trajectory x3 Tank Trajectory x4 4000 3 3 Volume level [m ] 4000 Volume level [m ] 17 80% MPC 37 Decentralized 41 45 48 3000 2000 Centralized MPC x3 max 1000 0 x3 min 1 5 9 13 17 21 25 29 33 time samples 3000 2000 0 37 80% 41 45 48 Decentralized MPC Centralized MPC x4max 1000 x4min 1 5 9 13 17 21 25 29 33 time (samples) 37 80% 41 45 48 Decentralized MPC (a) Tank Trajectory x5 Tank Trajectory x6 3 Volume level [m ] 3500 3 Volume level [m ] 15000 10000 Centralized MPC x5max 5000 x6min 1 5 9 13 17 21 25 29 33 time (samples) Centralized MPC x6max 1500 1000 x6min 1 5 9 13 17 21 25 29 33 time (samples) 37 80% 41 45 48 Decentralized MPC Tank Trajectory x8 12000 3 3 Volume level [m ] x 10 5 4 Centralized MPC x7max 3 2 x7min 1 2000 500 80% 41 45 48 Decentralized MPC 6 1 2500 Tank Trajectory x7 4 7 37 Volume level [m ] 0 3000 5 9 13 17 21 25 29 time (samples) 33 37 80% 41 45 48 Decentralized MPC 10000 8000 6000 Centralized MPC x8max 4000 2000 0 x8min 1 5 9 13 17 21 25 29 time (samples) 33 37 80% 41 45 48 Decentralized MPC (b) Figure 27: Tanks Trajectories Scenario 2 form x1 to x8 : DMPC Vs CMPC Section 4 Barcelona Drinking Water Network: the Case Study 41 Tank Trajectory x10 16000 7000 14000 Volume level [m ] 6000 3 3 Volume level [m ] Tank Trajectory x9 8000 5000 4000 3000 Centralized MPC x max 2000 9 1000 0 12000 10000 8000 6000 Centralized MPC x max 10 4000 x min x min 9 1 5 9 13 17 21 25 29 33 time (samples) 10 80% 37 Decentralized 41 45 48 MPC 2000 1 5 9 13 17 21 25 29 33 37 time (samples) Tank Trajectory x11 Tank Trajectory x12 4 1200 10 80% 41 45 48 Decentralized MPC x 10 3 Volume level [m ] 3 Volume level [m ] 9 1000 800 600 Centralized MPC x11max 400 1 5 9 13 17 21 25 29 33 time (samples) 7 6 5 Centralized MPC x12max 4 3 x11min 200 8 80% 37 Decentralized 41 45 48 MPC 2 x12min 1 5 9 13 17 21 25 29 33 time (samples) 37 80% 41 45 48 Decentralized MPC (a) Tank Trajectory x13 x 10 3 Volume level [m ] 3 Volume level [m ] 4 4000 3000 2000 Centralized MPC x13max 1000 0 Tank Trajectory x14 4 5000 x13min 1 5 9 13 17 21 25 29 33 time (samples) 3 2 0 37 80% 41 45 48 Decentralized MPC Centralized MPC x14max 1 x14min 0 10 4080% 50 Decentralized MPC 30 time (samples) Tank Trajectory x15 Tank Trajectory x16 5000 3 3 Volume level [m ] 8000 Volume level [m ] 20 6000 4000 Centralized MPC x15max 2000 0 x15min 1 5 9 13 17 21 25 29 time (samples) 33 37 80% 41 45 48 Decentralized MPC 4000 3000 Centralized MPC x16max 2000 1000 x16min 1 5 9 13 17 21 25 29 time (samples) 33 37 80% 41 45 48 Decentralized MPC (b) Figure 28: Tanks Trajectories Scenario 2 form x9 to x16 : DMPC Vs CMPC 42 Modelling and Decentralized MPC of Drinking Water Networks Tank Trajectory x17 1800 1600 1400 3 Volume level [m ] 1200 Centralized MPC x max 1000 17 x min 17 800 80% Decentralized MPC 600 400 200 0 1 5 9 13 17 21 25 29 33 37 41 45 48 time (samples) Figure 29: Tanks Trajectories Scenario 2 x16 : DMPC Vs CMPC. Input Trajectory u21 Input Trajectory u22 0.8 3 2.5 Flow value [m /s] 3 Flow value [m /s] 3 2 1.5 1 Centralized MPC u21max 0.5 0.6 0.4 u21min 0 5 10 15 20 25 30 35 Centralized MPC u22max 0.2 0 40Decentralized 45 MPC u22min 1 5 9 time (samples) 21 25 29 33 37 Decentralized 41 45 48 MPC Input Trajectory u24 4 3 3 2.5 Flow value [m /s] 3 Flow value [m /s] 17 time (samples) Input Trajectory u23 2 1.5 1 Centralized MPC u23max 0.5 0 13 u23min 1 5 9 13 17 21 25 29 time (samples) 33 MPC 37 Decentralized 41 45 48 3 2 Centralized MPC u24max 1 0 u24min 1 5 9 13 17 21 25 29 33 MPC 37 Decentralized 41 45 48 time (samples) Figure 30: Actuators Behaviour Scenario 2: DMPC Vs CMPC the economical cost in optimization problem. This economical evaluation has been made using a water network simulation environment, developed in Simulinkr, that allows to evaluate the performances of water network controllers as well as the economical cost of the strategy used [4]. The main obtained results, derived from the numerical results summarized in Table 10 and 9, are now discussed. In the first column the scenarios used for each simulation are reported. The more important result, according to the reason of design an DMPC controller for the complex system, is the computational time, as almost always the DMPC controller execute the control problem in about half time than the CMPC controller with a suboptimality that is about 2%. Another parameter investigated is the maximum time that the solver has spent to make a single iteration. Also in this case, as the computational time, the DMPC controller executes, in the worst case, a single iteration in a time that is almost always a half lower then the CMPC one. About in the economical cost, as the suboptimality is about the 2% for all the scenarios, the gap between CMPC and DMPC is not relevant. Thus, according to the DMPC approach, despite Section 5 Concluding Remarks 43 Table 9: Time Results obtained for the considered control objective and scenarios Scenario Scenario Scenario Scenario Scenario CENTRALIZED MPC Total time Max time [s] [s] 1 2 3 4 207.12 206.27 210.57 211.18 6.0866 7.0348 4.9057 5.5524 DECENTRALIZED MPC Total time Max time [s] [s] 128.2828 130.888 125.5362 126.0275 3.2086 3.3209 4.7260 2.8945 Table 10: Cost Results obtained for the considered control objective and scenarios Scenario Scenario Scenario Scenario Scenario 1 2 3 4 CENTRALIZED MPC P fi Cost [Euro] DECENTRALIZED MPC P fi Cost [Euro] 58.0787 57.5404 74.0044 74.3957 59.9548 59.1040 76.1662 78.4981 220080 219730 197850 199120 223490 223900 220210 200430 the decentralized controller has the disadvantage of inevitably leading to a loss of performance, in this case study this disadvantage in terms of cost function and economical costs has not a relevant impact compared to the advantages that the DMPC strategy have in terms of time and computational load. 5 Concluding Remarks This section summarizes the main contributions done and proposes future ways to continue the line of the report. 5.1 Contributions In this work, the basic idea was the design of MPC strategies for water systems able to calculate in a predictive way the ammissible manipulated inputs, provided from the actuators, in order to achive the best admisible solution for the flow management of a network. The main contributions of the report are: (i) A modelling methodology was developed for modelling of water networks. The proposed methodology allows to represent each constitutive element of the network in the MPC framework. (ii) Once the modelling formalization was provided, a predictive control of water network has been proposed. This fact allows to compute the global optimal solution of the associated optimization problem when a QP-problem is stated. Before starting with the complex process of modelling directly over the case study, a demonstrative example, comprised of each constitutive elements of water networks, was implemented in order to show the effectiveness of the approach used. (iii) A suboptimal DMPC strategy was derived for reducing the computation time taken by the solution of the MPC associated to the optimization problem. The strategy follows a distributed approach and considers the addition of heuristcs procedures. 44 Modelling and Decentralized MPC of Drinking Water Networks (iv) A comparative study between the MPC and DMPC control techniques and methodology mentioned beforehand was developed on a particular water network, and this system, used as case study, was an aggregated version af the entire Barcelona water nework. This study has shown the advatages and disadvatages of both the strategies on control of complex water networks. 5.2 Future Work To continue the research proposed in this report, some ideas are outlined below. • The implementation of control strategy do not consider the term referred to the economical cost in the cost function of the associated optimal control problem. Thus, a further development would be to add economical penalization in the multi-objective control problem, such this is a relevant topic in water networks management. • Another important situation that should be investigated is related with considering the tanks volume level references as dynamically varied values. The volume of the tanks should follow a forecasts profile. The study and the generation of these variable references, that is basically a prediction of which should be the tank capacity at each time in order to completely fulfilled the request of water, is currently under development. • The implementation of a suitable partitioning algorithm, inspired on the modelling formalization developed in this report for water network, should be done. It should take into account automatically the heuristic procedures considered in this report, as well as the hierarchical issue in the DMPC approach. Moreover, it could be allowed the possibility of subsystems overlapping. • The modelling formalization of water networks made in this report should be extended considering non-linar dynamics and the network pressure issues. The optimization model should contain a hydraulic model of the network, which would make possible to test the effect produced by control action (flow through the actuators) on the network in terms of pressure. Finally, a further extension of the aggregated model is at the moment under developing, considering the entire drinking water network of Barcelona. Figure 31 shows the whole Barcelona drinking water network. Considering this new system topology, an improvement of the methodologies and techniques proposed on this report could provide better results than the implementation with the older aggregated version. Section 5 Concluding Remarks Figure 31: Barcelona Drinking Water Network . 45 46 Modelling and Decentralized MPC of Drinking Water Networks A Parameters of the ABN Case Study Table 11: Sectors of consume Name c125PAL c110PAP c100LLO c70LLO c140LLO c176BARsud c100FCE c70FLL c100BLLcente c200ALT c100BLLnord c200BARnord c135SCG Model Variable d1 d3 d5 d7 d9 d11 d13 d15 d17 d19 d21 d23 d25 Name c70PAL c115CAST dc80GAVI80CAS c200BLL c10COR c130BAR c100BLLsud c200BARsc c70BBEsud c176BARcentre c120POM c101MIR Model Variable d2 d4 d6 d8 d10 d12 d14 d16 d18 d20 d22 d24 Table 12: Tanks of the network and their lower and upper bounds 1 Name Model Variable Min Volume [m3 ] Max Volume [m3 ] d125PAL d110PAP d115CAST d80GAVi80CAS85 dPLANTA d54REL d100FCE d10COR d200BLL d130BAR d176BARsud d70BBEsud d200ALT d100BLLnord d200BARnord d101MIR d120POM x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 150 375 198 480 0 800 16500 0 700 3840 200 22450 500 6000 700 1403 150 445 960 3870 3250 14450 3100 65200 11745 7300 16000 1035 98041 4240 37700 7300 4912 1785 unlimited valve; the limit for each valve is the maximum quantity of water the associated source can provide. unlimited valves, so they can have a huge pyhsical flow. 3 This values has not been provided by AGBAR. 2 Section A Parameters of the ABN Case Study 47 Table 13: Values and their lower and upper bounds Name Model Variable Max [m3 /s] Flow VALVA VALVA47 VALVA308 VCA VSJD VALVA50 VE VZF VCO VT VP VCOA VMC VALVA56 VBNC VALVA54 VALVA55 VALVA312 u1 u6 u12 u14 u18 u26 u30 u32 u37 u40 u43 u46 u49 u51 u54 u57 u59 u61 1,2971 1,2 5,341 0,065 0,75 0,1594 0,45 0,35 0,5249 1,3 0,15 1,35 0,24 1,7 0,392 1,7361 0,1852 6,276841 Name Model Variable Max [m3 /s] VALVA45 VCR VALVA48 VALVA309 VALVA64 VF VRM VB VS VCT VBSLL VPSJ VALVA60 VALVA57 VALVA53 VALVA61 VCON u2 u8 u13 u16 u25 u28 u31 u35 u39 u41 u44 u47 u50 u52 u56 u58 u60 0,05 0,03 0,22 2.51 15 2 0,29 3,5 0,15 1,2 1,2 0,15 0,55 152 0,4051 1,5001 152 0,035 Flow Table 14: Pumps and their lower and upper bounds . Name Model Variable Max [m3 /s] CPIV CPII bPousCAST CB bPousE CPLANTA50 CE CC100 CF200 CC70 CCO CPR CRO u3 u5 u9 u11 u17 u20 u22 u24 u29 u34 u38 u45 u53 0,0317 0,0220 0,0056 0,0500 0,2300 1,8000 0,6200 3,1000 0,2600 0,4000 0,8500 0,0053 0,1342 Flow Name Model Variable Max [m3 /s] Flow bMS bCast CCA CPLANTA70 CGIV PLANTA10 CRE CC50 CC130 CF176 CA CMO bPousB u4 u7 u10 u15 u19 u21 u23 u27 u33 u36 u42 u48 u55 0,0150 0,000013 0,1200 0,2900 0,0108 2,9000 3,0000 0,6000 0,09 0,1563 0,425 0,025 0,38 48 Modelling and Decentralized MPC of Drinking Water Networks B Aggregated Barcelona Drinking Water Network Model Equations TANK 1 x1 (k + 1) = x1 (k) + ∆t(u3 (k) + u4 (k) − d1 (k)) (39) x2 (k + 1) = x2 (k) + ∆t(u5 (k) − d3 (k)) (40) x3 (k + 1) = x3 (k) + ∆t(u7 (k) + u10 (k) + u11 (k) − u8 (k) − d4 (k)) (41) TANK 2 TANK 3 TANK 4 x4 (k + 1) =x4 (k) + ∆t(u8 (k) + u9 (k) + u13 (k) + u19 (k) − u10 (k) − u11 (k) − u14 (k) − d6 (k)) (42) TANK 5 x5 (k + 1) = x5 (k) + ∆t(u12 (k) + u16 (k) − u15 (k) − u20 (k) − u21 (k)) (43) x6 (k + 1) = x6 (k) + ∆t(u6 (k) + u20 (k) + u27 (k) − u23 (k)) (44) x7 (k + 1) = x7 (k) + ∆t(u17 (k) + u23 (k) + u24 (k) + u37 (k) − u18 (k)) (45) x8 (k + 1) = x8 (k) + ∆t(u21 (k) − u24 (k) − u27 (k) − u33 (k) − u34 (k) − d10 (k)) (46) x9 (k + 1) = x9 (k) + ∆t(u29 (k) + u33 (k) − u28 (k) − d8 (k)) (47) TANK 6 TANK 7 TANK 8 TANK 9 TANK 10 x10 (k + 1) =x10 (k) + ∆t(u30 (k) + u38 (k) + u45 (k) + u51 (k) + u52 (k) − u29 (k) − u36 (k) − u37 (k) − u42 − d12 (k)) (48) x11 (k + 1) = x11 (k) + ∆t(u35 (k) + u36 (k) − d11 (k)) (49) x12 (k + 1) = x12 (k) + ∆t(u41 (k) + u47 (k) + u56 (k) − u48 (k) − d18 (k)) (50) x13 (k + 1) = x13 (k) + ∆t(u42 (k) − u44 (k) − d19 (k)) (51) TANK 11 TANK 12 TANK 13 Section B Aggregated Barcelona Drinking Water Network Model Equations 49 TANK 14 x14 (k + 1) =x14 (k) + ∆t(u55 (k) + u57 (k) + u58 (k) − u46 (k) − u53 (k) − u54 (k) − d21 (k)) (52) TANK 15 x15 (k + 1) = x15 (k) + ∆t(u49 (k) + u50 (k) + u53 (k) − d23 (k)) (53) x16 (k + 1) = x16 (k) + ∆t(u54 (k) + u59 (k) − d24 (k)) (54) x17 (k + 1) = x17 (k) + ∆t(u48 (k) + u60 (k) − d22 (k)) (55) u1 (k) = u2 (k) + u5 (k) + u6 (k) (56) u2 (k) = u3 (k) + d2 (k) (57) u18 (k) = u13 (k) + d5 (k) (58) u14 (k) + u15 (k) + u26 (k) = u19 (k) + u25 (k) + d7 k (59) u22 (k) = u30 (k) + d9 (k) (60) u31 (k) = u39 (k) + u40 (k) + d14 (k) (61) u25 (k) + u32 (k) + u34 (k) + u40 (k) = u26 (k) + u41 (k) + d15 (k) (62) u39 (k) + u46 (k) = u45 (k) + u47 (k) + d17 k (63) u28 (k) + u49 (k) = u35 (k) + u43 (k) + u43 (k) + d16 (k) (64) TANK 16 TANK 17 NODE 1 NODE 2 NODE 3 NODE 4 NODE 5 NODE 6 NODE 7 NODE 8 NODE 9 50 REFERENCES NODE 10 u43 (k) + u44 (k) = d20 (k) (65) NODE 11 u61 (k) =u50 (k) + u51 (k) + u52 (k) + u56 (k) + u57 (k) + u58 (k) + u59 (k) + u60 (k) + d25 k (66) References [1] A. Alessio and A. Bemporad. Decentralized model predictive control of constrained linear systems. In Proceedings of the European Control Conference, Kos, Greek, pages 2813–2818, 2007. [2] Davide Barcelli. Decomposizione ottima e controllo predittivo distribuito della rete idrica di barcellona. Master’s thesis, Università di Siena, Facoltà di Ingegneria Informatica, Technical University of Catalonia, 2008. [3] M.A. Brdys and B. Ulanicki. Operational control of water systems: structures, algorithms, and applications. Prentice Hall International, UK, 1994. [4] Elena Caini. Sviluppo di un tool di simulazione per il controllo predittivo di reti idriche per il trasporto di acqua potabile. Master’s thesis, Università di Siena, Facoltà di Ingegneria Informatica, Technical University of Catalonia, 2009. [5] E. F. Camacho and C. Bourdons. Model Predictive Control. Springer, Great Britain, 2004. [6] G. Cembrano, J. Quevedo, V. Puig, R. Pèrez, J. Figueras, G. Ramòn, P. Rodrı̀guez, G. Barnet, M. Casas, J. M. Verdejo, A. Gil, J. Martı̀, and H. König. Predictive optimal control of water supply and distribution in Santiago-Chile. 2005. [7] G. Cembrano, G. Wells, J. Quevedo, R. Pèrez, and R. Argelaguet. Optimal control of a water distribution network in a supervisory control system. Control Engineering Pratice, 8:1177–1188, 2000. [8] R.G. Cubero. Neural networks for water demand time series forecasting. In Artificial Neural Networks, Proceedings of the International Workshop IWANN, volume 91, pages 453–460. Springer, 1991. [9] Z. Duan, J. Wang, G. Chen, and L. Huang. Stability analysis and decentralized control of a class of complex dynamical network. Automatica, 44:1028–1035, 2008. [10] J. Figueras, G. Cembrano, V. Puig, J. Quevedo, M. Salamero, and J. Mart. Coral off-line: an object-oriented tool for optimal control of sewer networks. In Proceedings on IEEE International Symposium on computer aided control system design, volume 1, pages 224– 229, 2002. [11] Sociedad general de Agua de Barcelona S.A. (AGBAR). Sistema Automàtico de Explotaciòn (SAE). Passeig de Sant Joan, 39-43, March 1999. [12] T. Keviczky, F. Borrelli, and G. J. Balas. A study on decentralized receding horizon control of decoupled systems. In Proceedings of American Control Conference, volume 6, 2004. REFERENCES 51 [13] J. Lopez, G. Cembrano, and F. Cellier. Time series prediction using fuzzy inductive reasoning. In Proceedings of the European simulation multiconference, ESM, volume 96, pages 765–770, San Diego: SCS International, 1996. [14] J.M. Maciejowski. Predictive Control with Constraints. Prentice Hall, Great Britain, 2002. [15] K. Miettinen. Nonlinear multiobjective optimization. Springer, 1999. [16] T. Nowicki, M. S. Squillante, and C. W. Wu. Fundamentals of dynamic decentralized optimization in automatic computing systems. Self-Star Properties in Complex Information Systems, 2005. [17] C. Ocampo-Martinez, A. Bemporad, A. Ingimundarson, and V. Puig. On hybrid model predictive control of sewer networks. In R. Sanchez-Peña, V. Puig, and J. Quevedo, editors, Identification & Control: The gap between theory and practice. Springer-Verlag, 2007. [18] Carlos Ocampo-Martinez. Model Predictive Control of Complex Systems including Fault Tolerance Capabilities: Application to Sewer Networks. PhD thesis, Automatic Control Department (ESAII), Technical University of Catalonia, 2007. 52 REFERENCES IRI reports This report is in the series of IRI technical reports. All IRI technical reports are available for download at the IRI website http://www-iri.upc.edu.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement