Optimization : simply do more with less, zoo, buses and kids

All companies and businesses need to make decisions. Good managers quickly make good decisions. Common sense : with good data, simple problems lead to simple solutions.

Common sense is wrong.

Let me show this with a tiny example … my maths teacher gave us when I was 14. Tiny albeit very similar to common business problems:

300 kids need to travel to the London zoo.The school may rent 40 seats and 30 seats buses for $500 and $400 . How many buses of each to minimize cost ?

For many people, the answer is simple, even trivial. A seat costs $12.50 for 40 seats buses and $13.33 for 30 seats buses. So we should prefer 40 seats buses to 30 seats buses. So we first spend $3500 (7*$500) for 7 buses and 280 kids and then add an eighth bus for $400 (30 seats) for the remaining 20 kids. Total cost is $3900.

This looks fine. But this is not the best solution. With 6 buses 40 seats (240 kids and $3000) and 2 buses 30 seats (60 kids, $800), we can move the kids and pay only $3800). We can save $100!

The best decision is not that obvious.

Back then, I had written a small program in Pascal. My maths teacher (Mrs C) was not happy with my solution, since she wanted us to use geometry and not a computer program. She wanted us to use a ruler and a square. I was not happy with her solution. And what if you had 5 bus sizes instead of 2! Then geometry would no longer work.

The right method for companies is a mix of my approach (program) and my teacher’s (mathematical) : mathematical optimization and in particular IBM CPLEX that can solve those problems but with many more decision variables. (We call Bus quantities decision variables) And real business problems in real companies do not require two decision variables like in our toy problem but thousands or dozens of thousands (or even much more sometimes).

Describing those problems is easy. We can rely on many programming languages, Python included, or use a modeling language such as OPL.

The same model with words, in OPL and in Python

Optimization can help tons of business decisions and again with modern tools and languages this is not any more a difficult task.

Plus with real business problems, the Return On Investment won’t be $100 as in our toy bus problem but millions of dollars. (At many CPLEX customers)

Let me mention Banque de France (French Central Bank) and Dijon Hospital.

NB:

Thanks to Rémi who rewrote my first draft and my contacts who have translated my first draft into Arabic, Catalan, Chinese,Dutch, Finnish,German, Greek,Hebrew, Hindi, Hungarian, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Vietnamese

PS:

Part 2 with starting points with other python API, scala, C++, Java …