Implementation of Quadratic Assignment Problem using Minimum Congestion Algorithm by Bansal et. al.
Currently the code only supports random graph with no user input.
Substrate Graph- Random connected graph with random capacity and weights/costs.
Workload Graph- Star graph with random number of leaf nodes, random uniform edge demand and node demand of 1.
- Create a pytohn virtual environment
- Run
pip install -r requirments.txt - Create
dataset/internetdirectory to add graphs for internet topology. - Run
python algorithm.py [-t/--topology <topology>] [-sg/--save_graph] [-sd/--save_drive] - To save all the results to google drive.
- Create a project in google cloud.
- Create a service account to avoid authorization before run.
- Save service account key as
client_sercets.json. - Get folder_id from Google drive URL.
- Add
{"folder_id": $folder_id_fetched_from_url}in config.json.
Note: Currently we support only Internet Topology. Clos, Bcube, and Xpander topologies will be added in next iterations.