Course syllabus

Course memo

FFR105, Stochastic optimization algorithms, SP1, Autumn 2021, 7.5p

The course is offered by the Department of Mechanics and Maritime Sciences

General information

This year, with the still ongoing pandemic, the course will be given remotely, as required by Chalmers' regulations: There will be more than 200 participants in the course, many more than the maximum allowed (50 students or 50% capacity of the room) allowed by the current regulations. Each lecture will consist of a video with a recorded presentation of the lecture (uploaded on the Modules page, a day or so before the scheduled time of the lecture; see below), followed by an interactive session on Zoom, where I will discuss the contents of the lecture with the students, and also answer any questions that the students might have. In addition, students are welcome to ask questions or give feedback at any time (see also Contact details below).

Contact details

During the course, we strive to be available as much as possible. You are welcome to ask questions at any time, either in the Zoom session associated with each lecture or at other times, and you may also ask questions via e-mail or telephone. You are always welcome at our offices. However, due to the current regulations we can only receive one (1) student at a time, and (of course) only if you are symptom free. You do not need to make an appointment, but since we are not always in our offices (in the current situation, we mostly work from home) it's a good idea to first check that we are there (e.g. via e-mail or telephone).

Lecturer and examiner:
Professor Mattias Wahde, Tel. 772 3727, e-mail: mattias.wahde@chalmers.se

Course assistants:
Krister blanch, e-mail: krister.blanch@chalmers.se
Henrik Klein Moberg, e-mail: henrik.kleinmoberg@chalmers.se

Finding our offices: Go to Hörsalsvägen 7, enter the building (nya M-huset), so that you have Café Bulten on your right as you enter. Then go up one flight of stairs, and enter the corridor (Vehicle Engineering and Autonomous Systems). Mattias' office is to the right as you enter, Krister's office is to the left, near the coffee room). If the door is locked, please dial the appropriate extension, as shown in the list beside the door (e.g. 3727 for Mattias).

Course purpose

The aim of the course is for the students to attain an understanding of new methods in computer science inspired by natural processes such as evolution and cooperative behavior (for example, swarming), and also to be able to apply such methods. The methods studied in the course are relevant both in technical applications, for example in the optimization and design of autonomous systems, and for understanding biological systems, for example through simulation of evolutionary processes.

Schedule

The course schedule is given below. The page numbers refer to pages in the course book (see Course Literature below).

The link to my Zoom page is:

https://chalmers.zoom.us/j/2039626788

Passcode: 2020FFR105

Notes:

(1) The passcode is used to prevent abuse. Please do not share with anyone not taking the course.

(2) The video for each lecture will be posted before the corresponding Zoom session, usually (roughly) one day in advance. You should strive to view the video before the Zoom session, even though it is of course also possible to view it later as well (the videos will remain accessible until the end of the course). The duration of each video is generally shorter than that of standard lecture, i.e. 2 x 45 minutes, but make sure that you have some margin before the Zoom session, so that you have time to see the video properly (stopping here and there, repeating when necessary etc.). The videos are available on the Modules page, or via the links in the schedule below.

(3) The Zoom session column refers to the time interval (Swedish time zone) when the Zoom meeting will take place. Nominally, each Zoom session is 45 minutes, but the duration is flexible (i.e. it might be extended upon request by the students). 

(4) The lectures start at 10.00 on Tuesdays and Fridays, and at 08.00 on Wednesday. Make sure to log in to my Canvas meeting room a few minutes before the starting time. Important: The very first lecture, 20210831, starts at 08.00!

 

Date

Zoom session

Content

20210831 08.00-08.45 Course introduction and motivation, (pp. 1-8), Classical optimization methods (introduction, pp. 8-12)
20210901 08.00-08.45 Classical optimization methods (i), (pp. 12-21, Appendix B.1, pp. 173-174)
20210903 10.00-10.45 Classical optimization methods (ii), pp. 21-34, Handout of introductory programming problem
20210907 10.00-10.45 Evolutionary algorithms: background and introduction, (pp. 35-45, 82- 83). Handout of home problem 1
20210907 18.00-20.00 Introduction to stochastic optimization algorithms in Matlab
20210908 08.00-08.45 Evolutionary algorithms: components of EAs, (pp. 46-59)
20210910 10.00-10.45 Evolutionary algorithms: properties, (pp. 59-71), Appendix B.2, pp. 174- 183. Handin of introductory programming problem
20210914 10.00-10.45 Classical optimization methods and evolutionary algorithms (review, problem solving, Q&A, etc.)
20210915 08.00-08.45 Linear genetic programming and interactive evolutionary computation, pp. 72-81
20210917 10.00-10.45 Neural networks (Appendix A, pp. 151-172), data analysis (Appendix C, pp. 193-204)
20210921 10.00-10.45 Evolutionary algorithms: Applications I (various papers etc.), Handin of home problem 1
20210922 --- No lecture
20210924 10.00-10.45 Evolutionary algorithms, Applications II (various papers etc.), Handout of home problem 2
20210928 10.00-10.45 Ant colony optimization: background and introduction, pp. 99-106
20210929 08.00-08.45  Ant colony optimization: AS vs. MMAS, applications, properties of ACO, (pp. 107-116), Appendix B.3, (pp. 183-187)
20211001 10.00-10.45 Particle swarm optimization: Background and introduction, (pp. 117-124)
20211005 10.00-10.45 Particle swarm optimization: Properties of PSO, applications, (pp. 124-138)
20211006 08.00-08.45 Problem-solving class (various problems), review
20211008 --- No lecture
20211012 10.00-10.45 Performance comparison (EAs, ACO, PSO), (pp. 139-149)
20211013 08.00-08.45 Applications of stochastic optimization algorithms in autonomous robots, vehicles, and software agents
Handin of home problem 2
20211015 10.00-10.45 Course summary. Ethical issues related to artificial intelligence (in general)
20211019 10.00-11.45  Consultation (exam preparation)
20211020 --- No lecture

