Modeling Discrete Optimization (Coursera)

Modeling Discrete Optimization (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Who is this class for: This course is primarily aimed at third- and fourth-year undergraduates interested in Artificial Intelligence, Computer Science, and Mathematics. Students are expected to have basic programming skills and a general comfort with mathematics. Knowledge of fundamental computer algorithms is helpful for following some of the optional course content.

Syllabus

WEEK 1
Taming the Dragon, First Steps in MiniZinc
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 tricky Cryptarithm puzzles with great ease.

WEEK 2
Core Decisions
In this module you will examine some of the archetypal forms of decisions that need to be made in discrete optimization problems and how to represent them in MiniZinc. After this module Sudoku problems will never bother you again.

WEEK 3
Multiple Perspectives
In this module you will see how discrete optimization problems can often be seen from multiple viewpoints, and modelled completely differently from each viewpoint. Each viewpoint may have strengths and weaknesses, and indeed the different models can be combined to help each other. You will learn more about converting data into complex constraints or objectives to define a problem. The assignment will challenge you far more than earlier problems.

WEEK 4
The Power of Predicates
You will learn how to encapsulate a complex constraint definition in a predicate definition to enable its reuse. This will enable the construction of far more complex models. You will learn methods to discover what is going wrong with your model and how to fix it. With these tools a complex plannning problem will be easy to solve.

WEEK 5
Challenging Applications
You will learn how to tackle challenging scheduling and packing problems, and the important combinatorial substructures that underly them. You will see how to model some of the complex constraints that arise in these applications. The assignment will tackle a simplification of a real world combined scheduling and packing problem.

WEEK 6
Other Topics (optional)
In this optional module you will get more insight into the type system of MiniZinc and how MiniZinc models are transformed to a form suitable for solving. Option types are used by MiniZinc to allow flexible specification of loops, and you may have experienced confusing error messages involving them, this will be much clearer after this module. Flattening explains how MiniZinc models are translated to solvers, giving you more insight into why some models are more efficient than others.

WEEK 7
Under the Hood (optional)
This optional module gives insight into how the solvers used by MiniZinc actually work. With greater understanding of the solvers you can create more efficient models. Constraint programming (CP) solvers, like Gecode, also allow search to be programmed in the MiniZinc model, and this can make solving far more efficient. Mixed Integer Programming (MIP) solvers can handle many discrete optimization problems far more effectively than CP solvers, but they have a preference for linear constraints.

Note: This course is currently not available.

Related Courses

Game Theory (Coursera) Coursera
Stanford University,The University of British Columbia

Game Theory (Coursera)

Popularized by movies such as "A Beautiful Mind," game theory is the mathematical modeling of strategic interaction among rational (and irrational) agents. Beyond what we call `games' in common language, such as chess, poker, soccer, etc., it includes the modeling of conflict among nations, political campaigns, competition among firms, and trading behavior in markets such as the NYSE.

Jun 8th 2026
5-12 Weeks
Mastering the Software Engineering Interview (Coursera) Coursera
University of California, San Diego

Mastering the Software Engineering Interview (Coursera)

You’ve hit a major milestone as a computer scientist and are becoming a capable programmer. You now know how to solve problems, write algorithms, and analyze solutions; and you have a wealth of tools (like data structures) at your disposal. You may now be ready for an internship or (possibly) an entry-level software engineering job. But can you land the internship/job? It depends in part on how well you can solve new technical problems and communicate during interviews. How can you get better at this? Practice!

Jun 8th 2026
4 Weeks
Organizational Concepts and Language (Coursera) Coursera
University of Illinois at Urbana-Champaign

Organizational Concepts and Language (Coursera)

In this course, you will learn how to communicate using common organizational language, concepts, and frameworks useful for decision-making and problem-solving. The professional business skills related to business concepts and language gained through this course will help you to succeed working in any organization.

Jun 8th 2026
5-12 Weeks
Everyday Excel, Part 2 (Coursera) Coursera
University of Colorado Boulder

Everyday Excel, Part 2 (Coursera)

"Everyday Excel, Part 2" is a continuation of the popular "Everyday Excel, [Parts 1](https://www.mooc-list.com/course/everyday-excel-part-1-coursera)". Building on concepts learned in the first course, you will continue to expand your knowledge of applications in Excel. This course is aimed at intermediate users, but even advanced users will pick up new skills and tools in Excel. By the end of this course, you will have the skills and tools to take on the project-based "Everyday Excel, Part 3 (Projects)".

Jun 8th 2026
5-12 Weeks
Critical Thinking Skills for the Professional (Coursera) Coursera
University of California, Davis

Critical Thinking Skills for the Professional (Coursera)

Have you ever tried to find a solution to a problem only to realize you’ve been focusing on the wrong problem from the very beginning? Or you’ve proposed a solution only to have it shut down by your boss or coworkers? How stressful and defeating is that? With massive changes in our world that seem to create the most difficult of circumstances, both personally and professionally, your skills as a critical thinker and problem solver need to be further developed now more than ever.

Jun 8th 2026
3 Weeks
Organizational innovation and creativity (Coursera) Coursera
Tecnológico de Monterrey

Organizational innovation and creativity (Coursera)

This management course focuses on the innovation process by presenting students with methodologies for problem solving and innovation that require research, persistence, and agility. Students will be encouraged to: synthesize existing ideas, images, concepts, and skill sets in an original way; embrace ambiguity; support divergent thinking and risk taking.

Jun 8th 2026
4 Weeks
Techniques of Design-Oriented Analysis (Coursera) Coursera
University of Colorado Boulder

Techniques of Design-Oriented Analysis (Coursera)

This is Course #2 in the Modeling and Control of Power Electronics course sequence. The course is focused on techniques of design-oriented analysis that allow you to quickly gain insights into models of switching power converters and to translate these insights into practical converter designs. The design-oriented techniques covered are the Extra Element Theorem and the N-Extra Element Theorem (N-EET). Through practical examples, it is shown how the EET can be used to simplify circuit analysis, to examine the effects of initially unmodeled components, and to design damping of converters such as SEPIC and Cuk to achieve high-performance closed-loop controls.

Jun 8th 2026
3 Weeks
Big Data Modeling and Management Systems (Coursera) Coursera
University of California, San Diego

Big Data Modeling and Management Systems (Coursera)

Once you’ve identified a big data issue to analyze, how do you collect, store and organize your data using Big Data solutions? In this course, you will experience various data genres and management tools appropriate for each. You will be able to describe the reasons behind the evolving plethora of new big data platforms from the perspective of big data management systems and analytical tools.

Jun 8th 2026
5-12 Weeks
Inheritance and Data Structures in Java (Coursera) Coursera
University of Pennsylvania

Inheritance and Data Structures in Java (Coursera)

This course provides a comprehensive look at Java inheritance, including access modifiers and overriding methods. Students are introduced to abstract classes, and will learn how to read and write to files, use regular expressions for parsing text, and how to leverage complex data structures like collections and maps. Additionally, this course offers strategies for catching errors and debugging code, including an overview of Eclipse’s debugging tool.

Jun 8th 2026
4 Weeks
Problem-solving (Coursera) Coursera
Arizona State University

Problem-solving (Coursera)

Problem-solving is a universal skill. Its applications aren’t limited to your job or what you’re working on in class. Maybe you need the best arrangement to hang up some pictures, are setting up a new TV or just want to find somewhere for your team to go for lunch. These are all examples of problems: situations that can be addressed. The question you then ask is: “How can I go about solving these problems?”

Jun 8th 2026
4 Weeks
Modelaje y Análisis con información georreferenciada (Coursera) Coursera
Universidad de los Andes

Modelaje y Análisis con información georreferenciada (Coursera)

El curso modelaje y análisis con información georreferenciada busca que comprendas la diversidad y el potencial de los datos geográficos. En el curso podrás utilizarlos en ejemplos básicos para modelar, procesar y analizar problemas donde la ubicación juega un rol importante. Todo esto con el fin de encontrar soluciones que te permiten un primer acercamiento práctico para el procesamiento de este tipo de datos no tradicionales.

Jun 8th 2026
4 Weeks
Input Filter Design (Coursera) Coursera
University of Colorado Boulder

Input Filter Design (Coursera)

This is Course #3 in the Modeling and Control of Power Electronics course sequence. After completion of this course, you will gain an understanding of issues related to electromagnetic interference (EMI) and electromagnetic compatibility (EMC), the need for input filters and the effects input filters may have on converter responses.

Jun 8th 2026
3 Weeks