In an earlier blog, I mentioned a few heuristic methods to speed up the convergence of models when using genetic algorithms for optimization modelling, such as those that are in Evolver and RISKOptimizer. In this post, I add a few additional points that are specific to RISKOptimizer. These include:
- Set the number of iterations according to the optimization objectives. For example, the mean of distribution can usually be estimated to reasonable accuracy with only 30 to 50 iterations in many cases. An initial run of the model with such low numbers of iterations can be a useful way of generating an initial reasonable estimate of the optimum input combinations. Where there are other optimization objective (e.g. relating to P10 or P90 of the output distribution), these statistics also converge fairly quickly (though not as quickly as the mean), so similar methods can still be applied. In all of this, I refer not to formal statistical convergence, but to “decision-making convergence”, that is to the ultimate use of the model’s output for decision purposes.
- Stop the procedure and increase the number of iterations as more accuracy is desired. For example, small numbers of iterations can be used to generate a reasonable set of trial values quite quickly, but as more accuracy is desired the number of iterations can be increased (say a first sequence with 50 iterations per simulation, stopping the optimization at the best values, increasing iterations to 500, repeating, and then perhaps increasing iterations to 5000 once we are very close to the optimal point
- As mentioned in the earlier blog on Evolver, problems with hard constraints are difficult to solve accurately, and especially when using RISKOptimizer this is even more pronounced – statistical error due to the simulation sampling can often result in true valid solutions being rejected, something that is, by definition, more likely to happen precisely when we approach the optimum point. The use of soft constraints or of model reformulation approached (e.g. making a constraint into a model property) can also be powerful related techniques.
- Convert to an Evolver problem. The powerful feature of version 5 of @RISK is that risk distributions may be swapped out. This means, for example, that uncertainty could be removed from RISKOptimizer model, so that the optimization can be done using Evolver (thus removing the need to perform a complete simulation for each set of trial values). The Evolver solution can be used as starting point for a RISKOptimizer solution (by swapping the @RISK functions back in to the Evolver-optimised model). In many cases the solution to such a static optimization would be similar to the solution to the problem containing uncertainty, or at least provide a good basis for a search for such a solution.
Dr. Michael Rees
Director of Training and Consulting