

Semester Offering:  




To provide students with basic skills in using free programming tools (Python, PuLP, and GLPK) to create network simulation and optimization programs that can be used in industrial applications as well as in basic research.




Computer networks, integer and linear programming, network algorithms, network optimization, network simulation.




None




I. Introduction to Python
1. Basic commands, data structures, functions, and list comprehension
2. Lab 1: Generating regular network topologies
3. Reading and writing files, module importing, and graph plotting
4. Lab 2: Graph plotting of statistical data
II. Random Number Generation
1. Generating random variables and computation of statistical parameters
2. Lab 3: Visualizing the central limit theorem
3. Simulation experiment and reporting simulation results
4. Lab 4: Generating random network topologies
III. Basic Network Algorithms
1. Modeling networks as graphs, adjacency matrices, and connectivity
2. Lab 5: Characterizing social networks
3. Shortest path routing, Dijkstra algorithm, and FloydWarshall algorithm
4. Lab 6: Shortest path routing with linkdisjoint backup paths
5. kshortest path routing
6. Lab 7: Implementation of kshortest path routing
IV. Dynamic Traffic and Call Blocking
1. Standard queueing models, traffic generation, and simulation of M/M/1 and M/M/1/m queues
2. Lab 8: Simulation of M/M/m, M/M/m/m and G/M/m/m queues
3. Fixed routing, dynamic routing, and call blocking in networks
4. Lab 9: Comparing fixed and dynamic routing
V. Network Optimization Using PuLP
1. Problem formulation and problem solving using PuLP/GLPK
2. Lab 10: Minimum cost routing
3. Wireless sensor networks (WSNs) and maximum lifetime routing
4. Lab 11: Maximum lifetime routing for WSNs
5. Rearrangement of existing calls for dynamic traffic using network optimization
6. Lab 12: Quantifying the benefits of call rearrangements
VI. Multiple Access Systems
1. Slotted Aloha and its simulation
2. Lab 13: Simulating framed slotted Aloha for RFID systems
3. Dynamic polling for Ethernet passive optical networks (EPONs)
4. Lab 14: Simulating dynamic polling for EPONs


Learning Resources:  


Lecture notes and handouts




D. Bertsemas and J.N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific, 1997.
D. Bersekas and R.G. Gallager, Data Networks, 2nd Edition, Prentice Hall, 1992.
T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein,Introduction to Algorithms, 3rd Edition,MIT Press, 2009.
J.M. Simmons, Optical Network Design and Planning, Springer, 2010.




IEEE Communications Magazine
IEEE Journal on Selected Areas in Communications
IEEE Transactions on Communications
IEEE/ACM Transactions on Networking




The final grade will be computed from the following components:
Weekly projects (15%)
Midsemester exam (40%) and
Final exam (45%).

