MSc programme in Computer Science
MSc Programme in Bioinformatics
Numerical optimization 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 optimization like:
inverse kinematics in robotics, image segmentation and registration
in medial imaging, protein folding in computational biology, stock
portfolio optimization, motion planing and many more.
This course will build up a toolbox of numerical optimization
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 in science.
This course teaches the basic theory of numerical optimization
methods. The focus is on deep learning of how the methods covered
during the course works. Both on a theoretical level that goes into
deriving the math but also on an implementation level with focus on
computer science and good programming practice.
There will be weekly programming exercises where students will
implement the algorithms and methods introduced from theory and
apply their own implementations to 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,
Trust Region Methods: Levenberg-Marquardt, Dog leg method,
Linear Least squares fitting, Regression Problems, Normal
And many more...
Theory of gradient descent method
Theory of Newton and Quasi Newton Methods
Theory of Thrust Region Methods
Theory of quadratic programming problems
First order optimality conditions (KKT conditions)
Apply numerical optimization problems to solve unconstrained
and constrainted minimization problems and nonlinear root search
Reformulate one problem type into another form such as root
search to minimization and vice versa
Implement and test numerical optimization methods
Evaluate which numerical optimization methods are best suited
for solving a given optimization problem
Understand the implications of theoretical theorems and being
able to analyze real problems on that basis
See Absalon when the course is set up.
Teaching and learning methods
Mixture of study groups and project group work
It is expected that students know how to install
and use Matlab by themselves. It is also 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