# Hierarchical Reinforcement Learning for Crude Oil Supply Chain Scheduling

^{1}

^{2}

^{3}

^{*}

## Abstract

**:**

## 1. Introduction

- A Novel Hierarchical Optimization Framework: The framework uses an upper level to control the dynamic impacts of uncertain environmental variables; thus, the large-scale long-period scheduling optimization problem is broken down into small-scale single-step problems. To the best of our knowledge, this framework is first proposed and used in the supply chain scheduling problem.
- A Well-designed HRL Algorithm: We formulate the Markov Decision Process (MDP) for the supply chain scheduling problem. We use RL as the upper-level agents that determine the desired inventory volume at the end of the time step. The lower-level agent conducts a quick local search and satisfies the inventory limits while sending penalty feedback to the upper-level agent. The strengths of both methods are subtly integrated.
- Deployment: We deploy our algorithm to a large-scale long-period crude oil scheduling optimization problem of CNPC. We develop a simulator with real-world data and demonstrate that our approach can significantly improve stable inventory volumes and low transportation costs.

## 2. Related Work

#### 2.1. Crude Oil Supply Chain Scheduling Issues

#### 2.2. Complex Resource Allocation Approaches

#### 2.3. HRL

## 3. Problem Formulation

- The petroleum material set $\mathit{K}$ contains crude c, diesel d, and gasoline g. Let $k\in \mathit{K}$ represent one of the petroleum materials.
- Define the facility set $\mathit{V}=\{{V}_{o},{V}_{p},{V}_{f},{V}_{r}\}$, where ${V}_{o}$ is the set of oil fields, ${V}_{p}$ is the set of import ports, ${V}_{f}$ is the set of transfer stations, and ${V}_{r}$ is the set of refineries. For convenience, let ${V}_{i}\in \mathit{V}$ be the set of facilities of type i, where $i=o,p,f,r$, and ${v}_{i}\in {V}_{i}$ is a single facility of type i. In each facility, ${v}_{i}$, the inventory volume of petroleum kind k at time step t is denoted as ${m}_{i}^{k,t}$, and the demand volume of the petroleum kind k at time step t is ${n}_{i}^{k,t}$. For each refinery, ${v}_{r}$, ${q}_{r}^{t}$ represents the processing volume of crude oil at time step t, and a fixed processing scheme $p{r}_{r}$ determines that the ${\rho}_{r}^{d}$ unit of diesel and ${\rho}_{r}^{g}$ unit of gasoline can be produced from 1 unit of crude oil.
- Define the set of roads $\mathit{E}=\{{E}_{of},{E}_{or},{E}_{pf},{E}_{pr},{E}_{fr}\}$, where ${E}_{ij}\in \mathit{E}$ is the set of transport roads from facility ${v}_{i}$ to facility ${v}_{j}$ (i.e., $j=o,p,f,r$ is the facility type). Each ${e}_{ij}\in {E}_{ij}$ represents one road from ${v}_{i}$ to ${v}_{j}$, and the set of roads starting from facility ${v}_{i}$ is denoted as ${E}_{i}$. In addition, the transportation volume on road ${e}_{ij}$ at time step t is denoted as ${w}_{{e}_{ij}}^{t}$, and if there is no road from ${v}_{i}$ to ${v}_{j}$, ${w}_{{e}_{ij}}^{t}=0$.
- The constraints of the crude oil supply chain scheduling problem are defined in $\mathit{C}$, which contains seven sets: $LV=\{{l}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ and $UV=\{{u}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ are the lower and upper safety inventory limits of facility ${v}_{i}$ for petroleum kind k, $PV=\{p{h}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ is the upper physical inventory limit of facility ${v}_{i}$ for the petroleum kind k, $LQ=\{{l}_{{q}_{r}}^{t}|{v}_{r}\in {V}_{r},t=1,\dots ,T\}$ and $UQ=\{{u}_{{q}_{r}}^{t}|{v}_{r}\in {V}_{r},t=1,\dots ,T\}$ are the lower and upper bound of the processing volume in refinery ${v}_{r}$ at time step t, $TQ=\{{U}_{{q}_{r}}|{v}_{r}\in {V}_{r}\}$ is the upper bound of total processing volume in refinery ${v}_{r}$ for the whole T steps, and $UE=\{{u}_{{e}_{ij}}|{e}_{ij}\in \mathit{E}\}$ is the upper limit of the transportation volume on road ${e}_{ij}$.
- The constant coefficients related to the system cost are denoted as $\mathit{L}=\{\mathbf{\zeta},\mathbf{\lambda}\}$, where each ${\zeta}_{i}\in \mathbf{\zeta}$ is the unit cost of facility ${v}_{i}$ when its inventory volume ${m}_{i}^{k,t}$ exceeds upper limit ${u}_{i}^{k}$ or lower safe limits ${l}_{i}^{k}$, and each ${\lambda}_{{e}_{ij}}\in \mathbf{\lambda}$ is the unit cost of the road ${e}_{ij}$ as ${w}_{{e}_{ij}^{t}}\ne 0$.

## 4. Hierarchical RL Scheduling Scheme

#### 4.1. Overall Architecture

Algorithm 1 Hierarchical RL Scheduling Algorithm |

1: Initialize model parameters $\theta $ |

2: while Not converged do |

3: Observe initial state ${s}_{0}$ |

4: Initialize ${\tilde{U}}_{{q}_{r}}^{0}={U}_{{q}_{r}}$ |

5: for t = 1 to T do |

6: Select action ${a}_{t}\sim {Q}_{\theta}({s}_{t},{a}_{t})$ by Section 4.2.2 |

7: Solve the LP problem Equation (18a), where ${m}_{i}^{k}\leftarrow {a}_{t}$, ${U}_{{q}_{r}}\leftarrow {\tilde{U}}_{{q}_{r}}^{t}$, get ${w}_{{e}_{fr}}^{t}$ and ${q}_{r}^{t}$ |

8: Transit from ${s}_{t}$ to ${s}_{t+1}$ by Equations (11)–(16) |

9: Set ${\tilde{U}}_{{q}_{t}}^{t}\leftarrow {\tilde{U}}_{{q}_{r}}^{t-1}-{q}_{r}^{t}$ |

10: end for |

11: end while |

#### 4.2. Upper-Level Agent

#### 4.2.1. Markov Decision Process (MDP)

#### 4.2.2. Agent Model

#### 4.3. Lower-Level Agent

#### 4.3.1. LP Formulation

#### 4.3.2. Barrier Function

#### 4.4. The Variant on Discrete Action Space

- To meet the upper safety limit, which means ${\tilde{m}}_{r}^{d,t}={u}_{r}^{d}$ and ${\tilde{m}}_{r}^{g,t}={u}_{r}^{g}$;
- To meet the lower safety limit, which means ${\tilde{m}}_{r}^{d,t}={l}_{r}^{d}$ and ${\tilde{m}}_{r}^{g,t}={l}_{r}^{g}$;
- To maintain the current inventory, which means ${\tilde{m}}_{r}^{d,t}={m}_{r}^{d,t-1}$ and ${\tilde{m}}_{r}^{g,t}={m}_{r}^{g,t-1}$.

- To meet periodic demand, which means ${\tilde{m}}_{r}^{c,t}=N\xb7{\tilde{n}}_{r}^{c,t}$, where N is a length of time step period;
- To meet the upper safety limit, which means ${\tilde{m}}_{r}^{c,t}={u}_{r}^{c}$.

- To increase by $10\%$, which means ${\tilde{m}}_{f}^{c,t}=1.1\times {m}_{f}^{c,t-1}$;
- To decrease by $10\%$, which means ${\tilde{m}}_{f}^{c,t}=0.9\times {m}_{f}^{c,t-1}$.

- To solve ${q}_{r}^{t}$ and ${w}_{{e}_{fr}}^{t}$ simultaneously, which means $o{r}^{t}=0$;
- To solve ${q}_{r}^{t}$ and ${w}_{{e}_{fr}}^{t}$ sequentially, which means $o{r}^{t}=1$.

## 5. Simulator

#### 5.1. Data for Simulator

#### 5.2. Simulator Design

## 6. Experiment

#### 6.1. Experiment Settings

#### 6.2. The Comparison against Baselines

#### 6.3. The Influence of Parameter N

#### 6.4. Discussion

## 7. Conclusions and Future Works

- Problem Representation via Graph Neural NetworksIn future research, more research is needed to apply and test Graph Neural Networks (GNNs). GNNs can inherently work with graph-structured data. They utilize the graph structure and apply neural networks to learn from the graph data. Employing GNNs to represent nodes and edges interconnecting nodes in large-scale scheduling problems enables capturing node dependencies and relationships.
- Multi-agent Reinforcement LearningMulti-agent reinforcement learning algorithms can accomplish objectives through cooperation between agents. Concretely, each facility can be modeled as an individual agent. Each agent selects the optimal action so that the overall action is optimal. The flexibility of the framework can be significantly improved with the insurance of optimality. It will be important that future research explore how multi-agent algorithms can be designed, which nodes should be modeled as agents, and how credit can be assigned among these agents.
- Generalized Simulator and Operator DesignWhile our simulator is based on real-world data and can handle large-scale scheduling problems, if there are new scheduling or other graph structure optimization problems, the simulator needs to be redesigned or reconstructed in many places. This is an issue for future research to explore. A more generalized simulation environment and operators have great potential for HRL to solve optimization problems.

## Author Contributions

## Funding

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## References

- Yu, L.; Chen, M.; Xu, Q. Simultaneous scheduling of multi-product pipeline distribution and depot inventory management for petroleum refineries. Chem. Eng. Sci
**2020**, 220, 115618. [Google Scholar] [CrossRef] - Ma, A.; Ji, J.; Khayatnezhad, M. Risk-constrained non-probabilistic scheduling of coordinated power-to-gas conversion facility and natural gas storage in power and gas based energy systems. Sustain. Energy Grids Netw.
**2021**, 26, 100478. [Google Scholar] [CrossRef] - Sedghi, M.; Kauppila, O.; Bergquist, B.; Vanhatalo, E.; Kulahci, M. A taxonomy of railway track maintenance planning and scheduling: A review and research trends. Reliab. Eng. Syst. Saf.
**2021**, 215, 107827. [Google Scholar] [CrossRef] - Kazemi, Y.; Szmerekovsky, J. Modeling downstream petroleum supply chain: The importance of multi-mode transportation to strategic planning. Transport. Res. Part E-Logist.
**2015**, 83, 111–125. [Google Scholar] [CrossRef] - Beiranvand, H.; Ghazanfari, M.; Sahebi, H.; Pishvaee, M.S. A robust crude oil supply chain design under uncertain demand and market price: A case study. Oil Gas Sci. Technol.
**2018**, 73, 66. [Google Scholar] [CrossRef] [Green Version] - Yang, X.; Wang, Z.; Zhang, H.; Ma, N.; Yang, N.; Liu, H.; Zhang, H.; Yang, L. A Review: Machine Learning for Combinatorial Optimization Problems in Energy Areas. Algorithms
**2022**, 15, 205. [Google Scholar] [CrossRef] - Patriksson, M. A survey on the continuous nonlinear resource allocation problem. Eur. J. Oper. Res.
**2008**, 185, 1–46. [Google Scholar] [CrossRef] [Green Version] - Islam, S.R.; Zeng, M.; Dobre, O.A.; Kwak, K.S. Resource allocation for downlink NOMA systems: Key techniques and open issues. IEEE Wirel Commun
**2018**, 25, 40–47. [Google Scholar] [CrossRef] [Green Version] - Mirdashtvan, M.; Najafinejad, A.; Malekian, A.; Sa’doddin, A. Sustainable water supply and demand management in semi-arid regions: Optimizing water resources allocation based on RCPs scenarios. Water Resour. Manag.
**2021**, 35, 5307–5324. [Google Scholar] [CrossRef] - Merkert, L.; Harjunkoski, I.; Isaksson, A.; Säynevirta, S.; Saarela, A.; Sand, G. Scheduling and energy–Industrial challenges and opportunities. Comput. Chem. Eng.
**2015**, 72, 183–198. [Google Scholar] [CrossRef] - Neiro, S.M.; Pinto, J.M. A general modeling framework for the operational planning of petroleum supply chains. Comput. Chem. Eng.
**2004**, 28, 871–896. [Google Scholar] [CrossRef] [Green Version] - Gür, T.M. Review of electrical energy storage technologies, materials and systems: Challenges and prospects for large-scale grid storage. Energy Environ. Sci.
**2018**, 11, 2696–2767. [Google Scholar] [CrossRef] - Jain, P.; Kar, P. Non-convex optimization for machine learning. Found. Trends Mach. Learn.
**2017**, 10, 142–363. [Google Scholar] [CrossRef] [Green Version] - Botvinick, M.M. Hierarchical reinforcement learning and decision making. Curr. Opin. Neurobiol.
**2012**, 22, 956–962. [Google Scholar] [CrossRef] - Shapiro, J.F. Challenges of strategic supply chain planning and modeling. Comput. Chem. Eng.
**2004**, 28, 855–861. [Google Scholar] [CrossRef] - Tamannaei, M.; Rasti-Barzoki, M. Mathematical programming and solution approaches for minimizing tardiness and transportation costs in the supply chain scheduling problem. Comput. Ind. Eng.
**2019**, 127, 643–656. [Google Scholar] [CrossRef] - Farmand, N.; Zarei, H.; Rasti-Barzoki, M. Two meta-heuristic algorithms for optimizing a multi-objective supply chain scheduling problem in an identical parallel machines environment. Int. J. Ind. Eng. Comput.
**2021**, 12, 249–272. [Google Scholar] [CrossRef] - Jamrus, T.; Wang, H.K.; Chien, C.F. Dynamic coordinated scheduling for supply chain under uncertain production time to empower smart production for Industry 3.5. Comput. Ind. Eng.
**2020**, 142, 106375. [Google Scholar] [CrossRef] - RezaHoseini, A.; Noori, S.; Ghannadpour, S.F. Integrated scheduling of suppliers and multi-project activities for green construction supply chains under uncertainty. Autom. Constr.
**2021**, 122, 103485. [Google Scholar] [CrossRef] - Du, M.; Sai, A.; Kong, N. A data-driven optimization approach for multi-period resource allocation in cholera outbreak control. Eur. J. Oper. Res.
**2021**, 291, 1106–1116. [Google Scholar] [CrossRef] - Aminzadegan, S.; Tamannaei, M.; Rasti-Barzoki, M. Multi-agent supply chain scheduling problem by considering resource allocation and transportation. Comput. Ind. Eng.
**2019**, 137, 106003. [Google Scholar] [CrossRef] - Jarumaneeroj, P.; Dusadeerungsikul, P.O.; Chotivanich, T.; Akkerman, R. A multi-objective modeling approach to harvesting resource scheduling: Decision support for a more sustainable Thai sugar industry. Comput. Ind. Eng.
**2021**, 162, 107694. [Google Scholar] [CrossRef] - Deng, S.; Xiang, Z.; Zhao, P.; Taheri, J.; Gao, H.; Yin, J.; Zomaya, A.Y. Dynamical resource allocation in edge for trustable Internet-of-Things systems: A reinforcement learning method. IEEE Trans. Ind. Inf.
**2020**, 16, 6103–6113. [Google Scholar] [CrossRef] - Peng, H.; Shen, X. Multi-agent reinforcement learning based resource management in MEC-and UAV-assisted vehicular networks. IEEE J. Sel. Areas Commun.
**2020**, 39, 131–141. [Google Scholar] [CrossRef] - Chen, M.; Wang, T.; Ota, K.; Dong, M.; Zhao, M.; Liu, A. Intelligent resource allocation management for vehicles network: An A3C learning approach. Comput. Commun.
**2020**, 151, 485–494. [Google Scholar] [CrossRef] - Morariu, C.; Morariu, O.; Răileanu, S.; Borangiu, T. Machine learning for predictive scheduling and resource allocation in large scale manufacturing systems. Comput. Ind.
**2020**, 120, 103244. [Google Scholar] [CrossRef] - Nachum, O.; Gu, S.S.; Lee, H.; Levine, S. Data-efficient hierarchical reinforcement learning. Adv. Neural Inf. Process. Syst.
**2018**, 31, 3303–3313. [Google Scholar] - Ma, Q.; Ge, S.; He, D.; Thaker, D.; Drori, I. Combinatorial optimization by graph pointer networks and hierarchical reinforcement learning. arXiv
**2019**, arXiv:1911.04936. [Google Scholar] - Duan, J.; Eben Li, S.; Guan, Y.; Sun, Q.; Cheng, B. Hierarchical reinforcement learning for self-driving decision-making without reliance on labelled driving data. IET Intell. Transp. Syst.
**2020**, 14, 297–305. [Google Scholar] [CrossRef] [Green Version] - Bacon, P.L.; Harb, J.; Precup, D. The option-critic architecture. In Proceedings of the AAAI Conference on Artificial Intelligence, San Francisco, CA, USA, 4–9 February 2017; Volume 31. [Google Scholar]
- Ren, T.; Niu, J.; Dai, B.; Liu, X.; Hu, Z.; Xu, M.; Guizani, M. Enabling Efficient Scheduling in Large-Scale UAV-Assisted Mobile-Edge Computing via Hierarchical Reinforcement Learning. IEEE Internet Things J.
**2021**, 9, 7095–7109. [Google Scholar] [CrossRef] - He, Y.; Wang, Y.; Lin, Q.; Li, J. Meta-Hierarchical Reinforcement Learning (MHRL)-based Dynamic Resource Allocation for Dynamic Vehicular Networks. IEEE Trans. Veh. Technol.
**2022**, 71, 3495–3506. [Google Scholar] [CrossRef] - Qi, C.; Zhu, Y.; Song, C.; Yan, G.; Xiao, F.; Wang, D.; Zhang, X.; Cao, J.; Song, S. Hierarchical reinforcement learning based energy management strategy for hybrid electric vehicle. Energy
**2022**, 238, 121703. [Google Scholar] [CrossRef] - Gurobi Optimization, LLC. Gurobi Optimizer Reference Manual. Available online: http://www.gurobi.com (accessed on 14 June 2023).
- Kingma, D.P.; Ba, J. Adam: A method for stochastic optimization. arXiv
**2014**, arXiv:1412.6980. [Google Scholar]

**Figure 3.**Barrier function: (

**Left**) ${l}_{i}^{k}<{\tilde{m}}_{i}^{k}\le {u}_{i}^{k}$. (

**Middle**) $0<{\tilde{m}}_{i}^{k}\le {l}_{i}^{k}$. (

**Right**) ${u}_{i}^{k}<{\tilde{m}}_{i}^{k}\le p{h}_{i}^{k}$.

Symbols | Definitions |
---|---|

$M=(T,\mathit{K},\mathit{V},\mathit{E},\mathit{C},\mathit{L})$ | A crude oil supply chain scheduling problem |

$t,T$ | A time step and the number of total time steps |

$k,\mathit{K}$ | A material kind and the set of material kinds |

$c,d,g$ | The material kind of crude, diesel, and gasoline |

$v,V,\mathit{V}$ | A facility, facility set of a set, and facility set of all types |

$e,E,\mathit{E}$ | A road, road set related to a facility, and the set of all roads |

$o,p,f,r$ | Oilfield, import port, transfer, and refinery |

$\mathit{C}$ | The set of constraints |

$LV=\{{l}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ | The lower safety inventory limits |

$UV=\{{u}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ | The upper safety inventory limits |

$PV=\{p{h}_{i}^{k}|{v}_{i}\in \mathit{V},k\in \mathit{K}\}$ | The physical inventory limits |

$LQ=\{{l}_{{q}_{r}}^{t}|{v}_{r}\in {V}_{r},t=1,\dots ,T\}$ | The lower bound of processing volumes |

$UQ=\{{u}_{{q}_{r}}^{t}|{v}_{r}\in {V}_{r},t=1,\dots ,T\}$ | The upper bound of processing volumes |

$TQ=\{{U}_{{q}_{r}}|{v}_{r}\in {V}_{r}\}$ | The upper bound of total processing volumes |

$UE=\{{u}_{{e}_{ij}}|{e}_{ij}\in \mathit{E}\}$ | The upper limits of transportation volumes |

$\mathit{L}$ | The set of constant coefficients |

$\mathbf{\zeta}=\{{\zeta}_{i}|{v}_{i}\in \mathit{V}\}$ | The unit cost of oil in facilities |

$\mathbf{\lambda}=\{{\lambda}_{{e}_{ij}}\in \mathit{E}\}$ | The unit cost of oil on roads |

$m,n$ | The inventory volume and the demand volume in facilities |

$pr,\rho $ | The processing plan and the proportions in processing plan |

q | Decision of the processing volume plan in refineries |

w | Decision of the transportation volume on roads |

$\mathcal{P},\mathcal{H},\mathcal{R}$ | The alert penalty, the transportation cost, and the total cost |

$s,a,R$ | The state, action, and reward of a Markov decision process (MDP) |

Q | The Q-function in Q-learning algorithm |

$or$ | The solving order |

J | The objective function |

x | The decision variables |

$\alpha $, $\beta $, $\u03f5$, $\mu $ and N | Hyperparameters |

Note | Dim | Notations |
---|---|---|

${w}_{{e}_{of}^{t}}$ | $\left|{E}_{of}\right|$ | Crude supply volume from ${v}_{o}$ to ${v}_{f}$ |

${w}_{{e}_{or}^{t}}$ | $\left|{E}_{or}\right|$ | Crude supply volume from ${v}_{o}$ to ${v}_{r}$ |

${w}_{{e}_{pf}^{t}}$ | $\left|{E}_{pf}\right|$ | Crude purchase volume from ${v}_{p}$ to ${v}_{f}$ |

${w}_{{e}_{pr}^{t}}$ | $\left|{E}_{pr}\right|$ | Crude purchase volume from ${v}_{p}$ to ${v}_{r}$ |

${m}_{f}^{c,t}$ | $\left|{V}_{f}\right|$ | Crude inventory volume of ${v}_{f}$ |

${m}_{r}^{c,t}$ | $\left|{V}_{r}\right|$ | Crude inventory volume of ${v}_{r}$ |

${m}_{r}^{d,t}$ | $\left|{V}_{r}\right|$ | Diesel inventory volume of ${v}_{r}$ |

${m}_{r}^{g,t}$ | $\left|{V}_{r}\right|$ | Gasoline inventory volume of ${v}_{r}$ |

${\tilde{U}}_{{q}_{r}}^{t}$ | $\left|{V}_{r}\right|$ | Remained processing volume of ${v}_{r}$ |

Diesel and Gasoline in Refineries | Crude in Refineries | Crude in Transfer Stations | Solving Order |
---|---|---|---|

Upper safety limit | Periodic demand | Increase by $10\%$ | Simultaneously |

Lower safety limit | Upper safety limit | Decrease by $10\%$ | Sequentially |

Current inventory | - | - | - |

Algorithm | Solution Time (in Seconds) |
---|---|

OR | 0.58 |

PPO | 0.71 |

SAC | 0.68 |

HRL | 1.17 |

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |

© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Ma, N.; Wang, Z.; Ba, Z.; Li, X.; Yang, N.; Yang, X.; Zhang, H.
Hierarchical Reinforcement Learning for Crude Oil Supply Chain Scheduling. *Algorithms* **2023**, *16*, 354.
https://doi.org/10.3390/a16070354

**AMA Style**

Ma N, Wang Z, Ba Z, Li X, Yang N, Yang X, Zhang H.
Hierarchical Reinforcement Learning for Crude Oil Supply Chain Scheduling. *Algorithms*. 2023; 16(7):354.
https://doi.org/10.3390/a16070354

**Chicago/Turabian Style**

Ma, Nan, Ziyi Wang, Zeyu Ba, Xinran Li, Ning Yang, Xinyi Yang, and Haifeng Zhang.
2023. "Hierarchical Reinforcement Learning for Crude Oil Supply Chain Scheduling" *Algorithms* 16, no. 7: 354.
https://doi.org/10.3390/a16070354