TMA947/MMG621, Nonlinear optimisation, 2017/18

Welcome to the course homepage for TMA947/MMG621: Nonlinear Optimisation.

The first lecture will be on Tuesday 31/10 at 10.00 in Euler. The full schedule for the course can be found here.

For PhD students from other departments (not MV): To register to the course go to and apply for the course MMG621.

Latest news

24/04: Uploaded exam and exam solutions from 2018-04-05.
29/01: The exam from 9/1 is scheduled to be shown/reviewed on Friday 2/2 at 12.00 in MVL:13.
09/01: Uploaded exam and exam solutions from 2018-01-09.
18/12: Time for presenting an old exam is scheduled for Thursday 4/1 10:00-12:00 in Euler
11/12: Added a Course summary which will be presented on the lecture Friday 15/12
11/12: Added slides for Lecture 14
07/12: Added slides for Lecture 13
04/12: Added slides for Lecture 12
30/11: Added slides for Lecture 11
30/11: Uploaded the PM for project part 2 and necessary AMPL-files Belgium.mod, Belgium.dat and Note that the command 'vcs-select -p ampl-20170902' has to be given in the terminal window to run AMPL.
27/11: Added slides for Lecture 10
23/11: Added slides for Lecture 9
20/11: Added slides for Lecture 8
15/11: On the 30/11 the teachers will be available in MVF25 for answering questions regarding AMPL. Some material regarding AMPL can be found here
15/11: Note: The deadline for project part 1 is 21/11.
13/11: You can now create groups and hand in Project part 1 in Pingpong
13/11: Added notes for Lecture 6 and Lecture 7
07/11: Added poll for computer exercise 1 and poll for computer exercise 2.
07/11: Added the correct index for the third edition of the course book.
06/11: Added notes for Lecture 4 and Lecture 5
01/11: Added instructions for PhD students from other departments (not MV) that want to register for the course (see the description above).
01/11: Added Errors in the course book
20/10: Added Course PM
20/10: Added notes for Lecture 1, Lecture 2, and Lecture 3.
19/10: Added exercise schedule.
19/10: Added lecture schedule.
19/10: Created the course homepage.


Emil Gustavsson
Lecturer and course responsible
Business area leader within Machine Learning, Data Science, Optimization
Fraunhofer-Chalmers Centre

Michael Patriksson
Professor of applied mathematics, Mathematical Sciences
Email:, Tel: 772 5329, Room: L2084

Caroline Granfeldt
Exercise assistant
Ph.D. student, Mathematical Sciences
Email:, Tel: 772 1094, Room: L2033

Quanjiang Yu
Exercise assistant
Ph.D. student, Mathematical Sciences
Email:, Tel: 772 1094, Room: L2033

Zuzana Nedělková
Exercise assistant
Ph.D. student, Mathematical Sciences
Email:, Tel: 772 5352, Room: L2099

Course literature

An Introduction to Continuous Optimization, 3rd Edition
N. Andréasson, A. Evgrafov, E. Gustavsson, Z. Nedělková, M. Patriksson, K.C. Sou, and M. Önnheim
Published by Studentlitteratur 2016 and found in the Cremona book store



The program is preliminary. Chapter numbers refer to the course book
Lecture Date Chapter Contents
1  31/10
1--2  Course presentation, introduction to optimization, notations, classification
2  31/10
3  Convex sets, convex functions, convex problems
3  3/11  4  Introduction to optimality conditions 
4  7/11  11  Unconstrained optimization algorithms 
5  10/11  5.1--5.4  Optimality conditions 
6  14/11  5.5--5.9  Optimality conditions 
7  17/11  6  Lagrangian duality 
8  21/11  7--8  Introduction to linear programming 
9  24/11  9  Linear programming 
10  28/11  10  Linear programming duality 
11  1/12  3, 4.4, 6.4  Convex optimization 
12  5/12  ---  Integer programming 
13  8/12  12  Feasible direction methods 
14  12/12  13  Constrained optimization 
15  15/12  ---  Summary of the course


