Course syllabus


ETS061, 7,5 credits, A (Second Cycle)

Valid for: 2016/17
Decided by: Education Board A
Date of Decision: 2016-04-05

General Information

Elective for: C4-ks, D4-ks, E4-ks, I4, I4-pvs, Pi4
Language of instruction: The course will be given in English on demand


The purpose of the course is to give an introduction to discrete event simulation, basic optimization approaches, and heuristic methods such as simulated annealing, tabu search, evolutionary algorithms and GRASP.

Learning outcomes

Knowledge and understanding
For a passing grade the student must


Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must



In the course we start by studying discrete event simulation. Students learn to write process-oriented and event-scheduling simulation programs in general programming languages. Estimation of accuracy, random number generation, methods for studying rare events, verification and validation are also covered.

Then we proceed to optimization techniques. We study convex problems and their duals. Further, we go to linear programs (LP), the simplex algorithm, and the column generation technique. We show how to model non-linearity. After that we consider integer programming (IP), its relation to LP, and the branch-and-bound method for IP. We also mention the cutting plane method for IP and sketch the computational complexity theory, including the notions of polynomial problems and NP-hardness.

Finally, we consider heuristic methods for combinatorial optimization problems viewed as optimization through simulation. We explain the local search and the role of randomness. We explain the basic meta-heuristics such as simulated annealing, evolutionary algorithms, and GRASP. We also illustrate the Monte Carlo techniques.

Examination details

Grading scale: TH
Assessment: Approved home assignments, which are graded, gives grade 3. An approved take-home examination is required for grades 4 and 5.


Required prior knowledge: Programming, Basic probability, Statistical methods, Mathematical analysis.
The number of participants is limited to: No
The course overlaps following course/s: ETS060, ETS120

Reading list

Contact and other information

Course coordinator: Christian Nyberg,
Course homepage: