Composing Modeling And Simulation With Machine Learning In Julia
Christopher Rackauckas, Maja Gwóźdź, Anand Jain, Yingbo Ma, Francesco Martinuzzi, Utkarsh Rajput, Elliot Saba, Viral B. Shah, Ranjan Anantharaman, Alan Edelman, Shashi Gowda, Avik Pal, Chris Laughman
Abstract
In this paper we introduce JuliaSim, a high-performance programming environment designed to blend traditional modeling and simulation with machine learning. JuliaSim can build surrogates from component-based models, including Functional Mockup Units, using continuous-time echo state networks (CTESN). The foundation of this environment, Modeling-Toolkit.jl, is an acausal-modeling language which can compose the trained surrogates as components. We present the JuliaSim model library, consisting of differential-algebraic equations and pre-trained surrogates, which can be composed using the modeling system. We demonstrate a surrogate-accelerated approach on HVAC dynamics by showing that the CTESN surrogates capture dynamics at less than 4% error with an acceleration of 340x, and speed up design optimization by two orders of magnitude. We showcase the surrogate deployed in a co-simulation loop allowing engineers to explore the design space of a coupled system. Together this demonstrates a workflow for automating the integration of machine learning into traditional modeling and simulation.