# A MILP Model for Energy-Efficient Job Shop Scheduling Problem and Transport Resources

S. Mahdi Homayouni, Dalila Fontes

<figure><img src="image_1.png" /></figure>

## To cite this version:

S. Mahdi Homayouni, Dalila Fontes. A MILP Model for Energy-Efficient Job Shop Scheduling Problem and Transport Resources. IFIP International Conference on Advances in Production Management Systems (APMS), Sep 2021, Nantes, France. pp.378-386, 10.1007/978-3-030-85874-2_40. [hal-04030394](https://hal-inriaHalId:hal-04030394)

HAL Id: hal-04030394

https://inria.hal.science/hal-04030394

Submitted on 15 Mar 2023

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# A MILP Model for Energy-Efficient Job Shop Scheduling Problem and Transport Resources*

S. Mahdi Homayouni¹[0000-0001-6833-9316]
Dalila B.M.M. Fontes¹,²[0000-0002-9402-2088]

¹ LIAAD- INESCTEC, Porto, Portugal

² Faculdade de Economia, Universidade do Porto, Porto, Portugal
{smh,dfontes}@inesctec.pt

**Abstract.** This work addresses the energy-efficient job shop scheduling problem and transport resources with speed scalable machines and vehicles which is a recent extension of the classical job shop problem. In the environment under consideration, the speed with which machines process production operations and the speed with which vehicles transport jobs are also to be decided. Therefore, the scheduler can control both the completion times and the total energy consumption. We propose a mixed-integer linear programming model that can be efficiently solved to optimality for small-sized problem instances.

**Keywords:** Job shop scheduling problem · Transport resources · Energy efficient · Mixed integer linear programming model · speed scalable machines.

## 1 Introduction

Energy-efficient scheduling methods have been increasingly attracting the attention of academia and practitioners. Energy-efficient scheduling attempts to lower energy consumption while providing the same service level. The two main strategies in energy-efficient scheduling are to switch off resources while in idle mode [9] and to control the resources working speed (speed scalable) [5]. While the former strategy has to balance energy savings from shutting down resources and energy requirements to start and warm them up, the latter has to balance energy consumption and productivity (i.e., production rate, makespan, tardiness, earliness, etc.). In addition, by reducing the working speed of some resources one may reduce resources idle time as well as energy consumption without impacting productivity.

In the classic job shop scheduling problem (JSP), the jobs are processed on a set of machines following a known order. It is commonly assumed that jobs are available at the machine processing their first operation and that a job

<footnote>* Supported by FEDER/COMPETE2020/NORTE2020/POCI/PIDDAC/MCTES/FCT funds through projects POCI-01-0145-FEDER-031821-PTDC/EGE-OGE/31821/2017 and POCI-01-0145-FEDER-031447-PTDC/EEI-AUT/31447/2017.</footnote>
is available to be processed on a machine as soon as the previous operations
has been completed, i.e., no job transport is required between machines or the
transport times are negligible. However, the transport of jobs between machines
is an important process that cannot be ignored, since job processing and job
transportation are interdependent and influence each other. The recognition of
such interdependencies lead to the job shop scheduling problem with transport
resources (JSPT), in which the machine scheduling, the transport allocation,
and the vehicle scheduling are determined simultaneously. For a recent review
of the JSPT works see [6] and the references therein.

The energy-efficient JSP (EEJSP) has recently become the center of atten-
tion of the JSP community; for instance, [12] proposes a Mixed Integer Linear
Programming (MILP) that minimizes the energy consumption (both direct and
indirect) for the JSP and proposes a solution method based on a gene expression
programming-based rule mining integrated with an unsupervised learning pro-
cess for the dispatching rules evaluation while [4] proposes a bi-objective MILP
for the EEJSP that minimizes the makespan and the energy consumption and
an enhanced estimation of distribution algorithm to solve the problem efficiently.
Although it takes into account the energy required to process production oper-
ations, to keep machines running while idle, and to transport jobs, it considers
that there are an unlimited number of vehicles available to transport the jobs.

The literature on speed scalable machine scheduling includes the single ma-
chine scheduling problem [2,3] and the EEJSP [11,1]. In [2] two mathemati-
cal models are proposed for the speed scalable and multi-states single-machine
scheduling and. The complexity of the energy-efficient scheduling of a multi-
state single machine is studied in [3] under two scenarios, namely: constant
energy price and increasing energy price; and both have been proved to be poly-
nomial. In addition, when considering time-of-use energy prices, the problem
has been proved polynomial for a fixed job sequence and NP-hard otherwise. re-
garding the EEJSP, [11] considers speed scalable machine spindle and proposes a
multi-objective MILP model that minimizes the makespan, energy consumption,
and process noise. Solutions are obtained by an efficient multi-objective genetic
algorithm. More recently, [1] considers the EEJSP with speed scalable and dete-
riorating machines in which the actual processing time of an operation depends
on the selected processing speed and on the permutation of operations that have
been previously processed on the machine. The machines are repaired occasion-
ally to restore their processing capabilities. To model the problem a bi-objective
MILP that minimizes the makespan and energy consumption (by production
operations and maintenance activities) is propose. Solutions are obtained by a
multi-population multi-objective memetic algorithm.

Scheduling vehicles with adjustable speed includes determining the speed
of the vehicles on the route segments which has already been studied, but in
other contexts, e.g., for automated guided vehicles scheduling in manufacturing
systems [10] and quay crane and vehicles scheduling in container terminals [7].

In this work, we consider energy-efficient JSPT with speed scalable machines
and speed scalable vehicles that provide additional flexibility, which in turn
allows further energy reductions while providing the same level of service. In addition, this is a new problem since the JSPT literature has only considered machines and vehicles that, respectively, process and move jobs at a constant speed.

Therefore, the contributions of our work are twofold: i) we consider a chal-
lenging problem that has never been addressed before, the energy-efficient job
shop scheduling problem and transport resources (EEJSPT) with speed scalable
machines and with speed scalable vehicles which, in addition, is relevant to the
industry and ii) we develop a bi-objective MILP model that can be solved to
optimality for small-sized problem instances.

