Advanced Modeling for Discrete Optimization (Coursera)

Advanced Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

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

Similar problems also 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.
This course is intended for students who have completed Basic Modelling for Discrete Optimization. In this course you will learn much more about solving challenging discrete optimization problems by stating the problem in a state-of-the-art high level modeling language, and letting library constraint solving software do the rest. This course will focus on debugging and improving models, encapsulating parts of models in predicates, and tackling advanced scheduling and packing problems. As you master this advanced technology, you will be able to tackle problems that were inconceivable to solve previously.

Syllabus

WEEK 1
Debugging and Improving Models
Similar to computer programs, models can have bugs. In this module, you will see the symptoms (unsatisfiability, too many solutions, too few solutions) of different bugs, and learn methods to discover what is going wrong with your model and how to fix it. Equipped with these tools, you will be able to develop and debug complex models.

WEEK 2
Predicates
In this module, 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 with improved readability in a modular manner. You will also encounter for the first time a problem with multiple objectives and learn how to compress them into one single objective. In addition to this, you will learn how to model the banquet seating problem, which will assist you in many occasions in life.

WEEK 3
Scheduling
Learn how to tackle complex project scheduling problems of various forms, progressively from ones with only basic precedence requirements to ones with unary resources and even cumulative resources. You will see how to model some of the complex constraints that arise in these applications.

WEEK 4
Packing
In this module, you will learn the important application of packing, from the packing of squares to rectilinear shapes with and without rotation. Again, you will see how to model some of the complex constraints that arise in these applications.

WEEK 5
Symmetry and Dominance
This final module looks at the various forms of symmetries that can appear in discrete optimization problems. You will learn various methods and special constraints to break such symmetries so as to increase solving efficiency. You will also learn the notion of dominance, which is a generalization of symmetries, and also dominance breaking techniques.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Agile Meets Design Thinking (Coursera) Coursera
University of Virginia

Agile Meets Design Thinking (Coursera)

Despite everyone's good intentions, hard work and solid ideas, too many projects end up creating unneeded, unusable, and unsellable products. But it doesn't have to be this way. Agile and design thinking offer a different--and effective--approach to product development, one that results in valuable solutions to meaningful problems. In this course, you’ll learn how to determine what's valuable to a user early in the process--to frontload value--by focusing your team on testable narratives about the user and creating a strong shared perspective.

Nov 9th 2026
4 Weeks
Agile Planning for Software Products (Coursera) Coursera
University of Alberta

Agile Planning for Software Products (Coursera)

This course covers the techniques required to break down and map requirements into plans that will ultimately drive software production. Upon successful completion of this course, you will be able to: create effective plans for software development; map user requirements to developer tasks; assess and plan for project risks; apply velocity-driven planning techniques; generate work estimates for software products.

Nov 23rd 2026
4 Weeks
Optimización de Redes Neuronales Profundas (Coursera) Coursera
Universidad Austral

Optimización de Redes Neuronales Profundas (Coursera)

Este curso se centrará en la optimización de Redes Neuronales Profundas, cambiando la idea de que todo el proceso es una “caja negra”. Comprenderá qué impulsa el rendimiento y podrá obtener mejores resultados de manera más sistemática. Entenderá cómo optimizar los principales Hiperparámetros y su implementación. Además, aprenderá nuevos conceptos útiles para el entrenamiento de las redes como los mini-batch y las regularizaciones. También, aprenderá a implementar una red neuronal utilizando TensorFlow

Nov 23rd 2026
3 Weeks
Global Warming I: The Science and Modeling of Climate Change (Coursera) Coursera
University of Chicago

Global Warming I: The Science and Modeling of Climate Change (Coursera)

This class describes the science of global warming and the forecast for humans’ impact on Earth’s climate. Intended for an audience without much scientific background but a healthy sense of curiosity, the class brings together insights and perspectives from physics, chemistry, biology, earth and atmospheric sciences, and even some economics—all based on a foundation of simple mathematics (algebra).

Nov 16th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Nov 23rd 2026
4 Weeks
Learn CSS Variables (Coursera) Coursera
Scrimba

Learn CSS Variables (Coursera)

CSS Custom Properties represent a significant advancement for front-end developers, introducing the concept of variables to CSS. This innovation substantially reduces redundancy, enhances code legibility, and augments overall flexibility. Notably, CSS Variables distinguish themselves from their CSS preprocessor counterparts by seamlessly integrating into the Document Object Model (DOM), offering a plethora of advantages.

Nov 23rd 2026
1 Week
Mastering SEO with Jasper: Ranking and Optimization (Coursera) Coursera
Coursera Instructor Network

Mastering SEO with Jasper: Ranking and Optimization (Coursera)

Learners will co-create a high-quality, SEO-optimized nutrition blog article alongside the instructor, leveraging the capabilities of Jasper AI. By the end of the project, learners will have a deep understanding of how to create engaging and informative, SEO-optimized and mobile-friendly articles that can attract a wider audience, boost website traffic, and achieve their online marketing goals.

Nov 16th 2026
1 Week
Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera) Coursera
University of California, San Diego

Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Nov 16th 2026
5-12 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Nov 23rd 2026
5-12 Weeks
Business Analytics with Excel: Elementary to Advanced (Coursera) Coursera
Johns Hopkins University

Business Analytics with Excel: Elementary to Advanced (Coursera)

A leader in a data driven world requires the knowledge of both data-related (statistical) methods and of appropriate models to use that data. This Business Analytics class focuses on the latter: it introduces students to analytical frameworks used for decision making though Excel modeling. These include Linear and Integer Optimization, Decision Analysis, and Risk modeling. For each methodology students are first exposed to the basic mechanics, and then apply the methodology to real-world business problems using Excel.

Nov 16th 2026
5-12 Weeks
MOST from a Conceptual Perspective (Coursera) Coursera
New York University

MOST from a Conceptual Perspective (Coursera)

This course is aimed at intervention scientists working in any area--including public health, education, criminal justice, and others—interested in learning about an innovative framework for conducting intervention research. This course will show you how to use the multiphase optimization strategy (MOST) to: streamline interventions by eliminating inactive components; identify the combination of components that offers the greatest effectiveness without exceeding a defined implementation budget; develop interventions for immediate scalability; look inside the “black box” to understand which intervention components work and which do not; and improve interventions programmatically over time.

Nov 16th 2026
5-12 Weeks