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

Advanced Statistical Inference and Modelling Using R (edX) EdX
University of Canterbury,UCx

Advanced Statistical Inference and Modelling Using R (edX)

Extend your knowledge of linear regression to the situations where the response variable is binary, a count, or categorical as well as to hierarchical experimental set-up. Advanced Statistical Inference and Modelling Using R is part two of the Statistical Analysis in R professional certificate. This course is directed at people who are already familiar with basic linear regression and fundamentals of statistical inference. It extends the knowledge of linear regression to the situations where the response variable is binary, a count, or categorical as well as to hierarchical experimental set-up.

Self Paced
Self-Paced
Construction Scheduling (Coursera) Coursera
Columbia University

Construction Scheduling (Coursera)

Learners will discover the key project scheduling techniques and procedures including; how to create a network diagram, how to define the importance of the critical path in a project network, and defining project activities float. Also covered are the fundamentals of Bar Charts, Precedence Diagrams, Activity on Arrow, PERT, Range Estimating, and linear project operations and the line of balance.

Oct 19th 2026
5-12 Weeks
Introduction to Engineering Design (edX) EdX
MathWorks

Introduction to Engineering Design (edX)

Gain a comprehensive overview of the engineering design workflow through the power of modeling and simulation. Welcome to Introduction to Engineering Design, the first course in the Engineering Design and Simulation Program. This course will give you a comprehensive overview of the engineering design workflow through the power of modeling and simulation, using the example of a quadcopter.

Self Paced
Self-Paced
Introduction to 3D Modeling (Coursera) Coursera
University of Michigan

Introduction to 3D Modeling (Coursera)

On this four-week practical course from the University of Michigan, you’ll not only learn how to use the Rhino software to create your 3D models, but you’ll also gain basic design skills to help bring your imagination to life. This course will guide you through 3D modeling within Rhino, so you’ll cover the fundamentals of the software as well as 3D modeling in general. You’ll first look at how to navigate the user interface and the different tools that you’ll be using to create models throughout this course. You’ll familiarize yourself with the 3D space and 3D objects before jumping straight in to create your own objects and building blocks.

Nov 2nd 2026
4 Weeks
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
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
Manufacturing Systems II (edX) EdX
MIT,MITx

Manufacturing Systems II (edX)

Learn how to analyze manufacturing systems to optimize performance and control costs and better understand the flow of material and information. Manufacturing systems are complex systems that require analytical analysis. Managers and practitioners use a wide variety of methods to analyze and optimize the performance of manufacturing systems and control costs.

Mar 6th 2024
5-12 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).

Oct 19th 2026
5-12 Weeks
Basic 3D Modeling using Blender (edX) EdX
IIT Bombay,IITBombayX

Basic 3D Modeling using Blender (edX)

Learn basic 3D modeling skills, including modeling, texturing, and lighting, using free and open source tool: Blender. Animation is an emerging medium of communication, especially in education and entertainment domains. More and more learners are aspiring to make a career in animation. However, the animation training is expensive. One of the reasons is the high cost of proprietary software used for animation.

No sessions available
4 Weeks
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
Precalculus: Mathematical Modeling (Coursera) Coursera
Johns Hopkins University

Precalculus: Mathematical Modeling (Coursera)

This course helps to build the foundational material to use mathematics as a tool to model, understand, and interpret the world around us. This is done through studying functions, their properties, and applications to data analysis. Concepts of precalculus provide the set of tools for the beginning student to begin their scientific career, preparing them for future science and calculus courses. This course is designed for all students, not just those interested in further mathematics courses.

Oct 19th 2026
4 Weeks