Introduction
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 is often used. In other words, the main aim of Insight is to optimise decision rules for all scenarios. The optimisation tool enables a more thorough examination of potential planning scenarios and the resulting trade-offs between desired outcomes.
Insight allows you to define which parameters (called decision variables) must be considered in the optimisation framework. Decisions variables and can be thought of as management levers that can be pulled to affect the outcome. For example, you may be unsure of what the operating rules for a new desalination plant should be used to meet the objective of minimising cost, or 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 these decision variables and determine how the rules perform against a set of specified objectives.
Results of an optimisation run can be used as follows:
- Tradeoffs between competing objectives can be identified and a desirable balance between objectives can be discussed; or
- Management options which achieve the desired outcomes can be identified.
Working with Insight
Ensure that the following pre-requisites are met prior to installing Insight:
- Latest version of Source. This must be correctly installed prior to running Insight;
- Microsoft .NET framework v4 (or higher); and
- Microsoft C++ 2010 x86 redistributable package.
Working with Insight is a two-step process:
- Set up the optimisation run - configure the settings for running the optimisation (either load a previously saved configuration or create a new one and save it); and
- Run the optimisation.
The next sections describe how to carry out both steps using firstly the interface and secondly, the command line.
Using the Insight interface
When you open Insight for the first time, you may be prompted to point Insight to the location of the Source command line tool (RiverSystem.CommandLine.exe), as shown in Figure 1.
Click Browse to locate and load the appropriate folder. Click OK to close the window.
Figure 1. Source command line location
Figure 2 shows the user interface for Insight, allowing you to load projects and work with objectives and variables.
The File menu items allow you to work with settings and results as follows:
- File » Load Settings - Load settings that were previously configured and saved;
- File » Save Settings - Saves the current run settings;
- File » Load results - Loads the results of a previously saved optimisation run; and
- File » Save results - Save the results of the current optimisation run; and
- File » Exit - Quits Insight.
Figure 2. Insight user interface
Setting up an optimisation run
- Firstly, create a model and save it in Source.
Note the following when creating a model in Source:
- Each project must consist of one scenario only;
- Use the Function manager to define global expressions in your Source model for both objectives and decision variables.
- Open Insight and click Browse (as shown in Figure 1) to choose the directory containing the project(s);
- Click Load to populate the left panel with all the objective functions that were created in the loaded projects;
- For each of the panels on the right, use the appropriate button to add or remove objectives or variables from the main objectives list to the individual panel. For example, click Add objective » to add an objective to the Objectives panel. Moreover, to move a discrete decision variable back to the main list of objective functions, click « Remove discrete decision variable.
- In the Objectives panel, the Multi-project Aggregation Method drop-down menu allows you to choose how you want to aggregate the individual time-step results. The Aggregate over full timeseries checkbox allows you to choose how to setup the objectives. If enabled, the objective needs to be set up so that all values of the global expression are used (via the selected statistical function) to give the objective value. If not, the last value of the global expression gives the objective value. You can also remove an objective from the Objectives panel by choosing it from the list and clicking . This will move the objective back to the main objectives list.
- Choose the number of generations and the population size of each generation. These parameters define how many simulation runs are performed by the optimiser. The required values will depend on the complexity of the optimisation project. If the number of runs is too small, the optimiser will not be given sufficient time to search for the multi-objective optimal set of results.
- Specify whether to run the optimisation on your local machine (enable the Run Source optimisation locally radio button), or across server endpoints (using the Run Source optimisation on endpoints radio button). Server endpoints allow you to run the optimisation across several machines simultaneously. If running Source optimisation on a local machine, set the number of cores to use with the Local server limit scroll button. The number of cores to use depends on the machine you will are using.
- Save your project settings using File » Save Settings. This creates a settings file, which can be used later, either using the command line or in the interface.
The optimisation can now be run.
Running an optimisation
Once you have nominated the location of Source, the Source project to optimise, and the objectives and decision variables, click Run to begin the optimisation.
Using the command line
Insight can be configured, set up and run using the command line. Depending on the configuration, the outputs can include:
- A results file - Contains the results generated during the uncertainty analysis and will be saved at the end of and uncertainty run to. This is only generated if the results export directory is defined;
- Exported time series file for each exported time series output for each uncertainty replicate; and
- A summary file for each exported time series output.