It is helpful to understand what the Evolutionary Solving method can and cannot do, and what each of the possible Solver Result Messages means for this method. At best, the Evolutionary method – like other genetic or evolutionary algorithms – will be able to find a good solution to a reasonablywell-scaled model. Because the Evolutionary method does not rely on derivative or gradient information, it cannot determine whether a given solution is optimal – so it never really knows when to stop. It knows only that a new candidate solution is “better” than other solutions found earlier. Hence, the Evolutionary method stops and returns a solution either when certain heuristic rules (discussed below) indicate that further progress is unlikely, or else when it exceeds a limit on computing time or effort that you’ve set.
“Good” Versus Optimal Solutions
When you use the Evolutionary method, you may find – like other users of genetic and evolutionary algorithms – that you spend a lot of time running and re-running Solver, trying to find better solutions. This is an inescapable consequence of using a method that makes few or no assumptions about the nature of the problem functions. You can never be sure whether you’ve found the best solution, or what the payoff might be of running the evolutionary algorithm for a longer time. When the Evolutionary method stops, you may very well find that, if you keep the resulting solution and restart the Evolutionary method, it will find an even better solution. You may also find that starting the GRG Solving method from the point where the Evolutionary method stops will yield a better (sometimes much better) solution.
When Solver has Converged to the Current Solution
This message means that the “fitness” of members of the current population of trial solutions is changing very slowly. This may mean that Solver has found a globally optimal solution – if so, new members of the population (that replace other, less fit members) will tend to “crowd around” this solution. However, it may also mean that the population has lost diversity – a common problem in genetic and evolutionary algorithms – and hence the evolutionary algorithm is unable to generate new and better solutions through mutation or crossover of current population members. In this latter case, it may help to run the Evolutionary method again with a larger Population Size and/or an increased Mutation Rate, which increases the chances of a diverse population.
When Solver Cannot Improve the Current Solution
This message means that Solver has been unable to find a new, better member of the population whose “fitness” represents a significant improvement over the current best member’s fitness, in the amount of time specified by the Maximum Time without Improvement option in the Solver Options dialog Evolutionary tab. Under this heuristic stopping rule, the Evolutionary Solver will continue searching for better solutions as long as it is making a reasonable amount of progress; if it is unable to make sufficient progress in the time you’ve specified, it will stop and report the best solution found.
Evaluating a Solution Found by the Evolutionary Solving Method
Once you have a solution from the Evolutionary method, what can you do with it? Here are some ideas:
- Keep the resulting solution, restart the Evolutionary method from that solution, and see if it is able to find an even better solution in a reasonable length of time.
- Tighten the Convergence value, increase the Maximum Subproblems and Maximum Feasible Solutions values, and restart the Evolutionary method. This will take more time, but will allow Solver to explore more possibilities.
- Increase the Population Size and/or the Mutation Rate, and restart the Evolutionary method. This will also take more time, but will tend to increase the diversity of the population and the portion of the search space that is explored.
- Keep the resulting solution, switch to the GRG Solving method and start it from that solution, and see if it finds the same or a better solution. If the GRG method displays the message “Solver found a solution,” you may have found at least a locally optimal point (but remember that this test depends on smoothness of the problem functions).
- Select and examine the Population Report. If the Best Values are similar from run to run of the Evolutionary method, and if the Standard Deviations are small, this may be reason for confidence that your solution is close to the global optimum. Since optimization tends to drive the variable values to extremes, if the solution is feasible and the Best Values are close to the Maximum or Minimum Values listed in the Population Report, this may indicate that you have found an optimal solution.
As you work with the Evolutionary method, you will appreciate its ability to find “good” solutions to previously intractable optimization problems, but you will also come to appreciate its limitations. The Evolutionary method allows you to spend less time analyzing the mathematical properties of your model, and still obtain “good” solutions – but it is not a panacea.