Part of the grade (30%) in this course is based on a project to be handed in during the course. The project will be published some time in the middle/second half of February with a deadline at the end of the semester. It will consist of both theoretical and numerical problems, and a large part will be concerned with the implementation of different optimisation algorithms in python.

There will be an opportunity (non-mandatory) of submitting a preliminary version of your project before the Easter break, so that you can get some feedback before the final submission.

Project description

  • Project description; corrected version from March 1.1)
    • Please inform me as soon as possible, if you find errors or the description is not sufficiently clear.
  • Additionally, you might find the following notes helpful:
    • This note by Håkon Noren about jupyter notebooks.
    • This short note on mathematical writing.

What to hand in and how

Your work should contain:

  1. A written report submitted electronically as a PDF file.
    • In the report, you should address all the theoretical problems (discuss existence, possibly uniqueness; smoothness properties; optimality conditions;…) and also describe your numerical approaches (what optimisation algorithms you are using and why; parameter settings; initialisations;…) as well as some numerical results.
    • You may write either in English or in Norwegian, though English would be preferable.
    • The report should not be longer than ten pages including all figures, tables, and possible references. I appreciate it, though, if your report is shorter than that. (Note that you can use the jupyter notebook to show additional numerical experiments.)
    • Preferably use LaTeX, but you may use any other typesetting program you like if this causes issues.
    • Make sure that you include enough details in your report that it is possible to understand how you have produced your numerical results. This also includes parameter choices for your algorithms (of course, you have to state which algorithms you are actually using) and the choice of initialisations.
    • Your report should be written as an actual scientific/mathematical report, not simply as a list of answers to the different questions posed in the project description. Roughly 25% of the grade for the project will be based on the presentation.
  2. A zip file containing all your relevant code.
    • The code should be written in python.
    • Use a jupyter notebook for presenting numerical results, but move the bulk of your functions to separate .py files and import them to the notebook.
    • Add enough documentation in the code so that others (us) have a chance of understanding what you are doing.
    • Remember to include all the necessary files in your submission.
    • Make sure that the code actually runs, and is correct. Make sure that your implementation coincides with what you describe in your report.
    • It is not necessary to spend a lot of time with optimising the code. All the algorithms should terminate within reasonable time, though.
    • Include more documentation!
  • Submit your final report in ovsys. The deadline is Friday, April 21, 23:59. (Submission will only open after Easter.)

Preliminary version

  • If you want, you can submit a preliminary version of your written report (only the pdf) in order to receive some feedback and possibly suggestions for improvement.
    • The deadline for this preliminary version will be Wednesday, March 22, 23:59.
    • The preliminary submission is not mandatory and will not count towards the grade in any way.
    • We do not expect you to be finished with all the tasks by this time.
    • It helps if you let us know if you want feedback to specific parts of the preliminary report.

Help sessions

(In addition to the regular office hours,) We will offer the following dedicated help sessions for the project:

  • Tuesday, March 14, 10-12, SBII, room 1052 (Markus Grasmair). Please sign up in this google form.
  • Thursday, March 16, 09-10, SBII, room 656 (Håkon Noren).
  • Tuesday, March 21, 10-12, Realfagsbygget, room R59 (Markus Grasmair & Håkon Noren).
  • Monday-Wednesday April 17-19, every day from 10-12 in SBII, room 1052 (Markus Grasmair). Please sign up in this google form.
  • Tuesday April 18, 14-15, Realfagbygget R73 (Håkon Noren).
  • Wednesday April 19, 14-15, Realfagbygget R40 (Håkon Noren). Changed to 11 - 12, SBII, room 656.


Please register for the project by sending an e-mail to Shipra.

  • You may work on this project in groups of three or four students.
  • If you already have found a group, one of the group members should send an e-mail with the names of all the group members.
  • If you don't have a group, send an email and you will be placed into a group.
  • If you sign up as a group of three, an additional member might be assigned to your group.
  • The deadline for the registration is Tuesday, February 21, 18:00.
In the original version, Problem P2 referred to equation (1) instead of (4).
2023-04-19, Håkon Noren Myhr