# Nonlinear Optimization (SS 22)

Here you find information about the course on Nonlinear Optimization in the summer term 2022.

2022-09-14

- General Information
- Exercises
- Lecture Format
- Tutorial Format
- Final Exam
- Lecture Notes, Literature and Other Materials

## General Information

- Organizers
Please contact Ihno Schrot if you have questions regarding this course.

- Tutors
- First Lecture
- Thursday, April 21, 11:15, in the lecture hall (HS) in INF 205
- Lecture Dates
- Mondays, 11:00 - 13:00
- Thursdays, 11:00 - 13:00

- Lecture Room
- Lecture hall (HS) in INF 205
We meet in person.

- Tutorial Groups
Day Time Room Tutor Monday 16:15 - 17:45 SR 1 Jörn Thursday 09:15 - 10:45 SR 1 Laura Thursday 16:15 - 17:45 SR 4 Laura - Collaborative Working Sessions
- The collaborative working sessions take place
**in SR 1 on Thursday at 09:15am**. If Thursday is a public holiday, the collaborative working session takes place in SR 1 on Mondays at 16:15. More details on the format can be found below.

- Level
- Bachelor and Master
- Language
- English
- Requirements
- You should have attended at least the following courses:
- Analysis 1, 2
- Linear Algebra 1

Additionally, having attended the following courses is beneficial but not necessary:

- Basics of Optimization
- Introduction to Numerics

We will have programming exercises that have to be solved in Python, so it is beneficial if you have some experience with Python already, but we keep the exercises beginner-friendly, so that it is no problem if you have not used Python before.

You can of course still join the course if you are missing one of these requirements, but we recommend that you acquire the missing knowledge in parallel then.

- Registration
- To participate in the course, please register for the course on MÜSLI.

## Exercises

- Sheets
Sheet Deadline Notebook Template Solutions Comments Tutorial sheet None None Tutorial notebooks: python_for_nlo python_tut_cebulla Sheet 1 May 13th, 08:00am Template 01, Auxiliary Functions 01 Solutions 1, Prog. Solution 1 Typo in Exe.1.8 (b) fixed on May 2nd. Sheet 2 May 27th, 08:00am The programming exercise has been moved to Sheet 3. Solutions 2 As we did not yet cover the MFCQ and the Abadie CQ in the lecture, we will move the exercises 2.4 (c), 2.6 (c) and 2.7 to Exercise Sheet 3. Sheet 3 June 10th, 08:00am Template 03, Auxiliary Functions 03 Solutions 3, Prog. Solution 3 You find the definition of Newtons method on p. 90 in the lecture notes. This short definition is sufficient to solve the exercises on this sheet. Sheet 4 June 24th, 08:00am Template 04, Auxiliary Functions 04 Solutions 4, Prog. Solution 4 Sheet 5 July 15th, 08:00am Template 05, Auxiliary Functions 05 Solutions 5, Prog. Solution 5 The deadline has been extended to July 15. SQP Exercises None SQP Solutions This sheet shall not be handed in. - General format
**One**exercise sheet every**two**weeks- The first exercise sheet will be published April 29.
- 5 (graded) exercise sheets with 40 points of theoretical exercises and one programming exercise per sheet. See below for more information on the grading.
- Release: Fridays (biweekly) on MaMpf and in the table above.
- Submission deadline: Fridays (biweekly) until 08:00am on MaMpf
- Submission procedure see below.
- Work in teams allowed
**and encouraged**with up to 3 persons per team - Information on the correction and the feedback see below.
- Solutions can be written in English and German.
- Plagiarism leads to 0 points for all involved teams (that also applies to plagiarism of the solutions from the winter term 20/21)!
- Sample solutions will be uploaded in MaMpf and linked in the table above.

- Programming exercises format
- Programming language: Python
- You get templates that you have to complete.
- The templates are a single Jupyter notebook for each sheet (sometimes accompanied by a Python file with auxiliary functions)
- A Python tutorial will be available soon.

