Michele Urbani
I’m a researcher (PhD in Operations Research) passionate about using optimisation and machine learning to support smarter decision-making and improve the performance of complex simulations.
Since 2018, I’ve been working on workforce routing and maintenance planning, applying both single- and multi-objective optimisation techniques. At Fondazione Bruno Kessler, I’ve contributed to developing multi-objective optimisation solutions for energy systems.
With strong programming skills in Python, C, and Docker, I also build reduced-order models powered by machine learning to optimise simulations of dynamic systems.
More recently, I’ve expanded my focus to Research Data Management and the development of tools aligned with the Functional Mockup Interface (FMI) standard.
Session
The Functional Mock-up Interface (FMI) standard is a flagship in the co-simulation and model exchange domain. However, the integration of graph-based computational models—particularly neural networks—into Functional Mock-up Units (FMUs) has remained a technical challenge due to interoperability and platform-specific limitations. To address this, we propose ONNX2FMU, a command-line Python tool that facilitates the deployment of Open Neural Network Exchange (ONNX) models into FMUs. According to FMI's good practices, ONNX2FMU generates C source code to wrap ONNX models in Functional Mockup Units, supports FMI versions 2.0 and 3.0, and provides multi-platform compilation capabilities. The tool simplifies the mapping process between model description and ONNX model inputs and outputs via JSON files, ensuring accessibility and flexibility. This paper presents the tool architecture and methodology and showcases its applicability through illustrative examples, including a reduced-order model powered by a recurrent neural network.