NoLOAD, Open Software for Optimal Design and Operation using Automatic Differentiation
Résumé
Solving non-linear optimization problems such as physical component sizing or optimal control of a system is still a challenge. Automatic Differentiation (AD) is a way to provide useful information regarding model local sensitivity and helps algorithm finding minima. AD is not new but has recently found great interest in machine learning community. Methodology : In this paper, we are introducing NoLOAD, a Python open source software that helps designers to associate non-linear models to optimization algorithms with AD. Different AD packages are compared (Autograd / Jax) as well as hardware architectures (CPU / GPU). Findings : Jax package is more performative than Autograd package
for complex models, although it uses more memory to solve optimization problems. Originality : NoLOAD is easy to use for designers because there is no need to change the simulation model which is totally independent of the specifications. It is also a lightweight library than can be used for embedded hardware optimization