A comprehensive course on mathematical optimization using Julia, JuMP, and HiGHS. This course is designed to take you from basic Julia programming to solving complex optimization problems.
This course is structured in three main parts:
-
First Steps: Basic Julia programming concepts
- Variables and Types
- Vectors and Matrices
- Comparisons
- Loops
- Dictionaries
-
Data Handling: Working with data in Julia
- Functions
- Package Management
- DataFrames
- Input/Output Operations
- Plotting
-
Optimization: Mathematical optimization with JuMP
- Introduction to JuMP
- Variables and Bounds
- Constraints
- Advanced Solver Options
- Transportation Problems
- Basic programming knowledge recommended
- Julia (latest version recommended)
- VS Code or VS Codium with Julia extension
- Install Julia from julialang.org
- Install VS Code from code.visualstudio.com or VS Codium from vscodium.com
- Install the Julia extension in VS Code/VS Codium
- Clone this repository
- Start with the introduction section
Each tutorial includes:
- Theoretical explanations
- Code examples
- Interactive exercises
- Solutions (in the solutions folder)
CC BY-NC-SA 4.0 - See LICENSE file for details
- Julia Documentation
- JuMP Documentation
- Recommended books:
- "Think Julia: How to think like a computer scientist" by Lauwens & Downey
- "Julia programming for operations research" by Kwon
Feel free to:
- Report issues
- Suggest improvements
- Submit pull requests
- GitHub: beyondsimulations/Optimization-with-Julia
- LinkedIn: Tobias Vlćek