Lecture 0 - Course Introduction

Course structure, schedule, syllabus, and evaluation

1 Welcome

This opening session introduces the course as a whole before the technical lecture sequence begins.

The course focuses on:

  • mathematical programming foundations
  • integer and mixed-integer optimization modeling
  • heuristics and metaheuristics
  • practical implementation using Python and Gurobi

The central theme is simple: many real decision problems are optimization problems, but not all of them can be solved exactly at realistic scale.


2 Course Snapshot

2.1 Logistics

  • Duration: March 2026 to May 2026
  • Frequency: 2 meetings per week
  • Standard lecture time: 14:15-15:45
  • Location: Faculty of Information Technology, University of Jyvaskyla, Finland

2.2 Teaching and Materials

  • Responsible teacher: Soumen Atta
  • The course website hosts the schedule and lecture notes
  • Materials are being released progressively as the course develops

3 Why This Course?

Optimization appears naturally in problems involving:

  • allocation of limited resources
  • scheduling and planning
  • routing and network design
  • combinatorial decision making

Exact methods are powerful and mathematically rigorous, but they do not scale to every realistic problem instance. Soft computing methods provide practical alternatives when exact optimality becomes too expensive in time or memory.

This course is therefore built around the following question:

How do we model difficult decision problems, and how do we solve them when exact methods become impractical?


4 Course Structure

The course moves in five broad stages:

  1. foundations of optimization modeling
  2. exact methods and solver-based workflows
  3. complexity limits and the motivation for soft computing
  4. heuristics and local search
  5. metaheuristics for robust search on hard optimization problems

In other words, the course starts with LP, ILP, and MILP, then moves toward heuristics, metaheuristics, and hybrid optimization thinking.


5 Published Topic Sequence

The currently published lecture sequence is:

  1. Lecture 1 - Introduction to optimization, LP, ILP, and MILP
  2. Lecture 2 - Mathematical programming with Python and Gurobi
  3. Lecture 3 - Why exact methods fail: complexity, scalability, and motivation for soft computing
  4. Lecture 4 - Introduction to heuristics and metaheuristics
  5. Lecture 5 - Local search and neighborhood structures
  6. Lecture 6 - Hill climbing, descent methods, and local optima
  7. Lecture 7 - Simulated annealing and probabilistic local search
  8. Lecture 8 - Tabu search and memory-based heuristics
  9. Lecture 9 - Population-based metaheuristics: genetic algorithms

Current web lecture notes cover Lectures 1-9. Remaining sessions can extend this sequence as additional material is prepared.


6 How the Lectures Are Organized

The published lecture notes follow a consistent structure:

  • learning objectives
  • lecture roadmap
  • concept development with examples
  • implementation or modeling perspective where relevant
  • mini exercises for practice
  • references for further reading

This is deliberate. The course is designed not only to explain concepts, but also to connect them to modeling and algorithmic practice.


7 Syllabus at a Glance

7.1 Module A: Optimization Foundations

This part covers LP, ILP, MILP, binary variables, modeling patterns, and solver-based reasoning.

7.2 Module B: Why Soft Computing Is Needed

This part introduces complexity, combinatorial explosion, scalability limits, and the motivation for approximation and search-based methods.

7.3 Module C: Heuristic and Metaheuristic Methods

This part covers:

  • constructive heuristics
  • local search
  • hill climbing
  • simulated annealing
  • tabu search
  • genetic algorithms

8 Expected Learning Outcomes

By the end of the course, students should be able to:

  • formulate small and medium optimization models from textual descriptions
  • distinguish continuous, integer, and mixed-integer formulations
  • use Python and Gurobi for basic solver-driven experiments
  • explain when exact optimization is appropriate and when it is not
  • describe and compare core heuristic and metaheuristic strategies
  • reason about exploration, exploitation, scalability, and solution quality

9 Software and Working Style

The main working setup in this course is:

  • Python as the implementation language
  • Gurobi as the main exact optimization solver
  • lecture notes as web-based reading material
  • mini exercises embedded in the lectures

This should not be approached as a passive reading course. Understanding improves substantially when you formulate small models, test solver behavior, and compare exact and heuristic strategies by hand and in code.


10 Schedule Overview

Lecture Date Day Time Location
1 16.03.2026 Mon 14:15-15:45 Agora, Ag D215.1
2 18.03.2026 Wed 14:15-15:45 Agora, Ag B122.1 Alfa
3 23.03.2026 Mon 14:15-15:45 Agora, Ag D221.3
4 25.03.2026 Wed 14:15-15:45 Agora, Ag D211.1
5 08.04.2026 (reserved day) Wed 14.15–15.45 Agora, Ag D121.1 Pertti Kettusen sali
6 13.04.2026 Mon 14:15-15:45 Agora, Ag D213.1
7 15.04.2026 Wed 14:15-15:45 Agora, Ag B121.1 Beeta
8 20.04.2026 Mon 14:15-15:45 Agora, Ag C222.1
9 22.04.2026 Wed 14:15-15:45 Agora, Ag C222.1
10 27.04.2026 Mon 14:15-15:45 Agora, Ag C222.1
11 29.04.2026 Wed 14:15-15:45 Agora, Ag C222.1
12 04.05.2026 Mon 14:15-15:45 Agora, Ag C222.1
13 06.05.2026 Wed 14:15-15:45 Agora, Ag C222.1
14 11.05.2026 Mon 14:15-15:45 Agora, Ag C222.1

The published schedule notes that dates and rooms may still change.


11 Evaluation Criteria

The current repository does not yet include an official grading policy, syllabus page, or assignments page.

So this chapter records the evaluation structure as a placeholder to be finalized before deployment if needed:

  • assignments / coursework: to be announced
  • project or report: to be announced
  • exam or final submission: to be announced
  • participation or attendance: mandatory

If an official grading breakdown is later added, this section should be updated to match it exactly.


12 How to Succeed in This Course

The most reliable way to perform well is steady weekly engagement:

  • attend regularly
  • read the lecture notes as the course progresses
  • work through the mini exercises instead of only reading them
  • implement small models and algorithms early
  • compare exact and heuristic approaches critically
  • care about both correctness and computational behavior

Strong performance in this subject usually comes from consistent practice, not last-minute revision.


13 Communication and Resources

  • Responsible teacher: Soumen Atta
  • Email: soumen.s.atta@jyu.fi
  • Website: the course home page is the main reference point for schedule and lecture notes

If anything changes in the schedule or materials, the website should be treated as the authoritative source.

Back to top