Implementation of Flexibile Any-Start-Time Safe Interval Path Planning
Project description
Replanning in Advance for Instant Delay Recovery
This project has the following directories:
src/flexsipp: Python module to generate the FlexSIPP search graphsrc/search(atSIPP): C++ module to search for flexible any-start-time plans in the FlexSIPP search graphtests: Tests and examples for how to use the flexsipp code.experiments: Folders containing experiments with code specific to the implementation that is being tested.mapf: Multi Agent Path Finding problems, replanning agents in a 2d grid world.railways: Replanning delayed trains specific to the Dutch railway network.
Dependencies (version tested):
- msvc (14.3)
- boost (1.90)
FlexSIPP can be installed in two ways, using pip install flexsipp or by building the package from the source code.
We recommend using a virtual environment.
To build the flexsipp from source code, in the root folder run pip install .
FlexSIPP can now be imported in python using import flexsipp.
Building flexsipp requires boost to be installed using msvc. On Windows this can be accomplished by installing
the boost binaries msvc version 14.3. Install these binaries in C:\Boost
or set the BOOST_PATH_DLL environment variable to the folder that contains the .dlls files.
To run a specific scenario on a matching location for a specific agent (id=1):
python experiments/railways/main.py -s tests/scenario_test.json -l tests/location_test.json -a 1
Or for a MAPF scenario, you need to pass the agents paths:
python experiments/mapf/main.py -s data/mapf/maze/scen-even/maze-128-128-1-even-1-k50_paths.txt -l data/mapf/maze/maze-128-128-1.map
python experiments/mapf/main.py -s data/mapf/corridor/corridor-2agents_paths.txt -l data/mapf/corridor/corridor.map
To run an experiment with several sequential delays, run:
python experiments/mapf/sequential_delays.py -l data/mapf/corridor/corridor.map -s data/mapf/corridor/corridor-2agents_paths.txt -d data/mapf/corridor/delays.csv -e 20
python experiments/mapf/sequential_delays.py -l data/mapf/simple/simple.map -s data/mapf/simple/6agents_paths.txt -d data/mapf/simple/delays.csv
To run the tests use:
python -m unittest discover -s tests
To cite, please use:
Issa Hanou, Eric Kemmeren, Devin Wild Thomas, and Mathijs de Weerdt.Precomputing Multi-Agent Path Replanning using Temporal Flexibility: A Case Study on the Dutch Railway Network. (2026). [In Proceedings: International Conference on Automated Planning and Scheduling](https://arxiv.org/abs/2601.04884).
Benchmarks
MovingAI
The Moving AI benchmark set can be used with FlexSIPP, more information on the map format
can be found here.
FlexSIPP requires some initial solution for each instance,
and the scenario_file provided to experiments/mapf/main.py should be a list of paths for each agent, for example the output from PBS, which is formatted as follows:
Agent <id0>: (y0,x0)->(y1,x1)->(y1,x1)->(y1,x1)->(y2,x2)->...->(yN,xN)->
Agent <id1>: (y0,x0)->(y1,x1)->(y1,x1)->(y1,x1)->(y2,x2)->...->(yN,xN)->
...
New Benchmark
To add a new benchmark with a different file structure, the Graph class must be implemented for this type of location and the Agents must be initialized with their initial routes and predefined flexibility. See generate_mapf.py for an example with the Moving AI benchmarks.
Railways
TODO explain file structures
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flexsipp-1.0.0.tar.gz.
File metadata
- Download URL: flexsipp-1.0.0.tar.gz
- Upload date:
- Size: 17.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c25d7ea90932fddd18e7c627aa958507e92ad37c21a39748123c88621177b237
|
|
| MD5 |
23416b251acc229ef97dc86374eca18e
|
|
| BLAKE2b-256 |
a97a70e4254597fb17980da43330c90727bcb6246ffd409830877c4d4876d780
|
File details
Details for the file flexsipp-1.0.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: flexsipp-1.0.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 76.5 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb2e276edf5d4a7117d8cd23aedbd3f355a8e2064d800b82a3ffc272493de259
|
|
| MD5 |
76f113231391f75ada5eb202bcd91a02
|
|
| BLAKE2b-256 |
6af1f039f7d8dceecf8c2338d6cadba8aad8c266cc4739656f8d840e613f439a
|