In the following sections we provide a brief description of the problem in
Section 2, propose the mathematical formulation of the problem in Section 3,
report and discuss the computational experiments in Section 4.

## 2 Problem Definition

This section provides a detailed description of the EEJSPT, which requires solving simultaneously five interdependent combinatorial optimization problems, namely: scheduling the production operations on each machine (machine scheduling), determining the machine processing speed of each production operation (machine speed assignment), assigning each transport task to a vehicle (transport assignment), scheduling the transport tasks on each vehicle (vehicle scheduling), and determining the vehicle travelling speed of each transport task (vehicle speed assignment).

The production system includes a set of independent jobs and a set of ma-
chines. Each job consists of a set of ordered operations each of which to be
processed uninterrupted on a given machine. Each machine can only process one
operation at a time and each job can only be processed on one machine at a time.
The machines can process each operation at one of several possible processing
speeds with a known energy consumption that depends on the processing time
and on the processing speed [11] (the higher the processing speed, the higher
the energy consumption). In addition, it is assumed that idle machines are in a
“stand-by” mode and have a negligible energy consumption. Furthermore, there
are no machine setup times and thus, whenever an operation is completed the
machine can start processing the next operation immediately.

Each job enters the production system through the load/unload (LU) area and needs to be transported, by a vehicle, to the machine processing its first operation, between the machines processing consecutive operations, and then from the machine processing its last operation back to the LU. Once a job reaches a machine it is either processed immediately, if the machine is idle, or it waits for the machine in the machine input buffer; either way the vehicle can promptly pursue its next assignment. Vehicles have to wait for a job if they reach the machine processing it before the operation being processed is completed.

