Welcome to Optimization with Julia!
University of Hamburg - Fall 2025
Description
This small workshop will introduce you to the basics of mathematical optimization using Julia. Throughout the workshop, you will learn the basics of Julia and JuMP, the de facto standard for mathematical optimization in Julia. We will work with simple, practical examples to help you understand the core concepts. You will learn how to formulate basic optimization problems and translate them into code. The workshop was originally part of the course Applied Optimization but it is now also offered as a standalone small workshop.
Learning Outcomes
My goal is to introduce you to the Julia programming language and the JuMP package for mathematical optimization. Both are widely used in academia and industry and are great tools to know. Julia is a fast, flexible, and powerful programming language that is becoming more and more popular in academia and industry. JuMP is a package that allows you to formulate and solve optimization problems in Julia, it is an alternative to other popular optimization software such as GAMS, AMPL, Pyomo, etc.
Upon completion of the workshop, you will be able to:
- Apply the basics of the Julia programming language
- Implement basic optimization problems in Julia
- Understand the core concepts of optimization
- Apply optimization techniques to practical problems
Please note that this workshop is designed to be accessible to everyone, including complete beginners. No advanced knowledge or experience in programming is required to follow along, although knowledge of programming is helpful! The teaching format accommodates different levels of programming skills, ensuring that every participant can get the most out of the workshop.
Course Blocks
The core content of the workshop is organized in four blocks:
- Introduction
- Part I: Variables and Types
- Part II: Functions, Data Frames and Plots
- Part III: Optimization with JuMP
Tutorials
The workshop is organized in a series of tutorials. Each tutorial is a self-contained document that you can run online in Google Colab or download and run locally.
- You can find the content for each part in the corresponding folder
- To run the code, you can use VS Code or Google Colab
- To do so, download the corresponding
.ipynb
file and open it in VS Code or Google Colab
Questions
If you have any questions regarding the workshop, please contact me under tobias.vlcek@uni-hamburg.de.