Scheduling maintenance for aircraft, railroads, electricity networks, or elevators is notoriously complex. It involves skills/affinity matching and travel distance minimization. Furthermore, each maintenance job must be completed before its hard deadline (before the breakage risk is too high) and before its soft deadline (in case of unexpected delays). On the other hand, completing jobs too early is a waste of resources: if you clean your house 7 days in a row, that doesn't mean you don't have to clean it again in 7 weeks. Today, most companies plan their maintenance inefficiently, often manually. But advanced planning AI algorithms can do a much better job.
In this session, Geoffrey'll show you how to code a maintenance scheduling application, with OptaPlanner on Quarkus and Java (but Spring and/or Kotlin also works). It'll generate the best schedule, for both the workers and the managers, taking into account hard and soft constraints.