Implementing a Scalable Judging System

Anish Athalye
HackMIT Stories
Published in
1 min readNov 9, 2015

I’ve written about good competition judging methods before. It’s hard to do well, but it can be done.

It turns out that it’s hard to scale.

Given that the algorithm used at Blueprint worked pretty well, naturally, I wanted to use the same general method for HackMIT. However, the requirements for a 1000-person event are pretty different from a 200-person event.

The old algorithm does not scale: by a rough estimate, it would take roughly 3 years to solve a 300 team case of the convex optimization problem. Our Matlab implementation, which used CVX with the SDPT3 solver, seemed to be taking exponential time. It wasn’t clear how to optimize it — having the normal CDF inside the objective function makes things hard for numerical optimization.

Also, the logistics of dealing with over a thousand people are a lot more complicated than dealing with a couple hundred people.

Read the full story here: https://www.anishathalye.com/2015/11/09/implementing-a-scalable-judging-system/

--

--