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

This is an archived syllabus from 2013-2014

COMP60342 Optimization for Learning, Planning and Problem-Solving syllabus 2013-2014

COMP60342 Optimization for Learning, Planning and Problem-Solving

Level 6
Credits: 15
Enrolled students: 32

Course leader: Joshua Knowles

Additional staff: view all staff

Assessment methods

  • 60% Written exam
  • 40% Coursework
Sem 2 P4 Lecture 2.15 Fri 09:00 - 09:00 -
Themes to which this unit belongs
  • Reasoning and Optimisation
  • Information Management 2


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. Although optimization problems come in a great variety, we find that they can be grouped into a few large classes that 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 satisfying large systems of logical clauses.


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, logical problem-solving and operational planning, and how the key features of these problems govern the choice of algorithm.


We will cover the following topics:

  • The general nonconvex discrete optimization problem with constraints
  • Constraint satisfaction problems as optimization (SAT and MAX-SAT)
  • 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, logic and operational planning / logistics

Feedback methods

* Face-to-face individual feedback on lab/coursework
* Written feedback on coursework
* Oral and email feedback to the whole class covering common queries and/or misconceptions

Study hours

  • Assessment written exam (2 hours)
  • Lectures (20 hours)
  • Practical classes & workshops (15 hours)

Employability skills

  • Analytical skills
  • Innovation/creativity
  • Problem solving
  • Research
  • Written communication

Learning outcomes

On successful completion of this unit, a student will be able to:

Learning outcomes are detailed on the COMP60342 course unit syllabus page on the School of Computer Science's website for current students.

Reading list

No reading list found for COMP60342.

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.