In Combinatorics and Optimization at Waterloo, you ll learn concepts such as enumeration, combinatorical designs, graph theory, linear programming, nonlinear optimization, operations research, and combinatorical optimization, and how to use them in real-world applications.