Combinatorics and Optimization (CO) courses

CO 220 Introductory Combinatorics

Elementary principles of enumeration. Principle of inclusion- exclusion, generating functions, recurrence equations. Elementary graph theory and graphical algorithms. Introduction to design theory.

CO 227 Introduction to Optimization (Non-Specialist Level)

  • Fall
  • Winter

A broad introduction to the field of optimization, discussing applications, and solution techniques. Mathematical models for real life applications; algorithms: Simplex, Cutting Plane, and Branch & Bound; linear programming duality.

CO 330 Combinatorial Enumeration

  • Fall

The algebra of formal power series. The combinatorics of the ordinary and exponential generating series. Lagrange's Implicit Function Theorem, applications to the enumeration of permutations, functions, trees and graphs. Integer partitions, geometric methods, enumerating linear transformations. Introduction to the pattern algebra, applications to the enumeration of strings. Lattice paths, Wiener-Hopf factorization. Enumeration under symmetries.

CO 331 Coding Theory

  • Winter

A first course in error-correcting codes. Linear block codes, Hamming-Golay codes and multiple error-correcting BCH codes are studied. Various encoding and decoding schemes are considered.

CO 342 Introduction to Graph Theory

  • Fall
  • Spring

An introduction to some of the key parts of graph theory: connectivity, planarity and matchings. Connectivity: Menger's Theorem, 3-connected graphs and contractible edges, Kuratowski's Theorem, uniqueness of planar embeddings. Planarity, cycle and co-cycle spaces: peripheral cycles and the cycle space of a 3-connected graph. Matchings: Review of Konig's Theorem, Tutte's Theorem.

CO 350 Linear Optimization

  • Fall
  • Winter
  • Spring

A first course in optimization, emphasizing optimization of linear functions subject to linear constraints (linear programming). Problem formulation. Duality theory. The simplex method. Sensitivity analysis.

CO 351 Network Flow Theory

  • Fall
  • Winter
  • Spring

Review of linear programming. Shortest path problems. The max-flow min-cut theorem and applications. Minimum cost flow problems. Network simplex and primal-dual algorithms. Applications to problems of transportation, distribution, job assignments and critical-path planning.

CO 355 Mathematical Optimization

  • Fall

Linear optimization: feasibility theorems, duality, the simplex algorithm. Discrete optimization: integer linear programming, cutting planes, network flows. Continuous optimization: local and global optima, feasible directions, convexity, necessary optimality conditions.

CO 367 Nonlinear Optimization

  • Winter

A course on the fundamentals of nonlinear optimization, including both the mathematical and the computational aspects. Necessary and sufficient optimality conditions for unconstrained and constrained problems. Convexity and its applications. Computational techniques and their analysis.

CO 370 Deterministic OR Models

  • Fall
  • Winter

An applications-oriented course that illustrates how various mathematical models and methods of optimization can be used to solve problems arising in business, industry and science.

CO 372 Portfolio Optimization Models

  • Winter

Applications of basic optimization models and techniques for decision making in financial markets. Quadratic optimization subject to linear equality constraints. Derivation of efficient portfolios and the Markowitz efficient frontier. The Capital Market Line. Practical portfolio optimization as a quadratic programming problem. A solution algorithm for quadratic programming problems.

CO 380 Mathematical Discovery and Invention

A course in problem solving. 100 problems are studied. Problems are taken mainly from the elementary parts of algebra, geometry, number theory, combinatorics and probability.

CO 430 Algebraic Enumeration

  • Fall

The algebra of Laurent series and Lagrange's Implicit Function Theorem, enumerative theory of planar embeddings (maps). The ring of symmetric functions: Schur functions, orthogonal bases, inner product, Young tableaux and plane partitions. Non-intersecting paths, sieve methods, partially ordered sets and Mobius inversion, strings with forbidden substrings, the Cartier-Foata commutation monoid. Introduction to the group algebra of the symmetric group, enumerative applications of sl(2).

CO 434 Combinatorial Designs

Pairwise orthogonal latin squares. Transversal designs and finite planes. Balanced incomplete block designs, group divisible designs and pairwise balanced designs. Symmetric designs and Hadamard matrices. Recursive constructions. Wilson's fundamental construction.

