#optimization Articles


Betting on football with the Kelly criterion

Given a set of football (soccer) matches and three outcomes per match to bet on, how should we place our money for maximal long-term growth? We generalize John Kelly’s idea from 1956 and solve it with modern optimization methods.


Project money allocation

An optimization problem that involves distributing money to projects. I include code for two solution approaches: convex optimization with CVXPY and root-finding.



How to deposit money when banks fail

Suppose we have a set of banks and their corresponding failure probabilities. If a bank fails, we lose all money deposited into that bank. What is the best way to deposit money into the banks?


Group testing

Suppose there are two people in your household, and you wish to determine whether each one has some disease. You could use two tests, but if you’re clever you might get away with using one instead. This concept is called grouped testing and it generalizes to large-scale applications. Sometimes it’s possible to dramatically reduce the number of tests needed.



The best Pokémon party

There are close to 15 billion ways to create a party of 6 Pokémon from 151. But which party is the best one? In this article we model and solve the problem using mathematical optimization.



Modell for fagdager

(Norwegian) Hvordan bruke en optimeringsmodell til å lage en plan for fagdager slik at (1) emnene er interessante for deltakerne og (2) hvert emne har foredragsholdere.




Loading a barbell with as few plates as possible

I show that loading a barbell using a greedy strategy is guaranteed to use as few plates as possible. The more general problem of using as few plates as possible for several work sets is harder, yet it can be formulated as an Integer Program.





Optimal skill tree growth

The new Spider-Man game for PS4 has an interesting skill tree feature. As the player levels up, he chooses where to put his skill points. This can be formulated as an optimization problem.


Fordeling av frivillige for Røde Kors

(Norwegian) Oslo Røde Kors administrerer 40 ulike aktiviteter og 4000 frivillige. Nye frivillige oppgir en prioritert ønskeliste over hvilke aktiviteter de ønsker å delta på. Hvordan kan vi fordele frivillige på aktiviteter slik at flest mulig blir fornøyde?



Sudoku puzzles as optimization problems

I found 3 variations on the classical Sudoku puzzle that I haven’t seen before. In this article I formulate them as optimization problems (MIPs) and create algorithms solving the problems in a few milliseconds.