Packet Optical Network Design and Optimization - ON-136

Preferred Disciplines: Operations Research, Computer Science, or Mathematical Optimization.  MSc, PhD  student or Postdoc
Company: Juniper Networks  Canada, Inc.
Project Length: 8 months
Desired start date: July 3, 2018
Location: Kanata, Ontario
No. of Positions: 1
Preferences: n/a

About the Company: 

Juniper Networks exists to solve the world’s most difficult problems in networking. Today, complexity is at the heart of those problems. Simple is our obsession. And simple always starts with engineering.  At Junipers R&D offices in Kanata Ontario we design Software Defined Networking and Optical transport products. 

Project Description:

The problem we need to solve is:


  • Expected set of IP traffic flows for a network
  • Network equipment
    • Existing and/or available
    • Nodes and links
  • Locations for equipment


  • A design that handles the flows, even under failure conditions, and globally minimizes cost
    • Assigns equipment to the nodes in locations
    • IP flows routed over the IP topology
    • IP links routed over the optical topology

Research Objectives:

  • This is a very difficult problem with many NP hard and NPO sub-problems in network routing, design, and capacity assignment, many that don’t even admit to polynomial time approximation.  We need to find good solutions to large problem instances with thousands of nodes and links, and tens or even hundreds of thousands of IP traffic flow demands. 
  • It is an objective to have an interactive solution where the (human) network designer can interact with and influence the solution as it is unfolding under control of the software. 
  • We want to design algorithms which are amenable to concurrent processing for parallel execution using multi-core processing nodes and scaling up by allocating processing power to them in a cloud computing environment. 
  • A stretch goal is to apply machine learning techniques to improve the performance of the software over time. 


  • We expect to take an iterative approach, experimenting with various algorithms and hybrids of multiple algorithms, benchmarking them on large problem instances to compare their performance
  • Problem instances will come from real customer networks and from statictical models which generate networks with different properties. 

Expertise and Skills Needed:

    • Knowledge of modelling and solving combinatorial optimization problems any or all of:
      • Mixed integer linear programming
      • Constraint logic programming
      • Heuristic algorithms such as simulated annealing and tabu search
    • Object oriented software design and implementation in the the Go programming lanaguage
    • Concurrent and parallel algorithm development expertise is desirable
    • Knowledge of Packet IP and Optical transport network equipment and design is desirable. 
    • Knowledge of machine learning and associated tools such as Tensorflow is desirable

    For more info or to apply to this applied research position, please

    1. Check your eligibility and find more information about open projects.

    2. Complete this webform. You will be asked to upload your CV. Remember to indicate the title of the project(s) you are interested in and obtain your professor’s approval to proceed!

    3. Interested students need to get the approval from their supervisor and send their CV along with a link to their supervisor’s university webpage by applying through the webform or directly to Mel Chaar at, mchaar(at)