The transport system comprises a set of identical vehicles that can carry one
job at a time and are initially parked at the LU area. The vehicles transport
the jobs between machines and also between machines and the LU area (and vice-versa). Since any vehicle can perform any transport task, vehicles may need to do an empty travel, from their current location (dwell point) to the location where the job of the next assignment needs to be picked up at, before performing the assigned task.

It is assumed that the transport tasks are nonpreemptive and can be per-
formed at different average speed levels. The vehicle's energy consumption per
time unit depends not only on the average speed of the vehicle, but also on its
load, i.e., empty travels have lower energy consumption than loaded ones. The
travel time and energy consumed between any two locations at each speed level
are known, since the layout is known and the transport tasks are nonpreemptive.
As is the case for machines, it is assumed that idle vehicles are in "stand-by"
mode and have negligible energy consumption.

Among all possible solutions for this problem, we are interested in those that
minimize both the makespan (completion time of the last production operation)
and the total energy consumption (by machines and vehicles).

3 MILP formulation

The EEJSPT problem considers a set $\mathcal{J}$ of jobs, each of which with $n_j$ ordered production operations to be processed on a set $\mathcal{I}$ of machines. Let all the production operations be a member of set $\mathcal{O} = \{o_1, o_2, \dots, o_N\}$, where $N = \sum_{j \in \mathcal{J}} n_j$ is the total number of operations. Then, 1 to $n_1$ represent the production operations of the first job ($o_1$ to $o_{n_1}$), $n_1 + 1$ to $n_1 + n_2$ represent the production operations of the second job ($o_{(n_1+1)}$ to $o_{(n_1+n_2)}$), and so on. Each production operation, say $o_l$, can be processed at any one of the speed levels in set $\mathcal{P}_l$, on the pre-specified machine $m_l \in \mathcal{I}$. The operation previous to operation $o_l$ is denoted by $\mu_l$, either a dummy operation $o_0$, if $o_l$ is the first operation of the job, or $o_{(l-1)}$ otherwise. (Note that $m_{o_0}$ is by default the LU area.) Clearly, the job needs to be transported from machine $m_{\mu_l}$ to machine $m_l$, before processing can start on $m_l$. Therefore, a transport task $t_l$ is associated with production operation $o_l$ and it is performed by one of the $A$ identical available vehicles, which can travel at any one of the speed levels in set $\mathcal{V}$.

Since each job consists of a set of ordered operations, each requiring a trans-
port task, it is clear that an operation/task can only be started once its predeces-
sor has been completed and its successor can only be started after its completion.
Therefore, we can define a list $\mathcal{F}$ of pairs of operations/tasks $(k, l)$ such that $o_l/t_l$
is a predecessor of $o_k/t_k$. (Note that $(k, k) \in \mathcal{F}$.) For example, if job 1 has at
least two ordered production operations, then the list has at least the following
pairs $(1, 1)$, $(2, 1)$ and $(2, 2) \in \mathcal{F}$.

Let us first define the parameters and decision variables and then provide
the MILP model and its description.

Parameters:

$\pi_l^p$: Processing time of operation $o_l, l \in \mathcal{O}$ at speed level $p \in \mathcal{P}_l,$
$e_l^p$: Energy consumption of machine $m_l$ when processing at speed level $p \in P_l$,

$\tau_{kl}^v$: Vehicle empty travel time from $m_k$ to $m_{\mu_l}$ for performing $t_l$ at speed level $v \in V$ immediately after completing $t_k$, $k, l \in O$;

$\tau_{0l}^v$: Vehicle empty travel time from LU area to $m_{\mu_l}$, performing $t_l$, $l \in O$ at speed level $v \in V$ as the first task of an AGV;

$\theta_l^v$: Vehicle loaded travel time from $m_{\mu_l}$ to $m_l$, $l \in O$ at speed level $v \in V$;

$\epsilon^v$: Vehicle energy consumption per time unit travelling empty at speed level $v \in V$;

$\epsilon^v$: Vehicle energy consumption per time unit travelling loaded at speed level $v \in V$;

**Decision Variables:**

