Semester Offering: January

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 algo­rithms, network optimization, network simulation.




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 Floyd-Warshall algorithm
4.    Lab 6: Shortest path routing with link-disjoint backup paths
5.    k-shortest path routing
6.    Lab 7: Implementation of k-shortest 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


Lecture notes and handouts


D. Bertsemas and J.N. Tsitsiklis, Introduction to Linear Optimization, Athena Sci­entific, 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%)
         Mid-semester exam (40%) and
         Final exam (45%).