- Submission procedure
- Both the theoretical and the programming exercises are submitted digitally.
- The solutions to the theoretical questions have to be submitted as
**one PDF**file. Solutions created in LaTeX are allowed as long as the names of the team members are also added using LateX. If you scan handwritten solutions, please make sure that the solutions remain readable and have a moderate file size! Digitally handwritten solutions are accepted, too. - The programming exercises have to be submitted as
**one Jupyter notebook**. - The Jupyter notebooks have to include the created outputs, like plots and logging outputs.
- The PDF and the Jupyter notebook have then to be added to a
**ZIP-archive**. - The notebooks, PDFs, and archives have an obligatory naming scheme. Please name your files <sheet numer (2 digits!)>_<Last name1>(_<Last name2>_<Last name3>).ipynb/pdf/zip, i.e. for example
**01_Femmer_Kostina_Schrot.ipynb**. (Do not use the angle brackets and adjust the number of names according to your team size). - Write down your name(s) at the beginning of your theoretical solutions and at the beginning of your Jupyter notebooks. It is not sufficient to have your names only in the file name.
- Upload your solutions until Friday (biweekly), 08:00am on MaMpf.
- A guide how to submit solutions on MaMpf can be found here.

- Grading, correction and feedback
- Fortunately, we have found a second tutor such that the grading, correction and feedback works as usual. I.e., all submissions will be corrected and graded and you will receive a commented version of your submission in MaMpf.

## Lecture Format

The lectures take place in person and in a “classical” format, i.e. Prof. Kostina will present the lecture content in the lectures.

Handwritten lecture notes will be uploaded on MaMpf. Moreover, lecture notes from the course in the winter term 2020/2021 are available, see other materials.

## Tutorial Format

We will alternate between two different formats: A *collaborative working session* and the *presentation of solutions*.

We want to make sure that the tutorials are as effective as possible for you, so we can possibly still adjust the formats to your needs. Therefore, feedback is always welcome.

### Collaborative working sessions

- What?
- In these sessions we invite you to come to the seminarroom to work together with your own and other groups on the exercises. Moreover, Laura and myself will be there to help if you have problems or questions. In particular, we can discuss programming related issues here.
The spirit of these sessions is less the one of a “classical” tutorial, but more the one of an interactive group meeting. Especially, we will not prepare anything unless you have asked us for something specific.

- When?
- In the second week after you submitted your solutions/the new exercise sheet has been published
**in SR 1 on Thursday, 09:15am**. Moreover, we have an additional meeting at the beginning and one at the end of the semester. I.e., the dates are:Date Topic Comments 02.05./05.05. Setting up the Conda environments and the Python tutorials; possibly we will say a few words about debugging and Git 09.05./12.05. Working on the 1st exercise sheet 23.05. Working on the 2nd exercise sheet Monday 16:15 instead of Thursday! 09.06. Working on the 3rd exercise sheet 23.06. Working on the 4th exercise sheet 07.07. Working on the 5th exercise sheet 14.07. Working on the 5th exercise sheet

### Presentation of solutions

- What?
- In these tutorials Laura and Jörn will present (some of the) solutions of the previous exercise sheet and answer specific questions to your solutions.
- When?
- In the first week after you submitted your solutions/the new exercise sheet has been published. I.e., the dates are:
Mondays Thursdays Topic 16.05. 19.05. Discussing solutions of the 1st exercise sheet 30.05. 02.06. Discussing solutions of the 2nd exercise sheet 13.06. (Public Holiday) Discussing solutions of the 3rd exercise sheet 27.06. 30.06. Discussing solutions of the 4th exercise sheet - 21.07. Discussing solutions of the 5th exercise sheet

## Final Exam

- Admission Requirements
- at least 50% of the points (=95 points) in the theoretical exercises
**and**2 points in the programming exercises.

If you have an old admission, contact me as soon as possible.

- at least 50% of the points (=95 points) in the theoretical exercises
- Exam Format
Date and Room:

Exam Date Room 1st August 1st, from 11:00 - 13:00 HS and SR C 2nd October 12th, from 11:15 - 13:15 HS Please arrive 15min earlier!

- Written exam of 120min
- No programming project
- Theoretical and programming related questions (no coding on paper however)
- The exam is not an open book exam. In fact, you are not allowed to bring any materials into the exam, i.e. you are not allowed to use cheat sheets or similar.
- Exam Information/Preparation Sheet In this document you find general information about the exam and materials for the exam preparation including a list of the most relevant exercises and a list of questions.

## Lecture Notes, Literature and Other Materials

- Lecture Notes
- The lecture notes will be uploaded on MaMpf.
- Literature
- Nocedal, Wright: Numerical Optimization, Springer, 2006.
- Fletcher: Practical Methods of Optimization, Wiley, 2nd edition 1987.
- Ulbrich, Ulbrich: Nichtlineare Optimierung, Birkhäuser Verlag, 2012. (German)

- Other Materials
- MaMpf (WS 20/21) -> Here you find all materials from the last time that we have taught this course
- Skript -> Lecture Notes from the winter term 2011 (German)