Publication
Unified Planning: Modeling, manipulating and solving AI planning problems in Python
Andrea Micheli; Arthur Bit-Monnot; Gabriele Röger; Enrico Scala; Alessandro Valentini; Luca Framba; Alberto Rovetta; Alessandro Trapasso; Luigi Bonassi; Alfonso Emilio Gerevini; Luca Iocchi; Felix Ingrand; Uwe Köckemann; Fabio Patrizi; Alessandro Saetti; Ivan Serina; Sebastian Stock
In: SoftwareX, Vol. 29, Elsevier, 2/2025.
Abstract
Automated planning is a branch of artificial intelligence aiming at finding a course of action that achieves specified goals, given a description of the initial state of a system and a model of possible actions. There are plenty of planning approaches working under different assumptions and with different features (e.g. classical, temporal, and numeric planning). When automated planning is used in practice, however, the set of required features is often initially unclear. The Unified Planning (UP) library addresses this issue by providing a feature-rich Python API for modeling automated planning problems, which are solved seamlessly by planning engines that specify the set of features they support. Once a problem is modeled, UP can automatically find engines that can solve it, based on the features used in the model. This greatly reduces the commitment to specific planning approaches and bridges the gap between planning technology and its users.