$w_{kl}^p$: Binary variable taking the value 1 if $o_l, l \in O$ is processed at speed level $p \in P_l$ immediately after $o_k, k \in O$ in the same machine, and 0 otherwise;

$f_{lm_l}^p$: Binary variable taking the value 1 if $o_l, l \in O$ is processed at speed level $p \in P_l$ as the first operation in machine $m_l \in I$;

$t_{lm_l}$: Binary “dummy” variable taking the value 1 if $o_l, l \in O$ is the last operation processed in machine $m_l \in I$, and 0 otherwise,

$x_{kl}^v$: Binary variable taking the value 1 if $t_l, l \in O$ is done at speed level $v \in V$ immediately after $t_k, k \in O$ by the same vehicle, and 0 otherwise,

$y_l^v$: Binary variable taking the value 1 if $t_l, l \in O$ at speed level $v \in V$ is the first task of a vehicle, and 0 otherwise,

$z_l$: Binary “dummy” variable taking the value 1 if $t_l, l \in O$ is the last task of a vehicle, and 0 otherwise,

$c_l$: Production completion time of $o_l, l \in O$, ($c_0$ by default is 0),

$r_l$: Arrival time of the vehicle at the machine processing $o_l, l \in O$,

$C_{max}$: Makespan of the production operations,

$\mathcal{E}$: Total energy consumption in production operations and transport tasks.

$$ \text{Minimize: } \{C_{\max}, \mathcal{E}\} \qquad (1) $$

Subject to:

$$ C_{\max} \geq c_l, \quad \forall l \in O, \qquad (2) $$

$$ \begin{aligned} \mathcal{E} = & \sum_{\substack{k,l \in O: \\ (k,l) \notin \mathcal{F}}} \sum_{p \in P_l} (e_l^p w_{kl}^p) + \sum_{l \in O} \sum_{p \in P_l} (e_l^p f_{lm_l}^p) + \\ & \sum_{l \in O} \sum_{v \in V} y_l^v (\epsilon^v \theta_l^v + \epsilon^v \tau_{0l}^v) + \sum_{\substack{k,l \in O: \\ (k,l) \notin \mathcal{F}}} \sum_{v \in V} x_{kl}^v (\epsilon^v \theta_l^v + \epsilon^v \tau_{kl}^v), \end{aligned} \qquad (3) $$

$$ \sum_{p \in P_l} f_{lm_l}^p + \sum_{\substack{k \in O: \\ (k,l) \notin \mathcal{F}}} \sum_{p \in P_l} w_{kl}^p = 1, \quad \forall l \in O, \qquad (4) $$

$$ \sum_{k \in O: (l,k) \notin \mathcal{F}} \sum_{p \in P_l} w_{lk}^p + t_{lm_l} = 1, \quad \forall l \in O, \qquad (5) $$
$$ \sum_{l \in \mathcal{O}} \sum_{p \in \mathcal{P}_l} f_{lm_l}^p = 1 \qquad \forall m \in \mathcal{I}, \qquad (6) $$

$$ \sum_{l \in \mathcal{O}} t_{lm_l} = 1 \qquad \forall m \in \mathcal{I}, \qquad (7) $$

$$ \sum_{l \in \mathcal{O}} z_l = \sum_{l \in \mathcal{O}} \sum_{v \in \mathcal{V}} y_l^v \le A, \qquad (8) $$

$$ \sum_{v \in \mathcal{V}} y_l^v + \sum_{\substack{k \in \mathcal{O}: \\ (k,l) \notin \mathcal{F}}} \sum_{v \in \mathcal{V}} x_{kl}^v = 1, \qquad \forall l \in \mathcal{O}, \qquad (9) $$

$$ \sum_{\substack{k \in \mathcal{O}: \\ (l,k) \notin \mathcal{F}}} \sum_{v \in \mathcal{V}} x_{lk}^v + z_l = 1, \qquad \forall l \in \mathcal{O}, \qquad (10) $$

