In order to help us sift out semi-automated mass applications and give proper consideration to serious, motivated candidates, you may solve a simple problem and include the solution in your application.
You can either do this by downloading and running a simple Python code, or – if you prefer – by reading the description of the problem below and finding your own route to solution. It is a very general problem with broad implications, and you might even find it interesting!
The linear assignment problem
The linear assignment problem deals with choosing one element per row and column in a matrix in such a way that the sum of the chosen elements is maximized (or minimized).
What is the maximum sum that can be obtained for the matrix below? You can just include in your e-mail the final answer, or explain how you obtained it if you want to.
7 | 9 | 2 | 6 | 5 |
8 | 8 | 5 | 6 | 7 |
2 | 8 | 9 | 6 | 8 |
7 | 2 | 6 | 3 | 9 |
2 | 9 | 1 | 7 | 5 |
A Python code for the LAP
For those of you who don’t feel like going for trial-and-error or an implement-it-yourself solution, you can fetch a simple implementation of a (regularized) solver for the Linear Assignment Problem below. It should take less than 5 minutes to run it, provided you have a working installation of Python and numpy.
If you want to read more about the approach used here you can read about it here.