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
What is good game design? How do you come up with good game ideas? How do you start documenting your ideas? How do you create an experience? How do you write a rule book? These are some of the... more
According to Indeed.com in August 2022, the average annual salary for Technical Support is $51,758, though it can go considerably higher. The need for technology is constantly growing, as is the... more
Apache® Spark™ is a fast, flexible, and developer-friendly open-source platform for large-scale SQL, batch processing, stream processing, and machine learning. Users can take advantage of its op... more
Quantum computing is coming closer to reality, with 80+ bit machines in active use. This course provides an intuitive introduction to the impacts, underlying phenomenon, and programming principles... more
Source code management systems are where code, ci-scripts, and Infrastructure as Code (IaC) scripts are stored and managed. That means that properly protecting the SCM is an important step towards... more