Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software-Defined Network Traffic Engineering

This is our final project for (Fall 2023) CS 4450 – Introduction to Computer Networks at Cornell University. The objectives for this project was to develop and analyze algorithms for software-defined network traffic engineering using linear programming. One algorithm was made to maximize a network's total throughput and another to minimize the maximum link utilization. For this project we used the topology and demands as described the B4 and Sprint folders at this repository.

Authors

Run Locally

Make sure you have Gurobipy, NetworkX, and Matplotlib installed!

Clone the project

  git clone https://github.com/richardshkimm/te-project-dao.git

Go to the project directory

  cd te-project-dao

Running the code snippet below will output the results of the Gurobipy optimization in the terminal and produce an image for the flow allocation graph

  python3 main.py

(Inputs topology (Sprint or B4), algorithm (maximize throughput or minimize mlu), and mlu_weight can all be adjusted in our main() function)

To see the solving times for smaller vs larger topologies run the Jupyter Notebook: extra_credit.ipynb

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages