Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
Basic Modeling for Discrete Optimization
Image: coursera.org
#108 overall

Basic Modeling for Discrete Optimization

Coursera

5 recommenders · 4 threads · recommended in 3 years, 2020–2023 · score 4.0

Go to course ↗

An introductory Coursera course by Peter Stuckey on modeling discrete optimization problems in the MiniZinc language, using constraint programming as the main approach. It is the first of a sequence that continues with an advanced modeling course.

Commenters call it an excellent introduction to constraint programming and a good way to learn MiniZinc, and one recommends it along with its sequel.

Machine Learning & AIbeginnerfreevideo lectures#minizinc#constraint programming#discrete optimization#modeling#stuckey

Recommendations by year

20062026

What commenters said (5)

  1. Strongly recommendsbobby__joe2023in “Constraint Programming (2020)”

    I strongly recommend Minizinc. The coursera course related to it is also an excellent introduction to constraint programming: https://www.coursera.org/learn/basic-modeling

  2. Recommendsdowakin2023in “MiniZinc”

    MiniZinc is high-level modeling language, before using it I'd suggest taking course https://www.coursera.org/learn/discrete-optimization where you could use/create different solvers.

    Only after it makes sense to take https://www.coursera.org/learn/basic-modeling and https://www.coursera.org/learn/advanced-modeling courses.

    If you want a quick start read really good tutorial on official website https://www.minizinc.org/doc-2.7.2/en/part_2_tutorial.html and play with examples at online playground https://play.disopt.com/ or locally installing MiniZincIDE.

  3. Recommendsmattnewport2023in “MiniZinc”

    I can recommend this course and its sequels on Coursera to anyone interested in learning MiniZinc: https://www.coursera.org/learn/basic-modeling

    I enjoyed the courses and learning the techniques through the exercises but I still haven't really found a good application to a problem I need to solve for work or side projects.

  4. Recommendsmzl2021in “How much faster is Java 17?”

    There are a couple of very good coursera courses on modeling with MiniZinc, the first one being https://www.coursera.org/learn/basic-modeling

  5. Recommendscerved2020in “Employee Scheduling”

    I'm glad to see the domain of constraint programming and operational research in general generate interest so I thought I would take the opportunity to share some links and resources I have found useful. Personally, I've spent most of my time on the routing (TSP, VRP, VRPTW) side of things using CP (OscaR-CP).

    Discrete optimization and constraint programming can be a bit difficult to get into. There are two great free online courses on Coursera that do a good job at introducing the topic.

    Discrete Optimization

    https://www.coursera.org/learn/discrete-optimization

    I don't remember the exact content of this course but I believe it covers the basics in a few different methodologies.

    Basic Modeling for Discrete Optimization

    https://www.coursera.org/learn/basic-modeling

    This is a great course by Peter Stuckey that uses MiniZinc. The MiniZinc programming language is a great starting point that teaches you to think of solving discrete optimization problems only in terms of modelling the problem.

    Håkan Kjellerstrands blog is another great resource

    http://www.hakank.org/

    It contains hundreds of different models for a large variety of different solvers. Chances are that he has created a model for your solver for a similar problem.

    Two books worth mentioning are:

    Handbook of Constraint Programming

    Principles of Constraint Programming

    Other solvers/frameworks:

    The OscaR library

    https://bitbucket.org/oscarlib/oscar/wiki/Home

    My personal favorite. An OR framework written entirely in Scala. As such it's an absolute joy to work with and the internals are (relatively speaking) easier to understand.

    GeCode

    https://www.gecode.org/

    Another extremely potent solver. Exclusively CP based.

    Mini-CP

    https://minicp.readthedocs.io/en/latest/

    An extremly lightweight CP solver, designed for educational purposed to expose how a CP solver works without obfuscating performance optimizations found in research/production solvers.

    MiniZinc

    https://www.minizinc.org/

    A solver agnostic constraint modelling languages, designed to interface a given optimization model with different solvers.

    A few notable researches:

    Phil Kilby

    Pascal Van Hentenryck

    Paul Shaw

    Laurent Perron - OR-tools

    Peter Stuckey - MiniZinc

    Pierre Schaus - OscaR, Mini-CP

    Renaud Hartert - OscaR

    I also want to make a plug for the work of the Uppsala University optimization group

    http://www.it.uu.se/research/group/optimisation/

    Especially the work of Pierre Flener, Gustav Björdal and Justin Pearson who I've had the pleasure to work with during my masters thesis on vehicle routing using CP.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help