$$ c_l - r_l - \sum_{\substack{k \in \mathcal{O}: \\ (k,l) \notin \mathcal{F}}} \sum_{p \in \mathcal{P}_l} w_{kl}^p \pi_l^p - \sum_{p \in \mathcal{P}_l} f_{lm_l}^p \pi_l^p \ge 0, \qquad \forall l \in \mathcal{O}, \qquad (11) $$

$$ c_l - c_k - \sum_{p \in \mathcal{P}_l} w_{kl}^p \pi_l^p \ge M \left( \sum_{p \in \mathcal{P}_l} w_{kl}^p - 1 \right), \qquad \forall k, l \in \mathcal{O} : (k, l) \notin \mathcal{F}, \qquad (12) $$

$$ r_l - c_{\mu_l} - \sum_{\substack{k \in \mathcal{O}: \\ (k,l) \notin \mathcal{F}}} \sum_{v \in \mathcal{V}} x_{kl}^v \theta_l^v - \sum_{v \in \mathcal{V}} y_l^v \theta_l^v \ge 0, \qquad \forall l \in \mathcal{O}, \qquad (13) $$

$$ r_l - r_k - \sum_{v \in \mathcal{V}} x_{kl}^v (\tau_{kl}^v + \theta_l^v) \ge M \left( \sum_{v \in \mathcal{V}} x_{kl}^v - 1 \right), \quad \forall k, l \in \mathcal{O} : (k, l) \notin \mathcal{F}, \qquad (14) $$

$$ r_l - \sum_{v \in \mathcal{V}} y_l^v (\tau_{0l}^v + \theta_l^v) \ge 0, \qquad \forall l \in \mathcal{O}, \qquad (15) $$

$$ C_{\max}, \mathcal{E}, c_l, r_l \ge 0, \qquad \forall l \in \mathcal{O}, \qquad (16) $$

$$ w_{kl}^p, f_{lm_l}^p, t_{lm_l}, x_{kl}^v, y_l^v, z_l \in \{0, 1\}, \qquad \forall k, l \in \mathcal{O} : (k, l) \notin \mathcal{F}, p \in \mathcal{P}_l, v \in \mathcal{V}. \qquad (17) $$

The objective is to minimize the makespan and the total energy consumption as in Equation (1) and their values are given by expressions (2) and (3), respectively. Constraints (4) and (5) impose that each operation should be immediately followed and immediately preceded by exactly one other operation on the same machine. Constraints (8) ensure that the number of first and last tasks is the same and does not exceed the number of available vehicles. Constraints (9) and (10) require each transport task to be immediately followed and immediately preceded by exactly one other transport task, respectively.

Each operation can be completed once i) the job arrives at the machine and its processing time (at the chosen speed level) has elapsed (as in constraint 11) and ii) the previous operation on the same machine is completed, in addition to its own processing time (as in constraint 12), where M is a sufficiently large positive integer. Similarly, a job can only arrive at a machine after its previous operation has been completed and the job has been transported (see constraint(13)). In addition, if a vehicle has transported some other job to have an operation, say
$k \in O$, processed immediately before the current one, then it needs to (i) deliver such job to machine $m_k$, (ii) travel empty from machine $m_k$ to the job previous operation or the LU area if it is the job first operation, and (iii) deliver it to the corresponding machine, which is enforced by constraints (14). Clearly, if this is the first transport task of a vehicle, then it can be started immediately, see constraints (15). Finally, constraints (16) and (17) define the nature of the variables.

# 4 Results & Discussion

For evaluation purposes, we use a data set designed in [11] for EEJSP (with speed scalable machines) and adapt them for EEJSPT by adding layout data (randomly generated) and a fleet of two to six identical speed scalable vehicles. The instances are designated as Yin01 and Yin02 and have four and 10 jobs with 12 and 40 operations to be processed at two to three average speed levels in five and six machines, respectively. The speeds and energy consumption are borrowed from [8]. We consider three different vehicle speeds, namely: 0.9, 1.2, and 1.5 meters per second (m/s). The corresponding energy consumption is 63, 75, and 86 watts per second when traveling empty and 74, 90, and 108 watts per second when traveling loaded. (We assume the same weight of 48 Kilograms for all the jobs.) The full data set can be downloaded from https://fastmanufacturingproject.wordpress.com/ problem-instances/.

