Content: The focus of combinatorial optimisation is on finding the "optimal" object (i.e. an object that maximises or minimises a particular function) from a finite set of mathematical objects. Problems of this type arise frequently in real world settings and throughout pure and applied mathematics, operations research and theoretical computer science. Typically, it is impractical to apply an exhaustive search as the number of possible solutions grows rapidly with the "size" of the input to the problem. The aim of combinatorial optimisation is to find more clever methods (i.e. algorithms) for exploring the solution space.
This module provides an introduction to combinatorial optimisation. Our main focus is on several fundamental problems arising in graph theory and algorithms developed to solve them. These include problems related to shortest paths, minimum weight spanning trees, matchings, network flows, cliques, colourings and matroids. We will also discuss "intractible" (e.g. NP-hard) problems.
- D. Du, P. Pardalos, X. Hu, & W. Wu, Introduction to Combinatorial Optimization, Springer 2022. E-book available through the Warwick Library; click the link.
- W.J. Cook, William H. Cunningham, W. Pulleybank, & A. Schrijver, Combinatorial Optimization, Wiley-Interscience Series in Discrete Mathematics, 1998.
- B. Korte & J. Vygen, Combinatorial Optimization: Theory and Algorithms, Springer, 6th Edition, 2018. E-book available through the Warwick Library; click the link.
- J Lee, A First Course in Combinatorial Optimization, Cambridge University Press, 2010.
- C.H. Papadimitriou & K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Dover Publications, 1998.
- L.A. Wolsey & G.L Nemhauser, Integer and Combinatorial Optimization, Wiley 1999.