Mathematical Programming Modelling
Overall Course Objectives
To enable students to solve large operations research problems using mathematical models and standard software. This entails formulating a mathematical optimization model, using the standard modelling language Julia/JuMP and solvers to solve the model, evaluate alternatives, and finally be able to describe results and conclusions from a mathematical model. Since the various standard programs for mathematical modelling are rather similar, the knowledge gained is not restricted to the software employed here.
See course description in Danish
Learning Objectives
- Analyze a real-world decision problem and identify whether it can be modelled as a linear or mixed-integer optimization problem
- Formulate and implement the correct mathematical programming model, either a Linear Programming Model or a Mixed Integer programming model
- Retrieve and analyse results from a mathematical programming solver
- Formulate Multi-Objective models
- Implement Multi-Objective models and solve them with Julia/JuMP
- Explain the basic ideas behind mathematical heuristics and evaluate when they are useful
- Design and implement mathematical heuristics for solving optimization problems
- Evaluate optimization results critically in relation to the original decision problem and communicate modelling assumptions and solution quality clearly
Course Content
The course teaches students how to model and solve decision problems using mathematical programming and Julia/JuMP. Students learn to formulate linear and mixed-integer optimization models, implement them in code, and interpret their solutions in the context of real planning problems. Through practical exercises, they also learn to test and debug models and are introduced to selected advanced topics such as network models, heuristics, and multi-objective optimization.
The course is well suited for students who are interested in operations research, but do not plan to take more operations research courses. The course provide an application understanding about which types of decision problems can be handled with operations research methods. The student will also be able to formulate and implement models, using only open-source software.
Students who plan to take more operations research courses should consider the course 42114, Integer Programming, which gives a deeper understanding of the mathematical methods behind operations research
Recommended prerequisites
42101, or a similar course in Introductory Operations Research. You are expected to be familiar with linear programming prior to the course.
Teaching Method
Lectures and exercises
Faculty
Remarks
NOTE:
The official start date is Monday 4/1-2027. We expect all student to show up on there first day of the course. The written exam is on Friday 22/1-2027 (we do not know the time of day, it is decided in January by the exam office)
The average student can expect to work 8 hours per day from Monday 4/1-2027 to and including Thursday d. 21/1-2027.
Before the course we expect all students to have Julia/JuMP and VS-code installed on their computer and have tried to execute basic LP/MIP models in Julia/JuMP before the start of the course.
We will send self study material with exercises in our welcome email. Students whose OR experience is a bit rusty, can benefit (a lot) from doing these exercises before the course.
We expect ALL students who participate in the course to know the basics of Linear Programming (LP) and Mixed Integer Programming (MIP). If you have only little or no experience with LP/MIP and/or Julia/JuMP, you can expect this course TO BE VERY DIFFICULT.




