Jaan Tollander de Balsch

Jaan Tollander de Balsch

Student & Researcher

Aalto University

Biography

Jaan Tollander de Balsch is a computer scientist with a background in applied mathematics, who focuses on algorithms, computation, and mathematical modeling. His interests include scientific writing, software engineering, and artificial intelligence. Professionally, he creates practical, well-documented, and tested software packages for solving mathematical and computational problems using Julia and Python programming languages. Apart from work and academics, he is passionate about health, athletics, productivity, and saunas.

Interests

  • Algorithms and Computing
  • Mathematical Modeling
  • Scientific Writing
  • Software Engineering

Education

  • MSc in Computer Science, 2021

    Aalto University

  • BSc in Applied Mathematics, 2018

    Aalto University

Recent Posts

Software Engineering Tools, Principles and Practices for Scientists

Read on to learn essential software engineering principles, practices, and tools, and how scientists can write code into collaborative software packages.

How to Implement Continuous-Time Multi-Agent Crowd Simulation

This article explores the theory of implementing a continuous-time multi-agent crowd simulation.

Computer Algebra With Sympy and Jupyter

This article discusses the benefits and challenges of present-day computer algebra systems and demonstrates computer algebra with Jupyter and Sympy.

How to Manage Tasks with Kanban

This article discusses the benefits of Kanban and how to use it for managing tasks for projects.

Exploring the Pointwise Convergence of Legendre Series for Piecewise Analytic Functions

In this article, we explore the behavior of the pointwise convergence of the Legendre series for piecewise analytic functions using numerical methods and compare the results against theoretical predictions.

Projects

Decision Programming

DecisionProgramming.jl is Julia package for optimally solving decision problems modeled using influence diagrams. Internally, the decision model is formulated as a mixed-integer linear program and used JuMP for the modeling.

Example Modeling

ExampleModeling.jl demonstrates a design pattern for creating structured optimization libraries in Julia using JuMP.

Polytechnic Sauna Society Website

Website for Polytechnic Sauna Society created using Hugo and Academic theme.

Energy System Modeling

Transmission capacity expansion model implemented as linear optimization model in Julia using JuMP.

Shelf Space Allocation

Mixed integer linear program for solving the retail shelf space allocation problem implemented in Julia using JuMP.

Crowd Dynamics

Continuous-time multi-agent crowd simulation engine implemented in Python using Numba and Numpy for performance.

Cell Lists

Fixed-radius near neighbors search algorithm implemented in Python using Numba and Numpy for performance.

Experience

 
 
 
 
 

Research Assistant

Systems Analysis Laboratory, Aalto University

Jun 2020 – Aug 2020 Helsinki Area, Finland
Currently working on Julia package for decision programming with Fabricio Oliveira, Juho Andelmin, Olli Herrala, and Ahti Salo. The code is available in a repository at DecisionProgramming.jl which also contains a documentation.
 
 
 
 
 

Research Assistant

Systems Analysis Laboratory, Aalto University

Jan 2020 – Mar 2020 Helsinki Area, Finland
I worked with Fabricio Oliveira and Lucas Condeixa on creating a Julia package for a transmission capacity expansion model. The energy system model is formulated as a linear program. We used JuMP for the modeling. The code is available in a repository at EnergySystemModeling.jl which also contains a documentation.
 
 
 
 
 

Research Assistant

Systems Analysis Laboratory, Aalto University

Jun 2019 – Aug 2019 Helsinki Area, Finland
I worked with Fabricio Oliveira on creating a Julia package for a shelf space allocation model for retailing. The shelf space allocation model is formulated as a mixed-integer linear program. We use JuMP for the modeling. The work also included creating visualizations, heuristics, and documentation. The code is available in a repository at ShelfSpaceAllocation.jl which also contains a documentation.
 
 
 
 
 

Research Assistant

Systems Analysis Laboratory, Aalto University

Jun 2017 – Aug 2017 Helsinki Area, Finland
I continued the work from the previous summer, developing the crowd dynamics simulation. I wrote an extensive blog article about the implementation of the simulation, which you can find at How to Implement Continuous-Time Multi-Agent Crowd Simulation. Also, the code is available in a repository at crowddynamics, and related cell lists algorithm at cell_lists.
 
 
 
 
 

Research Assistant

Systems Analysis Laboratory, Aalto University

Jun 2016 – Aug 2016 Helsinki Area, Finland
I worked at the Systems Analysis Laboratory, developing and researching a crowd dynamics simulation with prof. Harri Ehtamo and Anton Von Schantz. Crowd dynamics studies the movement of crowds of humans people, which the simulation aims to create computationally. The work included programming with Python using its vast ecosystem of scientific packages as well as researching and reading research papers about the subject.
 
 
 
 
 

Research Assistant

Department of Mathematics and Systems Analysis, Aalto University

Jun 2015 – Aug 2015 Helsinki Area, Finland
My work consisted of researching and writing my Bachelor’s thesis for the department of mathematics and systems analysis with supervising professor Harri Hakula. My thesis On the Pointwise Convergence of Legendre Polynomials focused on exploring how a series expansion of step function (sign function) and V-function (absolute value function) using Legendre polynomials converges towards the real value at different points. The exploration was done numerically and then compared against theoretical predictions.

Skills

Strongest skills are in bold. Names are in italics.

Programming

Julia, Python, C++, C, Haskell, Scala, Bash, Web development, Markdown, LaTeX

Computer Science

Algorithm design and analysis, Data structures, Scientific computing, Theory of computation, Artificial intelligence

Applied Mathematics

Numerical analysis, Computer algebra, Optimization, Mathematical modeling, JuMP.jl, Gurobi

Machine Learning and Statistics

PyTorch, R, Stan, Deep learning, Bayesian statistics

Software Engineering

Git, Travis CI, Testing, Documenting, Continuous integration, Kanban

OS & Editors

Linux, Ubuntu, VSCode, JetBrains, Atom

Contact

If you have personal questions for me, you can contact me through email at the address below. Please, state your intention in the title and be clear in your message.