Part of the grade is based on a project. The main focus of the project will be on some specific, related optimisation problems.

The project will include

  • Analysis of the problem.
  • Implementation and analysis of optimisation algorithms.

The project will consist of two parts counting 10% and 20% of the grade, respectively. Technically, the project is not mandatory in that you are still admitted to the exam even if you do not hand in anything. However, your best possible course result in that case is 70%, corresponding to a C.

The project will consist of both theoretical and numerical problems, and a large part will be concerned with the implementation of different optimisation algorithms. You are free to choose any programming language, although I would recommend Python or Matlab. If you sign up for the project as a group, make sure that at least one member has at least some basic experience in programming.

  • First part: Published beginning of February, deadline Sunday March 1st 23:59.
  • Second part: Published beginning of March, deadline Sunday April 26th 23:59.

Project description

What to hand in and how

Your work should contain:

  1. A written report submitted electronically as a PDF file.
    • You may write either in English or in Norwegian.
    • The report should not be longer than six pages (Part 1) or ten pages (Part 2) including all figures, tables, and possible references. I appreciate it, though, if your report is shorter than that.
    • Preferably use LaTeX, but you may use any other typesetting program you like if this causes issues.
    • Do not put your names anywhere on the report. Either use your candidate numbers for this course (if they are already available) or your student numbers (if not).
    • Make sure that you include enough details in your report that it is possible to understand how you have produced your numerical results. In particular, this includes parameter choices for your algorithms (of course, you have to state which algorithms you are actually using) and also 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.
    • Make sure that the code actually runs and include enough documentation for me to run it as well.
    • The quality of the code will not be included in the grade; its correctness will be, though. In particular, your implementation should actually coincide with your description of the algorithms in your report.
    • Do not put your names anywhere in the code.
    • You are free to choose any (reasonable) programming language, but Python or Matlab are recommended. Do not expect any programming help in question sessions or office hours, if you insist on a different language.

Alternatively, if you are using Python, you can hand in your report as a single Jupyter notebook, using Markdown cells for typesetting text and formulas.

The pdf-file and the zip-file (or the Notebook) should be handed in using Blackboard.

2020-04-02, Geir Bogfjellmo