The MILP model was implemented in Python® 3.7 and solved using Gurobi® 9.0. All computational experiments were carried out on a 3.20 GHz Intel® Core™ i7-8700 PC with 24 GB RAM.

The bi-objective model was solved using a “lexicographic” methodology [7] which allows for finding two extreme best solutions of the problem. Table 1 reports instance characteristics (J-number of jobs, N-number of operations and tasks, M-number of machines, and A-number of vehicles), and TT a coefficient used to change the magnitude of travel times. We also report the minimum makespan ($C_{max}^*$) and the associated energy consumption ($\mathcal{E}$), the minimum energy consumption ($\mathcal{E}^*$) and the associated makespan ($C_{max}$) under three different scenarios in which (i) all machines and vehicles operate always at the lowest speed (LS), (ii) all machines and vehicles operate always at the highest speed (HS), and (iii) operating speed levels are chosen for each operation and for each task among the three speed levels considered (3S). Finally, the GAP values for the objective values under 3S scenario are computed. For instance, $GAP_{\mathcal{E}^*} = \frac{\mathcal{E}_{(3S)}^* - \mathcal{E}_{(LS)}^*}{\mathcal{E}_{(LS)}^*} \times 100$, where $\mathcal{E}_{(3S)}^*$ and $\mathcal{E}_{(LS)}^*$ are the minimum energy consumption under 3S and LS scenarios, respectively.

The results show that under the 3S scenario the $\mathcal{E}^*$ can be decreased in comparison to the one obtained in scenario LS, on average, by about 7%. It is interesting to notice that decreasing $\mathcal{E}^*$ not only does not imply additional time, but also, in most cases, allows for its reduction (on average, by about 17.5%). Regarding the $C_{max}^*$, under the 3S scenario we can obtain the same values as those obtained under the HS scenario while significantly decreasing the
energy consumption (on average by 9% and by up to 25%). Therefore, unlike the common belief that minimum energy consumption can only be achieved at the expense of a longer makespan, we show that speed management can be used not only to decrease the energy consumption but also to decrease it without sacrificing the makespan.

Considering zero travel times, the extreme solutions found under the 3S scenario match those found in [11] for EEJSP problem instances which in turn validates our MILP model and its implementation. Moreover, considering doubled travel times increases the problem complexity. Accordingly, the MILP model was not able to solve Yin02 to optimality. Nevertheless, it can solve it if there are two more vehicles.

<table><caption>**Table 1.** Results for small-sized problem instances under three different scenarios.</caption><thead><tr><th colspan="2">Instances</th><th colspan="2">LS</th><th colspan="2">HS</th><th colspan="2">3S</th><th colspan="2">GAPs</th></tr><tr><th>Name</th><th>J-N-M-A</th><th>TT</th><th>ε<sup>*</sup> C<sub>max</sub></th><th>C<sub>max</sub><sup>*</sup></th><th>ε</th><th>ε<sup>*</sup> C<sub>max</sub></th><th>C<sub>max</sub><sup>*</sup></th><th>ε</th><th>ε<sup>*</sup> C<sub>max</sub></th><th>C<sub>max</sub><sup>*</sup></th></tr></thead><tbody><tr><td rowspan="3">Yin01</td><td>4-12-5-2</td><td>0</td><td>4.89</td><td>35.0</td><td>22.0</td><td>6.79</td><td>4.82</td><td>35.0</td><td>22.0</td><td>5.81</td></tr><tr><td>4-12-5-2</td><td>1</td><td>4.94</td><td>58.9</td><td>24.8</td><td>6.84</td><td>4.86</td><td>42.4</td><td>24.8</td><td>6.21</td></tr><tr><td>4-12-5-2</td><td>2</td><td>4.99</td><td>72.0</td><td>39.6</td><td>6.89</td><td>4.91</td><td>58.7</td><td>39.6</td><td>5.17</td></tr><tr><td rowspan="3">Yin02</td><td>10-40-6-4</td><td>0</td><td>20.22</td><td>61.0</td><td>40.0</td><td>19.39</td><td>17.73</td><td>56.0</td><td>39.0</td><td>19.39</td></tr><tr><td>10-40-6-4</td><td>1</td><td>20.42</td><td>74.3</td><td>44.4</td><td>19.57</td><td>17.90</td><td>56.6</td><td>44.4</td><td>18.87</td></tr><tr><td>10-40-6-6</td><td>2</td><td>20.59</td><td>85.0</td><td>50.1</td><td>19.75</td><td>18.05</td><td>62.7</td><td>50.1</td><td>19.31</td></tr></tbody><tfoot><tr><td colspan="2">Mean</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-6.94</td><td>-17.47</td><td>-0.42</td><td>-9.06</td></tr></tfoot></table>

