Constraint Programming

About this Course

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 : They require complex algorithms to design and develop, Finding an optimal solution can be computationally intensive. 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. 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.

Created by: Université catholique de Louvain

Level: Advanced


Related Online Courses

The Relational Database Management Systems course provides you with a basic understanding of relational databases. You will create databases and gain real-world experience with several popular... more
Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively... more
The Internet of Things is rapidly growing. It is predicted that more than 25 billion devices will be connected by 2020. In this data science course, you will learn about the major components of the... more
Welcome to Machine learning with Python for finance professionals, provided by ACCA (Association of Chartered Certified Accountants), the global body for professional accountants. This course is... more
This course provides an introduction to the Java programming language. It gives students a foundational overview and history of Java, and students will learn about the language’s basic syntax. At t... more

CONTINUE SEARCH

FOLLOW COLLEGE PARENT CENTRAL