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
Las redes de computadores, o renombradas hoy en día como Networks of Things , son esenciales para soportar los servicios de Internet que usamos a diario, dado que soportan la transformación d... more
Want to take a fascinating journey through the history of gaming? Then this course is for you. Our journey begins with an exploration of how ancient board games evolved into modern board games and... more
Never before has the video game market been at a better time. There are currently many platforms available and the emergence of mobile devices has revolutionized the sector. The existence of... more
What is this course about? In this course, we will look at the advanced technologies that are driving FinTech forward. FinTech is not only a major strategic focus in the banking and finance... more
As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By... more