Skip to navigation | Skip to main content | Skip to footer

Current postgraduate taught students

COMP61032: Optimization for learning, planning and problem-solving (2011-2012)

This is an archived syllabus from 2011-2012

Optimization for learning, planning and problem-solving
Level: 6
Credit rating: 15
Pre-requisites: No Pre-requisites
Co-requisites: No Co-requisites
Lecturers: Joshua Knowles
Course lecturer: Joshua Knowles

Additional staff: view all staff
Sem 2 P3 Lecture 2.15 Thu 09:00 - 16:00 -
Assessment Breakdown
Exam: 50%
Coursework: 50%
Lab: 0%

Themes to which this unit belongs
  • Learning from Data


A wealth of problems encountered in computer science and the wider world can be viewed as discrete optimization problems, and solved by various types of search procedure. Indeed, we find that optimization problems from very different domains can be grouped into a few large classes which admit common methods of solution. This means that with a basic toolbox of knowledge and methods, it is relatively simple to tackle problems ranging from scheduling the launch time of a space mission to choosing the next move in chess, and from optimizing caching strategies to making sure food is distributed efficiently.


In this course we will study the main classes of algorithmic techniques that can be applied to discrete optimization problems. We will consider how these techniques can be applied in a number of practical problems in machine learning and operational planning, and how the key features of these problems govern the choice of algorithm.

Programme outcomeUnit learning outcomesAssessment
A1 A2Gain a broad understanding of discrete optimization, including an appreciation of how it supports machine learning, operations management and planning, and general computer problem-solving.
B3Develop personal problem-solving skills and algorithmic thinking.
A1 A2 A3Gain experience in applying and developing algorithms for a range of practical discrete optimization problems.
C4Gain an introduction to the current literature on optimization methods.


We will cover the following topics:
- The general nonconvex discrete optimization problem with constraints
- Complexity and the theory of NP-completeness
- Graphs and other discrete structures
- Greedy search
- Enumeration / exhaustive search
- Dynamic programming, branch-and-bound
- Approximation algorithms and randomization
- Heuristics: local search, tabu search, evolutionary algorithms
- Multiobjective Optimization
- Applications in machine learning and operational planning / logistics

Reading List

Core Text
Title: Combinatorial optimization: algorithms and complexity
Author: Papadimitriou, Christos H. and Kenneth Steiglitz
ISBN: 9780486402581
Publisher: Dover
Year: 2000

Supplementary Text
Title: Multi-objective optimization using evolutionary algorithms
Author: Deb, Kalyanmoy
ISBN: 9780470743614
Publisher: Wiley
Year: 2008

Supplementary Text
Title: Integer programming
Author: Wolsey, Laurence A.
ISBN: 0471283665
Publisher: Wiley
Year: 1998

Supplementary Text
Title: Dynamic programming: a practical introduction
Author: Smith, David Kendall
ISBN: 013221797X
Publisher: Ellis Horwood
Year: 1991