# NDAA09009U Numerical Optimization (NO)

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, etc..
- Trust Region Methods: Levenberg-Marquardt, Dog leg method, etc..
- Linear Least squares fitting, Regression Problems, Normal Equations, etc.
- And many more...

Knowledge of:

- 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)

Skills to:

- Apply numerical optimization problems to solve unconstrained and constrainted minimization problems and nonlinear root search problems.
- Reformulate one problem type into another form such as root search to minimization and vice versa
- Implement and test numerical optimization methods

Competences to:

- 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.

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.

As
an exchange, guest and credit student - click here!

Continuing Education - click here!

- Credit
- 7,5 ECTS
- Type of assessment
- Continuous assessmentThe exam is based on 5-7 written assignments and at least one oral presentation in class.
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
- Re-exam
Re handing-in of written assignments and a 15 minute oral presentation without preparation.

##### Criteria for exam assesment

In order to achieve the highest grade 12, a student must be able to

- Derive Newton's method for nonlinear equations
- Derive Newton's method for constrained minimization problems
- Derive first order optimality conditions for a minimization problem
- Implement computer programs that can solve the selected problems presented during the course.
- Account for how the selected problems presented during the course is reformulated into mathematical models such as nonlinear equations or constrained minimization problems.

- Category
- Hours
- Exercises
- 72
- Preparation
- 50
- Project work
- 84
- Total
- 206

### Course information

- Language
- English
- Course code
- NDAA09009U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 3
- Schedule
- C
- Course capacity
- No limit
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science

##### Contracting department

- Department of Computer Science

##### Course responsibles

- Sune Darkner (7-6663746d70677442666b306d7730666d)