School of Computer Science

Module 06-32235 (2019)

Advanced Aspects of Nature-Inspired Search and Optimisation

Level 4/M U

Shan He Per Kristian Lehre Semester 2 20 credits
Co-ordinator: Shan He
Reviewer: Per Kristian Lehre

The Module Description is a strict subset of this Syllabus Page.


Natural Computation is the study of computational systems that use ideas and get inspiration from a variety of natural systems. Its powerful techniques can be applied not only to optimisation but also learning and design. Many such techniques can be characterised as general randomised search heuristics which are the method of choice in practical optimisation scenarios where no good problem- specific algorithms are available. Topics covered in this module focus on nature-inspired optimisation techniques. Where appropriate, the methods discussed are related to other approaches and application areas. Example topics covered include variants of local search, evolutionary computation, swarm intelligence and artificial immune systems. While the focus is on the applications of such techniques, theoretical foundations are also briefly studied.


The aims of this module are to:

  1. introduce the main concepts, techniques and applications in the field of randomised search heuristics and nature-inspired computing with a focus on (but not limited to) optimisation.

  2. give students some experience on when such techniques are useful, how to use them in practice and how to implement them with different programming languages.

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. Describe different nature-inspired search and optimisation methods and explain how they are applied to solve real world problems.

  2. Discuss relations, similarities and differences between the most important heuristics and nature-inspired algorithms presented in the module and other search and optimisation techniques.

  3. Design and adapt nature-inspired algorithms including operators, representations, fitness functions and potential hybridisations for non-trivial problems.

  4. Describe, use, analyse and discuss recent research literature in a sub-field of natural computation and demonstrate a critical understanding of these methods.

  5. Implement nature-inspired algorithms using different programming languages and compare them experimentally.


Note 1 There is a limit on the number of students allowed to take this module.

Taught with

  • 06-28209 - Nature Inspired Search and Optimisation

Cannot be taken with

  • 06-28209 - Nature Inspired Search and Optimisation

Teaching methods

A combination of large-group lectures, tutorials and lab sessions


Sessional: 1.5 hr Examination (40%), Continuous Assessment (60%).

Supplementary (where allowed): 2 hr Examination (100%)

Detailed Syllabus

  1. Introduction to optimisation and randomised search heuristics (including randomised local search, simulated annealing and others)

  2. Evolutionary Computation (including modules of evolutionary algorithms, typical evolutionary algorithms in discrete and continuous domains, multi-objective optimisation, optimisation in dynamic environments, niching methods, constraint handling and other techniques)

  3. Swarm Intelligence, in particular Particle Swarm Optimisation and Ant Colony Optimisation

  4. Artificial Immune Systems

  5. Hybrid approaches

  6. Introduction to theory of nature-inspired algorithms

  7. Selected other topics

Programmes containing this module