Course literature:

Wahde, M., Biologically Inspired Optimization Methods: An Introduction, WIT Press, 2008


Note: The book is sold by Chalmers' bookstore. It is also possible to buy the book online (at Amazon and many other bookstores). Note that Chalmers' bookstore offers the book at a reduced price, but has only a limited supply. There is also an e-version of the book that can normally be reached with Chalmers library. However, I was informed (by the library) that the e-version has changed owner so, to access the book, go to  https://www.vlebooks.com/ choose "OpenAthens" and then "Chalmers Library", and then log in with your Chalmers ID. It is also possible to buy the e-book (or the physical book) directly from the publisher (WITPress). For more information about the course literature, see also the slides from Lecture 1 (published just before the course starts).

 

Course design

The course consists of a sequence of lectures, usually three per week (but note that there are some exceptions; see below or in TimeEdit), as well as a Matlab session in the evening of 20210907. The students must also solve a small, introductory programming problems and two sets of home problems (see Examination below). The course ends with a final exam (see Examination below).

 

Changes made since the previous course (2020)

The changes from 2020 are relatively minor. However, the home problems have been updated (modified), and some of the slides have also been updated, particularly regarding applications of stochastic optimization algorithms.

 

Learning outcomes

After completion of the course the student should be able to...

  • Implement and use several different classical optimization methods, e.g.
    gradient descent and penalty methods.
  • Describe and explain the basic properties of biological evolution, with emphasis
    on the parts that are relevant for evolutionary algorithms.
  • Describe and explain fundamental properties of cooperative behavior (e.g.
    swarming).
  • Define and implement (using Matlab) different versions of evolutionary
    algorithms, particle swarm optimization, and ant colony optimization, and apply
    the algorithms in the solution of optimization problems.
  •  Compare different types of biologically inspired computation methods and
    identify suitable algorithms for a variety of applications.

 

Examination

The examination consists of one separate (small) introductory programming problem (mainly to learn the coding standard), two sets of home problems, and an exam at the end of the course. The programming language used (for the home problems) will be Matlab (no exceptions allowed).


Introductory programming problem: Even though many students are probably used to programming in Matlab (and other programming languages), some students are not. In order to make sure that all students reach an acceptable level of programming knowledge, you will have to begin by solving a (simple) programming problem, making sure to follow the coding standard. This problem (and the coding standard) will be made available on 20210903, and the solution should be handed in on (or before) 20210910. In order to get a passing grade for this assignment (which is required), you should make sure that your program (i) solves the problem, and (ii) follows the coding standard.

Home problems:
The problem sheets will be made available on 20200907 (set 1) and 20200924 (set 2), and should be handed in no later than 20200921 (set 1) and 20201013 (set 2). Maximum total score (sets1+2): 25p.

Each set will contain both mandatory problems (that must be solved satisfactorily in order to pass the course) and voluntary problems (that are necessary to solve for students aspiring to receive a high grade).

Make sure to submit your solutions (via Canvas) on time! Penalties for delays: 0-6 hours: 0p, 6-24 hours: -1p, 24-48 hours: -2p, > 48 hours: -3p. 

Exam:
Date: 20211027 14.00-18.00. Maximum total score: 25p.
Note: In order to attend the exam, you must sign up for it, no later than 20211008. More information about the exam will follow later.

Update 20210924: Due to the recent easing of the Covid restrictions, the exam will be held on campus. It will not be a Zoom exam. Don't forget to sign up for the exam, before 20211008.

Grade requirements:
The minimum requirements for a passing grade (grade 3 at Chalmers, grade G at GU) are to

  1.  ... obtain at least 10 p on the exam and ...
  2.  ... generate and submit a satisfactory solution to the introductory programming problem and ...
  3. ... generate and submit satisfactory solutions to the mandatory home problems. 

The additional requirements for the various grades are as follows: (the numbers refer to the sum of the exam result and the home problems, maximum 50p in total)

Chalmers:
5 Total score in [42,50]
4 Total score in [33,41.5]
3 Total score up to 32.5 (i.e. just the minimum requirements; see above)

GU:
VG: Total score in [39,50]
G: Total score up to 38.5 (i.e. just the minimum requirements; see above)

ECTS:
ECTS grades are offered to Erasmus Mundus students, using the same ranges as for
Chalmers grades (i.e. A=5, B=4 etc.)

Course summary:

Date Details Due