This page has been planned for future development.
In the mean time, refer to the Source User Guide for details on working with Source.
To become part of a dynamic community, visit the Source Modelling Community website here.
...
Overview
Description and rationale
Insight is eWater’s multiple-objective optimisation decision support framework. This framework allows for more efficient evaluation of planning options than the traditional manual trial and error approach that modellers often use. The optimisation tool enables a more thorough examination of potential planning scenarios and the resulting trade-offs between desired outcomes.
Insight allows the modeller to define which parameters are to be considered in the optimisation framework. These parameters are called "decision variables". For example, the requirement might be to develop operating rules for a new desalination plant that meet the objective of minimising cost, or to identify what the optimal operating rules are for transferring water between storages to meet supply security objectives and minimising environmental impacts. By creating decision variables for these operating rules, the optimiser will try hundreds or thousands of different operating rules based on the chosen decision variables and determine how the rules perform against a set of user-specified objectives.
Insight links a multi-objective optimiser (Deb et al, 2002) to Source’s external interface and optimises Source models by running them up to thousands of times with different parameter values.
For example, if the requirement is to minimise both costs and adverse environmental impacts, then Insight will search for options which express the trade-offs between these two competing objectives. Each solution has different cost and performance outcomes. Insight does not make any judgements about how important each of the impact statistics are, instead it searches a range of options which have different types of impacts. Insight will only discard an option, ‘A’, if it is clearly inferior to an alternative option, ‘B’. That is, if ‘B’ performs better than ‘A’ on at least one of the statistics and there is no statistic where ‘A’ performs better than ‘B’. At the end of its run, Insight will produce a range of optimal solutions (the Pareto Front). Figure 1 shows an example (after Blackmore et al, 2009).
The optimisation results can be examined via a number of graphical tools to help the planners consider the trade-offs between objectives and the relationship between decisions and objectives.
Figure 1. Example Pareto Front diagram (after Blackmore et al, 2009)
Insight operates at the spatial and temporal scales of Source models. It runs Source models multiple times to search for optimal solutions.
Principal developer
The multi-objective optimiser used in Insight was developed by Deb et al (2002). It was originally adapted for use with Source by eWater CRC with permission.
Insight was originally developed by eWater CRC and has subsequently been enhanced by eWater Ltd to meet the needs of the Melbourne Water Corporation.
Scientific Provenance
The multi-objective optimiser used in Insight is the Non-dominated Sorting Genetic Algorithm II (NSGA-II) developed by Deb et al (2002). This is a Multi-Objective Evolutionary Algorithm (MOEA) that is based on the principles of the well known Genetic Algorithm (GA).
Version
Source v3.8.8.
Dependencies
Insight requires a functioning Source model to work with.
Availability/conditions
Use this heading if the functionality is a plugin or requires any 3rd party software applications.
Structure & processes
Theory of NSGA-II
Details of the derivation of the Non-dominated Sorting Genetic Algorithm II (NSGA-II), including pseudo-code, are available in Deb et al (2002). NSGA-II is a variant of the well known Genetic Algorithm (GA) and the principles of the GA are discussed in text books (e.g. Loucks and van Beek, 2005).
Key features of NSGA-II are (abridged from Deb et al, 2002):
- A fast non-dominated sorting approach. This is used to find population members in the best, second best, third best, etc., non-domination levels.
- Diversity preservation based on a crowded distance estimation procedure and a crowded comparison operator. This approach does not require any user-defined parameter for maintaining diversity among population members.
A computational algorithm summarised as follows:
Initially create a random parent population, P1 of size N and sort this population using the fast non-dominated sorting approach.
Use binary tournament selection, recombination (crossover) and mutation operators, to create the first offspring population, Q1, of size N.
Noting that elitism is introduced by comparing the current population with previously found non-dominated solutions then the procedure after the initial generation can be summarised by considering the i’th generation:
- Create a combined population Ri = Pi U Qi, where Ri has size 2N, and sort this combined population using the fast non-dominated sorting approach.
- Start assembling a new population Pi+1 of size N. The assembly process begins by including solutions at the best non-dominated level. If the number of these is less than N then they are all included. This process continues with solutions from the second best, etc. levels as long as all the solutions from these levels can be included (i.e. the combined total of these solutions is less than N). For the last level (i.e. the one where not all solutions can be included to make up the numbers to N), the solutions are sorted using the crowded comparison operator to identify the best ones to include in the new population.
- The new population Pi+1 is used for selection, crossover and mutation to create a new offspring population Qi+1 of size N. For selection a binary tournament selection operator is used but the selection criterion is now based on the crowded comparison operator.
Definitions
Decision variables | The management levers which can be pulled in order to achieve the required objectives. Each decision variable must be defined as a global expression, with an allowable range of values it can take. |
Dominated solution | When comparing results from two Source runs (or group of runs), ‘A’ and ‘B’, Insight will treat ‘A’ as a “dominated solution” only if it is clearly inferior to ‘B’; that is, if ‘B’ performs better than ‘A’ on at least one of the statistics and there is no statistic where ‘A’ performs better than ‘B’. In this case ‘B’ is a “non-dominated solution” and is a potential candidate for the Pareto front of optimal solutions (e.g. see Figure 1). |
Generation | For each generation the decision variables are subject to selection, crossover and mutation. The number of generations is specified by the modeller. |
Individual | A solution obtained from a single run of Source with a given set of decision variable values (an individual is a group of runs when multiple scenarios are being investigated: one run for each scenario). |
Non-dominated solution | See definition of “dominated solution”. |
Objective function | Mathematical expression of the objectives required to be achieved (e.g. minimising the operating cost of the system, maximising environmental benefits, or minimising time spent in water restrictions). Objective Functions are set up as global expressions within Source. Note that only the value of the expression at the last time step is used for evaluating the objective function. Therefore, expressions should be defined in such a way that the value at the last time step of the simulation is the value that represents the required statistic for the entire simulation period. |
Population | The number of possible feasible solutions to be derived by changing decision variable values (within their value constraints) in Insight and running Source. The population size is specified by the modeller and is equal to the total number of individuals. |
Insight Functionality
User requirements are summarised in Table 1. Interactions between Insight and Source are shown in Figure 2.
Table 1. User requirements
Item number | Prioirity | Short description of task |
---|---|---|
1 | 1 | Allow optimisation over multiple scenarios |
2 | 4 | Suitable output for multi-replicate runs |
3 | 4 | A tool for analysing results from multi-replicate output |
4 | 6 | Allow sub-models of Source with different time steps |
5 | 5 | User-customisable water balance report |
6 | 1 | Allow objective functions to be a range of statistics |
7 | 3 | Insight to report the values of secondary objective functions |
8 | 2 | Pass user-selected decision variables from Insight to Source |
9 | 7 | Implement climate/component flexible restriction modelling |
10 | 8 | Allow 2-way flow |
11 | 9 | Implement sub-networks |
12 | 10 | Link models with different time steps, e.g. Urban Developer |
13 | 11 | Enable switching between rules-based and NetLP |
14 | 12 | Recycling of n years of historical data |
A single scenario in a Source model could represent a particular system configuration, inflow sequence, demand model, etc. Insight can optimise the decision variable(s) (DVs) over multiple scenarios. The DVs and objective functions are chosen by the modeller.
Figure 2: Flowchart of interactions between Insight and Source for multi-scenario optimisation
Key features are:
- The same set of DVs applies to all scenarios for each run of a batch of scenarios
- The values of the OF(s) are aggregated for each population member for all scenarios in a run of a batch of scenarios
- Statistics-based OFs are determined within Insight.
The functionality listed in Table 1 is all concerned with input and output data handling and how Insight and Source interact, and there is no new science involved. Therefore, the functionality in Insight is not discussed further here and reference should be made to the Insight: Objective optimisation for information on how to use it.
Process
(Also refer to Figure 2)
1st generation
- Values of decision variables, randomly chosen by Insight from within their allowable value ranges (where these ranges are input by the modeller), are passed to Source (Step 3(a) in the section on Theory of NSGA-II). Insight provides one set of values for every “individual”, where the number of individuals is equal to the population size input by the modeller.
- Source is run for each individual (this is a group of runs for each individual when multiple scenarios are being investigated: one for each scenario).
- Values of objective functions and result variables needed for evaluating statistical objective functions are passed back from each run of Source to Insight.
- New values of decision variables are derived by selection, crossover and mutation to create the first offspring population (Step 3(b) in the section on Theory of NSGA-II).
- Source is run for each individual in this population (group of runs when multiple scenarios are being investigated).
- Values of objective functions and result variables needed for evaluating statistical objective functions are passed back from Source to Insight at the end of the run(s) for each individual.
Subsequent generations
For the i’th generation where 1 ≤ i ≤ ng (and the total number of generations, ng, is input by the modeller):
- Insight processes decision variables and objective functions using the procedure described in the first two bullet points in Step 3(c) in the section on Theory of NSGA-II to create anew population (). When comparing results from two Source runs (or group of runs), ‘A’ and ‘B’, Insight will treat ‘A’ as a “dominated solution” only if it is clearly inferior to ‘B’; that is, if ‘B’ performs better than ‘A’ on at least one of the statistics and there is no statistic where ‘A’ performs better than ‘B’. In this case ‘B’ is a “non-dominated solution” and is a potential candidate for the Pareto front of optimal solutions (e.g. see Figure 1).