Sep 26th 2016

Modeling Discrete Optimization (Coursera)

Created by: Delivered by:

Learn a new way to approach problem solving by stating the problem and letting powerful constraint solving software do the rest. This class teaches you the art of encoding complex discrete optimization problems in the MiniZinc modeling language and then shows you how to effortlessly solve them by leveraging state-of-the-art open-source constraint solving software.

The world is full of hard discrete optimization problems. You have experienced them already if you have ever solved a sudoku puzzle or organized the seating at a wedding banquet. These problems underpin much of our daily lives and are part of determining daily delivery routes for packages, making school timetables, and delivering power to our homes. Despite their fundamental importance, all of these problems are a nightmare to solve using traditional undergraduate computer science methods.

In this course you will learn an entirely new way to think about solving these challenging discrete optimization problems by stating the problem in the high level modeling language, MiniZinc, and letting constraint solving software do the rest. This will allow you to unlock the power of industrial solving technologies, which have been perfected over decades by hundreds of PhD researchers. With access to this advanced technology, problems that you could not conceive solving before will suddenly become easy and bring you one step closer to "the holy grail of programming: the user states the problem, the computer solves it." (Eugene Freuder '96)