Welcome to Applied Optimization with Julia!
Mathematical Modelling and Programming
Course Description
In this module, we explore the application of optimization techniques to solve real-world problems. Over the course of the semester, you’ll learn about various optimization challenges that have been tackled by the Institute of Logistics, Transport, and Production in collaboration with industry partners.
These practical problems include optimizing the sustainability of parcel delivery companies, ensuring corona-compliant crowd management at stadiums and theaters, and designing efficient district layouts for police authorities – to name just a few examples.
The module is structured around one lecture and one exercise per week. During exercises, you’ll work in groups with fellow students to program and solve small-scale problems. Bonus points are available for these exercises, which can contribute to your final exam grade at the end of the semester.
Learning Outcomes
You can find our specific outcomes in the module handbook. Our broader goal is to introduce you to how diversified the solution of practical problems can be. We want to enable you to independently apply methods and concepts from optimization, and to get a feeling for abstracting and modeling problems.
Is our module hard? That’s a subjective question. We would say it is exciting and doable. If you have a basic interest in logical relationships and mathematics, you are in the right place. If you also have basic knowledge of programming or want to get into the subject with help, our module is perfect for you.
Upon completion of the course, you …
- can implement solutions to complex optimization problems in Julia
- know advanced concepts of optimization such as linear and nonlinear optimization
- know basic concepts of programming and algorithms such as loops, functions
- will be able to read and write code in Julia
- will have experience working with Julia libraries such as JuMP and HiGHS
- will know how to collaborate in a small team to find solutions for problems at hand
Please note that this course is specifically designed for business students. That is, it is not required to have any advanced knowledge or experience in programming to attend this course. The teaching format will make it possible to account for different levels of programming skills such that every student can take the most out of the course.
Course Blocks
The core content of the course is organized in three blocks:
- Part I: Introduction to Julia and Modelling
- Part II: Applied Optimization with Basic Models
- Part III: Applied Optimization with Advanced Models
You can find more information on the course blocks and the corresponding lectures in the syllabus.
Tutorials
The tutorials accompany the lectures. In the tutorials, you will apply the concepts from the lectures to realistic data sets. You will work in small groups of 3 participants, in which you can work out solutions together. We will help you during the weekly practice sessions by answering your questions or briefly explaining individual issues in case of difficulties. Afterwards, you have the opportunity to submit your jointly developed solution until the next exercise date in order to earn bonus points for the exam. You can earn up to half a bonus point per exercise, up to 6.0 bonus points in total. Important: the bonus points will only be credited to you if you pass the exam with at least a 4.0. Furthermore, we will not award bonus points for exercises in which you have simply copied the results of another group.
How to see the slides
Questions
If you have any questions regarding the course, please contact me under tobias.vlcek@uni-hamburg.de.
Contributors
Thanks to Matthes Koch and Justus Bonz, who helped to prepare the lecture materials.