This repository contains the implementation of a Multi-Agent Reinforcement Learning (MARL) framework with Graph Neural Networks (GNNs) for inventory control in supply chains, as presented in our paper published in Computers & Chemical Engineering.
Modern supply chains face increasing challenges from disruptive shocks, complex dynamics, uncertainties, and limited collaboration. Traditional inventory control methods with static parameters struggle to adapt to changing environments. This work proposes a MARL framework with GNNs for state representation that addresses these limitations by:
- Redefining the action space by parameterizing heuristic inventory control policies into adaptive, continuous forms
- Leveraging graph structure of supply chains to enable agents to learn system topology
- Implementing centralized learning, decentralized execution for collaborative learning while overcoming information-sharing constraints
- Incorporating regularization techniques to enhance performance in complex, decentralized environments
Figure: Graph-enhanced Multi-Agent PPO framework for supply chain inventory control
Niki Kotecha, Antonio del Rio Chanona
Published in: Computers & Chemical Engineering, Volume 199, August 2025
- Multi-Agent PPO (MAPPO) with centralized critic architecture
- Graph Convolutional Networks for supply chain topology learning
- Parameterized action spaces for continuous policy adaptation
- Multiple supply chain configurations (6, 12, 18, 24 agents)
- Comprehensive evaluation framework with training visualizations
- Noise regularization for improved robustness
βββ env3rundiv.py # Multi-agent supply chain environment
βββ model.py # GNN model implementations
βββ ccmodel.py # Centralized critic model
βββ runMARL.py # Main MARL training script
βββ trainingfig.py # Training visualization and analysis
βββ execute.py # Execution and evaluation scripts
βββ data/ # Supply chain configuration files
βββ figures/ # Generated plots and visualizations
βββ ray_results/ # Training results and checkpoints
βββ Checkpoint/ # Model checkpoints
-
Clone the repository:
git clone https://github.com/yourusername/marl-gnn-supply-chain.git cd marl-gnn-supply-chain -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
- Ray[rllib] >= 2.0
- PyTorch >= 1.8
- PyTorch Geometric
- Gymnasium
- NumPy
- Matplotlib
- Pandas
- SciPy
Run the main training script for different supply chain configurations:
# Train on 6-agent supply chain
python runMARL.py --config data/g1_6.json
# Train with noise regularization
python runMARL.py --config data/g1_18.json --noise TrueEvaluate trained models:
python execute.py --checkpoint Checkpoint/your_model --config data/g1_18.jsonGenerate training curves and performance analysis:
python trainingfig.py- IPPO: Independent PPO agents
- MAPPO: Multi-Agent PPO with centralized critic
- G-MAPPO: Graph-enhanced MAPPO
- P-GCN-MAPPO: Parameterized Graph Convolutional Network MAPPO
- Reg-P-GCN-MAPPO: Regularized P-GCN-MAPPO with noise injection
The framework is evaluated on four supply chain configurations:
- 6 agents: Simple linear supply chain
- 12 agents: Medium complexity network
- 18 agents: Complex multi-echelon structure
- 24 agents: Large-scale supply network
Each configuration tests the scalability and performance of the proposed approach under different network topologies and agent densities.
Our approach demonstrates:
- Superior performance compared to traditional MARL methods
- Improved scalability with increasing number of agents
- Enhanced collaboration through graph-based state representation
- Robustness to supply chain disruptions and uncertainties
Training performance comparison across different supply chain configurations
Computational efficiency analysis across different numbers of agents
If you use this code in your research, please cite our paper:
@article{kotecha2025leveraging,
title={Leveraging graph neural networks and multi-agent reinforcement learning for inventory control in supply chains},
author={Kotecha, Niki and del Rio Chanona, Antonio},
journal={Computers \& Chemical Engineering},
volume={199},
pages={109111},
year={2025},
publisher={Elsevier},
doi={10.1016/j.compchemeng.2025.109111}
}- Niki Kotecha - Imperial College London
- Antonio del Rio Chanona - Imperial College London
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
For questions about the research or implementation, please contact:
- Niki Kotecha: nk3118@ic.ac.uk
- Imperial College London for computational resources
- The Ray team for the excellent RLlib framework
- PyTorch Geometric community for GNN implementations
Keywords: Inventory Control, Supply Chain Optimization, Multi-Agent Reinforcement Learning, Graph Neural Networks, Decentralized Decision Making