ORMS1020 Operations Research / Operaatioanalyysi, Fall / Syksy 2018

Lectures on 19th September are cancelled

Huom: Luennot ovat suomeksi, mutta kaikki materiaali on englanniksi. Kokeissa ja harjoituksissa voi vastata joko suomeksi tai englanniksi.

N.B. Lectures are in Finnish, but all the material is in English. In the exams and the exercises you may answer either in Finnish or in English.

N.B. Lectures and exercises are pretty randomly scattered. See Opiskelijalukkari for details (requires login).


Tommi Sottinen


5 cr


Linear modeling; solving linear programs with Octave; simplex algorithm; sensitivity analysis and duals for linear programs; data envelopment analysis; transportation problems; assignment problems; transshipment problems; mixed integer linear programming; branch-and-bound algorithm; traveling salesman problem; fixed-charge problem; set-covering problem.

Course Material

Lecture notes ORMS 1020: Operations Research with GNU Octave (October 19, 2011) by Tommi Sottinen, and the M-files

Weekly Exercise Sets

The numbers after "Exercise" refer to the Lecture notes.

  1. Week 36: In the first exercise set we get a first glimpse of the GNU Octave programming language. See pages 14-27 of the Lecture Notes or Octave Manual to get help for these exercises.
    1. Make Octave print "Hello World!" to the screen. (Type help disp to get help, or if you are a C programmer, type help printf.)
    2. Exercise 2.1.
    3. Exercise 2.2.
    4. Make Octave give a wrong answer due to rounding errors.
  2. Week 37: In the second exercise set we get a first glimpse of optimization problems and study programming with GNU Octave.
    1. Exercise 1.2.
    2. Exercise 2.3.
    3. Exercise 2.4.
    4. Exercise 2.5.
    5. The STATUS parameter has been changed in glpk for Octave version 4.0.3. Therefore the status parameter in stu_lp_solver is incorrect. Correct this bug for the function stu_lp_solver.
  3. Week 38: Here we consider LPs and their optima, and our our implementation of the Simplex Algorithm.
    1. Exercise 3.1.
    2. Exercise 3.2.
    3. Exercise 3.3.
    4. Exercise 4.1.
    5. Make the following Octave function (m-file). The function takes a matrix as its input parameter. It returns the input matrix where all but the first row and the last column are replaced by zeros.
  4. Week 40: Here we study the Simplex Algorithm, and sensitivity and duality.
    1. Exercise 4.4.
    2. Exercise 4.5.
    3. Exercise 5.2.
    4. Exercise 5.3.
    5. Exercise 5.5.
  5. Week 41: Here we study Data Envelopment Analysis and Transportation Problems.
    1. Exercise 6.1.
    2. Exercise 6.2.
    3. Exercise 7.1.
    4. Exercise 7.3.
    5. Exercise 7.4.
  6. Week 42: Here we study Transportation-type problems, Integer programming (IP) and the traveling salesman problem.
    1. Exercise 7.5.
    2. Exercise 8.1.
    3. Exercise 8.2.
    4. Exercise 9.1.
    5. Find a mistake in the lecture notes.


Preliminary schedule for the lectures:
  1. Wed 2018-09-05 at 08-10 F426  Orientation & Chapter 1: Selection of Optimization Problems
  2. Thu 2018-09-07 at 16-18 F426  Chapter 2: Short Introduction to Octave, Part I

  3. Mon 2018-09-10 at 16-18 F426  Chapter 2: Short Introduction to Octave, Part II
  4. Tue 2018-09-11 at 14-16 F426  Chapter 3: Linear Programs and Their Optima, Part I
  5. Wed 2018-09-12 at 14-16 F362A Chapter 3: Linear Programs and Their Optima, Part II
  6. Thu 2018-09-13 at 12-14 F426  Chapter 4: Simplex Algorithm, Part I

  7. Mon 2018-09-17 at 16-18 F426  Chapter 4: Simplex Algorithm, Part II
  8. Tue 2018-09-18 at 14-16 F426  Chapter 5: Simplex Algorithm, Part III
  9. Wed 2018-09-19 at 12-14 F118  Chapter 5: Sensitivity and Duality, Part I

  10. Mon 2018-09-24 at 16-18 F426  Chapter 6: Sensitivity and Duality, Part II
  11. Tue 2018-09-25 at 16-18 F362A Chapter 6: Data Envelopment Analysis, Part I
  12. Wed 2018-09-26 at 12-14 F426  Chapter 7: Data Envelopment Analysis, Part II

  13. Mon 2018-10-01 at 16-18 F426  Chapter 7: Transportation-Type Models, Part I
  14. Tue 2018-10-02 at 14-16 F426  Chapter 7: Transportation-Type Models, Part II
  15. Wed 2018-10-03 at 14-16 F426  Chapter 7: Transportation-Type Models, Part III

  16. Mon 2018-10-08 at 16-18 F426  Chapter 8: Mixed Integer Linear Programming
  17. Tue 2018-10-09 at 14-16 F426  Chapter 9: Mixed Integer Linear Models, The Travelling Salesman Problem
  18. Wed 2018-10-10 at 14-16 F426  Q & A


The dates of the final exams are

  1. Sat 2018-10-27 at 12-15
  2. Fri 2018-12-07 at 12-15

Here are some old ancient but still relevant exams with solutions:


Your grade will be given by the formula


and a is your percentage of points from the exam and b is the percentage of the exercises you have completed. The additional points b are not transferable beyond the first final exam you take after the course, i.e. then b=0.