Exercises numbered EX.Y can be found in the exercise sets. Exercises numbered X.Y can be found in the book (3rd Edition).

For a translation of the exercise numbers for the 2nd Edition of the course book, see the previous year, which can be found here
Exercise Date Assignment exercises Exercises Teacher exercises
1  3/11 ---  E1.2, E1.6--E1.9, 1.1, 1.2, 1.4  E1.1, E1.4, 1.3 
2  7/11 ---  3.1--3.3, 3.5, 3.7, 3.8, 3.10, 3.12--3.14, 3.16--3.19  3.4, 3.6, 3.9, 3.11, 3.15 
3  10/11  E1.3, E1.5, E1.10, E1.11  4.2, 4.3, 4.4, 4.5, 4.12, 4.15, 4.16  4.1, 4.4b, 4.6,  
4  14/11  ---  11.3, 11.6, 11.9, 11.11, 11.13  4.13, 11.5, 11.7, 11.4 
5  17/11 E2.5, E2.7, E2.8, 11.2  5.1, 5.3--5.10, 5.12, E3.1, E3.2, E3.4, E3.6  5.2, E3.3 
6  21/11 ---  E3.8, 6.1--6.3, 6.5--6.9, 6.11--6.12  5.11, E3.7, 6.4, 6.10 
7  24/11  E3.5, E3.9, E3.10, E3.11  8.2--8.5, 8.7, E4.1, E4.4  8.1, E4.2 
8  28/11  ---  9.2--9.3, 9.5--9.6, E4.6, E4.8--E4.11  8.6, 9.1, 9.4 
9  1/12  E4.3, E4.5, E4.7, E4.12  10.1-10.12,10.14-10.17, E5.4, E5.6, E5.8  E5.1, E5.2, 10.13 
10  5/12  ---  E5.10, E5.12, Section 6.4.2 in the course book  E5.9, E5.13 
11  8/12  E5.3, E5.5, E5.7, E5.11  12.1--12.3, 12.5--12.14  12.4, E6.3, E6.4 
12  12/12  ---  13.1--13.4, 13.6--13.8  13.5 
13  15/12 E6.1, E6.2, E6.5, E6.6  ---  --- 
14  4/1 (Euler) ---  ---  Old exam 

Computer labs

Students are supposed to attend one of the sessions for each computer exercise.
Poll for computer exercise 1
Poll for computer exercise 2
Exercise Date Contents
1  16/11 Steepest descent, Newton's method, Levenberg-Marquardt 
1  23/11 Steepest descent, Newton's method, Levenberg-Marquardt 
AMPL 30/11 Students test AMPL and can ask teachers for help
2  7/12 Penalty methods, KKT conditions 
2  14/12 Penalty methods, KKT conditions 

Computer labs

Computer exercise 1:
Exercise PM
Exercise files

Computer exercise 2:
Exercise PM
Exercise files

Assignments exercises

In order to get bonus points for the exam, a number of assignment exercises should be solved. These are to be prepared by the students for the exercise session in order to obtain a mark (one of the students who has prepared the assignment exercise will be chosen to demonstrate it on the blackboard). The assignment exercises for each exercise session can be found in the program above.

There will be in total 24 assignment exercises.

Note 1: If you mark an assignment exercise and are chosen to demonstrate it on the blackboard and have not prepared it, you will lose all of your marks.

Note 2: The bonus points obtained through the assignment exercises are valid one year.


Project part 1:
The aim of this part is to introduce you to mathematical modelling. The Deadline for handing in the report is 21/11 and it should be done through PingPong.
Project part 1, PM

Project part 2:
The aim of this part is to introduce you to AMPL. Deadline for handing in the report is 9/12 and it should be done through PingPong.
Project part 2, PM

The necessary AMPL-files are: Belgium.mod, Belgium.dat, and

An introduction to AMPL can be found here. To use AMPL you have to give the command 'vcs-select -p ampl-20170902' first.

Handing in:
The model assignment is handed in through PingPong in pdf format only!
In order to hand in, go to ''Project groups'' in PingPong and create a group called ''name1_name2'' (or ''name1'', if only one group member). When you create the group, make sure to mark the squares named ''Project part 1'' and ''Project part 2'' in order to obtain access to the project upload. Read - and follow! - the instructions on what to include in the report before you hand it in.
No more than two persons per group; the report must include on the first page the names of each group member, and the e-mail address of at least one group member.


Writing tools:
Prefarably Latex but other wordformatting tools are also ok (such as word, etc) as long as the report is readable as pdf.

Student representatives

The student representatives for the course are:
Adam Breitholtz (
Julius Germain Diestra Cabrera (
Petra Holmér (


A written exam worth 6.0 credits will be held the 9/1 at 8.30--13.30. The maximum points on the exam is 21 and the limits are as follows.
Chalmers: 3: 10, 4: 14, 5: 18
GU: G: 10, VG: 16
Passed on one question requires 2 points of 3. To pass requires 10 points and three passed questions.

Computer exercises:
The two computer exercises are mandatory.

Assignment exercise:
The assignment exercises can give up to 2 bonus points for the exam. The bonus points are valid one year after the points are collected.

A passed project will give 1.5 credits.

Examination procedures

In Chalmers Student Portal you can read about when exams are given and what rules apply on exams at Chalmers. In addition to that, there is a schedule when exams are given for courses at University of Gothenburg.

Before the exam, it is important that you sign up for the examination. If you study at Chalmers, you will do this by the Chalmers Student Portal, and if you study at University of Gothenburg, you sign up via GU's Student Portal.

At the exam, you should be able to show valid identification.

After the exam has been graded, you can see your results in Ladok by logging on to your Student portal.

At the annual (regular) examination:
When it is practical, a separate review is arranged. The date of the review will be announced here on the course homepage. Anyone who can not participate in the review may thereafter retrieve and review their exam at the Mathematical Sciences Student office. Check that you have the right grades and score. Any complaints about the marking must be submitted in writing at the office, where there is a form to fill out.

At re-examination:
Exams are reviewed and retrieved at the Mathematical Sciences Student office. Check that you have the right grades and score. Any complaints about the marking must be submitted in writing at the office, where there is a form to fill out.

Old exams

2017-08-24 Exam Answers
2017-01-10 Exam Answers
2016-08-25 Exam Answers
2016-04-05 Exam Answers
2016-01-12 Exam Answers
2015-08-27 Exam Answers
2015-04-14 Exam Answers
2015-01-13 Exam Answers
2014-04-22 Exam Answers
2013-12-17 Exam Answers
2013-08-29 Exam Answers
2012-12-17 Exam Answers
2012-04-10 Exam Answers
2011-12-12 Exam Answers
2011-04-26 Exam Answers
2010-12-13 Exam Answers
2010-04-06 Exam Answers
2009-08-27 Exam Answers
2009-04-14 Exam Answers
2008-08-28 Exam Answers
2008-03-25 Exam Answers
2007-12-17 Exam Answers


Course PM
List of theorems (3rd Edition of the book)
List of theorems (2nd Edition of the book)
Errors in the course book (3rd Edition of the book)
Index (3rd Edition of the book)
AMPL intro

Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10

Lecture 11
Lecture 12
Lecture 13
Lecture 14
Course summary

Exercise set 1
Exercise set 2
Exercise set 3
Exercise set 4
Exercise set 5
Exercise set 6

Computer exercises:
Computer exercise 1, PM
Computer exercise 1, files
Computer exercise 2, PM
Computer exercise 2, files

Project part 1, PM
Project part 2, PM
Introduction to AMPL