minnestar text logo


Sign up to stay up to date.


Scheduling MinneBar with Simulated Annealing


Youre organizing a conference, assigning sessions to time slots. Should you avoid putting the robots opposite the 3D printer? Is it important to spread out the iOS-related sessions, even if that means the advanced-level programming sessions end up bunched together? Which design-related talks will draw which developers?

Where do you even start?

If youre MinneBar, you write software to decide for you! We gather feedback from participants on which sessions they are interested in using the veryweb interface you are at looking at right now then feed that data into an algorithm which generates a schedule to please as many people as possible as much as possible. The algorithm we use to do this originally comes from the physics of molten metal as it solidifies. Yes, really.

In this session, using the MinneBar scheduler as an example, well walk through the practice of turning a subjective problem into something quantifiable enough to optimize, learn about the broadly applicable optimization technique called simulated annealing, and see how the MinneBar session scheduler is implemented.

This session is aimed at a broad audience. There will be code for programmers to look at, and some tidbits for applied mathematicians already familiar with discrete optimization. However, the fundamental concepts require little or no math and programming knowledge, so I will keep the presentation accessible to any adventurous nontechnical audience members curious to learn about these techniques, and what the heck molten metal has to do with an unconference!


Minnebar 9 (2014-04-12)


Justin Moen