graphenv: A Python Library for Reinforcement Learning on Graph Search Spaces: Article No. 4621

David Biagioni, Charles Tripp, Struan Clark, Dmitry Duplyakin, Jeffrey Law, Peter St. John

Research output: Contribution to journalArticlepeer-review


Many important and challenging problems in combinatorial optimization (CO) can be expressed as graph search problems, in which graph vertices represent full or partial solutions and edges represent decisions that connect them. Graph structure not only introduces strong relational inductive biases for learning (Battaglia et al., 2018) - in this context, by providing a way to explicitly model the value of transitioning (along edges) between one search state (vertex) and the next - but lends itself to problems both with and without clearly defined algebraic structure. For example, classic CO problems on graphs such as the Traveling Salesman Problem (TSP) can be expressed as either pure graph search or integer programs. Other problems, however, such as molecular optimization, do no have concise algebraic formulations and yet are readily implemented as a graph search (V. et al., 2022; Zhou et al., 2019). Such "model-free" problems constitute a large fraction of modern reinforcement learning (RL) research owing to the fact that it is often much easier to write a forward simulation that expresses all of the state transitions and rewards, than to write down the precise mathematical expression of the full optimization problem. In the case of molecular optimization, for example, one can use domain knowledge alongside existing software libraries to model the effect of adding a single bond or atom to an existing but incomplete molecule, and let the RL algorithm build a model of how good a given decision is by "experiencing" the simulated environment many times through. In contrast, a model-based mathematical formulation that fully expresses all the chemical and physical constraints is intractable. In recent years, RL has emerged as an effective paradigm for optimizing searches over graphs and led to state-of-the-art heuristics for games like Go and chess, as well as for classical CO problems such as the TSP. This combination of graph search and RL, while powerful, requires non-trivial software to execute, especially when combining advanced state representations such as Graph Neural Networks (GNN) with scalable RL algorithms.
Original languageAmerican English
Number of pages3
JournalJournal of Open Source Software
Issue number77
StatePublished - 2022

NREL Publication Number

  • NREL/JA-2700-83459


  • machine learning
  • reinforcement learning
  • software engineering


Dive into the research topics of 'graphenv: A Python Library for Reinforcement Learning on Graph Search Spaces: Article No. 4621'. Together they form a unique fingerprint.

Cite this