EdX

Constraint Programming (edX)

Constraint Programming (edX)

Learn the basics of constraint programming from the implementation of solvers to modeling techniques for solving concrete combinatorial problems such as routing and scheduling. In this course, we will learn the basics of constraint programming: a paradigm that aims to reduce the cost of developing and solving combinatorial problems through extensive reuse of code, whose design is open-ended, but also through pruning techniques of the search space by reasoning at the level of constraints.

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

Today more than ever, the optimal use of resources has become a very important issue. Many decision problems (logistics, production, space, etc.) aiming at an optimal use of resources can be formulated as constraint combinatorial optimization problems. Unfortunately, these problems are difficult to solve mainly for two reasons :

  1. They require complex algorithms to design and develop,
  2. Finding an optimal solution can be computationally intensive.

During the proposed projects, you will develop your own constraint programming solver in Java that we will gradually extend in functionality in order to solve more and more complex combinatorial problems, especially in scheduling and vehicle routing. You will also develop global constraints, implement search strategies, model problems, and measure the impact of modeling choices on the efficiency of the solution.
Each module first introduces the concepts through videos, then a programming project is proposed to put these concepts into practice.

What you'll learn

  • Understand the constraint programming paradigm
  • Design and implement a modern constraint programming library
  • Model using the constraint programming
  • Extend the solver with new global constraints
  • Design custom and black-box searches
  • Approach Scheduling and Vehicle Routing problems with constraint programming

Syllabus

Module 1: From Backtracking Search to the Constraint Programming Paradigm
Starting from a custom backtracking search algorithm for the N-Queens Problem, we will make the approach gradually more generic until the introduction of a purely declarative approach and the design a first tiny CP library.

Module 2: Introduction to Mini-CP
The design and internals (variables, domains, state restoration, etc.) of Mini-CP, the constraint programming library that is used along the course and that is extended in each assignment.

Module 3: The sum and element global constraints
Two constraints that occur for solving most of the CP problems. Design of their filtering algorithms, study of their properties and implementation.

Module 4: The extensional table constraint
Introduction to the table constraint, the most generic one can imagine in CP. Study of some of its application, and filtering algorithms for this constraint.

Module 5: The alldifferent constraint
Study of the alldifferent global constraint as an illustration of an elegant reuse of well-known graph algorithms embedded into the filtering of constraints.

Module 6: The Circuit constraint and Vehicle Routing Problems (VRP)
Introduction to solving VRP with CP using the successor model and the circuit global constraint. Introduction to solving optimization problems with CP and Large Neighborhood search.

Module 7: Cumulative Scheduling Problems
Introduction to Scheduling with CP and the cumulative constraint, instrumental for scheduling non preemptive tasks with resource requirements.

Module 8: Disjunctive Scheduling Problems
A specific case of scheduling problems is the one of disjunctive resource where activities cannot overlap in time. We will study specific filtering and search techniques and apply it to solve the well kownknown job-shop problem.

Module 9: Blackbox Search
Introduction to efficient search heuristics independent of the problem to solve. All these searches are declinations of the well-known first-fail principle.

Module 10: Modeling
Introduction to advanced modeling techniques to boost the solving of your problems, including redundant constraints, and symmetry breaking.

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

Related Courses

Aplicaciones de la Teoría de Grafos a la vida real II (edX) EdX
Universitat Politècnica de València,UPValenciaX

Aplicaciones de la Teoría de Grafos a la vida real II (edX)

Aprenderemos a modelizar problemas del mundo real mediante su representación con grafos y a resolverlos mediante sus algoritmos asociados. Este curso trata la Teoría de Grafos desde el punto de vista de la modelización, lo que nos permitirá con posterioridad resolver muchos problemas de diversa índole. Presentaremos ejemplos de los distintos problemas en un contexto real, analizaremos la representación de éstos mediante grafos y veremos los algoritmos necesarios para resolverlos.

Self Paced
Self-Paced
Feature Engineering for Improving Learning Environments (edX) EdX
University of Texas at Arlington,UTArlingtonX

Feature Engineering for Improving Learning Environments (edX)

Every model used to predict a future outcome depends upon the quality of features used. This course focuses on developing better features to create better models. How can data-intensive research methods be used to create more equitable and effective learning environments? In this course, you will learn how data from digital learning environments and administrative data systems can be used to help better understand relevant learning environments, identify students in need of support, and assess changes made to learning environments.

No sessions available
3 Weeks
Work Smarter, Not Harder: Time Management for Personal & Professional Productivity (Coursera) Coursera
University of California, Irvine

Work Smarter, Not Harder: Time Management for Personal & Professional Productivity (Coursera)

