Julia for Computational Modeling

Julia programming language has recently gained great popularity among the open-source scientific community, having been increasingly adopted both in industry and academia. The
Julia programming language aims to solve the so-called two-language problem, where you prototype in a language with easy syntax and, after validation, reimplement your code into a
performance-focused language. In particular, the Julia programming language has a pleasant and expressive syntax, while still achieving C-like performance. The Julia ecosystem has also rapidly developing, having now state-of-the-art libraries for differential equations, machine learning, mathematical optimization, data analysis and so on. These features make the Julia programming language an appealing alternative to MatLab or Python for research and development. During this tutorial, an overview of Julia features and workflow will be given, focusing on machine learning and scientific computing for energy applications.

Preliminary Program

The tutorial will be divided into 4 parts

  • Introduction to Julia
  • Machine learning with Julia
  • Differential equations and scientific machine learning ecosystem
  • Optimization with JuMP

 

Each part will be roughly one hour with 15 minutes break. A longer 30 minutes break will be arranged in the middle.

Expected Outcomes

After the tutorial, participants will have a good understanding of Julia core features. They will have an overview of the Julia ecosystem for scientific computing and machine learning and basic familiarity with the core libraries for the field. Most importantly, participants will have a starter-pack of example codes and get pointers on how to continue their Julia journey for their work independently.

Prerequisites

Some programming exposure is needed, but no previous knowledge of Julia is assumed. Installation instructions and materials to follow along will be made available before the tutorial.

Speakers

Luca Ferranti is Julia software developer and also a doctoral researcher at the University of Vaasa, Finland. His research interests lie in scientific computing, computer algebra, automated reasoning, fuzzy logic and their applications. He is also interested in open-source software development, research software engineering and promoting their roles in academia.

Fabricio Oliveira is an Associate Professor of Operations Research in the Department of Mathematics and Systems Analysis at Aalto University. He leads the Group of Applied Mathematical Modelling and Optimisation (Gamma-opt). His research involves the topics of analytics and operations research, in particular predictive/ prescriptive analytics, optimisation, and mathematical programming, applied to supply chain management and production planning. Its main focus is the development of decision support frameworks based on optimisation under uncertainty that can be used for improving decision-making in real-world problems.