pnnl/neuromancer

Pytorch-based framework for solving parametric constrained optimization problems, physics-informed system identification, and parametric model predictive control.

What it solves

NeuroMANCER provides a framework for solving parametric constrained optimization problems and performing physics-informed system identification. It bridges the gap between machine learning and scientific computing, allowing users to embed prior physical knowledge and domain constraints directly into differentiable models to solve tasks like "Learning to Optimize" (L2O), "Learning to Model" (L2M), and "Learning to Control" (L2C).

How it works

Built on PyTorch, the library uses a symbolic programming interface that allows users to define variables, constraints, and objectives as mathematical expressions. These are then wrapped into a differentiable problem structure. It leverages various state-of-the-art architectures and methods, including:

  • Function Approximation: Kolmogorov-Arnold Networks (KANs) and Function Encoders.
  • Dynamical Systems: Neural Ordinary Differential Equations (NODEs), Neural State Space Models (NSSMs), and Sparse Identification of Nonlinear Dynamics (SINDy).
  • Control: Differentiable Predictive Control (DPC) for learning control policies for white-box, grey-box, and black-box systems.

Who it’s for

It is designed for researchers and engineers working in scientific computing, control theory, and physics-informed machine learning, particularly those dealing with complex dynamical systems (e.g., building energy systems, fluid dynamics, or thermal systems).

Highlights

  • Symbolic Interface: Simplifies the embedding of physics equations and domain constraints into learning paradigms.
  • Differentiable Programming: Enables end-to-end training of models that include optimization layers and differential equations.
  • Broad Application Range: Includes tools for parametric programming, system identification, and predictive control.
  • LLM Integration: Provides scripts to prepare library content for RAG-based LLM assistants to help users write code.

Related

  • Project
  • Project
  • Project
  • Project
  • Project