CO 442 Graph Theory

  • Fall

An in-depth look at the following major topics in graph theory; other topics may also be included: Colouring: Brooks', Vizing's and Grotzsch's Theorems, list colouring. Eigenvalues of adjacency matrices: Moore graphs. Directed graphs: tournaments, kernels, disjoint branchings, Lucchesi-Younger Theorem.

CO 444 Algebraic Graph Theory

An introduction to the methods of and some interesting current topics in algebraic graph theory. Topics covered will include vertex-transitive graphs, eigenvalue methods, strongly regular graphs and may include graph homomorphisms, Laplacians or knot and link invariants.

CO 450 Combinatorial Optimization

  • Fall

Characterizations of optimal solutions and efficient algorithms for optimization problems over discrete structures. Topics include network flows, optimal matchings, T-joins and postman tours, matroid optimization.

CO 452 Integer Programming

Formulation of problems as integer linear programs. Solution by branch-and-bound and cutting plane algorithms. Introduction to the theory of valid inequalities and polyhedral combinatorics.

CO 454 Scheduling

  • Spring

An overview of practical optimization problems that can be posed as scheduling problems. Characterizations of optimal schedules. Simple and efficient combinatorial algorithms for easy problems. A brief overview of computational complexity, definition of P, NP, NP-Complete and NP-hard. Integer programming formulations, the Traveling Salesman Problem, heuristics, dynamic programming and branch-and-bound approaches. Polynomial-time approximation algorithms.

CO 456 Introduction to Game Theory

  • Fall

A broad introduction to game theory and its applications to the modeling of competition and cooperation in business, economics and society. Two-person games in strategic form and Nash equilibria. Extensive form games, including multi-stage games. Coalition games and the core. Bayesian games, mechanism design and auctions.

CO 463 Convex Optimization and Analysis

  • Fall

An introduction to the modern theory of convex programming, its extensions and applications. Structure of convex sets, separation and support, set-valued analysis, subgradient calculus for convex functions, Fenchel conjugacy and duality. Lagrange multipliers, minimax theory. Algorithms for nondifferentiable optimization. Lipschitz functions, tangent cones and generalized derivatives, introductory non-smooth analysis and optimization.

CO 466 Continuous Optimization

  • Winter

Theory and practical algorithms for nonlinear continuous optimization. Fundamentals of unconstrained optimization: conjugate gradient methods and Newton-type methods. Nonlinear least squares problems. Fundamentals of constrained optimization: optimality conditions, quadratic programming, penalty and barrier methods, interior-point methods, sequential quadratic programming.

CO 471 Semidefinite Optimization

Optimization over convex sets described as the intersection of the set of symmetric, positive semidefinite matrices with affine spaces. Formulations of problems from combinatorial optimization, graph theory, number theory, probability and statistics, engineering design, and control theory. Theoretical and practical consequences of these formulations. Duality theory and algorithms.

CO 480 History of Mathematics

An in-depth examination of the origins of mathematics, beginning with examples of Babylonian mathematics. Topics may include Pythagorean triples, solution of equations, estimation of pi, duplication of the cube, trisection of an angle, the Fibonacci sequence, the origins of calculus.

CO 481 Introduction to Quantum Information Processing

Basics of computational complexity; basics of quantum information; quantum phenomena; quantum circuits and universality; relationship between quantum and classical complexity classes; simple quantum algorithms; quantum Fourier transform; Shor factoring algorithm; Grover search algorithm; physical realization of quantum computation; error-correction and fault-tolerance; quantum key distribution.

CO 485 The Mathematics of Public-Key Cryptography

  • Fall

An in-depth study of public-key cryptography. Number-theoretic problems: prime generation, integer factorization, discrete logarithms. Public-key encryption, digital signatures, key establishment, secret sharing. Proofs of security.

CO 487 Applied Cryptography

  • Winter

A broad introduction to cryptography, highlighting the major developments of the past twenty years. Symmetric ciphers, hash functions and data integrity, public-key encryption and digital signatures, key establishment, key management. Applications to Internet security, computer security, communications security, and electronic commerce.