# Advanced Control and Fault Detection Strategies for District Heating and Cooling Systems--A Review
## 2 State of the Art Control Strategies for District Heating (DH) and District Cooling (DC) Systems
### Heat/Cold Load Forecasting in DHC Networks  
To satisfy the users' comfort, the heat load must be met almost instantaneously with the consequence that DHC systems are usually demand-driven. Since the heat load of the entire DHC system is the result of the aggregation of the heat demand of every single building plus the network distribution thermal losses, it is affected by less variability concerning the heating/cooling demand of every single building. Nevertheless, it is characterized by a seasonal variation, weekly variation between workdays and weekends and a daily one. For instance, the daily and weekly variations for the heat load of a DH system located in Northern Italy during two consecutive weeks in the winter period are shown in Figure 3. Both variations are a consequence of the collective social behavior, such as harmonized working hours, leading to the result that the heat load during weekend days is lower with respect to one of the weekdays. The daily load variation is characterized by two peaks: one in the morning and one in the afternoon. Nevertheless, the night setback control used to cover the space heating (SH) demand makes the morning peak higher than the afternoon one. It aims to shut down the heating system or adopt a lower room temperature setpoint during the night with a time-clock operation that can have the same settings in several buildings. When the DH substation starts its operation, the superposition of two contemporary side effects occurs: a very high flow rate on the primary side, since the valve is fully opened to meet the temperature set point at the secondary circuit, and a peak in the differential temperature on the primary side, because even if the supply temperature on the secondary side increases, the return temperature is still shallow until the building heating system reaches a more steady-state condition. Recent advances in the DH load forecast have been investigated and tested in two recent closed EU H2020 projects: STORM [12] and OPTi [33]. Different techniques from simple linear regression to machine learning (ML) algorithms have been investigated and applied to the demo case of Rottne (peak capacity of about 2.5 MW) in the framework of the STORM project. The results show that monitored historical data are not always the best option to develop such models. For instance, the weather forecast could tend towards overestimating the outdoor temperature with respect to the measured one in a location [34]; therefore, since the weather forecast is then used as input for making predictions, it is important to use historical weather forecast data to build data-driven models to forecast the DH/DC loads. A feed-forward neural network with a single hidden layer slightly outperforms an extremely randomized trees model in [PERSON] et al. (2017) [34] with online periodic training and day ahead forecast once per day achieving the lowest mean absolute percentage error (MAPE) equal to 6.84% over one month. In [35], the same authors presented a different strategy by assessing on the same training and testing dataset of 27 months the performance of different eight data-driven models, based on linear regression (LR), extremely randomized trees (ERT) regression, feed-forward deep ANN (with two hidden layers, each with 12 neurons and the ReLu activation function) and support vector machine (SVM), and developing an expert advice prediction tool that can track the best of these different data-driven models. The results showed that ANNs and ETRs are slightly better than the SVMs, achieving a MAPE of about 11.6, 12.4 and 14.7%, respectively, while the one based on LR is the worst model with a MAPE of 17.3% over a test period of seven months. The expert prediction system tracks very closely the ANN model, but it results in being more robust and accurate in the load prediction during the mid-season period.