You have me hooked, but I know nothing about optimization. What is it?

Optimization is a branch of algorithmic computer science that aims to provide actual, prescriptive decision support. Sounds complicated? No worries, it is actually quite simple: The result that an optimization algorithm hands back to you is a set of decisions which optimize a target that you specify. The beauty of it is that you do not need to tell the optimizer how to find good decisions.  All you need to do is to tell the algorithm three pieces of information in what is called a model: 

  1. Which decisions do you need to take?
  2. What rules govern whether a set of decisions is okay to take?
  3. How do you assess how good a set of decisions is?

If you tell the computer these three pieces of information, the machine then does the rest for you and will tell you what decision to take. Amazing? We think so, too. 

Let us walk through the three pieces of information mentioned above, one by one.