Computer-based simulation models are convenient and generally-accepted planning and design tools for water resources systems. Engineers and scientists applying these tools are frequently faced with complex optimization problems that often consist of conflicting objectives. As computational power becomes increasingly cheap, we see the application of models to a growing range of (complex) problems. At the same time, numerous problem-independent single and multi-objective optimization algorithms have been published over the last few years. However, just as a single model cannot fit all applications in the water and wastewater sector, there is no single optimization method that is suitable for all problems water professionals are confronted with. Coming from this finding, our aim was the development of a generic framework that facilitates a problem driven selection of appropriate models and optimization algorithms for the simulation based optimization of water resources systems.
To achieve this goal and to guarantee a maximum flexibility in the selection of used simulators and applied optimization algorithms, our framework is divided into three independent parts. The selector part (the optimization algorithms), the variator part (the problem specific parts – mainly interfaces to simulators) and the monitor and control part including a graphical user interface (GUI). The entire framework is realized as a Microsoft .NET Framework application.
The selector part is divided into two modules providing different methodologies to implement optimization algorithms. On the one hand, a couple of single and multi-objective optimization algorithms are implemented directly into our framework, representing a sample of local and global methods. Each algorithm is coded within its own class library, which is linked via the strategy pattern with the monitor and control part on demand. This allows for an easy implementation of new algorithms or update of existing ones. On the other hand, we have decided to support the PISA standard. PISA is a platform and programming language independent interface for search algorithms that gives our framework access to numerous state-of-the-art search algorithms.
BlueM.Opt includes a flexible interface class for simulation engines, which allows for easy and straight forward integration of simulators into the developed framework. For the integration of a simulator compiled as Dynamic Link Library (DLL) a specific subclass (Wrapper), which inherits most of its attributes and behaviors from the provided parent class, has to be added. This wrapper allows also the linkage of non .NET coded simulators (e.g. FORTRAN). For the integration of a simulator that is compiled as an executable image (EXE), the framework supplies a method that only requires the definition of the path and command line arguments of the used simulator.
The connection between the simulator and its problem specific dataset and the optimization algorithms, namely the definition of the input variables to be variated, the objective functions to be calculated, and the constrains to be considered, is realized with a set of universal text-based definition files. The only requirement for this approach is that the simulators’ input files are also based on a text file format.
We also have developed a parallel computing approach for population based optimization algorithms that efficiently parallelize the objective function evaluation task and minimize the required time for optimization considerably. In the simulation based optimization of water resources systems the simulation is the most time consuming process in the optimization loop. Consequentially, simulations should be performed in parallel if possible. Depending on the available hardware we provide two approaches. For using a single multi core machine, we have developed a multithreading approach based on the Microsoft .NET Framework thread pool. If a heterogeneous PC cluster is available, we provide a scheduling tool for distributed computing based on a master-slave approach.
We developed an advanced GUI to control the optimization, monitor its progress and to analyse, manage and present the optimization results. Furthermore, tools for multidimensional sensitivity analysis and a sophisticated diagram tool for post processing of optimization results are included. Moreover, we implemented numerous methods that provide access to a multitude of ASCII and binary based time series and simulation result formats, thus making these formats accessible for objective function calculation.
BlueM.Opt has successfully been applied to several case studies in different sectors of water resources management, e.g. for water quality oriented optimization of urban drainage systems, optimization of rule-based control of urban drainage systems, auto calibration of sewer (quantity and quality) and rainfall runoff models, optimization of flood control strategies regarding location, type and retention capacity of measures, peak discharge and cost minimization, and optimization of reservoir operating rules regarding ecological performance (minimization of hydrologic alteration), water supply capacity and flood retention capacity.
BlueM.Opt is freeware and partly open source on demand for research proposes only.