Goals: The students should get a deeper understanding of advanced mathematical notions and methods in discrete mathematics and optimization. They should be able to develop discrete mathematical models for problems in bioinformatics and systems biology, to apply suitable algorithms for their solution, and to analyse the results.
Contents: Linear programming, Simplex algorithm, duality, integer linear programming, branch and bound, cutting planes, branch and cut, constraint programming, local search and metaheuristics.
Requirements for Aktive Teilnahme:
Schedule:
Date | Lecture | Lecturer |
11.12.-21.12. | Linear Optimization | |
11.12.2018 | Lecture 1: Introduction to linear optimization | Bockmayr |
13.12.2018 | Lecture 2: Polyhedra and Simplex algorithm | Bockmayr |
14.12.2018 | Exercise (no assignments due) | Köbis |
18.12.2018 | Lecture 3: Simplex algorithm, application to metabolic networks | Bockmayr |
20.12.2018 | Lecture 4: Duality, complexity of LP | Bockmayr |
21.12.2018 | Exercise (theoretical assignment 1) | Köbis |
08.01.-25.01. | Integer Linear Optimization | |
08.01.2019 | Lecture 5: ILP - Introduction | Reinert |
10.01.2019 | Lecture 6: ILP - Modelling | Reinert |
11.01.2019 | Exercise (theor. assign. 2 + programming assign. 1) | Köbis |
15.01.2019 | Lecture 7: ILP - Branch-and-Cut I | Reinert |
17.01.2019 | Lecture 8: ILP - Branch-and-Cut II | Reinert |
18.01.2019 | Exercise (theoretical assignment 3) & Review 1 | Köbis |
22.01.2019 | Lecture 9: ILP - Lagrange I | Reinert |
24.01.2019 | Lecture 10: ILP: Lagrange II | Reinert |
25.01.2019 | Exercise (theor. assign. 4 + programming assign. 2) | Köbis |
29.01.-14.02. | Constraint Programming and Metaheuristics | |
29.01.2019 | Lecture 11: Constraint programming I | Bockmayr |
31.01.2019 | Lecture 12: Constraint programming II | Bockmayr |
01.02.2019 | Exercise (theoretical assignment 5) | Köbis |
05.02.2019 | Lecture 13: Constraint and integer programming | Bockmayr |
07.02.2019 | Lecture 14: Local search and metaheuristics I | Bockmayr |
08.02.2019 | Exercise (theor. assign. 6 + programming assign. 3) & Review 2 | Köbis |
12.02.2019 | Lecture 15: Local search and metaheuristics II | Bockmayr |
14.02.2019 | Rehearsal | Bockmayr/Reinert |
15.02.2019 | Exam |
Detailed requirements for 'Aktive Teilnahme'
It is possible to work in groups of up to three people for the theoretical and programming assignments. If you work in groups:
• you need to register/sign up in KVV for that group before December 21st 2018, 10:00
• you cannot change your group during the semester but you are allowed to leave a group and work
on your own. Rejoining, however, is not possible.
• the group for the theoretical assignments must be the same as for the programming assignments.
• the names of all group members must be on your solutions (theoretical as well as programming)
• that group hands in exactly one solution. (programming and theoretical. If more than one solution
is submitted, only one will be graded.)
Theoretical assignments
There are six assignment sheets with 3–4 tasks each, every week one sheet is due. You have to achieve a 75% solution rate for all exercise problems. (An exercise problem counts as ‘solved’, if it is clearly visible that a solution was attempted for some time. You do not have to have a complete and fully exact solution.) The solutions need to be printed or handwritten and handed in before the exercise on the day that it is due. In exceptional cases (with prior email notification and only once per semester) it is possible to send the solutions via email. In that case, the deadline is 10:00 o’clock on the day of the exercise and the solutions have pdf format.
The theoretical tasks of one sheet are equally weighed. (Every task counts the same.) and all exercise sheets count the same. (That means: If there are three tasks on one exercise sheet, one task weighs more for the overall passing than if there are four problems to be solved.)
Sometimes, extra problems are given to acquire extra points.
Programming assignments
There are three programming assignments, one is due every two weeks.
Programs need to be build with MATLAB (version 7 or higher), Python 2 (version 2.7 or higher) or R (version 3.3 or higher) using LP-solvers glpk, cplex or gurobi. (For R, only glpk with the glpkAPI package is allowed.) For each exercise you can score 3 Points:
• 3 Pts = program runs correctly without errors and is well-documented
• 2 Pts = program contains small errors or is poorly documented
• 1 Pts = program contains critical errors
• 0 Pts = no program submitted
You need to reach at least 75% of the combined points.
A complete program contains at least:
• Names of all people in the group
• Used programming language and version of main program, solvers, toolboxes and used packages or libraries
• Example-call of the script/function
• Description of expected results (This might be that the program only runs until a certain point.)
Solutions have to be send via email before the deadline. You do not have to print out your programming solutions. It is possible to change the programming language once in the semester. (That means, changing back is not possible) If you are chosen to present your solution in the exercise, I will tell you in advance via email one day before (and expect presence on that day). At random, I will ask some students to present the programs to me in person. (not during the exercise; you need to make an extra appointment for this.) Failure to present a solution more than once means failing the exercises.
Reviews
There are two reviews (smaller exams). They are graded and you need to reach at least 50% of the combined points to pass the exercises. For the reviews, make sure to have an identification document (student ID or passport) with you.
Course No | Course Type | Hours |
---|---|---|
19400701 | Vorlesung | 2 |
19400702 | Übung | 2 |
Time Span | 11.12.2018 - 18.04.2019 |
---|---|
Instructors |
Alexander Bockmayr
Markus Arthur Köbis
Knut Reinert
|
0262b_MA120 | 2012, MSc Bioinformatik (Mono), 120 LPs |
Day | Time | Location | Details |
---|---|---|---|
Tuesday | 10-12 | T9/SR 005 Übungsraum | 2018-12-11 - 2019-02-12 |
Thursday | 10-12 | T9/SR 005 Übungsraum | 2018-12-13 - 2019-02-14 |
Day | Time | Location | Details |
---|---|---|---|
Friday | 12-14 | A6/SR 032 Seminarraum | Übung 02 |
Friday | 14-16 | A6/SR 032 Seminarraum | Übung 01 |
Sunday | ? - ? | Pseudotutorium zur Kapazitätsplanung - potentielle Übungsteilnehmer melden sich bitte hier an! |