The EEJSPT addressed in this paper is harder than most scheduling problems, since it involves not only scheduling production operations and transport tasks but also the determination of processing and transport speed levels for each operation and each task, respectively. The numerical analysis shows that the use of speed scalable resources can decrease the energy consumption and/or makespan at almost no extra operational cost.

## References

1. Abedi, M., Chiong, R., Noman, N., Zhang, R.: A multi-population, multi-objective memetic algorithm for energy-efficient job-shop scheduling with deteriorating machines. Expert Systems with Applications **157**, 113348 (2020)

2. Aghelinejad, M., Ouazene, Y., Yalaoui, A.: Energy optimization of a speed-scalable and multi-states single machine scheduling problem. In: New trends in emerging complex real life problems, pp. 23–31. Springer (2018)

3. Aghelinejad, M., Ouazene, Y., Yalaoui, A.: Complexity analysis of energy-efficient single machine scheduling problems. Operations Research Perspectives **6**, 100105 (2019)

4. Dai, M., Zhang, Z., Giret, A., Salido, M.A.: An enhanced estimation of distribution algorithm for energy-efficient job-shop scheduling problems with transportation constraints. Sustainability **11**(11), 3085 (2019)

5. Fang, K., Uhan, N., Zhao, F., Sutherland, J.: Flow shop scheduling with peak power consumption constraints. Annals of Operations Research **206**(1), 115–145 (2013)
6. Fontes, D., Homayouni, S.: Joint production and transportation scheduling in flexible manufacturing systems. Journal of Global Optimization **74**(4), 879–908 (2019)

7. Homayouni, S., Fontes, D.: Energy-efficient scheduling of intra-terminal container transport. In: M.J., B., P., P., H., C., J.P., T. (eds.) Intelligent Control and Smart Energy Management: Renewable Resources and Transportation. pp. 1–28. Springer International Publishing (2021)

8. Meißner, M., Massalski, L.: Modeling the electrical power and energy consumption of automated guided vehicles to improve the energy efficiency of production systems. The International Journal of Advanced Manufacturing Technology **110**(1), 481–498 (2020)

9. Mouzon, G., Yildirim, M.: A framework to minimise total energy consumption and total tardiness on a single machine. International Journal of Sustainable Engineering **1**(2), 105–116 (2008)

10. Riazi, S., Bengtsson, K., Lennartson, B.: Energy optimization of large-scale agv systems. IEEE Transactions on Automation Science and Engineering (2020)

11. Yin, L., Li, X., Gao, L., Lu, C., Zhang, Z.: Energy-efficient job shop scheduling problem with variable spindle speed using a novel multi-objective algorithm. Advances in Mechanical Engineering **9**(4), 1–21 (2017)

12. Zhang, L., Li, Z., Królczyk, G., Wu, D., Tang, Q.: Mathematical modeling and multi-attribute rule mining for energy efficient job-shop scheduling. Journal of Cleaner Production **241**, 118289 (2019)