Gaelan O'Shea-McKay -
301267831
Hassan Shahid - 301382353
Bryan Wong - 301381982
This project contains multiple solvers for the Multi-Agent Path Finding problem with large size (2x2 and 3x3) agents.
These solvers are implemented inside code/code/mccbs.py
and can be invoked from the command line with:
python run_experiments.py
With a number of arguments.
Required Arguments:
--instance <file_path/file_name>
Specify the instance to attempt to solve.
--solver <solver_name> (Options: MCCBS, Prioritized)
Specify which solver to use.
Optional Arguments:
--batch
Run the solver against a batch of instances. Incompatible with Prioritized Planning.
--splitter <splitter_name> (Options: standard, disjoint, symmetrical, asymmetrical)
Choose the splitting strategy to use. Defaults to standard
if omitted.
--maxnodes <max_number_of_generated_nodes>
Choose a number of generated nodes at which to stop the solver. If omitted, will run until a solution is found or the computer runs out of memory.
It also contains a suite of instances for benchmarking the solvers, located inside /code/code/benchmarking/
.
Some extra hard instances can also be found in /code/code/benchmarking/hard/
For example, to invoke the MCCBS solver with symmetrical splitting on the set of benchmarking instances and a limit of 500,000 generated nodes run:
cd code
cd code
python run_experiments.py --instance "benchmarking/inst_*" --solver MCCBS --splitter symmetrical --batch --maxnodes 500000
The results of the solver are found in /code/code/mccbs_<splitter_name>_results.csv
.
An example of the results of previous runs with various solvers can be found inside data/
.
Thanks for reading!