JuliaCon 2020 (times are in UTC)

Solving Practical Allotment Problems with Julia
07-31, 13:30–13:40 (UTC), Green Track

Allotting the best possible choice to each individual as per their preferences while adhering to total available positions and satisfying quality constraints is a common practical problem. Using Julia helped us get a tenfold speedup over our previous Python implementation.


Allotting interviewers to candidates, teaching assistants to courses, and invigilators to exams are routine problems at our university. These types of problems are combinatorially hard to solve and consumed significant staff-hours for manually coming up with decent allotments. We model such allotment problems as a Bipartite graph matching and develop a stochastic optimization approach to obtain an approximate solution. We developed a computational approach requiring no manual effort, which offers better allotments than previous manual solutions. We initially implemented this in Python, which brought down the time required for obtaining an allotment to a couple of CPU-hours. By reimplementing the solver in Julia, we got a speedup of 13x over the Python implementation. In particular, we were surprised to find how fast Julia is for implementing iterative algorithms.

I am a Ph.D. student with the Vision and Image Processing Group at the Indian Institute of Technology Bombay. My research interests are Computational Cameras and Machine Learning. Apart from my research, I work on side projects on Automation and Visualization.