Numerical Optimisation (NO)
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. A wide
range of problems can be solved using numerical optimisation
like; inverse kinematics in robotics, image segmentation and
registration in medical imaging, protein folding in computational
biology, stock portfolio optimisation, motion planning and many
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. Therefore this course is an ideal supplement for students coming from many different fields of science.
This course teaches the basic theory of numerical optimisation methods. The focus is on deep learning, 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 and good programming practice.
There will be weekly programming exercises where students will implement the algorithms and methods introduced from theory on their own case-study problems like computing the motion of a robot hand or fitting a model to highly non-linear data or similar problems.
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: Levenberg-Marquardt, Dog leg method, etc.
- Linear Least-squares fitting, Regression Problems, Normal Equations, etc.
- And many more...
MSc Programme in Bioinformatics
MSc Programme in Computer Science
MSc Programme in Physics
MSc Programme in Statistics
- The theory of gradient descent method
- The theory of Newton and Quasi-Newton Methods
- The theory of Thrust Region Methods
- The theory of quadratic programming problems
- First-order optimality conditions (KKT conditions)
- Applying numerical optimisation problems to solve unconstrained and constrained minimisation problems and nonlinear root search problems
- Reformulating one problem type into another form - i.e. reformulating root search into minimisation and vice versa
- Implementing and testing numerical optimisation methods
- 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 (flipped classroom).
See Absalon when the course is set up.
We do not impose any programming language, however Python will
be the programming language of choice and it is expected that
students know how to install and use Python, Numpy and Matplotlib
by themselves. It is also expected that students know what matrices
and vectors are and that students are able to differentiate vector
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.
PhD’s can register for MSc-course by following the same procedure as credit-students, see link above.
- 7,5 ECTS
- Type of assessment
Continuous assessmentThe assessment is based on 5-7 written assignments (must be individually approved).
The student acting as opponent in respect of fellow students’ work is also considered as part of the continuous assessment.
The final grade is based on an overall assessment.
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
Criteria for exam assessment
See Learning Outcome.
Single subject courses (day)
- Project work
- Course number
- 7,5 ECTS
- Programme level
- Full Degree Master
- Block 3
- No limit
The number of seats may be reduced in the late registration period
- Study Board of Mathematics and Computer Science
- Department of Computer Science
- Faculty of Science
- Oswin Krause (12-767a7e7075357279687c7a6c476b7035727c356b72)
Are you BA- or KA-student?
Courseinformation of students