This chapter introduces the topics of simulation (with a more complete discussion being the subject of Chapter 16). It also extends the earlier discussion of optimisation. These are both natural extensions of sensitivity and scenario analysis. The first section discusses the link between these methods, and uses a practical example to illustrate the discussion. The latter sections of the chapter highlight some additional points that relate to general applications of optimisation modelling.
Simulation and optimisation techniques are in effect special cases of sensitivity or scenario analysis, and can in principle be applied to any model which is built appropriately. The specific characteristics are that:
These points are described in more detail below.
When models contain several inputs that may each take several possible values, the number of possible input combinations generally becomes quite large (and hence so does the number of possible values for the model's output). For example, if 10 inputs could each take one of three possible values, there would be 310 (or 59,049) possible combinations: the first input can take any of three values, for each of which the second can take any of three values, giving nine possible combinations of the first two inputs, 27 for the first three inputs, and so on.
In practice, one needs automated methods to calculate (a reasonably large subset of) the possible combinations. For example, whereas traditional sensitivity and scenario analysis involves pre-defining the values that are to be used, simulation and optimisation (generally) automate the process by which such values are chosen. Naturally, for simulation methods, the nature of this automation process is different to that for optimisation, as described later.
The use of traditional sensitivity and scenario analysis simply requires that the model is valid as its input values are changed in combination. This does not require one to consider (or define) whether – in the real-life situation – the process by which an input value would change is one which can be controlled or not. For example, if a company has to accept the prevailing market price for a commodity (such as if one purchases oil on the spot market), then such a price is not controllable (and hence likely to be uncertain). On the other hand, the company may be able to decide at what price to sell its own product (considering that a high price would reduce sales volume and a lower price would increase it), and hence the price-setting is a controllable process or choice. In other words, where the value of an input variable can be fully controlled, then its value is a choice, so that the question arises as to which choice is best (from the perspective of the analyst or relevant decision-maker). Where the value cannot be controlled, one is faced with uncertainty or risk. Thus, there are two generic sub-categories of sensitivity analysis:
These are illustrated in Figure 15.1.
Of course, the distinction between whether one is faced with a situation in which there is uncertainty versus one of choice may depend one's perspective and role in a given situation. For example, it may be an individual's choice as to what time to plan to arise in the morning on a particular day, whereas from the perspective of someone else, the time at which the other person rises may be considered to be uncertain.
The file Ch15.1.TimeFlex.Risk.Opt.xlsx (see Figure 15.2) contains an example of a portfolio of 10 projects, with the cash flow profile of each being shown on a generic time axis (i.e. an investment followed by a positive cash flow from the date that each project is launched). Another grid shows the effect when each project is given a specific start date, defined in the range C15:C24, and which can be changed to be any set of integers (the model's calculations use lookup and other functions which the reader can inspect). In the case shown, all projects start in 2018, resulting in a portfolio with a net present value (NPV) of $1212m for the first 10 years' cash flows at a 10% discount rate, whilst the maximum financing requirement in any given year is $2270m (Cell D25).
As mentioned earlier, the role of the various launch dates of the projects could depend on the situation:
As an optimisation issue, one may wish to maximise the NPV over the first 10 years, whilst not investing more than a specified amount in each individual year. For example, if one considers that the total cash flow in any of the first five periods (net of investment) should not drop to below (minus) $500m, then the case shown in Figure 15.2 would not be acceptable as a set of launch dates (since the cash flow in 2018 is (minus) $2,270). On the other hand, delaying some projects would reduce the investment requirement in the first period, but would also reduce NPV. Thus, a solution may be sought which optimises this trade-off.
The file Ch15.2.TimeFlex.Risk.Opt.Solver.xlsx (see Figure 15.3) contains an alternative set of launch dates, determined by applying Solver, in which some projects start later than 2018. This is an acceptable set of dates, as the value in Cell C28 is larger than that in C29. Whilst it is possible that this set of dates is the best one that could be achieved, there may be an even better set. (Note that in a continuous linear situation, an optimal solution would meet the constraints exactly, whereas in this case, the input values are discrete integers, so that the constraints would be respected, but not necessarily met exactly.)
As a risk or uncertainty issue, the same model would apply if the project start dates were uncertain, driven by items that are not known or not within the control of the modeller or user.
Of course, given the large possible number of combinations for the start dates, whilst one could define and run a few scenarios, it would be more practical to have an automated way to generate all or many of the possible scenarios. Monte Carlo Simulation is an automated process to recalculate a model many times as its inputs are simultaneously randomly sampled. In the case of the example under discussion, one could replace the start dates with values that are drawn randomly in order to sample future year numbers (as integers), do so many times and record the results.
Figure 15.4 shows an example of the part of the model concerning the time-specific cash flow profile in one random scenario. Each possible start date is chosen randomly but equally (and independently to the others) from the set 2018, 2019, 2020, 2021 and 2022.
Clearly, each random sample of input values would give a different value for the output of the model (i.e. the cash flow time profile, the investment amount and the NPV), so that the output of the simulation process is a set of values (for each model output) that could be represented as a frequency distribution. Figure 15.5 shows the results of doing this and running 5000 random samples with the Excel add-in @RISK (as discussed in Chapter 16 and Chapter 33, such calculations can also be done with VBA, but add-ins can have several advantages, including the ease with which high-quality graphs of the results can be generated).
Note that often – even if the variation of each input is uniform – the profile of an output will typically have a central tendency, simply because cases where all inputs are chosen at the high end of their range (or all are chosen at their low end) are less frequent than mixed cases (in which some are at the high end and others are at the low end). In other words, the need to use frequency distributions to describe the range and likelihood of output values is an inevitable result of the combinatorial effect arising due to the simultaneous variation of several inputs.
Note also that, within the earlier optimisation context, one may try to use simulation to search for the solution to the optimisation situation, by choosing the input combination that gives the best output; in practice, this is usually computationally inefficient, not least as the constraints are unlikely to be met unless a specific algorithm has been used to enforce this. This also highlights that simulation is not the same as risk modelling: simulation is a tool that may be applied to contexts of risk/uncertainty, as well as to other contexts. Similarly, there are other methods to model risks that do not involve simulation (such as using the Black–Scholes formula, binomial trees and many other numerical methods that are beyond the scope of this text).
Although we have presented optimisation situations as ones that are driven by large numbers of possibilities for input values, a specific objective, and constraints (i.e. combinatorial-driven optimisation), the topic also arises when one is faced with choices between structurally different situations, i.e. ones that each involve a different logic structure. For example:
Figure 15.6 shows two categories of optimisation situation.
This topic is discussed briefly later in the chapter.
The discussion so far has presented optimisation as the issue as to how to choose some input values whilst others are fixed. However, in some cases, these other variables may be subject to uncertainty. For example:
From the above discussion, it is clear that in general one may have to reflect not only structural optimisation, but also (either or both of) combinatorial optimisation and uncertainty. For example:
Some important modelling issues that arise in optimisation contexts include:
There is a large range of approaches and associated numerical techniques that may be applicable depending on the situation, including:
Despite this complexity, one nice feature of many optimisation situations (especially those defined by a U-shaped curves) is that there are often several scenarios or choices that provide similar (if slightly sub-optimal) outcomes, since (around the optimum) point any deviation has a limited effect on the value of the curve (which is flat at the optimum point). Thus, sub-optimal solutions are often sufficiently accurate for many practical cases, and this may partly explain why heuristic methods (based on intuition and judgement, rather than numerical algorithms) are often used.
3.135.183.221