Scheduling of Resource Allocation Systems with Timed Petri Nets: A Survey

Bo Huang, Mengchu Zhou, Xiaoyu Sean Lu, Abdullah Abusorrah

Research output: Contribution to journalArticlepeer-review

17 Scopus citations


Resource allocation systems (RASs) belong to a kind of discrete event system commonly seen in the industry. In such systems, available resources are allocated to concurrently running processes to optimize some performance criteria. Search strategies in the reachability graph (RG) of a timed Petri net (PN) attracted much attention in the past decades to cope with RAS scheduling problems (RSPs), since PNs are very suitable to model and analyze RASs and their RGs fully reflect systems' behavior. However, there has been no existing related survey and review paper till now. In this work, we present a tutorial and comprehensive literature survey of RG-based RSP methods. Many state-of-the-art RG-based RAS scheduling strategies are reviewed and summarized. First, we present a framework of RSPs and classify RSPs and their PNs in terms of resource usage and net structures. The differences and relations among the PNs are also given. Then, we introduce timed PN construction methods for RSPs and scheduling objectives and search strategies for RG-based RSPs. Next, we summarize different heuristic functions adopted in a frequently used A∗ search to solve RG-based RSPs. Finally, we discuss some important future research directions and open issues.

Original languageEnglish (US)
Article number230
JournalACM Computing Surveys
Issue number11
StatePublished - Feb 9 2023

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science


  • Additional Key Words and PhrasesArtificial intelligence
  • Petri net
  • heuristic search
  • machine learning
  • reachability graph
  • resource allocation system
  • scheduling


Dive into the research topics of 'Scheduling of Resource Allocation Systems with Timed Petri Nets: A Survey'. Together they form a unique fingerprint.

Cite this