Numerical Optimisation (NO)

Course content

Numerical optimisation is a useful computer tool in many disciplines like image processing, computer vision, machine learning, bioinformatics, eScience, scientific computing and computational physics, computer animation and many more.  This course will build up a toolbox of numerical optimisation methods which the student can use when building solutions in his or her future studies.

This course teaches the basic theory of numerical optimisation methods. The focus is on deep understanding, and how the methods covered during the course works. Both on a theoretical level that goes into deriving the math but also on an implementational level focusing on computer science. A special focus of the course lies on empirical evaluation of the different methods and communication of the results in report form. As a result the course is very practical and there will be weekly group-based programming exercises.

During the course, we will start from the simple gradient descent algorithm and introduce more ideas to improve on this simple approach to create algorithms that are fast and reliable. The topics covered during the course are:

  • First-order optimality conditions, Karush-Kuhn-Tucker Conditions, Taylors Theorem, Mean Value Theorem.
  • Nonlinear Equation Solving: Newtons Method, etc.
  • Linear Search Methods: Newton Methods, Quasi-Newton Methods, etc.
  • Trust Region Methods
  • And many more...

MSc Programme in Bioinformatics

MSc Programme in Computer Science

MSc Programme in Physics

MSc Programme in Statistics

MSc Programme in Mathematics-Economics

Learning outcome

Knowledge of

  • The theory of convex and non-convex optimisation
  • The theory of Newton and Quasi-Newton Methods
  • The theory of Trust Region Methods
  • First-order optimality conditions (KKT conditions)


Skills in

  • Applying numerical optimisation problems to solve unconstrained and constrained minimisation problems and nonlinear root search problems
  • Implementing and testing numerical optimisation methods


Competences to

  • Evaluate which numerical optimisation methods are best suited for solving a given optimisation problem
  • Understand the implications of theoretical theorems and being able to analyse real problems on that basis

Mixture of study groups and project group work with hand-ins and small lectures.
The focus is on flipped-classroom teaching.

See Absalon

The programming language used in the course is Python. It is expected that students know how to install and use Python, Numpy, Scipy and Matplotlib by themselves.

It is expected that students know what matrices and vectors are and that students are able to differentiate vector functions.

Theorems like fundamental theorem of calculus, mean value theorem or Taylor's theorem will be touched upon during the course. The inquisitive students may find more in depth knowledge from Chapters 2, 3, 5, 6 and 13 of R. A. Adams, Calculus, 3rd ed. Addison Wesley.

Academic qualifications equivalent to a BSc degree is recommended.

Continuous feedback during the course of the semester
7,5 ECTS
Type of assessment
Continuous assessment
Type of assessment details
The assessment is based on 5-7 written group assignments (with individual contributions noted). All students must hand in all assignments individually so that the assignments can be individually approved. The final grade is an unweighted average of the five best assignments.
All aids allowed
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners

The re-exam is a resubmission of the written assignments and a 15-minute oral examination without preparation.

The assignments must be submitted no later than two weeks before the re-exam date i.e. the oral examination.

Criteria for exam assessment

See Learning Outcome

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 10
  • Preparation
  • 40
  • Exercises
  • 72
  • Project work
  • 84
  • English
  • 206


Course number
7,5 ECTS
Programme level
Full Degree Master

1 block

Block 3
No limitation – unless you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
Study Board of Mathematics and Computer Science
Contracting department
  • Department of Computer Science
Contracting faculty
  • Faculty of Science
Course Coordinator
  • Oswin Krause   (12-73777b6d72326f766579776944686d326f7932686f)
Saved on the 14-02-2024

Are you BA- or KA-student?

Are you bachelor- or kandidat-student, then find the course in the course catalog for students:

Courseinformation of students