The goal of this project is to create an efficient client for the MAvis server, specifically designed to comply with the hospital domain (described during the course). This project employs various search strategies to effectively navigate complex hospital layouts, addressing multi-agent pathfinding (MAPF) issues. Additionally, it offers the option to use both basic and advanced algorithms for search problems, enabling the comparison of different approaches, including problem planning and maze solving through Iterated Width (IW) search.
- Java Runtime Environment (JRE) version 11 or above
- Python 3.12 or above with specified packages:
- numpy
- debugpy
- psutil
The project supports various search strategies to tackle the MAPF problems. Below are the commands to execute each strategy with level MAPF01 as an example with a graphical representation, every bash command is equipped with a 180 seconds timeout indicated by "-t 180":
java -jar ./server.jar -l ./all_levels/levels/MAPF01.lvl -c "python searchclient.py -bfs" -g -t 180
java -jar ./server.jar -l ./all_levels/levels/MAPF01.lvl -c "python searchclient.py -dfs" -g -t 180
java -jar ./server.jar -l ./all_levels/levels/MAPF01.lvl -c "python searchclient.py -greedy -s_dij" -g -t 180
java -jar ./server.jar -l ./all_levels/levels/MAPF01.lvl -c "python searchclient.py -greedy -c_dij" -g -t 180
java -jar ./server.jar -l ./all_levels/levels/MAPF01.lvl -c "python searchclient.py -iw -c_dij" -g -t 180
java -jar ./server.jar -l ./all_levels/levels -c "python searchclient.py" -t 180