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
Welcome to this Spark AR Studio advanced course. In this course, you will learn how to use Spark AR advanced skills and techniques to create and design augmented reality (AR) filters and use custom... more
Using motivational videos, introductory sections, an interactive code editor, challenges and peer review throughout this course you will develop a working chat app. While doing so you can earn... more
This course, part of the Software Development MicroMasters Program, introduces how teams design, build, and test multi-version software systems. You will learn software engineering principles that... more
Please Note: Learners who successfully complete this IBM course can earn a skill badge — a detailed, verifiable and digital credential that profiles the knowledge and skills you’ve acquired in thi... more
A lo largo de los años, la inteligencia artificial ha logrado muchos años de evolución. Existen antecedentes desde los años 50s que brindaron los fundamentos para llegar al crecimiento del pod... more