- Type Three Error
- Posts
- The Optimization View of the World
The Optimization View of the World
The problem contains the solution.
One of the key insights in the field of optimization is that once you've written down the problem statement, the solution is implied.
How you craft the problem is crucial. Design it well, and the problem will be easy to solve. Design it poorly, and it might be impossible to find the exact same solution. If you do it well, you will create a version of the problem that gives you the answers you want, but gets to the implied solution as quickly and easily as possible.
Suppose you are trying to configure traffic lights in a city. In some cities the traffic engineers optimize certain roads (the “you hit one red and then all greens” setup). Other times the goal is to minimize average wait times or other criteria. If you’ve decided to set the traffic light timing using some rule, the data and math will lead you to the mathematically best configuration.
Solving the optimal traffic light configuration for a whole city presents a pretty large math problem, if you have to check every possible option, so optimizers immediately start looking for shortcuts. For example, “can we break this problem into smaller sections of the city to solve separately?” If we can solve an easier version of the problem and still get the same optimal solution, we’re happy little optimizers.
Changing a problem without changing the solution is a tricky skill. When a problem has nonlinearity, uncertainty, or integer choices, it makes solving it harder. Optimizers rely on mathematical proofs, experimentation, as well as a library of substitutions to simplify the problem.
There are also times when the problem is not fully solvable, and you need to draw on a new set of tools. In the traffic light configuration example, optimizers will often resort to simulation instead of actually crunching all the numbers. There are mathematical proofs and other ways to check that the changes you are making to the problem won’t compromise the usefulness of the solution.
Solving optimization problems is how I learned to evaluate alternative problems and develop better problem statements. Other good problem solvers often have different paths to gain similar skills.
These skills have real practical value. In my work as a consultant I am often presented with loads of requirements from the client. Some of them are easy enough to meet. Others will be very expensive. Since my clients usually want to manage costs, I push back primarily on the expensive requirements that also don’t seem to really be helping all that much. Instead, I look for the shortcuts we can take without compromising the usefulness of the eventual solution.
Next time you are facing a hard-to-solve problem, take a step back and consider how you can make your life easier. Are there any tweaks you can make to the problem statement that won’t change the implied solution at all? If not, what shortcuts can you take without making the results significantly less useful?
Reply