Presentation held together with Professor Gilles Audemard
In this talk, we will start by introducing PyCSP3, which is a Python library that allows us to easily write models of combinatorial constrained problems. We will show how PyCSP3 can be useful to learn more about Constraint Programming (CP), notably by letting the user play with 60 Jupyter notebooks available at pycsp.org (concerning popular constraints, classical models and incremental solving). Then, we will focus on new advanced forms of constraints, combining intensional and extensional representations. These hybrid constraints are promising both for simplifying models and efficiently solving problem instances. Finally, we will discuss several hybrid forms of solving techniques, developed from connex domains: complete operations research approaches, local search and SAT.