FMAP Unified Planning Interface
This asset provides the interfacing between the FMAP multi-agent planner and the Unified Planning framework developed by the AIPlan4EU project.
FMAP is a domain-independent multi-agent planning system developed by A. Torreño, O. Sapena, E. Onaindia. A multi-agent planning (MAP) problem is a type of planning problem where several autonomous entities, called agents, either collaborate to achieve a common goal (cooperative variant) or compete against each other to achieve their respective goal (competitive variant). FMAP takes as input the specification of a multi-agent cooperative planning problem and generates a plan for each agent, along with a set of synchronization constraints, which ensure that if the plans are executed according to those constraints, the common goal is achieved.
The AIPlan4EU project developed a Unified Planning (UP) library to simplify the use and interfacing of various kinds of planning techniques, including multi-agent planning. This asset encompasses the code needed to connect the FMAP planner with the UP, thus using FMAP as one of the possible solution engines.
FMAP leverages a forward-chaining partial-order planner (POP) that allows agents to plan their actions in parallel whenever possible, which greatly improves the quality of the resulting solution plans. Moreover, the forward-chaining approach relies on the frontier state (state that results from executing the actions of a node) to compute accurate state-based estimates.
Operation Modes
- OneshotPlanning
Installation
The library can be easily installed as follows.
pip3 install up-fmap/
Alternatively, one can simply install the UP together with FMAP as follows
pip3 install unified-planning[FMAP]
Try it yourself!
The live demos showcasing the usage are available:
multiagent-planning-simple
multiagent-planning