Charles Prud'homme


Assistant professor @ IMT Atlantique, FR.


More

About me


Since 2018, I am an assistant professor at IMT Atlantique, a member of the TASC Team inside the lab of digital sciences of Nantes.

As a researcher, I work on constraint programming, from from tool design to applications.

Since 2007, I am the project leader and main contributor of Choco solver, a Free Open-Source Java library dedicated to Constraint Programming.

Research


I am interested in the different aspects of constraint programming. This covers solving mechanisms, constraints and propagators definiton, exploration of the search space but also problem modelling and resolution. I pay particular attention to making this complex problem-solving tool accessible to as many people as possible.

I joined TASC in September 2007. Between September 2007 and September 2018, I was an research engineer working on Choco-solver. During this period, I was a Phd. student (2011-2014).

I defended my Ph.D. thesis, entitled "Controlling propagation and search in a constraint solver", in February 2014 at the Ecole des mines de Nantes (now IMT Atlantique) under the supervision of Narendra Jussien, Xavier Lorca and Rémi Douence.

Supervision

PhD. students Arthur Gontier (2020-2023), Mathieu Vavrille (2020-2023).

Master students Arthur Gontier (2020), Quentin Huitric (2020), Marc-Vincent Seuanes Pereira (2019),
Henry D. Saenz (2018), Antoine Carat (2016).

Projects


Choco solver

2007-∞

A Free Open-Source Java library for Constraint Programming.

SeMaFoR

2021-2025

Self Management of Fog Ressources.

DeCrypt

2019-2023

Constraints and Model Engineering for Autonomic Clouds.

CoMe4ACloud

2017-2018

Constraints and Model Engineering for Autonomic Clouds.

TransOP

2014-2017

Dealing with urban transit crew rescheduling problem.

Infra JVM

2012-2015

Towards a Java Virtual Machine for pervasive computing.

Teaching


Linear Programming

This cours introduces the basics of Linear Programming and Mixed Integer Programming. Solving techniques are presented but the focus is on modelling.

Algorithm and Machine Learning

This course presents the three main families of machine learning: supervised learning, unsupervised learning and reinforcement learning.

Modelling and object-oriented programming

This course introduces the basics of object programming and the Java programming language.

Final internships

This consists in coordinating the internships of the future engineer students.