In this repository, you can find the code for our project on demand-aware multi-source IP-multicast.
To be able to run our code, you need to install Gurobi first.
- Download Gurobi from the Gurobi website.
- Follow installation instructions for your OS.
- Activate the appropriate license using
grbgetkey YOUR_LICENSE_KEY
- Install Gurobi Python Package:
pip3 install gurobipy
In this project, we cover topologies from a few sources that you can select in algorithms.py.
- The Internet Topology Zoo: You can download topologies from their website, and then include .graphml files in an appropriate folder.
- iGen: After installing the tool mentioned in the website, you can create graphs with desired properties described in the paper.
- Campus network: we hardcoded the creation of this type of network in our code.
- National ISP network: unfortunately, we can not provide this network publicly.
- SNDlib networks: the code also can work with networks from SNDlib, however, we didn't include results from those networks in our current version of the paper.
Then based on each topology, we create the source and destination pairs, demand between demand, and capacity of edges accordingly, if needed. However, you might still need to set the size of the graphs that you want to use in the code.
After setting up what is discussed above, you can run the visualization that you prefer and mention it in the visualization folder.