You will be able to gain and apply your knowledge and understanding of personal and professional awareness, organization and commitment, and use the tools, methods and techniques that you have learned in goal setting, prioritization, scheduling, and delegation to overcome time management challenges and enhance productivity.

Nov 9th 2026
4 Weeks
Principles of Modeling, Simulations, and Control for Electric Energy Systems (edX) EdX
MIT,MITx

Principles of Modeling, Simulations, and Control for Electric Energy Systems (edX)

Apply a dynamic systems-level approach and engage emerging research on efficient, sustainable, and physically and economically feasible electric power systems of the future. As global energy demand grows, to mitigate climate change we must drive a swift transition to clean energy resources and enhanced electric power grid infrastructure. In this course, you will explore systemic principles of future electric power system management, such as the role of smart grids, data-enabled machine learning, power electronics-control, and data-driven decision-making.

No session available
5-12 Weeks
Basics of Statistical Inference and Modelling Using R (edX) EdX
University of Canterbury,UCx

Basics of Statistical Inference and Modelling Using R (edX)

Learn why a statistical method works, how to implement it using R and when to apply it and where to look if the particular statistical method is not applicable in the specific situation. Basics of Statistical Inference and Modelling Using R is part one of the Statistical Analysis in R professional certificate.

Self Paced
Self-Paced
Viscoelasticidad y comportamiento mecánico-dinámico de materiales poliméricos. Modelización (edX) EdX
Universitat Politècnica de València,UPValenciaX

Viscoelasticidad y comportamiento mecánico-dinámico de materiales poliméricos. Modelización (edX)

Aprende sobre el comportamiento viscoelástico de polímeros para el diseño de componentes con materiales poliméricos. Los materiales poliméricos se caracterizan por tener un comportamiento viscoelástico lo cual implica que sus propiedades mecánicas surgen de la combinación de unas propiedades elásticas y viscosas.

Self Paced
Self-Paced
Data Science: Inference and Modeling (edX) EdX
HarvardX,Harvard University

Data Science: Inference and Modeling (edX)

Learn inference and modeling, two of the most widely used statistical tools in data analysis. Statistical inference and modeling are indispensable for analyzing data affected by chance, and thus essential for data scientists. In this course, you will learn these key concepts through a motivating case study on election forecasting.

Self Paced
Self-Paced
Data Science: Capstone (edX) EdX
HarvardX,Harvard University

Data Science: Capstone (edX)

Show what you’ve learned from the Professional Certificate Program in Data Science. To become an expert data scientist you need practice and experience. By completing this capstone project you will get an opportunity to apply the knowledge and skills in R data analysis that you have gained throughout the series. This final project will test your skills in data visualization, probability, inference and modeling, data wrangling, data organization, regression, and machine learning.

Self Paced
Self-Paced
Modeling and Simulation of Multibody Systems - Part I (edX) EdX
LouvainX,Université Catholique de Louvain - UCL

Modeling and Simulation of Multibody Systems - Part I (edX)

Vehicles, bicycles, cranes, human body and robots are multibody systems. Learn how to model them and compute their kinematic and dynamic characteristics, such as velocities, accelerations and forces. This course aims at acquainting you with the modeling and simulation of complex articulated mechanical systems, denoted as multibody systems, such as vehicles, merry-go-rounds, motorbikes, cranes, human bodies, suspensions, robot manipulators, mechanical transmissions, etc.

Self Paced
Self-Paced
Groundwater Cycle (edX) EdX
Purdue University,PurdueX

Groundwater Cycle (edX)

The Earth is blue for its oceans but green for the blankets of groundwater under our feet. This course explores the water cycle from under the ground. How much groundwater do we use and what for? How much do the trees? How do we model water fluxes? This course explores the water cycle from an underground perspective. We start with the description of groundwater as a resource: How much is there? Where is it? How do we use it? How much groundwater do plants and trees use every year? How much water do aquifers lose during droughts? How much do they gain during rain events or in a typical year?

Jan 10th 2022
5-12 Weeks
Quantitative Formal Modeling and Worst-Case Performance Analysis (Coursera) Coursera
EIT Digital

Quantitative Formal Modeling and Worst-Case Performance Analysis (Coursera)

Welcome to Quantitative Formal Modeling and Worst-Case Performance Analysis. In this course, you will learn about modeling and solving performance problems in a fashion popular in theoretical computer science, and generally train your abstract thinking skills. After finishing this course, you have learned to think about the behavior of systems in terms of token production and consumption, and you are able to formalize this thinking mathematically in terms of prefix orders and counting functions. You have learned about Petri-nets, about timing, and about scheduling of token consumption/production systems, and for the special class of Petri-nets known as single-rate dataflow graphs, you will know how to perform a worst-case analysis of basic performance metrics, like throughput, latency and buffering.

Nov 16th 2026
4 Weeks