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:
- foundations of optimization modeling
- exact methods and solver-based workflows
- complexity limits and the motivation for soft computing
- heuristics and local search
- 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:
- Lecture 1 - Introduction to optimization, LP, ILP, and MILP
- Lecture 2 - Mathematical programming with Python and Gurobi
- Lecture 3 - Why exact methods fail: complexity, scalability, and motivation for soft computing
- Lecture 4 - Introduction to heuristics and metaheuristics
- Lecture 5 - Local search and neighborhood structures
- Lecture 6 - Hill climbing, descent methods, and local optima
- Lecture 7 - Simulated annealing and probabilistic local search
- Lecture 8 - Tabu search and memory-based heuristics
- 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.