Hone the skills you need to solve problems in computer science, business, communications, and more.Combinatorics looks at permutations and combinations. Optimization explores ways to make any operation work more efficiently within given constraints. Together, they provide powerful methods for modelling and solving large management problems, from optimizing flight schedules to making a factory’s layout as efficient as possible.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. Plus, you'll have the opportunity to gain paid work experience through the co-op program.When you graduate, you can put your skills to work in areas as diverse as cryptography, electronic security, software development, social media, and risk analysis.
Combinatorics is the study of discrete structures and their properties. It includes coding theory, combinatorial design, enumeration theory, graph theory, and polyhedral theory. Many modern scientific advances have employed combinatorial structures to model the physical world, and recent advances in computational technology have made such investigations feasible. In particular, since computers process discrete data, combinatorics has become indispensable to computer science. Optimization, or mathematical programming, is the study of maximizing and minimizing functions subject to specified boundary conditions or constraints. The functions to be optimized arise in engineering, the physical and management sciences, and in various branches of mathematics. With the emergence of computers, optimization experienced a dramatic growth as a mathematical theory, enhancing both combinatorics and classical analysis. In its applications to engineering and management sciences, optimization forms an important part of the discipline of operations research.