The goal of a mathematical optimization study is to find the optimal solution to a problem. And, when the problem at hand is simple enough to solve within the available time, we can achieve this goal consistently.
However, often we don’t have enough time or computing resources to carry out the number of design evaluations that would be needed to find the optimal solution. In these cases, we have no choice but to relax our goal and to seek the greatest possible design improvement within the available time.
A more direct statement of this would be, “Give me the best design you can find by Tuesday!”
It’s not always obvious, but achieving this new goal actually requires a different set of tools. Our standard optimization algorithms and operating procedures will not be very effective in this case.
Though we need an algorithm that will search very efficiently, there is clearly no time to try multiple algorithms in hope of finding one that is well suited to the current problem. Nor is there time to fiddle with the tuning parameters of a given algorithm to help it perform better on the problem at hand.
Moreover, most algorithms work exactly the same way regardless of how many design evaluations they are allowed to perform. They have a fixed strategy for every problem, and when the allowable number of evaluations is reached, they stop. This means that, even if an algorithm is well suited to find the optimal solution for our problem type, it may not be effective at finding an improved solution by our deadline.
In this scenario, we need an optimization algorithm that learns about a problem as it searches, one that adapts its search strategy based on both the current design space and the available design evaluations, one that delivers the greatest possible design improvement using whatever level of resources are available, and one that does all of this “by Tuesday.”