It has taken four entries but I’ll finish this blog stream now with a discussion on optimisation optimisation. That’s not a typo. It’s an art form that is analogous to elegant modelling, as opposed to ‘just’ modelling. The tipping competition model not only opened my eyes to the world of optimisation but also that not all models are created equally, even if they are numerically equivalent.
A few rounds into the season we were allowed to buy and sell riders, which was great if you’d bought some duds at the start! But from a modelling point of view the complexity had increased exponentially. There was now a time component to the model structure as well as different prices for the riders based on their performance to date. My first attempt to model this was quite cumbersome with dozens of 0/1 decision cells to indicate buying riders at the start of the season and then the buying and selling of riders after four rounds. While mathematically correct I wasn’t doing Evolver any favours by having such complex dependencies between so many decision cells. The optimisation was taking far too long to converge, so much so that the final solution when the optimisation was stopped after what I considered to be a reasonable length of time was greatly impacted by the initial solution.
Now this of course isn’t usually the way things work with Evolver; as a sophisticated genetic algorithm optimiser the global optimal solution should be found regardless of the initial conditions. However the time taken to get to such a solution can be extended greatly if optimising an unnecessarily convoluted model. After initially blaming the software I realised I could simplify the model by turning two decisions (“buy” and “sell”) into one (“change status”). This immediately removed one third of the decision variables and straight away the optimisation converged quickly to a global optimal solution regardless of the initial feasible solution. Evolver can only work with the model you give it!
The act of optimising the optimisation can be a subtly tricky one, but is necessary if you are to have confidence in your optimised solutions and thus the decisions made. Building a model that ‘works’ is only the first piece to the puzzle. If the solutions aren’t stable then can you really be sure you’re producing the best answer? No. And if the model is being used to decide which of the multi-million dollar projects you will proceed with (or some other equally critical decision) I’m sure you’d want to have some certainty around the answer provided by Evolver. Of course if you’d like some help with an optimisation model from experienced risk analysis consultants feel free to contact the consulting team at Palisade!