LOG734 Heuristics in Analytics (Spring 2025)

ECTS Credits:
7.5
Responsible faculty:
Avdeling for logistikk
Campus:
Molde
Course Leader:
Lars Magnus Hvattum
Teaching language:
English
Study level:
{code=HN, name=Second degree level}
Duration:
½ year

Table of contents

Contents

The course focuses on using heuristic optimization methods to solve computationally challenging optimization problems, with use both in prescriptive and predictive analytics. An understanding of heuristics is built from the ground up, starting from classical construction heuristics and improvement heuristics. The course then proceeds with a thorough treaty of metaheuristics. Formal definitions are used to clarify the structure of the algorithms, and examples are given regarding their use to solve well-known optimization problems. Attention is drawn towards the implementation of heuristics using a suitable programming language. Examples of using heuristics in prescriptive analytics (solving hard combinatorial optimization problems) and in predictive analytics (using metaheuristics for classification and prediction problems in data mining) are discussed at the end of the course.

The course is connected to the following study programs

Recommended knowledge

LOG725 Transportation and Distribution is highly recommended. Some knowledge of exact optimization methods is highly recommended, for example by taking LOG733 in parallel.

The student's learning outcomes after passing the exam

Knowledge

After completing this course, the students should be able to:

  • explain the difference between exact algorithms, approximation algorithms, and heuristic algorithms
  • define what is meant by primal and dual bounds and how they can be obtained
  • give an account of how construction heuristics work, and give examples of known construction heuristics
  • explain what is meant by a greedy construction heuristic, and contrast this with regret based heuristics
  • give an account of how improvement heuristics work, based on the concept of neighborhoods
  • state a definition of metaheuristics, and discuss the different meanings that this term may have
  • describe and define local search based metaheuristics, including simulated annealing and tabu search
  • describe and define construction based metaheuristics, including grasp and squeaky wheel optimization
  • describe and define population based metaheuristics, including genetic algorithms and scatter search
  • discuss the dangers of using metaphors when working with metaheuristics, and to give an account of the historical significance that metaphors have played for metaheuristics
  • discuss the concepts of intensification and diversification, and classify known components of metaheuristics in relation to those two concepts
  • explain the concept of matheuristics and to provide examples of how they have been used to solve combinatorial optimization problems
  • present the challenges associated to parameter tuning and how they can be handled, both on-line (hyper-heuristics and robust heuristics) and off-line (using iRace, SMAC, or ParamILS)
  • discuss how metaheuristics can be analyzed and improved using target analysis and fitness landscape analysis

Skills

After completing this course, the students should be able to:

  • design a heuristic to solve a given optimization problem
  • evaluate the appropriateness of choices made during the design of the heuristics
  • Implement efficient heuristics in a programming language such as C++

General competence

After completing this course, the students should be able to:

  • work independently or in a small team to write code for scientific computing
  • create and hold a relevant professional presentation for an audience of peers

Forms of teaching and learning

Three hours of lectures per week.

Exam

  • Form of assessment: -
  • Proportion: 30%
  • Duration: 1 semester
  • Grouping: Group
  • Grading scale: Letter (A - F)
  • Support material: All printed and written supporting material
  • Form of assessment: Other assessment form, describe in comment field
  • Proportion: 20%
  • Duration: -
  • Grouping: Group
  • Grading scale: Letter (A - F)
  • Support material: -
  • Form of assessment: School assessment
  • Proportion: 50%
  • Duration: 4 hours
  • Grouping: Individual
  • Grading scale: Letter (A - F)
  • Support material: Only general dictionary in mother tongue/Norwegian/English in paper version
Last updated from FS (Felles studentsystem) Oct. 14, 2026 10:16:52 PM