Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 2.88 KB

README.md

File metadata and controls

89 lines (62 loc) · 2.88 KB

Inverse Boundary Value and Optimal Control Problems on Graphs: A Neural and Numerical Synthesis

arXiv

A general setup for deterministic system identification problems on graphs with Dirichlet and Neumann boundary conditions is introduced. When control nodes are available along the boundary, we apply a discretize-then-optimize method to estimate an optimal control. A key piece in the present architecture is our boundary injected message passing neural network. This will produce more accurate predictions that are considerably more stable in proximity of the boundary. Also, a regularization technique based on graphical distance is introduced that helps with stabilizing the predictions at nodes far from the boundary.

The main contribution of this project is a Boundary Injected Message Passing Layer for a structural approach to enforce boundary values visualied as follows:

See BoundaryInjectedMessagePassingLayer in both core/bignode_no_ctrl.py and core/bignode_with_ctrl.py for details.

Setup

System requirements:

  • Python <= 3.12
  • Pip package manager or alternative

Simply run:

./setup.sh

Installation steps:

git clone https://github.com/mehdi-gital/bignode.git
cd bignode
python -m venv .venv
source .venv/bin/activate

Usage

For system identification, dataset selection, hyperparameter optimization, go to scripts/graph_sysid.py. Once set, run it using:

python scripts/graph_sysid.py

For optimal control go to scripts/graph_ocp.py, and run:

python scripts/graph_ocp.py

Demo

Below are some step by step walkthroughs with a mix of concept and code:

Paper

@misc{garrousian2024inverseboundaryvalueoptimal,
      title={Inverse Boundary Value and Optimal Control Problems on Graphs: A Neural and Numerical Synthesis}, 
      author={Mehdi Garrousian and Amirhossein Nouranizadeh},
      year={2024},
      eprint={2206.02911},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2206.02911}, 
}

Contact

Feel free to reach out with any questions/comment.