# Event-triggered Hybrid Energy-aware Scheduling in Manufacturing Systems

Zhean Shao  Wen Li  Ying Tan  University of Melbourne, Melbourne, VIC,
Australia
(e-mail<EMAIL_ADDRESS>
{wen.li3<EMAIL_ADDRESS>)

###### Abstract

Incorporating renewable energy sources (RESs) into manufacturing systems has
been an active research area in order to address many challenges originating
from the unpredictable nature of RESs such as photovoltaics. In the energy-
aware scheduling for manufacturing systems, the traditional off-line
scheduling techniques cannot always work well due to their lack of robustness
with respect to uncertainties coming from imprecise models or unexpected
situations. On the other hand, on-line scheduling or rescheduling, which can
improve the robustness by using the model and the latest measurements
simultaneously, suffer from a high computational cost. This work proposes a
hybrid scheduling framework, which combines the advantages of both off-line
scheduling and on-line scheduling, to provide a balanced solution between
robustness and computational cost. A novel concept of partially-dispatchable
state is introduced. It can be treated as a constant in scheduling when the
model works well. When the model does not work well, it is triggered as the
variable to tune to improve the performance. Such an event-triggered structure
can reduce the number of rescheduling and computational costs while achieving
a reasonable performance and enhancing system robustness. Moreover, the choice
of partially-dispatchable state also provides an extra design freedom in
achieving green manufacturing. Simulation examples on a manufacturing system,
of which consists a 100-kW solar photovoltaic system, a 10-machine flow shop
production line, a 50-kWh energy storage system, a 100-kW gas turbine, and the
grid for power supply, demonstrating the validity and applicability of this
event-triggered hybrid scheduling (ETHS) framework.

###### keywords:

Production planning and control, Energy-aware scheduling, Event-triggered
hybrid scheduling

, , and

##  1 Introduction

Due to the global energy crisis and 2050 net zero emission target set in Paris
Agreement, renewable energy sources (RESs) such as solar energy, and energy
storage systems (ESSs) such as batteries are gradually adopted by the
manufacturing industry. However, as pointed out in Impram et al. (2020), RESs
are hardly predictable, which makes the energy-aware scheduling in
manufacturing systems extremely challenging to guarantee the production
efficiency while improving the efficiency of RESs.

Many techniques have been developed to improve the efficiency and optimality
of energy-aware scheduling. These techniques can be classified into two major
categories: off-line optimisation (scheduling) and on-line scheduling.

Off-line scheduling provides an optimal planning for the production lines and
energy management for a given cost function based the predicted performance
using the various models of the production lines and RESs without using real-
time observed data. In off-line scheduling, the choice of the cost function is
one of the major considerations. For example, Dong and Ye (2022) highlighted
the need of reducing the emission in the cost function along with the
guarantee of the production throughput, leading to less utilisation rate of
RESs. Pamparana et al. (2017) utilised a cost function that can balance or
coordinate production schedule and energy management so that the battery
management and production schedule are optimised simultaneously. Similarly,
Karimi and Kwon (2021) simulated a 3-machine job shop and optimise with a
multi-objective function that the balance between makespan 111The makespan is
the time difference between the start and finish of a sequence of jobs or
tasks. and cost related to the energy management. Different types of RESs have
been also considered. For example, a diesel generator was considered in
Thornton et al. (2017). As the off-line scheduling only runs once for the
energy-aware scheduling, the computational cost is not an issue. Thus it can
handle a very complex system with many constraints and tuning parameters for a
long-term prediction. In the off-line scheduling, the prediction is based on
the model of the production line, and RESs, the modeling uncertainties coming
from the unpredictable nature of RESs or the unexpected machine failures of
the production line are inevitable. In general, off-line scheduling is not
robust with respect to these modeling uncertainties.

Compared with the model-based off-line scheduling, on-line scheduling also
utilises the real-time data measured from various sensors equipped in green
manufacturing systems. It consists of two different types of strategies. One
is on-line adjustment to minimize the mismatch between the off-line scheduling
and the measured current status in terms of the green manufacturing systems.
For example, Beier et al. (2017) compensated the mismatch between real-time
RES supply and production demand from the off-line scheduling while Pierri et
al. (2021) dealt with the mismatch in order to improve utilisation rate for
RES. The other one is on-line rescheduling, in which the current measurements
are used to predict the future performance based on the models of the
production lines and RESs. On-line rescheduling depends on the the cost
function and the re-scheduling rate. For example, in Zhai et al. (2017), a
rescheduling happened hourly. The production cost and tardiness were
considered in the selection of the cost function in Nayak et al. (2019). As
on-line measurements, which reflect the current status of the green
manufacturing system, are used in the prediction along with the models, the
on-line schedule is more robustness to modeling uncertainties compared with
the off-line scheduling. However, both on-line adjustment and on-line
rescheduling require an extra computational power to solve some scheduling
problem. In particular, for a complex system with many tuning parameters and
constraints and a longer prediction horizon, the computational cost becomes
expensive.

There are some attempts trying to combine off-line scheduling and on-line
scheduling to balance the robustness with the modeling uncertainties and the
computational cost. For example, Beier (2017) suggested using the off-line
scheduling as a reference for production while managing batteries in real-time
to deal with the variance to the prediction. In Biel et al. (2018), production
schedule was decided in off-line scheduling, while on-line adjustment focuses
on dealing with difference between wind power prediction and observation.
Similarly in Fazli Khalaf and Wang (2018), grid procurement was considered as
a tuning parameter in the on-line scheduling when using the reference coming
from the off-line scheduling reference. These attempts are highly heuristic
and case-dependent. A systematic way of combining off-line scheduling and on-
line scheduling is still lacking.

This paper focuses on providing a systematic design framework for energy-aware
scheduling in manufacturing systems based on the available imprecise models
(off-line scheduling) and measurement data (on-line schedule). A so-called
event-triggered hybrid scheduling (ETHS) is proposed based on a novel concept
of partially dispatchable state, which can be served as an extra design
freedom to balance the computational cost and the performance when the
unexpected situations happen. When the observed performance is satisfying, no
rescheduling is triggered to reduce the computational cost. When the observed
performance is not satisfying, this partially dispatchable state can be
triggered as a part of rescheduling to improve the performance. Such a
systematic design is based on a rigorous mathematical problem formulation for
off-line scheduling and on-line scheduling, to which are applicable to a large
class of green manufacturing systems.

This paper is organized as follows. Section 2 formulates both off-line
scheduling and on-line scheduling, followed by the detailed design steps in
the proposed ETHS in Section 3. A simulation example is presented in Section
4. Section 5 concludes this work.

##  2 Off-line scheduling and On-line scheduling in a manufacturing system

This paper focuses on a class of manufacturing systems, of which consist a set
of interconnected heterogeneous subsystems: a sequences of production lines,
represented as $P$, some renewable energy systems (RESs), and some energy
storage systems (ESSs). Each subsystem is characterized by a family of states
and parameters. Usually, the state is characterized by a time-series sequence,
which can be represented as $x[k]\in{\mathcal{R}}$, $k\in{\mathcal{N}}$ at the
$k^{th}$ sampling instant, where ${\mathcal{R}}$ is the set containing all
real numbers and ${\mathcal{N}}$ is the set containing all positive integers.
For example, the state of charge (SOC) of the battery at $[k+1]^{th}$ time
instant is related to SOC at $k^{th}$ time instant, power of charge and power
of discharge at the $k^{th}$ time instant. Another example is the working
condition of the production line $P$ at each sampling time instant in terms of
$(on,off)$ of each machine is also a time series, it consists of on/off status
of each machine at $k\in[0,N-1]$.

It is expected that for each state $x[k]\in{\mathcal{R}},k\in{\mathcal{N}}$,
we have either a dynamic model or static model to characterize its behaviour
over time. We care the performance of this manufacturing system within a
finite time, i.e., $k\in[0,N-1]$. More precisely, it has

$\displaystyle x[k+1]=f(x[k+1],x[k],\mbox{\boldmath${\theta}$}_{1}),\hskip
14.45377ptx[0]\in{\mathcal{R}},$ (1)

for some nonlinear mapping
$f:{\mathcal{R}}\times{\mathcal{R}}\times{\mathcal{R}}^{n_{\theta}}$ is a
known mapping with some parameters
$\mbox{\boldmath${\theta}$}_{1}\in{\mathcal{R}}^{n_{\theta}}$. When
$f(x[k+1],x[k],\mbox{\boldmath${\theta}$})=x[k+1]+f_{1}(x[k],\mbox{\boldmath${\theta}$}_{1})$
for some nonlinear mapping $f(\cdot,\cdot)$, it becomes a static mapping. When
$f(x[k+1],x[k],\mbox{\boldmath${\theta}$})=f_{1}(x[k],\mbox{\boldmath${\theta}$}_{1})$
holds, it becomes a dynamic system. It is noted that the nonlinear mapping
$f(\cdot,\cdot,\cdot)$ can also represent the Boolean logic such as the
machine is on ($1$) or off ($0$).

Next, we categorize the state into two categories.

  1. 1

Non-dispatchable state ${\bf x}_{ND}^{n}[k]\in{\mathcal{R}}^{n_{ND}}$ for any
$k\in[0,N-1]$ represents all the time-series in the manufacturing system,
whose information can be observed but cannot be manipulated. For example, in a
RES subsystem, which has a solar panel, the temperature and radiation at each
sampling instant $k$ belong to non-dispatchable states.

  2. 2

Dispatchable state ${\bf x}_{D}[k]\in{\mathcal{R}}^{n_{D}}$ for any
$k\in[0,N-1]$ represents all the time-series in the manufacturing system,
whose information can be both observed and manipulated. For example, the
charging and discharging sequence of a battery of an ESS subsystem are
dispatchable states.

Similarly, we also classify the parameters involved in the manufacturing
system into two categories.

  1. 1

Non-tunable parameters. The notation of
$\mbox{\boldmath${\theta}$}_{NT}\in{\mathcal{R}}^{n_{\theta,NT}}$ represents a
family of parameters in the manufacturing system that cannot be tuned. For
example, the number of machine in the production line $P$ is a non-tunable
parameter.

  2. 2

Tunable parameters. The notation of
$\mbox{\boldmath${\theta}$}_{T}\in{\mathcal{R}}^{n_{\theta,T}}$ represents a
family of parameters in the manufacturing system that can be participant into
the scheduling as a part of scheduling parameters.

Letting $n_{s}=n_{ND}+n_{D}$ and $n_{p}=n_{\theta,NT}+n_{\theta,T}$, it
follows that

$\displaystyle\overrightarrow{{\bf x}}[k]=\left[\begin{array}[]{cc}{\bf
x}_{ND}^{T}[k]&{\bf
x}_{FD}^{T}[k]\end{array}\right]^{T}\in{\mathcal{R}}^{n_{s}},\hskip
14.45377pt$ (3)

and

$\displaystyle\overrightarrow{\mbox{\boldmath${\theta}$}}=\left[\begin{array}[]{cc}\mbox{\boldmath${\theta}$}_{NT}^{T}&\mbox{\boldmath${\theta}$}_{T}^{T}\end{array}\right]^{T}\in{\mathcal{R}}^{n_{p}},\hskip
14.45377pt$ (5)

the model to characterize $\overrightarrow{{\bf x}}[k]$ can be re-written as

$\displaystyle\Sigma_{M}:\overrightarrow{{\bf x}}[k+1]=\overrightarrow{{\bf
f}}\left(\overrightarrow{{\bf x}}[k+1],\overrightarrow{{\bf
x}}[k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right),\
\overrightarrow{{\bf x}}[0]\in{\mathcal{R}}^{n_{s}}$ (6)

where the nonlinear mapping $\overrightarrow{{\bf
f}}:{\mathcal{R}}^{n_{s}}\times{\mathcal{R}}^{n_{s}}\times{\mathcal{R}}^{n_{p}}\rightarrow{\mathcal{R}}^{n_{s}}$
is known.

We also denote that the prediction using the model (6) at the $s^{th}$
sampling instant from the measurements at the $k^{th}$ sampling instant as
${\overrightarrow{\hat{\bf x}}}[s|k]$ for any $s>k$ and $k\in[0,N-1]$. This
leads to two different types of scheduling problems in literature: off-line
scheduling/scheduling and on-line scheduling/scheduling.

With the notations introduced, next will provide a rigor mathematical
formulation of off-line scheduling and on-line scheduling.

###  2.1 Off-line scheduling

There are many algorithms in literature, which can be formulated as an off-
line scheduling. Denoting

$\displaystyle\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}[N-1|0]=\left[\begin{array}[]{ccc}\overrightarrow{\hat{\bf
x}}_{D}^{T}[1|0]&\cdots&\overrightarrow{\hat{\bf
x}}_{D}^{T}[N-1|0]\end{array}\right]^{T},$

which is a vector in ${\mathcal{R}}^{n_{off}}$ where
$n_{off}=n_{D}\times(N-1)$, the off-line scheduling problems can be formulated
as

$\displaystyle\min_{\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}[N-1|0]\in{\mathcal{R}}^{n_{off}},\mbox{\boldmath${\theta}$}_{T}\in{\mathcal{R}}^{n_{\theta,T}}}\displaystyle\sum_{k=1}^{N}{\bf
l}_{1,k}\left({\overrightarrow{\hat{\bf
x}}}[k|0],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)\hskip 21.68121pt$
(8) $\displaystyle s.t.\left\\{\begin{array}[]{l}\overrightarrow{{\bf
x}}[k+1]=\overrightarrow{{\bf f}}\left(\overrightarrow{{\bf
x}}[k+1],\overrightarrow{{\bf
x}}[k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right),\overrightarrow{{\bf
x}}[0]\in{\mathcal{R}}^{n_{s}}\\\ {\bf g}\left({\overrightarrow{\hat{\bf
x}}}[k|0],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)=\bm{0}_{p_{1}}\\\
{\bf h}\left({\overrightarrow{\hat{\bf
x}}}[k|0],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)\geq\bm{0}_{p_{2}},\forall
k=0,1,\ldots,N-1.\end{array}\right.,$ (12)

where ${\bf l}_{1,k}(\cdot,\cdot)$ is the time-varying cost function with an
appropriate dimension. The optimal solution of the off-line scheduling at the
$k^{th}$ instant is denoted as $J_{off-line}^{*}[k]$, which is the computed
optimal value of ${\bf l}_{1,k}$ when the dispatchable state takes the optimal
value.

It is highlighted that many existing algorithms in manufacturing systems with
renewable resource management can be re-formulated as (12). For example, in
Xiong et al. (2013), machines of production lines, batteries, combined heat
and power (CHP) plants were used to improve energy efficiency while keeping
the production lines running properly by minimizing the makespan of a
manufacturing system. The solutions of off-line scheduling can be found by
using existing scheduling techniques such as discrete whale optimisation by
Tang et al. (2016a) and particle swarm optimisation by Jiang et al. (2019).

###### Remark 1

Due to the complexity of the manufacturing system in the presence of RESs and
ESSs, the off-line scheduling with the cost (8) and constraints (12) usually
is quite complicated with hundreds of variables to tune and dozens of
constraints. This is one of the major reasons that off-line scheduling is
preferred as it can ignore the computational cost. The performance of the off-
line scheduling is highly dependent on the accuracy of the model used, i.e.,
$\overrightarrow{{\bf f}}(\cdot,\cdot,\cdot)$. If the model is not precise,
the solutions obtained from the off-line scheduling is not optimal. Moreover,
the modeling errors can be propagated over time, leading to undesirable
performance. $\circ$

In order to address the robustness of the off-line scheduling with respect to
unmodelled uncertainties, Xiong et al. (2013) utilised the probability
distribution of the machine breakdown, resulting in the stochastic cost
function. The scheduling was thus performed by exploiting the statistic
properties of this stochastic cost function such as its mean and variance.
Although some of robust algorithms with respect to modeling uncertainties and
unexpected running situation have been proposed, in general, the off-line
scheduling lacks of robustness.

###  2.2 On-line scheduling

On-line scheduling means that at each time instant, new measurements
$\overrightarrow{{\bf x}}[k]\in{\mathcal{R}}^{n_{s}}$ is added and used in
scheduling. For the simplicity of the presentation, we define $N_{s}$ as the
prediction horizon and the control horizon. In a more general setting, the
prediction horizon and the control horizon can be different. For example, a
48-hour prediction horizon for electricity generation and 1-hour control
horizon for energy management system was used in Palma-Behnke et al. (2013).
Denoting

$\displaystyle\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{s}=\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{s}[k+N_{s}-1|k]$
$\displaystyle=$
$\displaystyle\left[\begin{array}[]{ccc}\overrightarrow{\hat{\bf
x}}_{D}^{T}[k+1|k]&\cdots&\overrightarrow{\hat{\bf
x}}_{D}^{T}[k+N_{s}|k]\end{array}\right]^{T},$

which is a vector in ${\mathcal{R}}^{n_{k,N_{s}}}$ where
$n_{k,N_{s}}=n_{D}\times(Ns-1)$. The on-line scheduling can be formulated as

$\displaystyle\min_{\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{s}\in{\mathcal{R}}^{n_{k,N_{s}}},\mbox{\boldmath${\theta}$}_{T}\in{\mathcal{R}}^{n_{\theta,T}}}\displaystyle\sum_{s=0}^{N_{s}}{\bf
l}_{2,s}\left({\overrightarrow{\hat{\bf
x}}}[k+s|k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)\hskip
14.45377pt$ (14) $\displaystyle
s.t.\left\\{\begin{array}[]{l}\overrightarrow{{\bf
x}}[k+1]=\overrightarrow{{\bf f}}\left(\overrightarrow{{\bf
x}}[k+1],\overrightarrow{{\bf
x}}[k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right),\overrightarrow{{\bf
x}}[k]\in{\mathcal{R}}^{n_{s}}\\\ {\bf g}\left({\overrightarrow{\hat{\bf
x}}}[k+s|k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)=\bm{0}_{p_{1}}\\\
{\bf h}\left({\overrightarrow{\hat{\bf
x}}}[k+s|k],\overrightarrow{\mbox{\boldmath${\theta}$}}\right)\geq\bm{0}_{p_{2}},\forall
s=0,\ldots,N_{s}.\end{array}\right.$ (18)

where ${\bf l}_{2,s}(\cdot,\cdot)$ in (14) can be also time-varying. It might
be different from ${\bf l}_{1}(\cdot,\cdot)$ in (8).

The mathematical description of on-line scheduling consisting of (14) and the
constraints (18) is very general. It contains both on-line adjustment without
using prediction models and on-line rescheduling. When $N_{s}=0$, the on-line
scheduling problem becomes an on-line adjustment. More precisely, by using the
current measurements $\overrightarrow{{\bf x}}[k]\in{\mathcal{R}}^{n_{s}}$, it
is possible to re-tune the dispatchable state
$\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{0}$ to reach the optimal
solution of the cost function ${\bf l}_{2,0}(\cdot,\cdot)$.

When $N_{s}\geq 1$, this problem becomes on-line rescheduling based on the
predicted future behaviours using the model and the current measurements
$\overrightarrow{{\bf x}}[k]$. In particular, when $N_{s}\geq 2$, the optimal
solution has the predicted future $N_{s}$ solution, i.e.,
$\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{s}^{*}=\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{s}^{*}[k+N_{s}-1|k],N_{s}\geq
2$. Under such a situation, the concept of receding horizon design and model
predictive control (MPC) Shan et al. (2018); Wenzelburger and Allgöwer (2021),
in which only the first step of the predicted optimal solution, is used.

There are many existing algorithms proposed for optimizing the production line
performance in the presence of RESs. For example, in Nouiri et al. (2018),
rescheduling was allowed in the flexible job scheduling by using the latest
measurements, providing robustness and flexibility. In Shan et al. (2018), MPC
was used to optimize the performance of renewable energy components such as
batteries in microgrids.

###### Remark 2

Different from off-line scheduling, on-line scheduling includes on-line
rescheduling, which utilizes the latest measurement $\overrightarrow{{\bf
x}}[k]$ and the model to predict the future behaviour within a finite
prediction horizon $N_{s}$. On one hand, such a setting leads to more robust
optimal performance with respect to the modelling uncertainties by using the
latest measurements. On the other hand, this receding horizon requires a
rescheduling at each time step and greatly increases computational cost.
$\circ$

Both off-line scheduling and on-line scheduling techniques have their
advantages and disadvantages in terms of computational cost and robustness
with respect to modelling uncertainties. This work aims to balance the
robustness, optimality, computational cost, and flexibility by providing a
novel design framework, which introduces a new design freedom using the
partially-dispatchable state, and integrating the off-line scheduling with an
event-trigger on-line scheduling. This novel framework is called an event-
triggered hybrid scheduling (ETHS).

##  3 Event-triggered Hybrid scheduling

For simplicity, in this section, we remove the design of the optimal tunable
parameter $\mbox{\boldmath${\theta}$}_{T}$ in the cost functions (8) and (14).
In order to increase the flexibility of the proposed ETHS, we further
decompose of the dispatchable state into two sub-classes. One is called fully-
dispatchable state ${\bf x}_{FD}\in{\mathcal{R}}^{n_{FD}}$ and the other is
called partially-dispatchable state ${\bf x}_{PD}\in{\mathcal{R}}^{n_{PD}}$.
We use the fully-dispatchable state in both off-line and on-line scheduling.
The partially-dispatchable state will be used in off-line scheduling at the
beginning. At the $k^{th}$ time instant, if the predicted performance is good
enough, ${\bf x}_{PD}[k]$ will be treated as the non-dispatchable state, and
will not be involved in on-line scheduling. If the predicted performance is
not satisfying, ${\bf x}_{PD}[k]$ will be triggered as a fully-dispatchable
state, participating into on-line rescheduling.

The concept of partially-dispatchable state is introduced. More precisely, the
partially-dispatchable state ${\bf x}_{PD}[k]$ can be represented as:

$\displaystyle{\bf
x}_{PD}[k]=\left[\begin{array}[]{ccc}x_{PD,1}[k]&\ldots&x_{PD,n_{PD}}[k]\end{array}\right]^{T}\in{\mathcal{R}}^{n_{PD}},$
(20)

for any $k\in[0,N-1]$. The idea of using this novel partially dispatchable
state is to balance the robustness with respect to modelling uncertainties and
the computational cost. Moreover, choosing this partially dispatchable state
becomes an extra design freedom in ETHS, providing more flexibility. This
partially dispatchable state can be a non-dispatchable state in some sub-
intervals of $[0,N-1]$ while in other sub-intervals of $[0,N-1]$, it becomes a
fully-dispatchable state. For the convenience of the notation, it is denoted
that $\Omega_{s,i}$ is union of time intervals within the interval $[s,N-1]$
in which the $i^{th}$ partially-dispatchable state $x_{PD,1}$ can be fully
manipulated.

Consequently, the dispatchable state ${\bf x}_{D}$ can be re-written as

$\displaystyle{\bf x}_{D}[k]=\left[\begin{array}[]{c}{\bf x}_{FD}^{T}[k]\\\
{\bf x}_{PD}^{T}[k]\end{array}\right]^{T}\in{\mathcal{R}}^{n_{D}}.$ (23)

The proposed ETHS consists of four steps (S1–S4) as shown in Figure 1.

Figure 1: The diagram of the event-triggered hybrid scheduling

  1. S1

: Off-line scheduling defined by the cost (8) and constraints (12) to find an
off-line optimal state

$\displaystyle\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}^{*}[N-1|0]=\left[\begin{array}[]{c}\left(\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{FD}^{*}[N-1|0]\right)^{T}\\\
\left(\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{PD}^{*}[N-1|0]\right)^{T}\end{array}\right]^{T},$
(26)

  2. S2

: On-line adjustment for fully-dispatchable state ${\bf x}_{FD}^{T}[k]$. More
precisely, at the each step, solve the on-line scheduling problem (14) and the
constraints (18) with the scheduling parameter of fully-dispatchable state
${\bf x}_{FD}[k]$ with $N_{s}=0$ while the partially-dispatchable state is a
constant vector coming from
$\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{PD}^{*}[N-1|0]$ in (26). The
solution of the on-line adjustment is ${\bf x}_{FD}^{*}[k]$.

  3. S3

: Evaluating the predicted future performance using the current measurements
of ${\bf x}_{ND}[k]$ and optimal fully-dispatchable state ${\bf
x}_{FD}^{*}[k]$ while the partially-dispatchable state
$\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{PD}^{*}[N-1|0]$ is treated as
a constant. For the convenience of notation, we denote

$\displaystyle\overrightarrow{{\bf z}}[k]=\left[\begin{array}[]{c}{\bf
x}_{FD}^{T}[k]\\\ {\bf x}_{ND}^{T}[k]\end{array}\right]^{T},$ (29)

and the parameter
$\mbox{\boldmath${\alpha}$}=\overrightarrow{\hat{}\mbox{\boldmath${\xi}$}}_{PD}^{*}[N-1|0]$
coming from S2. Moreover, we denote

$\displaystyle\overrightarrow{\bar{\bf
z}}[k]=\left[\begin{array}[]{c}\left({\bf x}_{FD}^{*}[k]\right)^{T}\\\ {\bf
x}_{ND}^{T}[k]\end{array}\right]^{T},$ (32)

consequently, the future performance in terms of the following cost function
is evaluated:

$\displaystyle{\bf J}[k]=\displaystyle\sum_{s=1}^{N-k+1}{\bf
l}_{3,s}\left(\overrightarrow{\bar{\bf
z}}[k+s|k],\overrightarrow{\mbox{\boldmath${\theta}$}},\mbox{\boldmath${\alpha}$}\right)\hskip
72.26999pt$ (33) $\displaystyle s.t.\overrightarrow{\bar{\bf
z}}[k+1]=\overrightarrow{{\bf f}}_{z}\left(\overrightarrow{\bar{\bf
z}}[k+1],\overrightarrow{\bar{\bf
z}}[k],\mbox{\boldmath${\theta}$}\right),\hskip 14.45377pt$

with the initial condition at $\overrightarrow{\bar{\bf z}}[k]$. Here
$\overrightarrow{\bar{\bf z}}[k]$ is defined in (32) and $\overrightarrow{{\bf
f}}_{z}$ is some parts of $\overrightarrow{{\bf f}}(\cdot,\cdot,\cdot)$
defined in (12) or (18). Here the nonlinear mapping ${\bf
l}_{3,k}(\cdot,\cdot,\cdot)$ can be different from ${\bf l}_{1}$ in (8) or
${\bf l}_{2}$ (14). It is assumed that ${\bf J}[k]\in{\mathcal{R}}^{n_{J}}$.

  4. S4

: Trigger on-line re-scheduling if needed. Precisely, if the performance ${\bf
J}[k]$ is not satisfying, i.e., if

$\displaystyle\ell\left({\bf J}[k]\right)\geq\varepsilon,$ (34)

where $\ell(\cdot):{\mathcal{R}}^{n_{J}}\rightarrow{\mathcal{R}}_{\geq 0}$ and
$\varepsilon$ is a pre-defined positive constant, then on-line rescheduling
will be triggered, hence it will solve the on-line scheduling problem (14) and
the constraints (18) with the scheduling parameter of the dispatchable state
${\bf x}_{D}[k]$ with $N_{s}\geq 1$.

It is noted that both off-line scheduling (in S1) and on-line scheduling (in
S2 and S4 when the rescheduling is triggered) are performed. The performance
of on-line adjustment is evaluated using the model to decide whether a
rescheduling is needed. Different from the existing off-line scheduling and
on-line scheduling, the number of manipulated variables changes at different
stage due to the introduction of the partial dispatchable state.

##  4 A Simulation Example

This section shows how to use the proposed event-triggered hybrid scheduling
framework to design a flow shop manufacturing system integrated with PV so as
to reduce energy costs and guarantee production throughput. This section
starts from a brief description of the system, followed by a few scenarios to
address the following questions in designing an ETHS:

  1. 1.

How to select partially-dispatchable state?

  2. 2.

How to implement on-line adjustment?

  3. 3.

How to select the evaluating function ${\bf J}[k]$ in (33)?

  4. 4.

How to select event-trigger function $\ell(\cdot)$ and the threshold
$\varepsilon$ in (34)?

These scenarios will provide design guidelines for engineering practitioners
and demonstrate the validity, applicability and flexibility of the proposed
framework.

###  4.1 Description of the System

This subsection provides a description of the system, including the system
components, data sources, operational task, randomness during simulation, and
all states and parameters.

The manufacturing system consists of a 100-kW PV system, a 10-machine flow
shop production line, a 50-kWh Energy Storage System (ESS), a 100-kW gas
turbine (GaT), and the grid for power supply and surplus power feed-in. Solar
irradiance data are from the Australian Bureau of Meteorology, grid
electricity price and feed-in tariff are from SUMO, and flow shop machine
power consumption and operation time are acquired by measuring and scaling up
the empirical data from factories. The example is to operate the introduced
system by deciding each component’s states to finish 25 jobs and reduce energy
cost for 24 hours with a time resolution of 5 minutes, namely 288 time steps.
The energy flow and material flow can be found in Figure 2.

Figure 2: Energy Flow and Material Flow of the Manufacturing System

In the simulation, the machine breakdown processes some randomness. The
possibility of breakdown and the time when the breakdown happens are assumed
to follow an exponential distribution, which was proposed by He and Sun
(2013); Tang et al. (2016b). For 10 machine states defined as ${\bf x}_{2}$
(see Table 1 for the definition of states), it has the form of

$\displaystyle\left\\{\begin{array}[]{l}P(\hat{{\bf x}}_{2,i}[k]=0|{\bf
x}_{2,i}[k]=1)=1-e^{-\theta_{12}T_{on}}\\\ P(\hat{{\bf
x}}_{2,i}[k+1]=1|\hat{{\bf
x}}_{2,i}[k]=0)=1-e^{-\theta_{13}T_{bd}}\end{array}\right.,$ (37)

where $T_{on}$ is the accumulated operating time for a machine since the last
observed breakdown $\hat{{\bf x}}_{2,i}[k]$, $T_{bd}$ means the accumulated
observed breakdown at the next time step based on the current breakdown. Here
$\theta_{12}$ and $\theta_{13}$ are parameters used to characterize the
probability distribution (see details in Table 2).

In this simulation, the initial selection of states is listed in Table 1. For
example, $x_{1}$ is the state variable for PV, the value of $x_{1}[k]$ means
the power of PV generation at the $k^{th}$ sampling instant. When a vector
state such as ${\bf x}_{4}\in{\mathcal{R}}^{10}$ is used, $x_{4,i}[k]$ means
its $i^{th}$ element at the $k^{th}$ sampling instant. The similar method is
used for defining parameters, which are summarized in Table 2. As discussed in
Section 3, all the parameters are non-tunable.

Table 1: States Variables for the Simulation

States | Description
---|---
ND States |
$x_{1}\in{\mathcal{R}}^{1}$ | Power of PV generation
PD States |
${\bf x}_{2}\in{\mathcal{R}}^{10}$ | Machine status on or off for each machine
${\bf x}_{3}\in{\mathcal{R}}^{10}$ | Operation status starts or not start on each machine
${\bf x}_{4}\in{\mathcal{R}}^{10}$ | Number of operations finished on each machine
$x_{5}\in{\mathcal{R}}^{1}$ | GaT generation power
FD States |
$x_{6}\in{\mathcal{R}}^{1}$ | ESS charging power
$x_{7}\in{\mathcal{R}}^{1}$ | ESS discharging power
$x_{8}\in{\mathcal{R}}^{1}$ | ESS state of charge (SOC)
$x_{9}\in{\mathcal{R}}^{1}$ | Grid electricity procurement power
$x_{10}\in{\mathcal{R}}^{1}$ | Grid electricity feed-in power

Table 2: Parameters for the Simulation

Parameters | Description | Value
---|---|---
$\mbox{\boldmath${\theta}$}_{1}\in{\mathcal{R}}^{10}$ |  | Machine power for
---
10 machines (kW)
| [50.63,22.4,5.12,5.28,
---
12.68,35.14,6.58,
5.21,8.4,2.15]
$\mbox{\boldmath${\theta}$}_{2}\in{\mathcal{R}}^{10}$ |  | Operation time for
---
10 operations (5 min)
[5,2,8,5,3,8,4,6,6,7]
$\theta_{3}\in{\mathcal{R}}^{1}$ | Gas price ($) | 1.83
$\theta_{4}\in{\mathcal{R}}^{1}$ |  | ESS charging/discharging
---
efficiency
0.9
$\theta_{5}\in{\mathcal{R}}^{1}$ |  | ESS fixed operational
---
cost ($/5 min)
0.003
$\theta_{6}\in{\mathcal{R}}^{1}$ |  | ESS charging/discharging
---
degradation cost ($/kWh)
0.0006
$\theta_{7}\in{\mathcal{R}}^{1}$ | ESS maximum capacity (kWh) | 50
$\theta_{8}\in{\mathcal{R}}^{1}$ | ESS depth of discharge | 80%
$\theta_{9}\in{\mathcal{R}}^{1}$ |  | ESS maximum charging/
---
discharging power (kW)
50
$\mbox{\boldmath${\theta}$}_{10}\in{\mathcal{R}}^{288}$ |  | Grid electricity
---
procurement price ($/kWh)
| 0.330 from 9am to 9pm
---
0.187 from 9pm to 9am
$\theta_{11}\in{\mathcal{R}}^{1}$ |  | Grid electricity
---
feed-in tariff ($/kWh)
0.052
$\theta_{12}\in{\mathcal{R}}^{1}$ |  | Machine breakdown
---
possibility parameter
0.002
$\theta_{13}\in{\mathcal{R}}^{1}$ |  | Machine breakdown time
---
parameter
1
$\theta_{14}\in{\mathcal{R}}^{1}$ | Number of production task | 25

###  4.2 Off-line Scheduling, On-line Scheduling and ETHS

This subsection will compare the performance among off-line scheduling, on-
line schedule and the proposed ETHS. Moreover, the tuning freedom in the
proposed ETHS will be discussed.

Off-line scheduling

Off-line scheduling is conducted with the objective function of minimising
total operational cost ${\bf l}_{1,k}$ in (12), defined as follows:

$\displaystyle\begin{split}{\bf l}_{1,k}=&{\bf
x}_{9}[k]\cdot\mbox{\boldmath${\theta}$}_{10,k}-{\bf
x}_{10}\cdot\theta_{11}+\theta_{5}+\\\ &({\bf x}_{6}[k]+{\bf
x}_{7}[k])\cdot\theta_{4}+{\bf x}_{5}[k]\cdot\theta_{3}\end{split}$ (38)

The constraints used in this simulation include the state constraints at each
sampling instant namely for any $k=1,2,\ldots,288$:

$\displaystyle\left\\{\begin{array}[]{l}{\bf x}_{6}[k]\leq\theta_{9}\\\ {\bf
x}_{7}[k]\leq\theta_{9}\\\ {\bf
x}_{8}[k]\geq\theta_{7}\cdot(1-\theta_{8})/2\\\ {\bf
x}_{8}[k]\leq\theta_{7}\cdot(1+\theta_{8})/2\\\ {\bf x}_{8}[k+1]={\bf
x}_{8}[k]+\theta_{4}\cdot{\bf x}_{6}[k]-1/\theta_{4}\cdot{\bf x}_{7}[k]\\\
\phi_{1}[k]=\displaystyle\sum_{i=1}^{10}{\bf
x}_{2,i}[k]\cdot\mbox{\boldmath${\theta}$}_{1,i}+{\bf x}_{10}[k]+{\bf
x}_{7}[k]\end{array}\right.$ (45)

where $\phi_{1}[k]={\bf x}_{1}[k]+{\bf x}_{9}[k]+{\bf x}_{7}[k]+{\bf
x}_{5}[k]$. There are also terminal constraints at the starting point or the
end point of $288$ sampling points:

$\displaystyle\left\\{\begin{array}[]{l}{\bf x}_{8}[0]=\theta_{7}\cdot 0.5\\\
{\bf x}_{8}[288]=\theta_{7}\cdot 0.5\\\ {\bf x}_{4,10}[288]\geq\theta_{14}\\\
\end{array}\right.$ (49)

Finally are the constraints coming from the flow shop. For the $i^{th}$ job,
$i=1,\ldots,10$, it has the following constraints:

$\displaystyle\left\\{\begin{array}[]{l}\\\ {\bf
x}_{4,i}[k]=0,k=1,2,\ldots,\mbox{\boldmath${\theta}$}_{2,i}.\\\ {\bf
x}_{4,i}[k]=\displaystyle\sum_{j=0}^{k-\theta_{2,i}}{\bf
x}_{3,i}[j],k=\mbox{\boldmath${\theta}$}_{2,i},\ldots,288\\\ {\bf
x}_{2,i}[k]=\displaystyle\sum_{j=0}^{k}{\bf
x}_{3,i}[j],k=1,2,\ldots,\mbox{\boldmath${\theta}$}_{2,i}\\\ {\bf
x}_{2,i}[k-1]=\displaystyle\sum_{j=k-\theta_{2,i}}^{k}{\bf
x}_{3,i}[j],k=\mbox{\boldmath${\theta}$}_{2,i},\ldots,288\\\ {\bf
x}_{3,i}[k]\cdot\mbox{\boldmath${\theta}$}_{2,i}\leq\displaystyle\sum_{j=k}^{k+\theta_{2,i}}{\bf
x}_{2,i}[j],k=1,2,\ldots,288-\mbox{\boldmath${\theta}$}_{2,i}\\\
\end{array}\right.$ (56)

Moreover, ${\bf x}_{4}$ has the dynamics, leading to the following constraint
for $i=1,\ldots,9$

$\displaystyle{\bf x}_{4,i}[k]\geq{\bf x}_{4,i+1}[k]+{\bf
x}_{2,i+1}[k],k=1,2,\ldots,288.$ (57)

These constraints cover the dynamic characterization for the state of ESS,
flow shop assumptions, and energy balance equation, whose detailed
explanations can be found in Zhai et al. (2017); Tang et al. (2016a).

On-line scheduling

On-line scheduling follows the objective and constraints in (14-18).
Specifically, we choose ${\bf l}_{2,s}={\bf l}_{1,k}$, which means on-line
scheduling shares the same objective with off-line scheduling. The length of
time sequence is $N_{s}=288-k$, which means the cost compute from the current
time until the end of day. Most of the constraints in on-line scheduling
remain the same as off-line scheduling, except that we introduce a new design
freedom $d$ to handle machine breakdown. This constraint is a terminal
constraint in (49), which indicates that the finished jobs at the end of the
day should not be less than the production task. With the consideration that
the machine breakdown might lead to unfinished jobs, in on-line scheduling
this constraint is modified as ${\bf x}_{4,10}(288-k-d)\geq\theta_{14}$. Here
$d$ is the buffer to finish the job. It can be time-varying.

In this simulation, we design $d$ according to the accumulated machine
breakdown time. The longer breakdown lasts, the more likely jobs are
unfinished. Consequently, the remaining jobs should be accelerated. This leads
to an earlier deadline $288-k-d$.

Event-triggered hybrid scheduling

ETHS follows the 4 steps presented in Section 3.

At S1, an off-line scheduling is conducted as (38-57).

We define a new sequence to remember when the re-scheduling happens. When the
re-scheduling happens at the $k^{th}$ sampling, it is denoted that
$\tau_{i}=k$, $i=1,\ldots,$. We define $C[\tau_{i}]=J_{off-
line}[\tau_{i}]^{*}$ as the scheduled cost.

At S2, an on-line adjustment is implemented as (14) with ${\bf l}_{2,k}$ is
defined as

$\displaystyle\begin{split}{\bf l}_{2,k}=&{\bf
x}_{9}[k]\cdot\mbox{\boldmath${\theta}$}_{10,k}-{\bf
x}_{10}\cdot\theta_{11}+\theta_{5}+\\\ &({\bf x}_{6}[k]+{\bf
x}_{7}[k])\cdot\theta_{4}+\hat{{\bf
x}}_{5}[k]\cdot\theta_{3}-C[k].\end{split}$ (58)

The objective in (58) is to minimize the gap between the measured cost and the
scheduled cost $C[k]$. The constraints are selected as

$\displaystyle s.t.\left\\{\begin{array}[]{l}{\bf x}_{6}[k]\leq\theta_{9}\\\
{\bf x}_{7}[k]\leq\theta_{9}\\\ {\bf x}_{8}[k]\geq\theta_{7}\\\ {\bf
x}_{8}[k]\leq\theta_{7}\\\ \phi_{2}[k]=\displaystyle\sum_{i=1}^{10}\hat{{\bf
x}}_{2,i}[k]\cdot\mbox{\boldmath${\theta}$}_{1,i}+{\bf x}_{10}[k]+{\bf
x}_{7}[k].\end{array}\right.,$ (64)

where $\phi_{2}[k]=\hat{{\bf x}}_{1}[k]+{\bf x}_{9}[k]+{\bf
x}_{7}[k]+\hat{{\bf x}}_{5}[k]$. It can be seen that all non-dispatchable
states and partially-dispatchable states become observed values, while fully-
dispatchable states are control variables.

At S3, an evaluation function $J[k]$ is selected as

$\displaystyle\begin{split}{\bf
J}[k]=&\displaystyle\sum_{s=0}^{N_{s}}|\hat{x}_{1}[k+s|k]-x_{1}[k+s|k]|+\\\
\displaystyle&\sum_{i=1}^{10}\displaystyle\sum_{j=0}^{k}(1-\hat{{\bf
x}}_{2,i}[j]),\end{split}$ (65)

which accumulates the solar prediction error and the historical machine
breakdown time. This cost indicates that the rescheduling will only be
triggered when the solar prediction is inaccurate enough or the machine
breakdown time is too long.

At S4, we choose $\ell\left({\bf J}[k]\right)={\bf J}[k]$, and we select the
threshold as $\varepsilon=70$ in order to decide whether on-line rescheduling
will be triggered or not.

Simulations results are summarized in Table 3 and Figure 3. With the
possibility that some jobs are not able to finish, total energy cost becomes
unfair to compare different scheduling techniques. Here the energy cost per
job is selected as one of performance indices to compare three different
scheduling schemes. The simulation results show that off-line scheduling
cannot handle unexpected events, resulting in unfinished jobs due to random
machine breakdown while the computational cost in terms of computing time is
low as it runs once every 24 hours. On-line scheduling has the best energy
cost performance and is able to finish all jobs while it results in very large
computational cost due to rescheduling frequently. It is highlighted that the
proposed ETHS provides a good balance between the performance in terms of the
energy cost per job and the computational cost. It is able to finish all jobs
in the presence of random machine breakdowns with a reasonable computational
cost. Moreover, the flexibility of fully-dispatchable components is highly
utilised to deal with uncertainties coming from PV generation or random
machine breakdowns.

Table 3: Scheduling Methods Comparison

| Finished Jobs | Energy Cost Per Job | Computingn Time/(s)
---|---|---|---
Off-line | 23.7 | 7.89 | 13
On-line | 25 | 6.51 | 4604
ETHS $\varepsilon=70$ | 25 | 7.10 | 508

Figure 3: Flow Shop Gantt Charts Comparison

###  4.3 The Choices of Parameters of ETHS

This subsection demonstrates the flexibility of the proposed ETHS by showing
how different choices of parameters in four steps will affect its performance
as four questions listed.

The choice of partial dispatchable state

Firstly, the categorisation of system components should consider both the
physical property and the operational requirements. Fully-dispatchable
components have higher flexibility than partially-dispatchable components,
here we compare the performances of different categorisations in Table 4.

Implementation of on-line adjustment

Secondly, to emphasise the importance of S2, we compare the performances under
scenarios with or without S2. On-line adjustment targets at handling unserious
uncertainty by utilising the high flexibility of fully-dispatchable
components. Therefore, PV generation and demand energy errors between
prediction and observation can be handled and the energy cost is reduced by
14.2%, as shown in Table 4.

The selection of the evaluation function

Thirdly, S3 to select $J[k]$ is decides whether it’s necessary to trigger on-
line rescheduling. Without the evaluation, the rescheduling will be executed
at each time instant, resulting in better energy cost performance but much
higher computing time, as shown in Table 4.

Table 4: Parameter Selection Comparison

| Scenario |  | Finished
---
Jobs
| Energy Cost
---
Per Job
| Computing
---
Time (s)
PD Selection | Production, GaT | 25 | 7.10 | 508
Production | 25 | 6.81 | 524
None | 25 | 6.51 | 4604
On-line Adjustment | With S2 | 25 | 6.51 | 4592
Without S2 | 25 | 8.27 | 4604
Evaluation Function | With S3 | 25 | 7.10 | 508
Without S3 | 25 | 8.27 | 4604

The choice of the threshold

Finally, the event-trigger threshold influences the frequency of rescheduling,
thus resulting in different performances and computing time, as shown in Table
5.

Table 5: Threshold Comparison

Threhold | Finished Jobs | Energy Cost Per Job | Computingn Time/(s) |  | Reschedule
---
Frequency
$\varepsilon=30$ | 25 | 6.97 | 556 | 14
$\varepsilon=70$ | 25 | 7.10 | 508 | 5
$\varepsilon=100$ | 25 | 7.77 | 490 | 2

##  5 Conclusion

This paper proposed a novel event-triggered hybrid scheduling (ETHS) to
balance the robustness, performance and computational cost in the energy-aware
scheduling for the manufacturing systems. By mathematically formulating the
existing off-line scheduling and on-line scheduling techniques, the proposed
ETHS utilized the so-called partially-dispatchable state, which can be real-
timely rescheduled when the desired performance is not satisfied. Compared
with traditional off-line and on-line scheduling method, ETHS identifies the
flexibility of heterogenous components in the manufacturing system, thus
yielding outstanding performance with an acceptable computational cost. The
flexibility of the 4-step ETHS was also demonstrated by a simulation example.
The proposed ETHS can be extended to more complicated energy-aware
manufacturing system beyond the flow shop.

## References

  * Beier (2017) Beier, J. (2017).  _Simulation Approach Towards Energy Flexible Manufacturing Systems_.  Sustainable Production, Life Cycle Engineering and Management. Springer International Publishing, Cham.  10.1007/978-3-319-46639-2.
  * Beier et al. (2017) Beier, J., Thiede, S., and Herrmann, C. (2017).  Energy flexibility of manufacturing systems for variable renewable energy supply integration: Real-time control method and simulation.  _Journal of Cleaner Production_ , 141, 648–661.  10.1016/j.jclepro.2016.09.040.
  * Biel et al. (2018) Biel, K., Zhao, F., Sutherland, J.W., and Glock, C.H. (2018).  Flow shop scheduling with grid-integrated onsite wind power using stochastic milp.  _International Journal of Production Research_ , 56(5), 2076–2098.  10.1080/00207543.2017.1351638.
  * Dong and Ye (2022) Dong, J. and Ye, C. (2022).  Green scheduling of distributed two-stage reentrant hybrid flow shop considering distributed energy resources and energy storage system.  _Computers and Industrial Engineering_ , 169, 108146.  10.1016/j.cie.2022.108146.
  * Fazli Khalaf and Wang (2018) Fazli Khalaf, A. and Wang, Y. (2018).  Energy-cost-aware flow shop scheduling considering intermittent renewables, energy storage, and real-time electricity pricing.  _International Journal of Energy Research_ , 42(12), 3928–3942.  10.1002/er.4130.
  * He and Sun (2013) He, W. and Sun, D.h. (2013).  Scheduling flexible job shop problem subject to machine breakdown with route changing and right-shift strategies.  _The International Journal of Advanced Manufacturing Technology_ , 66(1–4), 501–514.  10.1007/s00170-012-4344-4.
  * Impram et al. (2020) Impram, S., Nese, S.V., and Oral, B. (2020).  Challenges of renewable energy penetration on power system flexibility: A survey.  _Energy Strategy Reviews_ , 31, 100539.
  * Jiang et al. (2019) Jiang, T., Zhang, C., and Sun, Q.M. (2019).  Green job shop scheduling problem with discrete whale optimization algorithm.  _IEEE Access_ , 7, 43153–43166.  10.1109/ACCESS.2019.2908200.
  * Karimi and Kwon (2021) Karimi, S. and Kwon, S. (2021).  Comparative analysis of the impact of energy‐aware scheduling, renewable energy generation, and battery energy storage on production scheduling.  _International Journal of Energy Research_ , 45(13), 18981–18998.  10.1002/er.6999.
  * Nayak et al. (2019) Nayak, A., Lee, S., and Sutherland, J.W. (2019).  Dynamic load scheduling for energy efficiency in a job shop with on-site wind mill for energy generation.  _Procedia CIRP_ , 80, 197–202.  10.1016/j.procir.2018.12.003.
  * Nouiri et al. (2018) Nouiri, M., Bekrar, A., and Trentesaux, D. (2018).  Towards energy efficient scheduling and rescheduling for dynamic flexible job shop problem.  _IFAC-PapersOnLine_ , 51(11), 1275–1280.  10.1016/j.ifacol.2018.08.357.
  * Palma-Behnke et al. (2013) Palma-Behnke, R., Benavides, C., Lanas, F., Severino, B., Reyes, L., Llanos, J., and Saez, D. (2013).  A microgrid energy management system based on the rolling horizon strategy.  _IEEE Transactions on Smart Grid_ , 4(2), 996–1006.  10.1109/TSG.2012.2231440.
  * Pamparana et al. (2017) Pamparana, G., Kracht, W., Haas, J., Díaz-Ferrán, G., Palma-Behnke, R., and Román, R. (2017).  Integrating photovoltaic solar energy and a battery energy storage system to operate a semi-autogenous grinding mill.  _Journal of Cleaner Production_ , 165, 273–280.  10.1016/j.jclepro.2017.07.110.
  * Pierri et al. (2021) Pierri, E., Hellkamp, D., Thiede, S., and Herrmann, C. (2021).  Enhancing energy flexibility through the integration of variable renewable energy in the process industry.  _Procedia CIRP_ , 98, 7–12.  10.1016/j.procir.2020.12.001.
  * Shan et al. (2018) Shan, Y., Hu, J., Li, Z., and Guerrero, J.M. (2018).  A model predictive control for renewable energy based ac microgrids without any pid regulators.  _IEEE Transactions on Power Electronics_ , 33(11), 9122–9126.  10.1109/TPEL.2018.2822314.
  * Tang et al. (2016a) Tang, D., Dai, M., Salido, M.A., and Giret, A. (2016a).  Energy-efficient dynamic scheduling for a flexible flow shop using an improved particle swarm optimization.  _Computers in Industry_ , 81, 82–95.  10.1016/j.compind.2015.10.001.
  * Tang et al. (2016b) Tang, D., Dai, M., Salido, M.A., and Giret, A. (2016b).  Energy-efficient dynamic scheduling for a flexible flow shop using an improved particle swarm optimization.  _Computers in Industry_ , 81, 82–95.  10.1016/j.compind.2015.10.001.
  * Thornton et al. (2017) Thornton, A., Schultz, C., Kara, S., and Reinhart, G. (2017).  Concurrent scheduling of a job shop and microgrid to minimize energy costs under due date constraints.  In _2017 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)_ , 1326–1330. IEEE, Singapore.  10.1109/IEEM.2017.8290108.
  * Wenzelburger and Allgöwer (2021) Wenzelburger, P. and Allgöwer, F. (2021).  Model predictive control for flexible job shop scheduling in industry 4.0.  _Applied Sciences_ , 11(17), 8145.  10.3390/app11178145.
  * Xiong et al. (2013) Xiong, J., Xing, L.n., and Chen, Y.w. (2013).  Robust scheduling for multi-objective flexible job-shop problems with random machine breakdowns.  _International Journal of Production Economics_ , 141(1), 112–126.  10.1016/j.ijpe.2012.04.015.
  * Zhai et al. (2017) Zhai, Y., Biel, K., Zhao, F., and Sutherland, J.W. (2017).  Dynamic scheduling of a flow shop with on-site wind generation for energy cost reduction under real time electricity pricing.  _CIRP Annals_ , 66(1), 41–44.  10.1016/j.cirp.2017.04.099.