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

Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic 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.

Aug 17th 2026
4 Weeks
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
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
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.

Aug 24th 2026
5-12 Weeks
BIM for Construction (edX) EdX
Purdue University,PurdueX

BIM for Construction (edX)

Learn how to couple BIM and traditional scheduling and cost-estimating tools to develop 4D, 5D, and nD models for effective construction applications. This course is the second of a sequence of interrelated courses on current computer applications in the construction industry. The emphasis of this course is the application of building information modeling (BIM) in construction.

Feb 13th 2022
5-12 Weeks
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
Question Everything: Scientific Thinking in Real Life (edX) EdX
University of Queensland,UQx

Question Everything: Scientific Thinking in Real Life (edX)

Learn how to use math and science to solve everyday problems and better prepare yourself to continue studying science in high school and beyond. Have you ever wondered how you can apply math and science skills to real life? Do you wish you could go beyond what you've learned in the classroom? This science course will advance your knowledge as we unpack some important scientific thinking skills using real-world examples.

Self Paced
Self-Paced
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
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
Model-Based Automotive Systems Engineering (edX) EdX
Chalmers University of Technology,ChalmersX

Model-Based Automotive Systems Engineering (edX)

Learn how to model and simulate system dynamics in automotive engineering. Modeling, control design, and simulation are important tools supporting engineers in the development of automotive systems, from the early study of system concepts (when the system possibly does not exist yet) to optimization of system performance. This course provides a theoretical basis to model-based control design with the focus on systematically develop mathematical models from basic physical laws and to use them in control design process with specific focus on automotive applications.

Self Paced
Self-Paced