To demonstrate the capabilities of the proposed method, consider a scenario with two safe (A, B) and two affected locations (C, D) as shown in Figure 1. Safe locations offer teams, vehicles, and relief goods, and affected locations require evacuation, rescue, aid, and supplies. Constraints like travel distances and inaccessible routes reflect real-world challenges such as resource limits, priority handling, and accessibility issues. The proposed method can generate cost-effective plans with effectively address these constraints and challenges.

This automated planning domain can be integrated into real-world disaster response systems through a layered architecture involving instance formulation, plan generation, and execution. This would include interfacing the planner with data sources through a preprocessing layer that formats inputs into a PDDL instance. Authorities can embed a numeric planner along with the proposed domain within their Command-and-Control software to generate plans for evacuation, rescue, medical support, and resource distribution based on data. This model can also serve as a component of Digital Twin systems for disaster scenarios, where simulations help train personnel, stress-test strategies, and prepare for future crises.
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. (LICENSE)
To get started with RAPID, follow these steps:
- PDDL-compatible numeric planner, e.g.
- A basic understanding of PDDL syntax and planning systems.
-
Clone this repository
git clone https://github.com/rmimbd/rapid.git
or simply download the raw Domain (domain.pddl) file.
-
Define your problem instance files in PDDL. You can find sample instances here (instances).
-
Run your planner with the domain and problem files to generate a sequence of actions.
We welcome contributions to RAPID! If you have ideas, bug fixes, or improvements, feel free to fork the repository and submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your forked repository.
- Submit a pull request with a description of your changes.
For any questions, suggestions, or support, feel free to open an issue or contact the repository owner at [email protected].