Email: jhjalving [at] gmail [dot] com
I am an enthusiast for quantifying and solving problems within the paradigm of complex engineering systems. With a background in chemical engineering and a focus on developing scalable computational software, I enjoy tackling problems in engineering and decision-making using methods in physical simulation, scientific machine learning, and numerical optimization. Throughout my career in research startups, engineering corporations, academia, and national laboratories, I have developed expertise in chemical processes, power systems, computer-aided-engineering, experimental design, and industrial control.
When I am not working on my favorite Julia language projects I can often be found hiking the hills and enjoying the city of San Diego with my friend Cash the dog.
Creating, solving, analyzing, and deploying optimization applications are core activities in process systems engineering. Myriad industries are concerned with formulating and solving large-scale optimization problems that involve complex physical topologies such as operating power networks, managing supply chains, and designing control systems. Some the key challenges that pertain to large scale optimization problems comes from the difficulty in modeling complex interactions and hierarchies, and exploiting tractable solution strategies that can handle large-scale (potentially nonconvex) formulations.
Optigraphs are a novel paradigm for formulating optimization models that facilitates complex model management, allows systematic problem decomposition, and enables developing customized optimization solutions. With optigraphs, it is possible to develop separate modular optimization models (i.e. graphs) and couple them by means of linking graph edges. Successful case studies have used optigraphs to model natural gas infrastructure, power infrastructure, supply chains, and even optimize design problems that couple machine learning surrogates such graph neural networks and neural ODEs.
Modeling and simulating cyber-physical systems is becoming increasingly important, but capturing inter-dependencies between cyber and physical systems in a coherent manner is technically challenging.
Physical systems (such as chemical processes) can be driven by control systems, which in turn are cyber systems comprised of computing devices (e.g. sensors, controllers, actuators) that execute tasks (e.g., data processing, control action computation) and that exchange information (e.g., measurements and control actions) through a communication network.
This work explored novel abstractions that facilitate the modeling and simulation of cyber-physical systems. In doing so, it show how abstractions can facilitate the implementation of optimization and control algorithms and their simulation in virtual environments that involve distributed, centralized, and hierarchical computing architectures.
Integrating machine learning models into optimization environments permits optimal decision-making using data-driven and hybrid models. As complex as ML models are, they may be significantly easier than the first-principles models and efficient ML model formulations are tractable in optimization settings.Â
This project developed optimization representations of ML surrogates and produced the open-source Python package OMLT. OMLT facilitates the formulation of feed-forward neural networks, gradient-boosted-trees, graph neural networks, and linear-decision-trees within the Pyomo optimization language. OMLT also provides interfaces to various machine learning packages the ONNX runtime interface.