The University of Melbourne
Basic Modeling for Discrete Optimization
The University of Melbourne

Basic Modeling for Discrete Optimization

Taught in English

26,717 already enrolled


Gain insight into a topic and learn the fundamentals

Prof. Peter James Stuckey
Prof. Jimmy Ho Man Lee

Instructors: Prof. Peter James Stuckey

Top Instructor


(441 reviews)

Intermediate level
Some related experience required
27 hours to complete
3 weeks at 9 hours a week
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

See how employees at top companies are mastering in-demand skills


Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review


There are 4 modules in this course

In this first module, you will learn the basics of MiniZinc, a high-level modeling language for discrete optimization problems. Combining the simplicity of MiniZinc with the power of open-source industrial solving technologies, you will learn how to solve applications such as knapsack problems, graph coloring, production planning and tricky Cryptarithm puzzles, with great ease.

What's included

19 videos7 readings1 programming assignment

In this module, you will learn how to model problems involving set selection. In particular, you will see different ways of representing set variables when the variable has no constraints on its cardinality, has fixed cardinality and bounded cardinality. You also have to ensure all model decisions are valid decisions, and each valid decision corresponds to exactly one model decision.

What's included

6 videos1 reading1 programming assignment

In this module, you will learn how to model pure assignment problems and partition problems, which are functions in disguise. These problems find applications in rostering and constrained clustering. In terms of modeling techniques, you will see the power of common subexpression elimination and intermediate variables, and encounter the global cardinality constraint for the first time. MiniZinc also provides constraints for removing value symmetries.

What's included

7 videos1 reading1 programming assignment

In the final module of this course you will see how discrete optimization problems can often be seen from multiple viewpoints, and modeled completely differently from each viewpoint. Each viewpoint may have strengths and weaknesses, and indeed the different models can be combined to help each other.

What's included

6 videos2 readings1 programming assignment


Instructor ratings
4.8 (91 ratings)
Prof. Peter James Stuckey

Top Instructor

The University of Melbourne
7 Courses44,984 learners

Offered by

Recommended if you're interested in Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

Showing 3 of 441


441 reviews

  • 5 stars


  • 4 stars


  • 3 stars


  • 2 stars


  • 1 star



Reviewed on Jul 10, 2021


Reviewed on Feb 23, 2019


Reviewed on May 5, 2017

New to Software Development? Start here.


Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions