print("Hello World!")Hello World!
Optimization with Julia
Allows for fast data workflows, particularly in scientific computing!
JuMP is an alternative to Pyomo, GAMS, and AMPL!
Modeling is a creative process!
\[ \begin{aligned} &\text{maximize} \quad F = \sum_{j\in \mathcal{J}} c_j \times X_j \end{aligned} \]
subject to
\[ \begin{aligned} &\sum_{j\in \mathcal{J}} a_{i,j} \times X_j \le b_i && \forall i \in \mathcal{I} \\ &X_j \ge 0 && \forall j \in \mathcal{J} \end{aligned} \]
\[ \begin{aligned} \mathcal{I} &: \text{set of $i \in \mathcal{I}$,}\\ \mathcal{J} &: \text{set of $j \in \mathcal{J}$,}\\ F &: \text{Objective function variable,}\\ X_{j} &: \text{decision variables,}\\ c_{j} &: \text{objective function coefficients,}\\ a_{i,j} &: \text{parameters,}\\ b_{i} &: \text{parameters} \end{aligned} \]
To prepare for the upcoming lectures, we start by installing the Julia Programming Language and an Integrated Development Environment (IDE) to work with Julia.

juliaupIf you are ever asked to add something to your “PATH”, do so!
brew install --cask zed (or the installer from zed.dev)curl -f https://zed.dev/install.sh | shOn Windows, Zed needs a DirectX 11 GPU with a current graphics driver. If it shows a blank window or an “Unsupported GPU” warning, update the driver first. Still not working? Use VS Code with the “Julia (Julia Language Support)” extension instead: everything in this workshop works there too.
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)print("Hello World!")Hello World!
julia test.jlHello World! → perfect!Before you start with the first tutorial, make sure you can:
.jl file in Zed, run cell by cellJulia on the right (under “Code Links”).jl file and save itJupyter (under “Other Formats”) downloads the same tutorial as .ipynb.jl file and open it in ZedFor interesting literature to learn more about Julia, take a look at the literature list of this course.