Algorithms For Scheduling Problems
Algorithms For Scheduling Problems
Algorithms
for Scheduling
Problems
Edited by
Frank Werner, Larysa Burtseva and Yuri Sotskov
Printed Edition of the Special Issue Published in Algorithms
www.mdpi.com/journal/algorithms
Algorithms for Scheduling Problems
Algorithms for Scheduling Problems
Yuri Sotskov
United Institute of Informatics Problems
Belarus
Editorial Office
MDPI
St. Alban-Anlage 66
Basel, Switzerland
This is a reprint of articles from the Special Issue published online in the open access journal
Algorithms (ISSN 1999-4893) in 2018 (available at: http://www.mdpi.com/journal/algorithms/
special issues/Scheduling Problems)
For citation purposes, cite each article independently as indicated on the article page online and as
indicated below:
LastName, A.A.; LastName, B.B.; LastName, C.C. Article Title. Journal Name Year, Article Number,
Page Range.
Articles in this volume are Open Access and distributed under the Creative Commons Attribution
(CC BY) license, which allows users to download, copy and build upon published articles even for
commercial purposes, as long as the author and publisher are properly credited, which ensures
maximum dissemination and a wider impact of our publications. The book taken as a whole
is
c 2018 MDPI, Basel, Switzerland, distributed under the terms and conditions of the Creative
Commons license CC BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/4.0/).
Contents
Nodari Vakhania
Scheduling a Single Machine with Primary and Secondary Objectives
Reprinted from: Algorithms 2018, 11, 80, doi: 10.3390/a11060080 . . . . . . . . . . . . . . . . . . . 41
D. G. Mogale, Geet Lahoti, Shashi Bhushan Jha, Manish Shukla, Narasimha Kamath and
Manoj Kumar Tiwari
Dual Market Facility Network Design under Bounded Rationality
Reprinted from: Algorithms 2018, 11, 54, doi: 10.3390/a11040054 . . . . . . . . . . . . . . . . . . . 128
v
Alexander Yu. Drozdov, Andrei Tchernykh, Sergey V. Novikov, Victor E. Vladislavlev and
Raul Rivera-Rodriguez
PHEFT: Pessimistic Image Processing Workflow Scheduling for DSP Clusters
Reprinted from: Algorithms 2018, 11, 76, doi: 10.3390/a11050076 . . . . . . . . . . . . . . . . . . . 180
vi
About the Special Issue Editors
Frank Werner, Apl. Prof. Dr. rer. nat. habil., studied Mathematics from 1975–1980 and graduated
from the Technical University Magdeburg with honors. He defended his Ph.D. thesis on the solution
of special scheduling problems in 1984 with ”summa cum laude” and his habilitation thesis in 1989.
In 1992, he received a grant from the Alexander-von-Humboldt Foundation. He currently works
as an extraordinary professor at the Faculty of Mathematics of the Otto-von-Guericke University
Magdeburg (Germany). He is an editor of one monograph and an author of three further books, as
well as of more than 250 publications in international journals. He is on the Editorial Board of 14
journals, and in particular is an Associate Editor of the International Journal of Production Research and
the Journal of Scheduling. He was a member of the Program Committee of more than 50 international
conferences. His research interests are Operations Research, Combinatorial Optimization and
Scheduling.
Larysa Burtseva, Dr., graduated from the Rostov State University (Russia) in Economic Cybernetics
(1975) and defended her Ph.D. thesis on Control in Technical Systems (Technical Cybernetics, 1989) at
the Radioelectronics University of Kharkov (Ukraine). Since 2000 she has worked as a full professor
at the Engineering Institute of The Universidad Autónoma de Baja California, Mexicali, Mexico.
She has led the Laboratory of Scientific Computation since 2005. She has more than 70 publications
in international journals and conference proceedings, as well as six book chapters. Her research
interests are Discrete Optimization, particularly Combinatorial Optimization, Scheduling, and also
packing problems for different applications. She is a member of the National System of Researchers
of the National Council for Science and Technology of Mexico (SNI CONACYT) and is a regular
member of The Mexican Academy of Computation (AMEXCOMP).
Yuri N. Sotskov, Prof. D. Sc., finished secondary school with a gold medal in 1966 and graduated
from the Faculty of Applied Mathematics of the Belarusian State University in Minsk in 1971. In 1980,
he defended his Ph.D. thesis at the Institute of Mathematics of the National Academy of Sciences
of Belarus. In 1991, he defended his D.Sc. thesis at the Institute of Cybernetics of the National
Academy of Sciences of Ukraine. He has the title of Professor in Application of Mathematical Models
and Methods in Scientific Research (Russian Academy of Sciences, 1994). He currently works as
a principal researcher at the United Institute of Informatics Problems of the National Academy of
Sciences of Belarus. He has more than 350 publications: five scientific monographs, two text books,
more than 150 papers in international journals, books, and conference proceedings in English on
applied mathematics, operations research, and scheduling. He is on the Editorial Board of four
journals. He has been a supervisor of eight Ph.D. students (defended). In 1998, he received the
National Prize of Belarus in Science and Engineering.
vii
Preface to ”Algorithms for Scheduling Problems”
Optimal scheduling is an important area of operations research, as it has both theoretical and
practical aspects. It is clear that efficient algorithms are most desirable for practical applications,
since most real-world scheduling problems have large sizes but require fast decisions. Due to this,
practitioners often prefer to use rather simple algorithms which provide schedules that may be far
from optimal with respect to their quality.
This book is based on a Special Issue entitled ”Algorithms for Scheduling Problems”. In the
Call for Papers, we invited prospective authors to submit their latest research in the area of the
development of scheduling algorithms. We were looking for new and innovative approaches to
solving scheduling problems exactly or approximately. High-quality papers were solicited to address
both theoretical and practical issues of scheduling algorithms. Submissions were welcome both
for traditional scheduling problems, as well as for new applications. We mentioned that potential
topics included, but were not limited to, sequencing in single-stage systems and multi-stage systems
with additional constraints such as setup times or costs, precedence constraints, batching, lot sizing,
resource constraints, etc., also including single- or multi-criteria objectives and a broad range of
scheduling problems in emerging applications such as sports, healthcare, and energy management.
In response to the Call for Papers, we selected eleven submissions, all of which are of high quality,
reflecting the stable and growing interest in the area of effective and efficient algorithms to solve
problems for real-world production planning and scheduling. All submissions have been reviewed
by at least three experts in the operations research area. Each chapter of this book contains one of these
selected papers. We hope that practical schedulers will find some interesting theoretical ideas in this
Special Issue, while researchers will find new practical directions for implementing their scheduling
algorithms. In the following, we give some short comments on the particular chapters.
The first three chapters deal with single-machine problems. Chapter 1 presents a new greedy
insertion heuristic with a multi-stage filtering mechanism for energy-efficient single-machine
scheduling. The authors wrote that in order to improve energy efficiency and maintain the stability
of the power grid, time-of-use (TOU) electricity tariffs have been widely used around the world,
which bring both opportunities and challenges to energy-efficient scheduling problems. Although
methods based on discrete-time or continuous-time models have been suggested for addressing these
problems, they are deficient in solution quality or time complexity, especially when dealing with
large-size instances. For such problems, a new greedy insertion heuristic algorithm with a multi-stage
filtering mechanism including coarse granularity and fine granularity filtering is developed in this
paper. To show the effectiveness of the proposed algorithm, a real case study is provided, and detailed
computational results are given.
Chapter 2 is devoted to a stability approach to scheduling problems with uncertain parameters.
The stability approach combines a stability analysis of the optimal schedules with respect to possible
variations of the job processing times, a multi-stage decision framework, and the solution concept
of a minimal dominant set of schedules, which optimally covers all possible scenarios (i.e., for any
fixed scenario, this minimal dominant set contains at least one optimal schedule). In contrast to fuzzy,
stochastic, and robust approaches, the aim of the stability approach is to construct a schedule which
remains optimal for the most possible scenarios. If there exists a schedule dominating the other ones
for all possible scenarios, then this schedule remains optimal for each scenario, which may be realized.
This may be possible if the level of uncertainty is not high. Otherwise, a decision-maker must look
ix
for a schedule which provides optimal—or close to optimal—objective function values for the most
possible scenarios among other schedules. To this end, the desired schedule must dominate a larger
number of the schedules. This may be possible if the schedule has the largest optimality (stability)
box. The authors address a single-machine scheduling problem with uncertain durations of the given
jobs. The objective function is the minimization of the sum of the job completion times. The stability
approach is applied to the considered uncertain scheduling problem using the relative perimeter
of the optimality box as a stability measure of the optimal job permutation. The properties of the
optimality box are investigated and used to develop algorithms for constructing job permutations
that have the largest relative perimeters of the optimality box.
Chapter 3 addresses a scheduling problem where jobs with given release times and due dates must
be processed on a single machine. The primary criterion of minimizing the maximum lateness of the
given jobs makes this problem strongly NP-hard. The author proposes a general algorithmic scheme
to minimize the maximum lateness of the given jobs, with the secondary criterion of minimizing
the maximum completion time of the given jobs. The problem of finding a Pareto optimal set of
solutions with the above two criteria is also strongly NP-hard. The author states the properties of
the dominance relation along with conditions when a Pareto optimal set of solutions can be found
in polynomial time. The proven properties of the dominance relation and the proposed general
algorithmic scheme provide a theoretical background for constructing an implicit enumeration
algorithm that requires an exponential running time and a polynomial approximation algorithm. The
latter allows for the generation of a Pareto sub-optimal frontier with a fair balance between the above
two criteria. The next three chapters deal with flow shop and job shop scheduling problems as well
as their hybrid (flexible) variants, often inspired by real-life applications.
In Chapter 4, the maximization of the number of just-in-time jobs in a permutation flow shop
scheduling problem is considered. A mixed integer linear programming model to represent the
problem as well as solution approaches based on enumerative and constructive heuristics are
proposed and computationally implemented. The ten constructive heuristics proposed produce
good-quality results, especially for large-scale instances in reasonable time. The two best heuristics
obtain near-optimal solutions, and they are better than adaptations of the classic NEH heuristic.
Chapter 5 addresses a scheduling problem in an actual environment of the tortilla industry.
A tortilla is a Mexican flat round bread made of maize or wheat often served with a filling
or topping. It is the most consumed food product in Mexico, so efficient algorithms for their
production are of great importance. Since the underlying hybrid flow-shop problem is NP-hard,
the authors focus on suboptimal scheduling solutions. They concentrate on a complex multi-stage,
multi-product, multi-machine, and batch production environment considering completion time and
energy consumption optimization criteria. The proposed bi-objective algorithm is based on the
non-dominated sorting genetic algorithm II (NSGA-II). To tune it, the authors apply a statistical
analysis of multi-factorial variance. A branch-and-bound algorithm is used to evaluate the heuristic
algorithm. To demonstrate the practical relevance of the results, the authors examined their solution
on real data.
Chapter 6 is devoted to the effectiveness in managing disturbances and disruptions in railway
traffic networks, when they inevitably do occur. The authors propose a heuristic approach for
solving the real-time train traffic re-scheduling problem. This problem is interpreted as a blocking
job-shop scheduling problem, and a hybridization of the mixed graph and alternative graph is used
for modeling the infrastructure and traffic dynamics on a mesoscopic level. A heuristic algorithm is
x
developed and applied to resolve the conflicts by re-timing, re-ordering, and locally re-routing the
trains. A part of the Southern Swedish railway network from the center of Karlskrona to Malmö city
is considered for an experimental performance assessment of the approach. A comparison with the
corresponding mixed-integer program formulation, solved by the commercial state-of-the-art solver
Gurobi, is also made to assess the optimality of the generated solutions.
Chapter 7 deals with a generalization of the job shop problem. It is devoted to a formalization of
the resource-constrained project scheduling problem (RCPSP) in terms of combinatorial optimization
theory. The transformation of the original RCPSP into a combinatorial setting is based on interpreting
each operation as an atomic entity that has a defined duration and has to reside on the continuous
time axis, meeting additional restrictions. The simplest case of continuous-time scheduling assumes
a one-to-one correspondence between the resources and operations and corresponds to a linear
programming problem setting. However, real scheduling problems include many-to-one relations
that lead to an additional combinatorial component in the formulation of the RCPSP due to the
competition of the operations. The authors investigate how to apply several typical algorithms
to solve the resulting combinatorial optimization problem: an enumerative algorithm including a
branch-and-bound method, a gradient algorithm, or a random search technique.
The next three chapters deal with complex manufacturing systems and supply chains, respectively.
Chapter 8 considers a number of geographically separated markets, with different demand
characteristics for different products that share a common component. This common component can
either be manufactured locally in each of the markets or transported between the markets to fulfill
the demand. However, final assemblies are localized to the respective markets. The decision-making
challenge is whether to manufacture the common component centrally or locally. To formulate this
problem, a newsvendor modeling-based approach is considered. The developed model is solved
using a Frank–Wolfe linearization technique along with Benders’ decomposition method.
The authors of Chapter 9 write that the current literature presents optimal control computational
algorithms with regard to state, control, and conjunctive variable spaces. The authors of this chapter
first analyze the advantages and limitations of different optimal control computational methods and
algorithms which can be used for short-term scheduling. Second, they develop an optimal control
computational algorithm that allows the optimal solution of short-term scheduling. Moreover, a
qualitative and quantitative analysis of the scheduling problem arising in the manufacturing system
is presented.
Chapter 10 is devoted to a graph model of hierarchical supply chains. The goal is to measure
the complexity of the links between different components of the chain (e.g., between the principal
equipment manufacturer and its suppliers). The information entropy is used as a measure of
knowledge about the complexity of shortages and pitfalls in relationship to the supply chain
components under uncertainty. The concept of conditional entropy is introduced as a generalization
of the conventional entropy. An entropy-based algorithm is developed, providing an efficient
assessment of the supply chain complexity as a function of the supply chain size.
Finally, Chapter 11 deals with an image processing work-flow scheduling problem on a multi-core
digital signal processor cluster. It presents an experimental study of scheduling strategies including
task labeling, prioritization, and resource selection. The authors apply the above strategies as
executing the Ligo and Montage application. A joint analysis of three conflicting goals based on the
performance degradation provides an effective guideline for choosing a better strategy. A case study
is discussed. The experimental results demonstrate that a pessimistic scheduling approach works
xi
better than an optimistic one, and leads to the best optimization criteria trade-offs. The pessimistic
heterogeneous earliest finish time (PHEFT) scheduling algorithm performs well in different scenarios
with a variety of workloads and cluster configurations. The developed PHEFT strategy also has a
lower time complexity in comparison with earlier versions, known as HEFT (heterogeneous earliest
finish time first).
The editors of this book would like to thank the authors for submitting their high-quality works,
the reviewers for their timely constructive comments, and the editorial staff of the MDPI AG for
their assistance in promptly managing the review process and for their continuous support in the
preparation of this book whenever needed. We hope that the reader will find stimulating ideas for
developing new approaches and algorithms for different types of scheduling problems. Due to the
large interest in this subject, we plan to prepare a Volume 2 of the Special Issue ”Algorithms for
Scheduling Problems”. The submission deadline (in autumn 2019) will be announced on the website
of the journal Algorithms later in this year.
Frank Werner, Larysa Burtseva, Yuri Sotskov
Special Issue Editors
xii
algorithms
Article
A New Greedy Insertion Heuristic Algorithm with a
Multi-Stage Filtering Mechanism for Energy-Efficient
Single Machine Scheduling Problems
Hongliang Zhang *, Youcai Fang, Ruilin Pan and Chuanming Ge
School of Management Science and Engineering, Anhui University of Technology, Ma’anshan 243032, China;
ahutfangyoucai@163.com (Y.F.); rlpan9@ahut.edu.cn (R.P.); 13083209689@163.com (C.G.)
* Correspondence: zhanghongliang_17@126.com; Tel.: +86-555-231-5379
Abstract: To improve energy efficiency and maintain the stability of the power grid, time-of-use
(TOU) electricity tariffs have been widely used around the world, which bring both opportunities and
challenges to the energy-efficient scheduling problems. Single machine scheduling problems under
TOU electricity tariffs are of great significance both in theory and practice. Although methods based
on discrete-time or continuous-time models have been put forward for addressing this problem,
they are deficient in solution quality or time complexity, especially when dealing with large-size
instances. To address large-scale problems more efficiently, a new greedy insertion heuristic algorithm
with a multi-stage filtering mechanism including coarse granularity and fine granularity filtering
is developed in this paper. Based on the concentration and diffusion strategy, the algorithm can
quickly filter out many impossible positions in the coarse granularity filtering stage, and then,
each job can find its optimal position in a relatively large space in the fine granularity filtering stage.
To show the effectiveness and computational process of the proposed algorithm, a real case study
is provided. Furthermore, two sets of contrast experiments are conducted, aiming to demonstrate
the good application of the algorithm. The experiments indicate that the small-size instances can be
solved within 0.02 s using our algorithm, and the accuracy is further improved. For the large-size
instances, the computation speed of our algorithm is improved greatly compared with the classic
greedy insertion heuristic algorithm.
1. Introduction
Driven by the rapid development of global economy and civilization, there will be a consistent
growth in energy consumption in the years ahead. According to a survey of the International Energy
Agency (IEA), the world-wide demand for energy will increase by 37% by 2040 [1]. Non-renewable
energy resources such as coal, oil, and gas are diminishing day-by-day, which is threatening the
sustainable development of many countries. Meanwhile, greenhouse gas emissions generated from
inappropriate usage of fossil fuels have taken a heavy toll on the global climate as well as the
atmospheric environment [2]. Therefore, how to save energy and then improve the environment
quality has become a pressing matter of the moment.
As the backbone of many countries, the industrial sector consumes about half of the world’s
total energy and emits the most greenhouse gases [3,4]. Hence, energy saving in the industry sector
has priority in promoting sustainable economic development. As we all know, most of the energy is
converted into the form of electricity that numerous industrial sectors use as their main energy [5,6].
Nevertheless, electricity is hard to store effectively, and thus, must be produced and delivered to its
customers at once [7]. In addition, the electricity demand is always uneven, which leads to an increase
in generating cost owing to the utilization of backup power facilities during peak hours [8]. In order
to maintain balance between electricity supply and demand, electricity providers usually implement
demand-side management programs [9], which are an essential component of realizing the goals of a
smart grid and rationalizing the allocation of power resources [10].
One of the demand-side management programs is time-of-use (TOU) electricity tariffs, which
have been widely used around the world. Usually, a common TOU tariff scheme can be divided
into three types of periods: off-peak, mid-peak, and on-peak periods. The basic nature of the TOU
scheme is that the retail prices set by electricity providers vary hourly throughout the day according to
the amount of electricity demands; when there is an increase in demand, the electricity cost goes up
correspondingly, and vice versa [11]. The practice of TOU electricity tariffs not only provides significant
opportunities for the industrial sector to enhance energy efficiency, but also avoids power rationing
during on-peak periods, and improves the stability of the power grid [7].
Using low-energy equipment and improving the efficiency of production management are two
important methods to save energy [12]. As a widely used production management method, scheduling
can effectively control energy consumption [13], which brings a lower cost of operation. However,
the studies about energy-saving scheduling are still limited [14]. Over recent years, energy-efficient
scheduling problems have gradually aroused the attention of scholars. To achieve the goal of energy
saving during the production process, some researchers have investigated the problems with various
energy-efficient mechanisms to reduce electricity costs by minimizing overall energy consumption,
such as speed-scaling [15–18] and power-down [19–21], while others have studied the problems from
the perspective of TOU electricity tariffs, which has become a frontier issue in this field.
As for researching scheduling problems under TOU electricity tariffs, there has been a growing
interest recently. Considering both production and energy efficiency, Luo et al. [22] proposed an
ant colony optimization meta-heuristic algorithm for hybrid flow shop scheduling problems under
TOU electricity tariffs. Zhang et al. [12] studied a flow shop scheduling problem with production
throughput constraints to minimize electricity cost and the carbon footprint simultaneously. Sharma
et al. [23] presented a so called “econological scheduling” model for a speed-scaling multi-machine
scheduling problem aimed to minimize the electricity cost and environmental impact. Moon et al. [24]
examined the unrelated parallel machine scheduling problem under TOU electricity tariffs to optimize
the weighted sum of makespan and electricity cost. Ding et al. [7] and Che et al. [25] addressed a similar
parallel machine scheduling problem under TOU electricity tariffs to minimize the total electricity cost.
The former developed a time-interval-based mixed-integer linear programming (MILP) model and a
column generation heuristic algorithm. The latter improved the former model by providing a linear
programming relaxation and a two-stage heuristic algorithm.
Single machine scheduling problems are of great significance both in theory and practice.
On one hand, there are many single machine scheduling problems in the real industrial environment.
For example, a Computer Numerical Control (CNC for short) planer horizontal milling and boring
machine can be regarded as a single machine. On the other hand, the research results and methods of
single machine scheduling problems can provide reference for other scheduling problems, such as flow
shop, job shop, and parallel machine scheduling problems. For single machine scheduling problems
under TOU electricity tariffs, Wang et al. [26] investigated a single-machine batch scheduling problem
to minimize the makespan and the total energy costs simultaneously. Considering the TOU electricity
tariffs and the power-down mechanism, Shrouf et al. [27] proposed a model that enables the operations
manager to determine the “turning on” time, “turning off” time, and idle time at machine level, leading
to a significant reduction in electricity cost by avoiding on-peak periods. Gong et al. [28] developed a
mixed integer linear programming model and a genetic algorithm for the same problem, reducing
electricity cost and greenhouse gas emissions effectively during peak time periods. Without considering
a power-down mechanism, Fang et al. [29] studied the single machine scheduling problem under TOU
2
Algorithms 2018, 11, 18
electricity tariffs systematically to minimize the total electricity costs. They divided the problem into the
two cases of uniform-speed and speed-scalable, in which a preemptive version and a non-preemptive
version were investigated respectively. For the uniform-speed case with non-preemptive assumption
(Problem U-pyr), they demonstrated that the problem is strongly non-deterministic polynomial-time
hard (NP-Hard). Note that the Problem U-pyr is the same as our problem. Based on Fang et al. [29],
Che et al. [9] investigated a continuous-time MILP model for Problem U-pyr and developed a
greedy insertion heuristic algorithm(GIH) that is the most classic method for this problem until
now, according to our best knowledge. In their algorithm, the jobs are inserted into available periods
with lower electricity prices in sequence, and the jobs with higher power consumption rates are mostly
assigned to periods with lower electricity prices by traversing all non-full “forward blocks” and
“backward blocks”.
However, Fang et al. [29] did not establish a complete mathematical model for the single machine
scheduling problem (Problem U-pyr) under TOU electricity tariffs, and their algorithm is only feasible
in the condition that all the jobs have the same workload and the TOU tariffs follow a so-called
pyramidal structure. Regrettably, the TOU electricity tariffs rarely follow a complete pyramidal
structure in most provinces in China. To perfect the theory of Fang et al. [29], Che et al. [9] developed
a new model and algorithm, but their algorithm requires that all the jobs must traverse all non-full
“forward blocks” and “backward blocks”, causing a strong high-time complexity. Especially when
the processing times of the jobs are relatively short, it usually takes several jobs to fill one period and
generates uneven remaining idle times, which leads to an increase in the number of forward and
backward blocks required to be calculated. In addition, the generation process of “forward (backward)
block” is limited to the job movements that do not incur additional electricity cost, which may cause
some jobs to miss the optimum positions.
Thus, by focusing on the jobs with short processing times, this paper proposes a more
efficient greedy insertion algorithm with a multi-stage filtering mechanism (GIH-F) based on the
continuous-time MILP model to address these issues. The proposed algorithm mainly consists of two
stages: coarse granularity filtering and fine granularity filtering. In the coarse granularity filtering
stage, all the possible positions are first divided into three levels (i.e., three layers) according to the
price of electricity, corresponding to high-price, medium-price, and low-price layers. Then, all the jobs
are sorted in non-increasing order of their electricity consumption rates and assigned to the layer with
a lower price successively. Based on the concentration and diffusion strategy, once the layer to which a
job belongs is determined, the hunting zone of possible positions of a job is concentrated in a certain
layer. To find the optimal position, the job to be inserted can search for its position in a relatively large
space in the selected layer. Then, considering processing times, electricity consumption rates of the
jobs and electricity prices, the electricity cost with respect to each possible position can be compared
using characteristic polynomials. Based on these, several judgment conditions can be set up in for a
fine granularity filtering stage to determine the position of each job to be inserted.
To summarize, the proposed algorithm can filter out impossible layers, and then judge each
condition that belongs to the selected layer successively. Once the condition is satisfied, the job is just
inserted into the corresponding position. Through coarse granularity filtering and fine granularity
filtering, our algorithm does not have to traverse all possible positions, which leads to a great reduction
in the time complexity. A real case study and two sets of randomly generated instances are used to test
the performance of the proposed algorithm in this paper.
The rest of this paper is organized as follows. Section 2 presents a description of the single machine
scheduling problem under TOU electricity tariffs. In Section 3, an efficient GIH-F is developed. Next,
a real case study and two sets of experimental tests are provided in Section 4. Finally, the conclusions
and prospects are presented in Section 5.
3
Algorithms 2018, 11, 18
In addition, a job is called processed within a period if both its starting time and completion
time are within the same period. Otherwise, it is called processed across periods [9]. Let dk and Xk ,
k ∈ M, represent the duration of period k and the total already assigned processing times in period k,
respectively. The difference between dk and Xk is defined as the remaining idle time of period k which
is represented by Ik , k ∈ M. If Ik = 0, the period k is called full.
The MILP model for the single machine scheduling problem can be presented as follows:
n m
Min TEC = ∑ ∑ pi xi,k ci (1)
i =1 k =1
s.t.
m
∑ xi,k = ti , i ∈ N; (2)
k =1
n
∑ xi,k ≤ bk+1 − bk , k ∈ M; (3)
i =1
Equation (1), the objective is to minimize the total electricity cost (TEC). Constraints (2)–(4) are
associated with the processing time assigned to periods. Constraints (5) and (6) are used to guarantee
the non-preemptive assumption. Specifically, constraint (5) guarantees that if a job is processed across
4
Algorithms 2018, 11, 18
more than one period, it must occupy several continuous periods. Constraint (6) ensures that if a job is
processed across three periods, the middle period must be fully occupied by the job. Constraint (7)
ensures that, at most, one job is processed across any pair of adjacent periods. An illustration to the
MILP model is given by an example of a 2-job single machine scheduling problem under a 3-period
TOU scheme, as shown in Figure 1. Note that more detailed explanations of the formulas can be seen
in Che et al. [9].
5
Algorithms 2018, 11, 18
period or processed across a set of adjacent periods consisting of an off-peak period, a mid-peak period,
and an on-peak period. Obviously, the electricity prices corresponding to the positions in this layer are
relatively higher than layer 1. In layer 3, the vast majority of the jobs are processed across a pair of
periods consisting of a mid-peak period and an on-peak period or processed within an on-peak period.
The electricity prices of the positions corresponding to 3rd layer are the highest.
Then, all the jobs are sorted in non-increasing order of their electricity consumption rates and
assigned to the layer with a lower price successively to achieve the preliminary coarse granularity
filtering target. Once the layer to which a job belongs is determined, the hunting zone of possible
positions of a job is concentrated in a certain layer. In the fine granularity filtering stage, several
judgment conditions are set up to determine the position of each job to be inserted using characteristic
polynomials based on considering processing time, electricity consumption rate of the job, and
electricity price. What is more, aiming to find the optimal position, the hunting zone of possible
positions of a job is properly expanded in this stage.
Assuming that a job, say job i, whose processing time does not exceed the duration of the shortest
on-peak period, is to be inserted, the idea of the proposed algorithm is given as follows.
Layer 1 includes conditions 1–2. If ∃k ∈ A, ti ≤ maxk∈ A { Ik } + Ik+1 , job i is assigned to layer 1.
Obviously, at the very start, the off-peak periods are preferentially occupied by the jobs with high
power consumption rates, since all the jobs are sorted in advance.
Condition 1: ∃k ∈ A, ti ≤ Ik .
If Condition 1 is satisfied, job i can be directly processed within an off-peak period with the lowest
electricity price. Note that each job processed within a period is placed to the leftmost side of the
period. An illustration is given in Figure 3 (i.e., job 3 is a job to be inserted, and t3 < I4 ). It is noteworthy
that the smaller the number of the job, the greater the power consumption rate.
6
Algorithms 2018, 11, 18
priority, compared with other off-peak, mid-peak, and on-peak periods. Thus, job i is preferred to be
processed across periods k, k + 1, and k + 2. Meanwhile, the corresponding electricity cost is named
as cost1. However, if job i is processed within a mid-peak period (i.e., the corresponding electricity
cost is named as cost2), the electricity cost may be lower. Hence, two positions are considered and an
illustration is given in Figure 5. Let cA , cB , and cΓ represent the electricity prices of off-peak, mid-peak,
and on-peak periods, respectively. To select the optimal position, the key property 1 is given as follows.
Property 1. If Condition 3 is satisfied and xi,k × (c B − c A ) < xi,k+2 × (cΓ − c B ) holds, the best choice for job i
is to be processed within a mid-peak period.
Therefore, when inequality (8) holds, job i can be directly processed within a mid-peak period.
Otherwise, job i must be processed across periods k, k + 1, and k + 2. This ends the proof.
7
Algorithms 2018, 11, 18
The only difference between Conditions 3 and 4 is whether dk+2 = 0 or not. This implies that
period k is the last off-peak period and period k + 2 does not exist. Hence, period k must be in the last
cycle (i.e., on the last day) and there are two scenarios that should be considered as follows (the zero
points of the two scenarios are different).
Scenario 1: In this scenario, neither period k + 1 nor period k + 2 exists and four possible positions
marked in Figure 6a are given. Similar to Condition 3, period k is critical due to its lowest price and
the longest remaining idle time. To insert job i into period k, the other jobs processed within period k
should be moved right or left. Hence, two positions are analyzed first.
1. To occupy off-peak periods as much as possible, a set of already inserted jobs in period k should
be moved to the rightmost side, and then job i can be processed across periods k and k − 1.
2. All inserted jobs in period k should be moved left so that job i can be processed within period k.
Note that the movement of jobs may lead to a change in their electricity costs, defined as movement
cost. The insertion cost of job i is equal to the electricity cost for processing job i plus the corresponding
movement cost if some already inserted jobs must be moved to enlarge the idle time of period(s). If the
movement cost is zero, then the insertion cost is equal to the electricity cost for processing the job.
Let cost1 and cost2, respectively, denote the insertion costs of the above corresponding positions.
Since the power consumption rate of job i is not higher than any one of the already inserted jobs,
it follows that cost1 ≤ cost2. That is, the Position 1 is the only one that should be considered when job i
is inserted into period k. Next, let ksm denote the off-peak period with submaximal remaining idle time.
Positions 3 and 4 are given as follows.
3. Suppose that job i is processed across periods ksm , ksm + 1, and ksm + 2. If Ik sm is slightly smaller
than Ik , cost3 may be less than cost1 as period ksm + 1 is a mid-peak period. Hence, Position 3
needs to be considered.
4. Similar to Condition 3, job i can be processed within a mid-peak period.
8
Algorithms 2018, 11, 18
To ensure that cost1 = pi × ( xi,k × c A + xi xi,k−1 × cΓ ) always holds, Property 2 is given first.
Property 2. When Condition 4 is satisfied and dk+1 = 0, job i can be directly inserted into Position 1 without
moving any already inserted jobs in period k − 1.
Proof. Since ∃k ∈ A, Ik > 0, there must be no jobs processed within period k − 1. It is only possible
that a job, say job j, j < i, is processed across periods k − 2 and k − 1. Therefore, xj,k −2 may be the
value of the maximal remaining idle time of all mid-peak periods before inserting job j. Since ∃k ∈ B,
ti ≤ Ik’ and j < i, it is understandable that ti ≤ Ik ≤ x j,k−2 . Now, job i is to be inserted, it follows
that ti + x j,k−1 ≤ x j,k−2 + x j,k−1 = t j . As mentioned earlier, the processing times of all the jobs do not
exceed the duration of the shortest on-peak period, that is, tj ≤ dk −1 . Hence, ti + xj,k −1 ≤ dk −1 . If job i
is processed across periods k and k − 1, then xi,k−1 + x j,k−1 ≤ xi,k−1 + xi,k + x j,k−1 = ti + x j,k−1 ≤ dk+1 .
That is, xi,k−1 + x j,k−1 ≤ dk−1 . Thus, dk−1 − x j,k−1 − xi,k−1 = Ik −1 ≥ 0. This suggests when job i is
inserted into Position 1, period k − 1 cannot be full. Hence, job i can be directly inserted into Position 1
without moving any already inserted jobs in period k − 1. Note that this property applies to Scenario 2
as well.
cost4 = pi × ti × c B . (11)
Since cost1 is always less than cost2, there is no need to compute cost2. Eventually, the insertion
costs of all the possible positions that job i can be inserted into can be easily and directly calculated by
the above formulas, and then the position with minimum insertion cost will be chosen.
Scenario 2: It can be seen from Figure 6b that the Positions 1, 4, and 5 in Scenario 2 are the same
as the Positions 1, 3, and 4 in Scenario 1. The only difference between Scenarios 1 and 2 is whether dk+1
> 0 or not (i.e., period k + 1 exists). Since period k + 1 is a mid-peak period, two additional positions
need to be considered in comparison with Scenario 1.
1. A set of already inserted jobs in period k are moved to the rightmost side of the period k + 1,
and then job i is processed across periods k and k − 1.
2. A set of already inserted jobs in period k should be moved to the left until job i can be processed
across periods k and k + 1.
The size of the two insertion costs (i.e., the processing electricity cost of job 6 plus the movement
costs of jobs 3, 4, and 5) corresponding to Positions 2 and 3 is uncertain, because the electricity cost
for processing job i is greater at Position 2 than at Position 3, while the movement costs are just the
opposite. Eventually, it should calculate insertion costs of five possible positions, and then choose the
position with minimum cost.
Condition 5: ∀k ∈ A, Ik = 0.
When Condition 5 is satisfied, this means all the off-peak periods are full and job i can be directly
processed within a mid-peak period.
Layer 3 includes Conditions 6 and 7. Most of the jobs are processed across a pair of periods
consisting of a mid-peak period and an on-peak period or processed within an on-peak period in
this layer.
Condition 6: ti > maxk ∈ B { Ik } > 0.
9
Algorithms 2018, 11, 18
If Condition 6 is satisfied, it means job i cannot be processed within any one of the mid-peak
periods, let alone off-peak periods. In other words, job i can only be used to fill the remaining idle
time of a certain period with lower electricity price. There is an obvious regularity that the more
the remaining idle time of the off-peak or mid-peak period job i occupy, the lower is its processing
electricity cost. Figure 7 shows all the possible positions for a scenario. The analysis process of the
possible positions that job i can be inserted into is similar to Condition 4, and, therefore, will not be
repeated here.
Condition 7: maxk ∈ B { Ik } = 0.
Condition 7 implies that all the off-peak periods
and mid-peak periods are full, and job i can
only be inserted into on-peak periods. If maxk ∈ Γ Ik < ti , job i should be inserted into all non-full
on-peak periods by moving a set of already inserted jobs, and then the position with the lowest
insertion cost can be chosen. The movement method can refer to Che et al. [9].
The core component of the heuristic algorithm is described as a pseudo code, shown in Algorithm 1.
Note that the argmin( Ik ≥ ti ) denotes the minimal index k for Ik ≥ ti .
Theorem 1. The proposed heuristic algorithm runs in O(n2 m|Γ|) in the worst case.
Proof. Step 1 runs in O(nlogn) time for sorting n numbers and Step 2 requires O(m) time. For each
given job, Step C1 runs in O(|A|) in the worst case and Step C2 requires O(1). Steps C3 and C5
both require O(|B|) operations in the worst case. Steps C4 and C6 demand O(nm) to compute the
movement cost when calculating the insertion cost. Step C7 includes steps C7.1 and C7.2, wherein
the complexity of step C7.1 is O(|Γ|), and the complexity of step C7.2 is O(nm|Γ|). Therefore, step
C7 requires O(nm|Γ|) operations in the worst case. To summarize, the proposed algorithm runs in
O(n2 m|Γ|) in the worst case.
Now, assume that no jobs need to traverse all non-full on-peak periods, that is, the Step C7.2 has
never been used. In this case, the time complexity of the proposed algorithm is O(n2 m). However,
the classic greedy insertion algorithm proposed by Che et al. [9] requires O(n2 m2 ) operations in the
worst case when dealing with the same problem, because their algorithm requires all the jobs to
traverse all non-full periods to find an optimum position.
10
Algorithms 2018, 11, 18
4. Computational Results
In this section, a real-life instance from a machinery manufacturing company in China is provided
to further illustrate the MILP model and the proposed algorithm. Then, two sets of contrasting
experiments with randomly generated instances are conducted, aiming to show the good performance
of the algorithm. The algorithm is coded in MATLAB R2015b and the experiments are run on an
Intel(R) Core(TM) i7-4790 3.60 GHz processor with 16 GB of memory under the Windows 7 operating
system. For benchmarking, the greedy insertion heuristic algorithm proposed by Che et al. [9] is
adopted for our contrast tests.
The TOU electricity tariffs used for all instances are those implemented in Shanxi Province, China,
as given in Table 1. It can be seen from Table 1 that the off-peak period is between an on-peak period
and a mid-peak period, which means that the actual electricity prices meets the first type of TOU
electricity tariffs. Assume that the time horizon starts at 8:00 a.m. of the first day.
11
Algorithms 2018, 11, 18
Cmax and CB denote the given makespan and the total processing times of all the jobs, respectively.
The parameter e = Cmax /CB (e ≥ 1) is used to measure the degree of time tightness. In these instances,
Cmax can be obtained by the formula Cmax = e × CB as long as the parameter e is set. Obviously,
as e increases, Cmax increases. Note that bm+1 is calculated by bm+1 =
Cmax /24) × 24. Let TECF
and TECH be the total electricity cost calculated by our algorithm (GIH-F)and Che et al.’s algorithm
(GIH), respectively. The runtimes of the two algorithms are represented by CTF and CTH , respectively.
The gaps between TECF and TECH are represented by G, G = (TECF − TECH )/TECH × 100%. The ratio
of CTH /CTF is represented by R.
12
Algorithms 2018, 11, 18
Product Model Average Power Consumption Rate (kW) Processing Time (h) The Number of Parts
40 4.4 2.4 15
70 4.7 2.6 35
100 5.3 3.1 10
Let us temporarily put aside the above real-life instance, and talk about solving a hypothetical
instance given in Tables 3 and 4 based on the above data. Specifically, it is assumed that there are
twelve parts which need to be processed within two days. That is, the number of periods is ten (i.e.,
m = 10). According to this example, we will demonstrate the MILP model and the main computational
process of GIH-F.
Part (Job) 1 2 3 4 5 6 7 8 9 10 11 12
Processing time (h) 2.4 2.4 2.4 2.4 2.6 2.6 3.1 3.1 3.1 3.1 3.1 3.1
Power consumption rate (kW) 4.4 4.4 4.4 4.4 4.7 4.7 5.3 5.3 5.3 5.3 5.3 5.3
Period 1 2 3 4 5 6 7 8 9 10
Duration (h) 3.5 7 4.5 8 1 3.5 7 4.5 8 1
Price (CNY/kwh) 1.2473 0.8451 1.2473 0.443 0.8451 1.2473 0.8451 1.2473 0.443 0.8451
First, the twelve jobs are sorted in non-increasing order according to their power consumption
rates, that is, job 7, job 8, job 9, job 10, job 11, job 12, job 5, job 6, job 1, job 2, job 3, and job 4. Second,
the remaining idle time of all the periods are initialized. Obviously, t7 ≤ maxk∈ A { Ik } + Ik+1 and
t7 ≤ I4 (i.e., k = 4), hence job 7 can be inserted into the low-price layer 1 and is placed in the position
corresponding to the Condition 1. The same applies to jobs 8, 9, and 10. In this way, the off-peak
periods are fully utilized by the jobs with high power consumption rates, resulting in lower total
electricity costs. At this stage, the remaining idle time of each period is as follows: I1 = 3.5, I2 = 7,
I3 = 4.5, I4 = 1.8, I5 = 1, I6 = 3.5, I7 = 7, I8 = 4.5, I9 = 1.8, I10 = 1. An illustration is given in Figure 10a.
Now, t11 > maxk∈ A { Ik } + Ik+1 and ∃k ∈ B, t11 ≤ Ik (i.e., k = 4 and k = 2), hence job 11 is
assigned to medium-price layer 2, and is placed in the position corresponding to the Condition 3
because maxk∈ A { Ik } > 0 and dk+2 = 3.5 > 0. Moreover, xi,k × (c B − c A ) > xi,k+2 × (cΓ − c B ) where
k = 4 and i = 11, thus, job 11 is to be inserted into the position across periods 4–6. At this stage,
the remaining idle time of each period is as follows: I1 = 3.5, I2 = 7, I3 = 4.5, I4 = 0, I5 = 0, I6 = 3.2, I7 = 7,
I8 = 4.5, I9 = 1.8, I10 = 1. An illustration is given in Figure 10b.
Let us continue, and it is not hard to check that the job 12 is to be inserted into the position
corresponding to Condition 4. As mentioned earlier, there will be five positions waiting for selection at
this moment. The insertion costs for these five positions are 12.8, 10.7, 10.7, Inf, and 13.9, respectively.
Therefore, job 12 is to be inserted into the Position 2 which crosses periods 8 and 9. Note that Ik sm = 0
(i.e., I4 = 0), hence job 12 cannot be processed across periods ksm , ksm + 1, and ksm + 2, and the
corresponding insertion cost is infinity. At this stage, the remaining idle time of each period is as
follows: I1 = 3.5, I2 = 7, I3 = 4.5, I4 = 0, I5 = 0, I6 = 3.2, I7 = 7, I8 = 4.2, I9 = 0, I10 = 0. An illustration is
given in Figure 10b.
Next, let us explain the insertion process of other jobs concisely. Jobs 5 and 6 are assigned to layer
2, and they satisfy Condition 5. Therefore, these two jobs are to be inserted into mid-peak period 2.
Similarly, jobs 1 and 2 are to be inserted into period 7. At this stage, the remaining idle time of each
period is as follows: I1 = 3.5, I2 = 1.8, I3 = 4.5, I4 = 0, I5 = 0, I6 = 3.2, I7 = 2.2, I8 = 4.2, I9 = 0, I10 = 0.
An illustration is given in Figure 10c.
13
Algorithms 2018, 11, 18
Finally, jobs 3 and 4 are assigned to high-price layer 3, and they both satisfy Condition 6. A final
complete scheduling diagram is given in Figure 10c.
Returning to the real-life instance, let us now talk about the efficiency of the MILP model and the
proposed algorithm. Currently, the company plans to produce 70-Model, 40-Model, and 100-Model
rectangular parts in 7, 3, and 2 days respectively. That is, five parts are to be produced every day from
8:00 to 24:00. This suggests that it needs 12 days to process all the parts and the total electricity cost
(TEC) can be computed as follows:
TEC100 = 5.3 × (3.5 × 1.2473 + 7 × 0.8451 + 4.5 × 1.2473 + 0.5 × 0.4430) × 2 = 170.8 CNY;
Figure 11 is the scheduling result diagram of the real-life instance. It can be seen from Figure 11
that with our scheduling, the total electricity cost for processing all the parts is 447.9 CNY, which can
be reduced by 42.0%.
14
Algorithms 2018, 11, 18
15
Algorithms 2018, 11, 18
16
Algorithms 2018, 11, 18
Rule 1: If ti ≤ maxk∈ A { Ik } and kk = argmink∈ A {ti ≤ Ik }, where argmink∈ A {ti ≤ Ik } denotes the
minimal index k for ti ≤ Ik , then job i can be directly inserted into the off-peak period kk and the job no
longer traverses all the non-full
periods.
Rule 2: If ti ≤ mink ∈Γ Ik , maxk∈ A { Ik } > 0 or maxk ∈ B { Ik } > 0, then job i no longer traverses
on-peak periods.
As mentioned above, when there are no jobs that need to traverse non-full on-peak periods,
the time complexity of GIH-F is O(n2 m) and GIH is O(n2 m2 ). This implies that GIH-F is m times
faster than GIH, theoretically, and the experimental data of the small-size instances in Table 5 can
verify this conclusion. From Table 5, we can see that R and m are almost the same order of magnitude.
In addition, all the small-size instances can be solved within 0.02 s using GIH-F. By and large, the
computation time increases slightly with n, and parameter e has no significant effect on the computation
time, which indicates that the algorithm is quite stable. In addition, it can be seen from Table 5 that
the smaller the parameter e (i.e., the shorter the makespan), the higher the total electricity cost.
Therefore, in a specific instance, the decision-makers can obtain a set of Pareto solutions by adjusting
the makespan, and they can choose a solution according to actual needs. What is more, it is amazing
to see that our algorithm not only greatly improves computation speed but also further improves
the accuracy.
Table 6 shows that the number of periods increases quickly with the number of jobs. Since the time
complexity of GIH is O(n2 m2 ), it’s runtime will rise sharply. To ensure the feasibility of the contrast
tests, we add two rules (i.e., Rule 1 and Rule 2) to improve the computational speed of GIH without
changing the computational accuracy.
Intuitively, the CTF is significantly less than CTH2 , which means that the designed filtering
mechanism is efficient in dealing with large-scale instances. Specially, as n = 5000 and e = 2.0,
our algorithm can solve a randomly generated instance within 1 min and maintain the same accuracy
as GIH2, while GIH2 takes nearly 39 h, let alone GIH. Note that when e is set as 3.0, the given
makespan is very abundant and there is no job processed within an on-peak period in our experimental
17
Algorithms 2018, 11, 18
environments. Thus, according to Rule 2, all the jobs do not have to traverse on-peak periods, and then
CTH2 is greatly reduced. Conversely, when e is set as 1.2, the number of periods decreases and the jobs
are arranged very tightly. There will be many jobs inserted into the periods with higher electricity
prices. Therefore, our algorithm should filter more positions with lower electricity prices and constantly
judge whether the job needs to be moved. Obviously, all these operations may increase the computation
time. Thus, when dealing with large-size instances and setting e to 1.2 or 1.5, our algorithm runs longer,
but the computation time is still far less than GIH2.
Acknowledgments: This research is supported by the National Natural Science Foundation of China (Grant
No. 71772002).
Author Contributions: Hongliang Zhang contributed to the overall idea, algorithm, and writing of the manuscript;
Youcai Fang coded the algorithm in MATLAB and contributed to the detailed writing; Ruilin Pan contributed
to the ideas and discussions on the scheduling problem under TOU electricity tariffs, as well as the revision,
preparation, and publishing of the paper; Chuanming Ge analyzed the characteristics of the single machine
scheduling problem under TOU electricity tariffs. All authors have read and approved the final manuscript.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. International Energy Agency. World Energy Investment Outlook; International Energy Agency (IEA): Paris,
France, 2015.
2. Li, C.; Tang, Y.; Cui, L.; Li, P. A quantitative approach to analyze carbon emissions of CNC-based machining
systems. J. Intell. Manuf. 2015, 26, 911–922. [CrossRef]
3. Jovane, F.; Yoshikawa, H.; Alting, L.; Boër, C.R.; Westkamper, E.; Williams, D.; Tseng, M.; Seliger, G.; Paci, A.M.
The incoming global technological and industrial revolution towards competitive sustainable manufacturing.
CIRP Ann. Manuf. Technol. 2008, 57, 641–659. [CrossRef]
4. Lu, C.; Gao, L.; Li, X.; Pan, Q.; Wang, Q. Energy-efficient permutation flow shop scheduling problem using a
hybrid multi-objective backtracking search algorithm. J. Clean. Prod. 2017, 144, 228–238. [CrossRef]
18
Algorithms 2018, 11, 18
5. Sun, Z.; Li, L. Opportunity estimation for real-time energy control of sustainable manufacturing systems.
IEEE Trans. Autom. Sci. Eng. 2013, 10, 38–44. [CrossRef]
6. Park, C.W.; Kwon, K.S.; Kim, W.B.; Min, B.K.; Park, S.J.; Sung, I.H.; Yoon, Y.S.; Lee, K.S.; Lee, J.H.; Seok, J.
Energy consumption reduction technology in manufacturing—A selective review of policies, standards,
and research. Int. J. Precis. Eng. Manuf. 2009, 10, 151–173. [CrossRef]
7. Ding, J.Y.; Song, S.; Zhang, R.; Chiong, R.; Wu, C. Parallel machine scheduling under time-of-use electricity
prices: New models and optimization approaches. IEEE Trans. Autom. Sci. Eng. 2016, 13, 1138–1154.
[CrossRef]
8. 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. [CrossRef]
9. Che, A.; Zeng, Y.; Ke, L. An efficient greedy insertion heuristic for energy-conscious single machine
scheduling problem under time-of-use electricity tariffs. J. Clean. Prod. 2016, 129, 565–577. [CrossRef]
10. Longe, O.; Ouahada, K.; Rimer, S.; Harutyunyan, A.; Ferreira, H. Distributed demand side management
with battery storage for smart home energy scheduling. Sustainability 2017, 9, 120. [CrossRef]
11. Shapiro, S.A.; Tomain, J.P. Rethinking reform of electricity markets. Wake For. Law Rev. 2005, 40, 497–543.
12. Zhang, H.; Zhao, F.; Fang, K.; Sutherland, J.W. Energy-conscious flow shop scheduling under time-of-use
electricity tariffs. CIRP Ann. Manuf. Technol. 2014, 63, 37–40. [CrossRef]
13. Che, A.; Wu, X.; Peng, J.; Yan, P. Energy-efficient bi-objective single-machine scheduling with power-down
mechanism. Comput. Oper. Res. 2017, 85, 172–183. [CrossRef]
14. He, F.; Shen, K.; Guan, L.; Jiang, M. Research on energy-saving scheduling of a forging stock charging furnace
based on an improved SPEA2 algorithm. Sustainability 2017, 9, 2154. [CrossRef]
15. Pruhs, K.; Stee, R.V.; Uthaisombut, P. Speed scaling of tasks with precedence constraints. In Proceedings
of the 3rd International Workshop on Approximation and Online Algorithms, Palma de Mallorca, Spain,
6–7 October 2005; Erlebach, T., Persiano, G., Eds.; Springer: Berlin, Germany, 2005; pp. 307–319.
16. Fang, K.; Uhan, N.; Zhao, F.; Sutherland, J.W. A new approach to scheduling in manufacturing for power
consumption and carbon footprint reduction. J. Manuf. Syst. 2011, 30, 234–240. [CrossRef]
17. Dai, M.; Tang, D.; Giret, A.; Salido, M.A.; Li, W.D. Energy-efficient scheduling for a flexible flow shop using
an improved genetic-simulated annealing algorithm. Robot. Comput. Integr. Manuf. 2013, 29, 418–429.
[CrossRef]
18. Liu, C.H.; Huang, D.H. Reduction of power consumption and carbon footprints by applying multi-objective
optimisation via genetic algorithms. Int. J. Prod. Res. 2014, 52, 337–352. [CrossRef]
19. Mouzon, G.; Yildirim, M.B.; Twomey, J. Operational methods for minimization of energy consumption of
manufacturing equipment. Int. J. Prod. Res. 2007, 45, 4247–4271. [CrossRef]
20. Mouzon, G.; Yildirim, M. A framework to minimise total energy consumption and total tardiness on a single
machine. Int. J. Sustain. Eng. 2008, 1, 105–116. [CrossRef]
21. Liu, C.; Yang, J.; Lian, J.; Li, W.; Evans, S.; Yin, Y. Sustainable performance oriented operational
decision-making of single machine systems with deterministic product arrival time. J. Clean. Prod. 2014, 85,
318–330. [CrossRef]
22. Luo, H.; Du, B.; Huang, G.Q.; Chen, H.; Li, X. Hybrid flow shop scheduling considering machine electricity
consumption cost. Int. J. Prod. Econ. 2013, 146, 423–439. [CrossRef]
23. Sharma, A.; Zhao, F.; Sutherland, J.W. Econological scheduling of a manufacturing enterprise operating
under a time-of-use electricity tariff. J. Clean. Prod. 2015, 108, 256–270. [CrossRef]
24. Moon, J.-Y.; Shin, K.; Park, J. Optimization of production scheduling with time-dependent and machine-
dependent electricity cost for industrial energy efficiency. Int. J. Adv. Manuf. Technol. 2013, 68, 523–535.
[CrossRef]
25. Che, A.; Zhang, S.; Wu, X. Energy-conscious unrelated parallel machine scheduling under time-of-use
electricity tariffs. J. Clean. Prod. 2017, 156, 688–697. [CrossRef]
26. Wang, S.; Liu, M.; Chu, F.; Chu, C. Bi-objective optimization of a single machine batch scheduling problem
with energy cost consideration. J. Clean. Prod. 2016, 137, 1205–1215. [CrossRef]
27. Shrouf, F.; Ordieres-Meré, J.; García-Sánchez, A.; Ortega-Mier, M. Optimizing the production scheduling of a
single machine to minimize total energy consumption costs. J. Clean. Prod. 2014, 67, 197–207. [CrossRef]
19
Algorithms 2018, 11, 18
28. Gong, X.; Pessemier, T.D.; Joseph, W.; Martens, L. An energy-cost-aware scheduling methodology for
sustainable manufacturing. In Proceedings of the 22nd CIRP Conference on Life Cycle Engineering (LCE)
Univ New S Wales, Sydney, Australia, 7–9 April 2015; Kara, S., Ed.; Elsevier: Amsterdam, The Netherlands,
2015; pp. 185–190.
29. Fang, K.; Uhan, N.A.; Zhao, F.; Sutherland, J.W. Scheduling on a single machine under time-of-use electricity
tariffs. Ann. Oper. Res. 2016, 238, 199–227. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
20
algorithms
Article
Single Machine Scheduling Problem with Interval
Processing Times and Total Completion
Time Objective
Yuri N. Sotskov * and Natalja G. Egorova
United Institute of Informatics Problems, National Academy of Sciences of Belarus, Surganova Street 6,
Minsk 220012, Belarus; NataMog@yandex.by
* Correspondence: sotskov48@mail.ru; Tel.: +375-17-284-2120
Abstract: We consider a single machine scheduling problem with uncertain durations of the given
jobs. The objective function is minimizing the sum of the job completion times. We apply the
stability approach to the considered uncertain scheduling problem using a relative perimeter of the
optimality box as a stability measure of the optimal job permutation. We investigated properties of
the optimality box and developed algorithms for constructing job permutations that have the largest
relative perimeters of the optimality box. Computational results for constructing such permutations
showed that they provided the average error less than 0.74% for the solved uncertain problems.
1. Introduction
Since real-life scheduling problems involve different forms of uncertainties, several approaches
have been developed in the literature for dealing with uncertain scheduling problems. In a stochastic
approach, job processing times are assumed to be random variables with the known probability
distributions [1,2]. If one has no sufficient information to characterize the probability distribution of
all random processing times, other approaches are needed [3–5]. In the approach of seeking a robust
schedule [3,6], the decision-maker prefers a schedule that hedges against the worst-case scenario. A
fuzzy approach [7–9] allows a scheduler to determine best schedules with respect to fuzzy processing
times. A stability approach [10–12] is based on the stability analysis of the optimal schedules to
possible variations of the numerical parameters. In this paper, we apply the stability approach to a
single machine scheduling problem with uncertain processing times of the given jobs. In Section 2,
we present the setting of the problem and the related results. In Section 3, we investigate properties
of an optimality box of the permutation used for processing the given jobs. Efficient algorithms are
derived for finding a job permutation with the largest relative perimeter of the optimality box. In
Section 5, we develop an algorithm for finding an approximate solution for the uncertain scheduling
problem. In Section 6, we report on the computational results for finding the approximate solutions for
the tested instances. Section 7 includes the concluding remarks.
The exact value pi ∈ [ pi , pi ] of the job processing time remains unknown until completing the job
L U
Ji ∈ J . Let Rn+ denote a set of all non-negative n-dimensional real vectors. The set of all possible
vectors ( p1 , p2 , . . . , pn ) = p ∈ Rn+ of the job processing times is presented as the Cartesian product of
[ pnL , pU
n ] = : × n [ p L , pU ]. Each vector p ∈ T is called a scenario.
i =1 i i
Let S = {π1 , π2 , . . . , πn! } be a set of all permutations πk = ( Jk1 , Jk2 , . . . , Jkn ) of the jobs J . Given a
scenario p ∈ T and a permutation πk ∈ S, let Ci = Ci (πk , p) denote the completion time of the job Ji ∈ J
in the schedule determined by the permutation πk . The criterion ∑ Ci denotes the minimization of
the sum of job completion times: ∑ Ji ∈J Ci (πt , p) = minπk ∈S ∑ Ji ∈J Ci (πk , p) , where the permutation
πt = ( Jt1 , Jt2 , . . . , Jtn ) ∈ S is optimal for the criterion ∑ Ci . This problem is denoted as 1| piL ≤ pi ≤
pUi | ∑ Ci using the three-field notation α| β|γ [13], where γ denotes the objective function. If scenario
p ∈ T is fixed before scheduling, i.e., [ piL , pU i ] = [ pi , pi ] for each job Ji ∈ J , then the uncertain problem
1| piL ≤ pi ≤ pU i | ∑ Ci is turned into the deterministic one 1|| ∑ Ci . We use the notation 1| p| ∑ Ci to
indicate an instance of the problem 1|| ∑ Ci with the fixed scenario p ∈ T. Any instance 1| p| ∑ Ci is
solvable in O(n log n) time [14] since the following claim has been proven.
Theorem 1. The job permutation πk = ( Jk1 , Jk2 , . . . , Jkn ) ∈ S is optimal for the instance 1| p| ∑ Ci if and only
if the following inequalities hold: pk1 ≤ pk2 ≤ . . . ≤ pkn . If pku < pkv , then job Jku precedes job Jkv in any
optimal permutation πk .
Definition 1. Job Jv dominates job Jw (with respect to T) if there is no optimal permutation πk ∈ S for the
instance 1| p| ∑ Ci , p ∈ T, such that job Jw precedes job Jv .
v < pw .
Theorem 2. Job Jv dominates job Jw if and only if pU L
Since for the problem α| piL ≤ pi ≤ pU i | γ, there does not usually exist a permutation of the jobs J
being optimal for all scenarios T, additional objectives or agreements are often used in the literature.
In particular, a robust schedule minimizing the worst-case regret to hedge against data uncertainty
has been developed in [3,8,16–20]. For any permutation πk ∈ S and any scenario p ∈ T, the difference
γkp − γtp =: r (πk , p) is called the regret for permutation πk with the objective function γ equal to
γkp under scenario p. The value Z (πk ) = max{r (πk , p) : p ∈ T } is called the worst-case absolute
r (πk ,p)
regret. The value Z ∗ (πk ) = max{ γtp
: p ∈ T } is called the worst-case relative regret. While the
deterministic problem 1|| ∑ Ci is polynomially solvable [14], finding a permutation πt ∈ S minimizing
the worst-case absolute regret Z (πk ) or the relative regret Z ∗ (πk ) for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci
are binary NP-hard even for two scenarios [19,21]. In [6], a branch-and-bound algorithm was developed
to find a permutation πk minimizing the absolute regret for the problem 1| piL ≤ pi ≤ pU i | ∑ wi Ci ,
where jobs Ji ∈ J have weights wi > 0. The computational experiments showed that the developed
algorithm is able to find such a permutation πk for the instances with up to 40 jobs. The fuzzy
scheduling technique was used in [7–9,22] to develop a fuzzy analogue of dispatching rules or to
solve mathematical programming problems to determine a schedule that minimizes a fuzzy-valued
objective function.
In [23], several heuristics were developed for the problem 1| piL ≤ pi ≤ pU i | ∑ wi Ci .
The computational experiments including different probability distributions of the processing times
showed that the error of the best performing heuristic was about 1% of the optimal objective function
value ∑ wi Ci obtained after completing the jobs when their factual processing times became known.
22
Algorithms 2018, 11, 66
Definition 2. The maximal (with respect to the inclusion) rectangular box OB(πk , T ) = ×ki ∈ M [lk∗ , u∗k ] ⊆ T
i i
is called the optimality box for the permutation πk = ( Jk1 , Jk2 , . . . , Jkn ) ∈ S with respect to T, if the permutation
πk being optimal for the instance 1| p| ∑ Ci with the scenario p = ( p1 , p2 , . . . , pn ) ∈ T remains optimal for
the instance 1| p | ∑ Ci with any scenario p ∈ OB(πk , T ) × {×k j ∈ N \ M [ pk j , pk j ]}. If there does not exist a
scenario p ∈ T such that the permutation πk is optimal for the instance 1| p| ∑ Ci , then OB(πk , T ) = ∅.
Any variation pk of the processing time pki , Jki ∈ J , within the maximal segment [lk∗ , u∗k ]
i i i
indicated in Definition 2 cannot violate the optimality of the permutation πk ∈ S provided that the
inclusion pk ∈ [lk∗ , u∗k ] holds. The non-empty maximal segment [lk∗ , u∗k ] with the inequality lk∗ ≤ u∗k
i i i i i i i
and the length u∗k − lk∗ ≥ 0 indicated in Definition 2 is called an optimality segment for the job Jki ∈ J
i i
∗ ∗
in the permutation πk . If the maximal segment [lk , uk ] is empty for job Jki ∈ J , we say that job Jki has
i i
no optimality segment in the permutation πk . It is clear that if job Jki has no optimality segment in
the permutation πk , then the inequality lk∗ > u∗k holds.
i i
Definition 3. A maximal set Br = { Jr1 , Jr2 , . . . , Jr|Br | } ⊆ J of the jobs, for which the inequality
max Jr ∈ Br prLi ≤ min Jr ∈ Br pU
ri holds, is called a block. The segment [ br , br ] with br = max Jr ∈ Br pri and
L U L L
i i i
brU = min Jr ∈ Br pU
ri is called a core of the block Br .
i
If job Ji ∈ J belongs to only one block, we say that job Ji is fixed (in this block). If job Jk ∈ J
belongs to two or more blocks, we say that job Jk is non-fixed. We say that the block Bv is virtual,
if there is no fixed job in the block Bv .
Remark 1. Any permutation πk ∈ S determines a distribution of all non-fixed jobs to their blocks. Due to
the fixings of the positions of the non-fixed jobs, some virtual blocks may be destroyed for the permutation πk .
Furthermore, the cores of some non-virtual blocks may be increased in the permutation πk .
We demonstrate the above notions on a small example with input data given in Table 1. The segments
[ piL , pU
i ] of the job processing times are presented in a coordinate system in Figure 1, where the abscissa
axis is used for indicating the segments given for the job processing times and the ordinate axis for the
jobs from the set J . The cores of the blocks B1 , B2 , B3 and B4 are dashed in Figure 1.
23
Algorithms 2018, 11, 66
i 1 2 3 4 5 6 7 8 9 10
piL 6 7 6 1 8 17 15 24 25 26
pU
i 11 11 12 19 16 21 35 28 27 27
There are four blocks in this example as follows: { B1 , B2 , B3 , B4 } =: B. The jobs J1 , J2 , J3 , J4 and J5
belong to the block B1 . The jobs J4 , J5 and J7 are non-fixed. The remaining jobs J1 , J2 , J3 , J6 , J8 , J9 and
J10 are fixed in their blocks. The block B2 is virtual. The jobs J4 , J5 and J7 belong to the virtual block B2 .
The jobs J4 , J6 , and J7 belong to the block B3 . The jobs J7 , J8 , J9 and J10 belong to the block B4 .
Jobs Ji
6
J10
J9
J8
J7
J6
J5
J4
J3
J2
J1 Processing
- times pi
1 6 7 8 10 12 15 17 19 21 24 26 28 35
Proof. The right bound b1U of the core of the first block B1 ∈ B is determined as follows:
b1U = min Ji ∈J pUi . Then, all jobs included in the block B1 may be determined as follows:
B1 = { Ji ∈ J : piL ≤ b1U ≤ pU i }. The left bound b1 of the core of the block B1 is determined as follows:
L
b1 = max Ji ∈ B1 pi . Then, one can determine the second block B2 ∈ B via applying the above procedure
L L
to the subset of set J without jobs Ji , for which the equality b1U = pU i holds. This process is continued
until determining the last block Bm ∈ B. Thus, one can use the above procedure (we call it Procedure 1)
for constructing the set B = { B1 , B2 , . . . , Bm } of all blocks for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci .
Obviously, Procedure 1 has the complexity O(n log n).
Any block from the set B has the following useful property.
24
Algorithms 2018, 11, 66
Lemma 2. At most two jobs in the block Br ∈ B may have the non-empty optimality segments in any fixed
permutation πk ∈ S.
Proof. Due to Definition 3, the inclusion [brL , brU ] ⊆ [ piL , pU i ] holds for each job Ji ∈ Br . Thus, due to
Definition 2, only job Jki , which is the first one in the permutation πk among the jobs from the block
Br , and only job Jkv ∈ Br , which is the last one in the permutation πk among the jobs from the block
Br , may have the non-empty optimality segments. It is clear that these non-empty segments look as
follows: [ pkL , u∗k ] and [lk∗v , pU ∗ ∗
k v ], where uk ≤ br and br ≤ lk v .
L U
i i i
Lemma 3. If OB(πk , T ) = ∅, then any two jobs Jv ∈ Br and Jw ∈ Bs , which are fixed in different blocks,
r < s, must be ordered in the permutation πk ∈ S with the increasing of the left bounds (and the right bounds
as well) of the cores of their blocks, i.e., the permutation πk looks as follows: πk = (. . . , Jv , . . . , Jw , . . .), where
brL < bsL .
Proof. For any two jobs Jv ∈ Br and Jw ∈ Bs , r < s, the condition [ pvL , pU v ] ∩ [ pw , pw ] = ∅ holds.
L U
Next, we assume that blocks in the set B = { B1 , B2 , . . . , Bm } are numbered according to the
increasing of the left bounds of their cores, i.e., the inequality bvL < buL implies v < u. Due to
Definition 3, each block Br = { Jr1 , Jr2 , . . . , Jr|Br | } may include jobs of the following four types. If prLi = brL
∗
and pU ri = br , we say that job Jri is a core job in the block Br . Let Br be a set of all core jobs in the
U
block Br . If prLi < brL , we say that job Jri is a left job in the block Br . If pU ri > br , we say that job Jri is a
U
− +
right job in the block Br . Let Br (Br ) be a set of all left (right) jobs in the block Br . Note that some job
Jri ∈ Br may be left-right job in the block Br , since it is possible that B \ { Br∗ ∪ Br− ∪ Br+ } = ∅.
Two jobs Jv and Jw are identical if both equalities pvL = pw L and pU = pU hold. Obviously, if the
v w
set Br ∈ B is a singleton, | Br | = 1, then the equality Br = Br∗ holds. Furthermore, the latter equality
cannot hold for a virtual block Bt ∈ B since any trivial block must contain at least two non-fixed jobs.
Theorem 3. For the problem 1| piL ≤ pi ≤ pU i | ∑ Ci , any permutation πk ∈ S has an empty optimality box
OB(πk , T ) = ∅, if and only if for each block Br ∈ B, either condition | Br | = | Br∗ | ≥ 2 holds or Br = Br− ∪ Br+ ,
all jobs in the set Br− (in the set Br+ ) are identical and the following inequalities hold: | Br− | ≥ 2 and | Br+ | ≥ 2.
Proof. Sufficiency. It is easy to prove that there is no virtual block in the considered set B. First,
we assume that for each block Br ∈ B, the condition | Br | = | Br∗ | ≥ 2 holds.
Due to Lemma 3, in the permutation πk ∈ S with the non-empty optimality box OB(πk , T ) = ∅,
all jobs must be located in the increasing order of the left bounds of the cores of their blocks.
However, in the permutation πk ∈ S, the following two equalities hold for each block Br ∈ B:
i = max Ji ∈ Br pi and max Ji ∈ Br pi = min Ji ∈ Br pi . Since | Br | ≥ 2, there is no job Jv ∈ Br ,
min Ji ∈ Br pU U L L
25
Algorithms 2018, 11, 66
which has an optimality segment in any fixed permutation πk ∈ S due to Lemma 2. Hence, the equality
OB(πk , T ) = ∅ must hold, if the condition | Br | = | Br∗ | ≥ 2 holds for each block Br ∈ B.
We assume that there exists a block Br ∈ B such that all jobs are identical in the set Br− with
| Br | ≥ 2 and all jobs are identical in the set Br+ with | Br+ | ≥ 2. Thus, for the permutation πk ∈ S,
−
−
the equalities min Ji ∈ Br− pU i = max Ji ∈ Br− pi and max Ji ∈ Br− pi = min Ji ∈ Br− pi hold. Since | Br | ≥ 2 and
U L L
all jobs are identical in the set Br− , there is no job Jv ∈ Br− , which has the optimality segment in any
fixed permutation πk ∈ S.
Similarly, one can prove that there is no job Jv ∈ Br+ , which has the optimality segment in any
fixed permutation πk ∈ S. Thus, we conclude that if the condition of Theorem 3 holds for each block
Br ∈ B, then each job Ji ∈ J has no optimality segment in any fixed permutation πk ∈ S. Thus, if the
condition of Theorem 3 holds, the equality OB(πk , T ) = ∅ holds for any permutation πk ∈ S.
Necessity. We prove the necessity by a contradiction. We assume that any permutation πk ∈ S
has an empty optimality box OB(πk , T ) = ∅. Let the condition | Br | = | Br∗ | ≥ 2 do not hold.
If | Br | = | Br∗ | = 1, the set Br is a singleton and so job Jr1 ∈ Br has the optimality segment [ prL1 , pU r1 ]
with the length pU r1 − pr1 ≥ 0 in the permutation πk∗ ∈ S, where all jobs are ordered according to the
L
increasing of the left bounds of the cores of their blocks. Let the following condition hold:
The condition (1) implies that there exists at least one left job or right job or left-right job Jri ∈ Br .
If job Jri is a left job or a left-right job (a right job) in the block Br , then job Jri must be located on
the first place (on the last place, respectively) in the above permutation πk∗ ∈ S among all jobs from
the block Br . All jobs from the set Br \ { Br∗ ∪ { Jri }} must be located between job Jrv ∈ Br∗ and job
Jrw ∈ Br∗ . Therefore, the left job Jri or the left-right job Jri (the right job Jri ) has the following optimality
segment [ prLi , brL ] (segment [brU , pU
ri ], respectively) with the length br − pri > 0 (the length pri − br > 0,
L L U U
respectively) in the permutation πk∗ . Let the equality Br = Br− ∪ Br+ do not hold. If there exist a job
Jri ∈ Br∗ , this job must be located between the jobs Jrv ∈ Br− and Jrw ∈ Br− . It is clear that the job Jri has
the optimality segment [brL , brU ] with the length brU − brL > 0 in the permutation πk∗ .
Let the following conditions hold: Br = Br− ∪ Br+ , | Br− | ≥ 2, | Br+ | ≥ 2. However, we assume that
jobs from the set Br− are not identical. Then the job Jru ∈ Br− with the largest segment [ prLu , pU ru ] among
the jobs from the set Br− must be located in the permutation πk∗ before other jobs from the set Br− . It is
clear that the job Jru has the optimality segment in the permutation πk∗ .
Similarly, we can construct the permutation πk∗ with the non-empty optimality box, if the jobs
from the set Br+ are not identical.
Let the equality Br = Br− ∪ Br+ hold. Let all jobs in the set Br− (and all jobs in the set Br+ ) be
identical. However, we assume that the equality | Br− | = 1 holds. The job Jri ∈ Br− has the optimality
segment in the permutation πk∗ , if the job Jri is located before other jobs in the set Br .
Similarly, one can construct the permutation πk∗ such that job Jri ∈ Br+ has the optimality segment
in the permutation πk∗ , if the inequality | Br+ | ≥ 2 is violated. Thus, we conclude that in all cases of the
violating of the condition of Theorem 3, we can construct the permutation πk∗ ∈ S with the non-empty
optimality box OB(πk∗ , T ) = ∅. This conclusion contradicts to our assumption that any permutation
πk ∈ S has an empty optimality box OB(πk , T ) = ∅.
Next, we present Algorithm 1 for constructing the optimality box OB(πk , T ) for the fixed
permutation πk ∈ S. In steps 1–4 of Algorithm 1, the problem 1| p iL ≤ pi ≤ p U i | ∑ Ci with the
reduced segments of the job processing times is constructed. It is clear that the optimality box for
the permutation πk ∈ S for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci coincides with the optimality box
for the same permutation for the problem 1| p iL ≤ pi ≤ p U i | ∑ Ci , where given segments of the job
processing times are reduced. In steps 5 and 6, the optimality box for the permutation πk for the
problem 1| p iL ≤ pi ≤ p U
i | ∑ Ci is constructed. It takes O ( n ) time for constructing the optimality box
OB(πk , T ) for any fixed permutation πk ∈ S using Algorithm 1.
26
Algorithms 2018, 11, 66
Algorithm 1
Input: Segments [ piL , pU i ] for the jobs Ji ∈ J . The permutation πk = ( Jk1 , Jk2 , . . . , Jk n ).
Output: The optimality box OB(πk , T ) for the permutation πk ∈ S.
Step 1: FOR i = 1 to n DO set p iL = piL , p U i = pi END FOR
U
set t L = p 1L , tU = p Un
Step 2: FOR i = 2 to n DO
IF p i < t L THEN set p iL = t L ELSE set t L = p iL END FOR
L
u∗k − lk∗
Per OB(πk , T ) = ∑ i i
, (2)
k − pk
pU L
Jk ∈J (πk ) i i
i
where J (πk ) denotes the set of all jobs Ji ∈ J having optimality segments [lk∗ , u∗k ] with the positive
i i
lengths, lk∗ < u∗k , in the permutation πk . It is clear that the inequality lk∗ < u∗k may hold only if the
i i i i
inequality pkL < pU k i holds. Theorem 3 gives the sufficient and necessary condition for the smallest value
i
of Per OB(πk , T ), i.e., the equalities J (πk ) = ∅ and Per OB(πk , T ) = 0 hold for each permutation
πk ∈ S. A necessary and sufficient condition for the largest value of Per OB(πk , T ) = n is given in
Theorem 4. The sufficiency proof of Theorem 4 is based on Procedure 2.
Theorem 4. For the problem 1| piL ≤ pi ≤ pU i | ∑ Ci , there exists a permutation πk ∈ S, for which the equality
Per OB(πk , T ) = n holds, if and only if for each block Br ∈ B, either | Br | = | Br∗ | = 1 or Br = Br− ∪ Br+ with
| Br | = 2.
Proof. Sufficiency. Let the equalities | Br | = | Br∗ | = 1 hold for each block Br ∈ B. Therefore, both
equalities Br = Br∗ and | B| = n hold. Due to Theorem 2 and Lemma 3, all jobs must be ordered
with the increasing of the left bounds of the cores of their blocks in each permutation πk ∈ S such
that OB(πk , T ) = ∅. Each job Jki ∈ J in the permutation πk = ( Jk1 , Jk2 , . . . , Jkn ) has the optimality
segments [lk∗ , u∗k ] with the maximal possible length
i i
u∗ki − lk∗i = pU
ki − pki .
L
(3)
k − pk
pU L
Per OB(πk , T ) = ∑ i i
=n (4)
k − pk
pU L
Jk ∈J (πk ) i i
i
27
Algorithms 2018, 11, 66
in (3). Hence, the equalities (4) hold, if there exist blocks Br ∈ B with the equalities Br = Br− ∪ Br+ and
| Br | = 2. This sufficiency proof contains the description of Procedure 2 with the complexity O(n).
Necessary. If there exists at least one block Br ∈ B such that neither condition | Br | = | Br∗ | = 1 nor
condition Br = Br− ∪ Br+ , | Br | = 2 hold, then the equality (3) is not possible for at least one job Jki ∈ Br .
Therefore, the inequality Per OB(πk , T ) < n holds for any permutation πk ∈ S.
The length of the relative perimeter Per OB(πk , T ) may be used as a stability measure for the
optimal permutation πk . If the permutation πk ∈ S has the non-empty optimality box OB(πk , T ) with
a larger length of the relative perimeter than the optimality box OB(πt , T ) has, πk = πt ∈ S, then the
permutation πk ∈ S may provide a smaller value of the objective function ∑ Ci than the permutation
πt . One can expect that the inequality ∑ Ji ∈J Ci (πk , p) ≤ ∑ Ji ∈J Ci (πt , p) holds for more scenarios p
from the set T than the opposite inequality ∑ Ji ∈J Ci (πk , p) > ∑ Ji ∈J Ci (πt , p). Next, we show how to
construct a permutation πk ∈ S with the largest value of the relative perimeter Per OB(πk , T ). The
proof of Theorem 4 is based on Procedure 3.
Theorem 5. If the equality B1 = J holds, then it takes O(n) time to find the permutation πk ∈ S and
the optimality box OB(πk , T ) with the largest length of the relative perimeter Per OB(πk , T ) among all
permutations S.
Proof. Since the equality B1 = J holds, each permutation πk ∈ S looks as follows: πk = ( Jk1 , Jk2 , . . . , Jkn ),
where { Jk1 , Jk2 , . . . , Jkn } = B1 . Due to Lemma 2, only job Jk1 may have the optimality segment (this
segment looks as follows: [ pkL , u∗k ]) and only job Jn may have the following optimality segment [lk∗n , pU kn ].
1 1
The length u∗k − pkL of the optimality segment [ pkL , u∗k ] for the job Jk1 is determined by the second job
1 1 1 1
∗ ∗
Jk2 in the permutation πk . Similarly, the length pUkn − lkn of the optimality segment [lkn , pkn ] for the job
U
Jkn is determined by the second-to-last job Jkn−1 in the permutation πk . Hence, to find the optimality box
OB(πk , T ) with the largest value of PerOB(πk , T ), it is needed to test only four jobs Jk1 , Jk2 , Jkn−1 and Jkn
from the block B1 = J , which provide the largest relative optimality segments for the jobs Jk1 and Jkn .
To this end, we should choose the job Jki such that the following equality holds:
b1U − pkLs
pkL = min Jks ∈ B1 . Then, if B1 \ { Jki } = ∅, we should choose the job Jkv such that the equality
k − pk
pU
i L
s s
k − b1
pU L
k v = max Jk
pU holds. Then, if B1 \ { Jki , Jkv } = ∅, we should choose the job Jki+1 such that
s
s ∈ B1 \{ Jk i } k − pk
pU L
s s
the equality pkL
i +1
= min Jks ∈ B1 \{ Jk ,Jkv } pkLs holds. Then, if B1 \ { Jki , Jki+1 , Jkv } = ∅, we should choose the
i
job Jkv−1 such that the equality pU
k = max Jks ∈ B1 \{ Jk ,Jk ,J } pU
k s holds. Thus, to determine the largest
v −1 i i +1 k v
value of Per OB(πk , T ), one has either to test a single job or to test two jobs or three jobs or to choose
and test four jobs from the block B1 , where | B1 | ≥ 4, independently of how large the cardinality | B1 |
of the set B1 is. In the worst case, one has to test at most 4! = 24 permutations of the jobs chosen
from the set B1 . Due to the direct testing of the chosen jobs, one selects a permutation of | B1 | jobs,
which provides the largest length of the relative perimeter Per OB(πk , T ) for all | B1 |! permutations πk .
If B1 = J , the above algorithm (we call it Procedure 3) for finding the permutation πk with the largest
value of Per OB(πk , T ) takes O(n) time. Theorem 5 has been proven.
Remark 2. If Ji ∈ Br ∈ B, then the job Ji must be located either on the left side from the core of the block Br or
on the right side from this core in any permutation πk having the largest relative perimeter of the optimality
box OB(πk , T ). Hence, job Ji must precede (or succeed, respectively) each job Jv ∈ Bk . The permutation πt
of the jobs from the block Br obtained using Procedure 3 described in the proof of Theorem 5, where jobs Br are
sequenced, remains the same if job Ji ∈ Br ∈ B is added to the permutation πt .
Lemma 4. Let there exist two adjacent blocks Br ∈ B and Br+1 ∈ B, such that the equality Br Br+1 = ∅
holds. Then the problem 1| piL ≤ pi ≤ pU
i | ∑ Ci can be decomposed
into the subproblem P1 with the set of jobs
J1 := rk=1 Bk and the subproblem P2 with the set of jobs J2 := m k =r +1 Bk = J \ J1 . The optimality box
28
Algorithms 2018, 11, 66
OB(πk , T ) with the largest length of the relative perimeter may be obtained as the Cartesian product of the
optimality boxes constructed for the subproblems P1 and P2 .
Proof. Since the blocks Br and Br+1 have no common jobs, the inequality pU u < pv holds for each
L
r
pair of jobs Ju ∈ rk=1 Bk and Jv ∈ m B
k =r +1 k . Due to Theorem 2, any job Ju ∈ k=1 Bk dominates
any job Jv ∈ m k =r +1 Bk . Thus, due to Definition 1, there is no optimal permutation πk ∈ S for the
instance 1| p| ∑ Ci with a scenario p ∈ T such that job Jv precedes job Ju in the permutation πk . Due to
Definition 2, a non-empty optimality box OB(πk , T ) is possible only if job Ju is located before job Jv in
the permutation πr . The optimality box OB(πk , T ) with the largest relative perimeter for the problem
1| piL ≤ pi ≤ pUi | ∑ Ci may be obtained as the Cartesian product of the optimality boxes with the largest
length of the relative perimeters constructed for the subproblems P1 and P2 , where the set of jobs
r
m
k =1 Bk and the set of jobs k =r +1 Bk are considered separately one from another.
Let B∗ denote a subset of all blocks of the set B, which contain only fixed jobs. Let J ∗ denote a
set of all non-fixed jobs in the set J . Let the set B( Ju ) ⊆ B∗ denote a set of all blocks containing the
non-fixed job Ju ∈ J ∗ . Theorem 5, Lemma 6 and the constructive proof of the following claim allows
us to develop an O(n log n)-algorithm for constructing the permutation πk with the largest value of
Per OB(πk , T ) for the special case of the problem 1| piL ≤ pi ≤ pU i | ∑ Ci . The proof of Theorem 6 is
based on Procedure 4.
Theorem 6. Let each block Br ∈ B contain at most one non-fixed job. The permutation πk ∈ S with the largest
value of the relative perimeter Per OB(πk , T ) is constructed in O(n log n) time.
Proof. There is no virtual block in the set B, since any virtual block contains at least two non-fixed
jobs while each block Br ∈ B contains at most one non-fixed job for the considered problem
1| piL ≤ pi ≤ pU i | ∑ Ci . Using O ( n log n )-Procedure 1 described in the proof of Lemma 1, we construct
the set B = { B1 , B2 , . . . , Bm } of all blocks. Using Lemma 3, we order the jobs in the set J \ J ∗ according
to the increasing of the left bounds of the cores of their blocks. As a result, all n − |J ∗ | jobs are linearly
ordered since all jobs J \ J ∗ are fixed in their blocks. Such an ordering of the jobs takes O(n log n)
time due to Lemma 1.
Since each block Br ∈ B contain at most one non-fixed job, the equality B( Ju ) ∩ B( Jv ) = ∅
holds for each pair of jobs Ju ∈ B( Ju ) ⊆ B \ B∗ and Jv ∈ B( Jv ) ⊆ B \ B∗ , u = v.
Furthermore, the problem 1| piL ≤ pi ≤ pU ∗ ∗
i | ∑ Ci may be decomposed into h = |J | + | B | subproblems
P1 , P2 , . . . , P|J ∗ | , P|J ∗ |+1 , . . . , Ph such that the condition of Lemma 4 holds for each pair Pr and Pr+1
of the adjacent subproblems, where 1 ≤ r ≤ h − 1. Using Lemma 4, we decompose the problem
1| piL ≤ pi ≤ pU i | ∑ Ci into h subproblems { P1 , P2 , . . . , P|J ∗ | , P|J ∗ |+1 , . . . , Ph } = P . The set P is partitioned
into two subsets, P = P 1 ∪ P 2 , where the subset P 1 = {P1 , P2 , . . . , P|J ∗ | } contains all subproblems Pf
containing all blocks from the set B( Ji f ), where Ji f ∈ J ∗ and |P 1 | = |J ∗ |.
The subset P 2 = { P|J ∗ |+1 , . . . , Ph } contains all subproblems Pd containing one block Brd from the
set B∗ , |P 2 | = | B∗ |. If subproblem Pd belongs to the set P 2 , then using O(n)-Procedure 3 described in
the proof of Theorem 5, we construct the optimality box OB(π (d) , T (d) ) with the largest length of the
relative perimeter for the subproblem Pd , where π (d) denotes the permutation of the jobs Brd ⊂ B∗ and
T (d) ⊂ T. It takes O(| Brd |) time to construct a such optimality box OB(π (d) , T (d) ).
If subproblem Pf belongs to the set P 1 , it is necessary to consider all | B( Jj f )| fixings of the
job Ji f in the block B f j from the set B( Jj f ) = { B f1 , B f2 , . . . , B f |B( J )| }. Thus, we have to solve | B( Jj f )|
jf
g
subproblems Pf , where job Ji f is fixed in the block B f g ∈ B( Jj f ) and job Ji f is deleted from all other
blocks B( Jj f ) \ { B f g }. We apply Procedure 3 for constructing the optimality box OB(π ( g) , T ( f ) ) with
the largest length of the relative perimeter Per OB(π ( g) , T ( f ) ) for each subproblem Pf , where g ∈
g
{1, 2, . . . , | B( Jj f )|}. Then, we have to choose the largest length of the relative perimeter among | B( Ji f )|
∗
constructed ones: Per OB(π ( f ) , T ( f ) ) = maxg∈{1,2,...,| B( Jj )|} Per OB(π ( g) , T ( f ) ).
f
29
Algorithms 2018, 11, 66
Due to Lemma 4, the optimality box OB(πk , T ) with the largest relative perimeter for the
original problem 1| piL ≤ pi ≤ pU i | ∑ Ci is determined as the Cartesian product of the optimality boxes
∗
OB(π (d) , T (d) ) and OB(π ( f ) , T ( f ) ) constructed for the subproblems Pd ∈ P 2 and Pf ∈ P 1 , respectively.
∗
The following equality holds: OB(πk , T ) = ×Pf ∈P 1 OB(π ( f ) , T ( f ) )×(×Pd ∈P 2 OB(π (d) , T (d) )).
The permutation πk with the largest length of the relative perimeter of the optimality box OB(πk , T ) for
the problem 1| piL ≤ pi ≤ pU i | ∑ Ci is determined as the concatenation of the corresponding permutations
∗
π ( f ) and π (d) . Using the complexities of the Procedures 1 and 3, we conclude that the total complexity of
the described algorithm (we call it Procedure 4) can be estimated by O(n log n).
Lemma 5. Within constructing a permutation πk with the largest relative perimeter of the optimality box
OB(πk , T ), any job Ji may be moved only within the blocks B( Ji ).
Proof. Let job Ji be located in the block Br in the permutation πk such that Ji ∈ Br . Then, either
the inequality pvL > pUi or the inequality pv < pi holds for each job Jv ∈ Br . If pv > pi , job Ju
U L L U
dominates job Ji (due to Theorem 2). If pv < pi , job Ji dominates job Ju . Hence, if job Ji is located in
U L
Due to Lemma 5, if job Ji is fixed in the block Bk ∈ B (or is non-fixed but distributed to the block
Bk ∈ B), then job Ji is located within the jobs from the block Bk in any permutation πk with the largest
relative perimeter of the optimality box OB(πk , T ).
4. An Algorithm for Constructing a Job Permutation with the Largest Relative Perimeter of the
Optimality Box
Based on the properties of the optimality box, we next develop Algorithm 2 for constructing the
permutation πk for the problem 1| piL ≤ pi ≤ pUi | ∑ Ci , whose optimality box OB( πk , T ) has the largest
relative perimeter among all permutations in the set S.
Algorithm 2
Input: Segments [ piL , pU
i ] for the jobs Ji ∈ J .
Output: The permutation πk ∈ S with the largest relative perimeter Per OB(πk , T ).
Step 1: IF the condition of Theorem 3 holds
THEN OB(πk , T ) = ∅ for any permutation πk ∈ S STOP.
Step 2: IF the condition of Theorem 4 holds
THEN construct the permutation πk ∈ S such that Per OB(πk , T ) = n
using Procedure 2 described in the proof of Theorem 4 STOP.
Step 3: ELSE determine the set B of all blocks using the
O(n log n)-Procedure 1 described in the proof of Lemma 1
Step 4: Index the blocks B = { B1 .B2 , . . . , Bm } according to increasing
left bounds of their cores (Lemma 3)
Step 5: IF J = B1 THEN problem 1| piL ≤ pi ≤ pU i | ∑ Ci is called problem P1
(Theorem 5) set i = 0 GOTO step 8 ELSE set i = 1
Step 6: IF there exist two adjacent blocks Br∗ ∈ B and Br∗ +1 ∈ B such
that Br∗ ∩ Br∗ +1 = ∅; let r denote the minimum of the above index r ∗
in the set {1, 2, . . . , m} THEN decompose the problem P into
subproblem P1 with the set of jobs J1 = ∪rk=1 Bk and subproblem P2
with the set of jobs J2 = ∪m k =r +1 Bk using Lemma 4;
set P = P1 , J = J1 , B = { B1 , B2 , . . . , Br } GOTO step 7 ELSE
Step 7: IF B = { B1 } THEN GOTO step 9 ELSE
Step 8: Construct the permutation π s(i) with the largest relative perimeter
Per OB(π s(i) , T ) using Procedure 3 described in the proof of
Theorem 5 IF i = 0 or J2 = Bm GOTO step 12 ELSE
30
Algorithms 2018, 11, 66
Algorithm 2
Step 9: IF there exists a block in the set B containing more than one
non-fixed jobs THEN construct the permutation π s(i) with the
largest relative perimeter Per OB(π s(i) , T ) for the problem P1
using Procedure 5 described in Section 4.1 GOTO step 11
Step 10: ELSE construct the permutation π s(i) with the largest relative
perimeter Per OB(π s(i) , T ) for the problem P1 using
O(n log n)-Procedure 4 described in the proof of Theorem 6
Step 11: Construct the optimality box OB(π s(i) , T ) for the permutation π s(i)
using Algorithm 1 IF J2 = Bm and i ≥ 1 THEN
set i := i + 1, P = P2 , J = J2 , B = { Br+1 , Br+2 , . . . , Bm }
GOTO step 6 ELSE IF J2 = Bm THEN GOTO step 8
Step 12: IF i > 0 THEN set v = i, determine the permutation
πk = (π s(1) , π s(2) , . . . , π s(v) ) and the optimality box
OB(πk , T ) = ×i∈{1,2,...,v} OB(π s(i) , T ) GOTO step 13
ELSE OB(πk , T ) = OB(π s(0) , T )
Step 13: The optimality box OB(πk , T ) has the largest value of
Per OB(πk , T ) STOP.
For solving the problem P1 at step 9 of the Algorithm 2, we use Procedure 5 based on dynamic
programming. Procedure 5 allows us to construct the permutation πk ∈ S for the problem 1| piL ≤
p i ≤ pU
i | ∑ Ci with the largest value of Per OB( πk , T ), where the set B consists of more than one block,
m ≥ 2, the condition of Lemma 4 does not hold for the jobs J = { J1 , J2 , . . . , Jn } =: J (Bm 0 ), where B 0
m
denotes the following set of blocks: { B1 , B2 , . . . , Bm } =: Bm0 . Moreover, the condition of Theorem 6
does hold for the set B = Bm 0 of the blocks, i.e., there is a block B ∈ B 0 containing more than one
r m
non-fixed jobs. For the problem 1| piL ≤ pi ≤ pU i | ∑ Ci with J = { J1 , J2 , . . . , Jn } = J (Bm ), one can
0
calculate the following tight upper bound Permax on the length of the relative perimeter Per OB(πk , T )
of the optimality box OB(πk , T ):
where B denotes the set of all blocks Br ∈ B which are singletons, | Br | = 1. The upper bound (5) on the
u∗k −lk∗
relative perimeter Per OB(πk , T ) holds, since the relative optimality segment i i
for any job Ji ∈ J
k − pk
pU L
i i
is not greater than one. Thus, the sum of the relative optimality segments for all jobs Ji ∈ J cannot be
greater than 2m.
Instead of describing Procedure 5 in a formal way, we next describe the first two iterations of
Procedure 5 along with the application of Procedure 5 to a small example with four blocks and three
non-fixed jobs (see Section 4.2). Let T = (V, E) denote the solution tree constructed by Procedure 5 at
the last iteration, where V is a set of the vertexes presenting states of the solution process and E is a set
of the edges presenting transformations of the states to another ones. A subgraph of the solution tree
T = (V, E) constructed at the iteration h is denoted by Th = (Vh , Eh ). All vertexes i ∈ V of the solution
tree have their ranks from the set {0, 1, . . . , m = | B|}. The vertex 0 in the solution tree Th = (Vh , Eh ) has
a zero rank. The vertex 0 is characterized by a partial job permutation π 0 (∅; ∅), where the non-fixed
jobs are not distributed to their blocks.
All vertexes of the solution tree Th having the first rank are generated at iteration 1 from vertex 0
via distributing the non-fixed jobs J [ B1 ] of the block B1 , where J [ B1 ] ⊆ B1 . Each job Jv ∈ J [ B1 ] must
be distributed either to the block B1 or to another block Bj ∈ B with the inclusion Jv ∈ J [ Bj ]. Let Bkt
denote a set of all non-fixed jobs Ji ∈ Bk , which are not distributed to their blocks at the iterations with
the numbers less than t. A partial permutation of the jobs is characterized by the notation π u ( Bk ; J[u] ),
where u denotes the vertex u ∈ Vt in the constructed solution tree Tt = (Vt , Et ) and J[u] denotes the
31
Algorithms 2018, 11, 66
non-fixed jobs from the set J [ Bk ], which are distributed to the block Bk in the vertex j ∈ Vt of the
solution tree such that the arc ( j, u) belongs to the set Et .
At the first iteration of Procedure 5, the set P (J [ B11 ]) = {J [ B11 ], . . . , ∅} of all subsets of the
set J [ B11 ] is constructed and 2|J [ B1 ]| partial permutations are generated for all subsets P (J [ B11 ])
1
of the non-fixed jobs J [ B11 ]. The constructed solution tree T1 = (V1 , E1 ) consists of the vertexes
0, 1, . . . , 2|J [ B1 ]| and 2|J [ B1 ]| arcs connecting vertex 0 with the other vertexes in the tree T1 . For each
1 1
generated permutation π u ( Bk ; J[u] ), where J[u] ∈ P (J [ Bkl ]), the penalty φu determined in (6) is
calculated, which is equal to the difference between the lengths of the maximal possible relative
perimeter Permax of the optimality box OB(πk , T ) and the relative perimeter of the optimality box
OB(π u ( Bk ; J[u] ), T ), which may be constructed for the permutation π u ( Bk ; J[u] ):
where Permax u denotes the maximal length of the relative perimeter of the permutation π u ( Bk ; J[u] ), T ).
The penalty φu is calculated using O(n)-Procedure 3 described in the proof of Theorem 5. The complete
permutation π 0→u ( Bk ; J[u] ) with the end π u ( Bk ; J[u] ) is determined based on the permutations
π s ( Bc ; J[s] ), where each vertex s belongs to the chain (0 → u) between vertexes 0 and u in the
solution tree Tt = (Vt , Et ) and each block Bc belongs to the set Bu = { B1 , B2 , . . . , Bk }. The permutation
π 0→u ( Bk ; J[u] ) includes all jobs, which are fixed in the blocks Bc ∈ Bu or distributed to their blocks
Bc ∈ Bu in the optimal order for the penalty φu .
The aim of Procedure 5 is to construct a complete job permutation π f ( Bm ; J[ f ] ) = πk ∈ S such
that the penalty φ f is minimal for all job permutations from the set S. At the next iteration, a partial
permutation π s ( B2 ; J[s] ) is chosen from the constructed solution tree such that the penalty φs is minimal
among the permutations corresponding to the leafs of the constructed solution tree.
At the second iteration, the set P (J [ B22 ]) = {J [ B22 ], . . . , ∅} of all subsets of the set J [ B22 ]
is generated and 2|J [ B2 ]| permutations for all subsets P (J [ B22 ]) of the jobs from the block B2 are
2
constructed. For each generated permutation π v ( B22 ; J[v] ), where J[v] ∈ P (J [ B22 ]), the penalty
φv is calculated using the equality φv = φl + Δφk , where the edge [l, v] belongs to the solution
tree T2 = (V2 , E2 ) and Δφk denotes the penalty reached for the optimal permutation π 0→v ( B2 ; J[v] )
constructed from the permutation π v ( B1 ; J[v] ) using O(n)-Procedure 3. For the consideration at the
next iteration, one chooses the partial permutation π d ( Bc ; J[d] ) with the minimal value of the penalty
for the partial permutations in the leaves of the constructed solution tree.
The whole solution tree is constructed similarly until there is a partial permutation with a smaller
value of the penalty φt in the constructed solution tree.
32
Algorithms 2018, 11, 66
At the second iteration, the block B2 is destroyed, and we construct the permutations
π 5 ( B32 ; ∅) and π 6 ( B32 ; J7 ) from the permutation π 4 ( B11 ; J4 , J5 ). We obtain the permutation
π 0→5 ( B32 ; ∅) = ( J4 , J5 , J1 , J2 , J3 , J6 ) with the penalty φ5 = 4 13 30 ≈ 4.433333 and the permutation
π 0→6 ( B23 ; J7 ) = ( J4 , J5 , J1 , J2 , J3 , J7 , J6 ) with the penalty φ6 = 5 13 ≈ 5.333333. Since all non-fixed
jobs are distributed in the permutation π 0→6 ( B11 ; J3 , J8 ), we obtain the complete permutation
J4 , J5 , J1 , J2 , J3 , J6 , J8 , J10 , J9 , J7 ) ∈ S with the final penalty φ6∗ = 6 12 7
≈ 6.583333. From the permutation
π 0→3 ( B11 ; J5 ), we obtain the permutations with their penalties: π 0→7 ( B33 ; ∅) = ( J1 , J5 , J3 , J2 , J4 , J6 ),
φ7 = 5 29 0→8 ( B3 ; J ) = ( J , J , J , J , J , J , J ), φ = 51. We obtain the complete
90 ≈ 5.322222 and π 3 7 1 5 3 2 4 7 6 8
permutation π = ( J1 , J5 , J3 , J2 , J4 , J7 , J6 , J9 , J10 , J8 ) with the penalty φ8∗ = 6.35.
We obtain the following permutations with their penalties: π 0→9 ( B24 ; ∅) = ( J4 , J2 , J3 , J1 , J5 ), φ9 =
1
3 24 ≈ 3.041667 and π 0→10 ( B24 ; J7 ) = ( J4 , J2 , J1 , J3 , J7 , J5 ), φ10 = 3.5 from the permutation π 0→2 ( B11 ; J4 ).
We obtain the following permutations with their penalties: π 0→11 ( B25 ; ∅) = ( J1 , J2 , J3 , J5 , ), φ11 =
3.175, π 0→12 ( B25 ; J4 ) = ( J1 , J2 , J3 , J4 , J5 ), φ12 = 3.3, π 0→13 ( B25 ; J7 ) = ( J1 , J2 , J3 , J7 , J5 ), φ13 = 3 19 30 ≈
3.633333, π 0→14 ( B25 ; J4 , J7 ) = ( J1 , J2 , J3 , J4 , J7 , J5 ), φ14 = 3 19 30 ≈ 3.633333 from the permutation
π 0→1 ( B11 ; ∅). We obtain the complete permutation ( J1 , J2 , J3 , J4 , J7 , J5 , J6 , J9 , J10 , J8 ) ∈ S with the
final penalty φ14 ∗ = 5 53 ≈ 5.883333. We obtain the following permutations with their penalties:
60
π 0→15 ( B36 ; ∅) = ( J4 , J2 , J3 , J1 , J5 , J6 ), φ15 = 4 24 1
≈ 4.041667, π 0→16 ( B36 ; J7 ) = ( J4 , J2 , J3 , J1 , J5 , J7 , J6 ),
φ16 = 5 60 7
≈ 5.116667 from the permutation π 0→9 ( B24 ; ∅). We obtain the complete permutation
( J4 , J2 , J3 , J1 , J5 , J7 , J6 , J9 , J10 , J8 ) ∈ S with the final penalty φ16 ∗ = 6 11 ≈ 6.366667.
30
We obtain the following permutations with their penalties: π 0→17 ( B37 ; ∅) = ( J1 , J2 , J3 , J5 , J4 , J6 ),
φ17 = 5 11 0→18 ( B7 ; J ) = ( J , J , J , J , J , J , J ), φ
45 ≈ 5.244444, π 3 7 1 2 3 5 7 4 6 18 = 4.925 from the permutation
π 0→11 ( B25 ; ∅). We obtain the complete permutation ( J1 , J2 , J3 , J5 , J7 , J4 , J6 , J9 , J10 , J8 ) ∈ S with the final
penalty φ18 ∗ = 6.175.
From the permutation π 0→ 10 (B2 ; J7 ), we obtain the permutation with its penalty as follows:
4
with the final penalty φ22 ∗ = 6 1 ≈ 6.333333. We obtain the complete permutation π 0→23 ( B11 ; J ) =
3 4 4
( J4 , J2 , J3 , J1 , J5 , J6 , J8 , J10 , J9 , J7 ), φ23 = 5 12017
≈ 5.141667 from the permutation π0→15 (B36 ; ∅). We obtain the
complete permutation π0→24 (B412 ; J4 ) = ( J1 , J2 , J3 , J4 , J5 , J6 , J8 , J10 , J9 , J7 ), φ22 = 5.4 from the permutation
π0→19 (B38 ; ∅)). We obtain the complete permutation π0→25 (B412 ; J4 ) = ( J4 , J5 , J1 , J2 , J3 , J6 , J8 , J10 , J9 , J7 ),
φ25 = 5 15 8
≈ 5.533333 from the permutation π0→5 (B32 ; ∅)).
Using Procedure 5, we obtain the following permutation with the largest relative perimeter of the
optimality box: π 0→23 ( B411 ; J4 ). The maximal relative perimeter Per (OB(πk , T )) of the optimality box
is equal to 2 103 120 ≈ 2.858333, where Permax = 22 and the minimal penalty obtained for the permutation
πk is equal to 5 120 17
≈ 5.141667.
Since all non-fixed jobs are distributed in the permutation π 0→23 ( B411 ; J4 ), we obtain the complete
permutation ( J4 , J2 , J3 , J1 , J5 , J6 , J8 , J10 , J9 , J7 ) ∈ S with the final penalty φ23 ∗ equal to 5 17 ≈ 5.141667.
120
The relative perimeter of the optimality box OB(πk , T ) characterizes the probability for the
permutation πk to be optimal for the instances 1| p| ∑ Ci , where p ∈ T. It is clear that this probability
may be close to zero for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci with a high uncertainty of the job processing
times (if the set T has a large volume and perimeter).
If the uncertainty of the input data is high for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci , one can estimate
how the value of ∑in=1 Ci (πk , p) with a vector p ∈ T may be close to the optimal value of ∑in=1 Ci (πt , p∗ ),
33
Algorithms 2018, 11, 66
where the permutation πt ∈ S is optimal for the factual scenario p∗ ∈ T of the job processing times.
We call the scenario p∗ = ( p1∗ , p2∗ , . . . , p∗n ) ∈ T factual, if pi is equal to the exact time needed for
processing the job Ji ∈ J . The factual processing time pi∗ becomes known after completing the job
Ji ∈ J .
If the permutation πk = (πk1 , πk2 , . . . , πkn ) ∈ S has the non-empty optimality box OB(πk , T ) = ∅,
then one can calculate the following error function:
n u∗k − lk∗
F (πk , T ) = ∑ 1− i i
( n − i + 1) . (7)
k − pk
pU L
i =1 i i
A value of the error function F (πk , T ) characterizes how the objective function value of
∑in=1 Ci (πk , p∗ ) for the permutation πk may be close to the objective function value of ∑in=1 Ci (πt , p∗ )
for the permutation πt ∈ S, which is optimal for the factual scenario p∗ ∈ T of the job processing times.
The function F (πk , T ) characterizes the following difference
n n
∑ Ci (πk , p∗ ) − ∑ Ci (πt , p∗ ), (8)
i =1 i =1
which has to be minimized for a good approximate solution πk to the uncertain problem 1| piL ≤ pi ≤
i | ∑ Ci . The better approximate solution πk to the uncertain problem 1| pi ≤ pi ≤ pi | ∑ Ci will have
pU L U
Theorem 7. If the equality B1 = J holds, then it takes O(n) time to find the permutation πk ∈ S and
optimality box OB(πk , T ) with the smallest value of the error function F (πk , T ) among all permutations S.
Theorem 8. Let each block Br ∈ B contain at most one non-fixed job. The permutation πk ∈ S with the
smallest value of the error function F (πk , T ) among all permutations S is constructed in O(n log n) time.
Using Theorems 7 and 8, we developed the modifications of Procedures 3 and 4 for the
minimization of the values of F (πk , T ) instead of the maximization of the values of Per OB(πk , T ).
The derived modifications of Procedures 3 and 4 are called Procedures 3+ F (πk , T ) and 4+ F (πk , T ),
respectively. We modify also Procedures 2 and 5 for minimization of the values of F (πk , T ) instead
of the maximization of the values of Per OB(πk , T ). The derived modifications of Procedures 2 and 5
are called Procedures 2+ F (πk , T ) and 5+ F (πk , T ), respectively. Based on the proven properties of the
34
Algorithms 2018, 11, 66
optimality box (Section 3), we propose the following Algorithm 3 for constructing the job permutation
πk ∈ S for the problem 1| piL ≤ pi ≤ pU i | ∑ Ci , whose optimality box OB( πk , T ) provides the minimal
value of the error function F (πk , T ) among all permutations S.
Algorithm 3
Input: Segments [ piL , pU i ] for the jobs Ji ∈ J .
Output: The permutation πk ∈ S and optimality box OB(πk , T ), which provide
the minimal value of the error function F (πk , T ).
Step 1: IF the condition of Theorem 3 holds
THEN OB(πk , T ) = ∅ for any permutation πk ∈ S
n ( n +1)
and the equality F (πk , T ) = 2 holds STOP.
Step 2: IF the condition of Theorem 4 holds
THEN using Procedure 2+ F (πk , T ) construct
the permutation πk ∈ S such that both equalities
Per OB(πk , T ) = n and F (πk , T ) = 0 hold STOP.
Step 3: ELSE determine the set B of all blocks using the
O(n log n)-Procedure 1 described in the proof of Lemma 1
Step 4: Index the blocks B = { B1 .B2 , . . . , Bm } according to increasing
left bounds of their cores (Lemma 3)
Step 5: IF J = B1 THEN problem 1| piL ≤ pi ≤ pU i | ∑ Ci is called problem P1
(Theorem 5) set i = 0 GOTO step 8 ELSE set i = 1
Step 6: IF there exist two adjacent blocks Br∗ ∈ B and Br∗ +1 ∈ B such
that Br∗ ∩ Br∗ +1 = ∅; let r denote the minimum of the above index r ∗
in the set {1, 2, . . . , m} THEN decompose the problem P into
subproblem P1 with the set of jobs J1 = ∪rk=1 Bk and subproblem P2
with the set of jobs J2 = ∪m k =r +1 Bk using Lemma 4;
set P = P1 , J = J1 , B = { B1 , B2 , . . . , Br } GOTO step 7 ELSE
Step 7: IF B = { B1 } THEN GOTO step 9 ELSE
Step 8: Construct the permutation π s(i) with the minimal value of
the error function F (πk , T ) using Procedure 3+ F (πk , t)
IF i = 0 or J2 = Bm GOTO step 12 ELSE
Step 9: IF there exists a block in the set B containing more than one
non-fixed jobs THEN construct the permutation π s(i) with
the minimal value of the error function F (πk , T ) for the problem P1
using Procedure 5+ F (πk , t) GOTO step 11
Step 10: ELSE construct the permutation π s(i) with the minimal value of the
error function F (πk , T ) for the problem P1 using Procedure 3+ F (πk , t)
Step 11: Construct the optimality box OB(π s(i) , T ) for the permutation π s(i)
using Algorithm 1 IF J2 = Bm and i ≥ 1 THEN
set i := i + 1, P = P2 , J = J2 , B = { Br+1 , Br+2 , . . . , Bm }
GOTO step 6 ELSE IF J2 = Bm THEN GOTO step 8
Step 12: IF i > 0 THEN set v = i, determine the permutation
πk = (π s(1) , π s(2) , . . . , π s(v) ) and the optimality box:
OB(πk , T ) = ×i∈{1,2,...,v} OB(π s(i) , T ) GOTO step 13
ELSE OB(πk , T ) = OB(π s(0) , T )
Step 13: The optimality box OB(πk , T ) has the minimal value
of the error function F (πk , T ) STOP.
6. Computational Results
For the benchmark instances 1| piL ≤ pi ≤ pU
i | ∑ Ci , where there are no properties of the randomly
generated jobs J , which make the problem harder, the mid-point permutation πmid− p = πe ∈ S,
pU + p L
where all jobs Ji ∈ J are ordered according to the increasing of the mid-points i 2 i of their segments
[ piL , pU
i ], is often close to the optimal permutation. In our computational experiments, we tested seven
35
Algorithms 2018, 11, 66
classes of harder problems, where the job permutation πk ∈ S constructed by Algorithm 3 outperforms
the mid-point permutation πmid− p and the permutation πmax constructed by Algorithm MAX-OPTBOX
derived in [15]. Algorithm MAX-OPTBOX and Algorithm 3 were coded in C# and tested on a PC with
Intel Core (TM) 2 Quad, 2.5 GHz, 4.00 GB RAM. For all tested instances, inequalities piL < pU i hold
for all jobs Ji ∈ J . Table 2 presents computational results for randomly generated instances of the
problem 1| piL ≤ pi ≤ pU i | ∑ Ci with n ∈ {100, 500, 1000, 5000, 10, 000}. The segments of the possible
processing times have been randomly generated similar to that in [15].
An integer center C of the segment [ piL , pUi ] was generated using a uniform distribution in the
range [1, 100]. The lower bound piL of the possible processing time pi was determined using the equality
δ
piL = C · (1 − 100 ). Hereafter, δ denotes the maximal relative error of the processing times pi due to the
δ
given segments [ piL , pU
i ]. The upper bound pi was determined using the equality pi = C · (1 + 100 ).
U U
Then, for each job Ji ∈ J , the point p was generated using a uniform distribution in the range [ pi , pU
L
i ].
i
In order to generate instances, where all jobs J belong to a single block, the segments [ piL , pU i ] of
the possible processing times were modified as follows: [ piL , pUi ] = [ pi + p − pi , pi + p − pi ], where
L U
36
Algorithms 2018, 11, 66
πmax . The smallest errors, average errors, largest errors for the tested series of the instances are
presented in the last rows of Table 2.
Table 2. Computational results for randomly generated instances with a single block (class 1).
n δ (%) Δ (%) Δmid− p (%) Per OB(πk , T ) Δmid− p /Δ Δmax /Δ CPU-Time (s)
1 2 3 4 5 6 7 8
100 1 0.08715 0.197231 1.6 2.263114 1.27022 0.046798
100 5 0.305088 0.317777 1.856768 1.041589 1.014261 0.031587
100 10 0.498286 0.500731 1.916064 1.001077 1.000278 0.033953
500 1 0.095548 0.208343 1.6 2.18052 1.0385 0.218393
500 5 0.273933 0.319028 1.909091 1.164623 1.017235 0.2146
500 10 0.469146 0.486097 1.948988 1.036133 1.006977 0.206222
1000 1 0.093147 0.21632 1.666667 2.322344 1.090832 0.542316
1000 5 0.264971 0.315261 1.909091 1.189795 1.030789 0.542938
1000 10 0.472471 0.494142 1.952143 1.045866 1.000832 0.544089
5000 1 0.095824 0.217874 1.666667 2.273683 1.006018 7.162931
5000 5 0.264395 0.319645 1.909091 1.208965 1.002336 7.132647
5000 10 0.451069 0.481421 1.952381 1.06729 1.00641 7.137556
10,000 1 0.095715 0.217456 1.666667 2.271905 1.003433 25.52557
10,000 5 0.26198 0.316855 1.909091 1.209463 1.003251 25.5448
10,000 10 0.454655 0.486105 1.952381 1.069175 1.003809 25.50313
Minimum 0.08715 0.197231 1.6 1.001077 1.000278 0.031587
Average 0.278892 0.339619 1.827673 1.489703 1.033012 6.692502
Maximum 0.498286 0.500731 1.952381 2.322344 1,27022 25.5448
In the second part of our experiments, Algorithm 3 was applied to the randomly generated
instances from other hard classes 2–7 of the problem 1| piL ≤ pi ≤ pU i | ∑ Ci . We randomly generated
non-fixed jobs J1 , J2 , . . . , Js , which belong to all blocks B1 , B2 , . . ., Bm of the randomly generated n − s
i on the feasible values of pi ∈ R+ of the
fixed jobs. The lower bound piL and the upper bound pU 1
processing times of the fixed jobs, pi ∈ [ piL , pU i ] , were generated as follows. We determined a bound of
blocks [ biL ,
biU ] for generating the cores of the blocks [biL , biU ] ⊆ [ biL ,
biU ] and for generating the segments
[ piL , pU i ] for the processing times of | Bi | jobs from all blocks Bi , i ∈ {1, 2, 3}, [ bi , bi ] ⊆ [ pi , pi ] ⊆
L U L U
[biL , biU ]. Each instance in class 2 has fixed jobs Ji ∈ J with rather closed centers ( piL + pU i ) /2 and large
difference between segment lengths pU i − p L.
i
Each instance in class 3 or in class 4 has a single non-fixed job Jv , whose bounds are determined
as follows: p LJv ≤ b1L ≤
b1U <
b2L ≤
b2U <
b3L ≤ b3U ≤ pU Jv . Classes 3 and 4 of the solved instances differ
one from another by the numbers of non-fixed jobs and the distribution laws used for choosing the
factual processing times of the jobs J . Each instance from classes 5 and 6 has two non-fixed jobs. In
each instance from classes 2, 3, 5, 6 and 7, for generating the factual processing times for the jobs J ,
the numbers of the distribution law were randomly chosen from the set {1, 2, 3}, and they are indicated
in column 4 in Table 3. In the instances of class 7, the cores of the blocks were determined in order
to generate different numbers of non-fixed jobs in different instances. The numbers of non-fixed jobs
were randomly chosen from the set {2, 3, . . . , 8}. Numbers n of the jobs are presented in column 1.
In Table 3, column 2 represents the number | B| of blocks in the solved instance and column 3 the
number of non-fixed jobs. The distribution laws used for determining the factual job processing
times are indicated in column 4 in Table 3. Each solved series contained 10 instances with the same
combination of n and the other parameters. The obtained smallest, average and largest values of Δ,
Δ
Δmid− p , mid
Δ
−p
and Δmax
Δ for each series of the tested instances are presented in columns 5, 6, 8 and
9 in Table 3 at the end of series. Column 7 presents the average relative perimeter of the optimality
box OB(πk , T ) for the permutation πk with the minimal value of F (πk , T ). Column 10 presents the
average CPU-time of Algorithm 3 for the solved instances in seconds.
37
Algorithms 2018, 11, 66
Table 3. Computational results for randomly generated instances from classes 2–7.
n | B| N-Fix Jobs Laws Δ (%) Δmid− p (%) Per OB(πk , T ) Δmid− p /Δ Δmax /Δ CPU-Time (s)
1 2 3 4 5 6 7 8 9 10
Class 2
50 1 0 1.2.3 1.023598 2.401925 1.027 2.346551 1,395708 0,020781
100 1 0 1.2.3 0.608379 0.995588 0.9948 1.636461 1.618133 0.047795
500 1 0 1.2.3 0.265169 0.482631 0.9947 1.820092 1.630094 0.215172
1000 1 0 1.2.3 0.176092 0.252525 0.9952 1.434053 1.427069 0.535256
5000 1 0 1.2.3 0.111418 0.14907 0.9952 1.33793 1.089663 7.096339
10,000 1 0 1.2.3 0.117165 0.13794 0.9948 1.177313 1.004612 25.28328
Minimum 0.111418 0.13794 0.9947 1.177313 1.004612 0.020781
Average 0.383637 0.736613 0.99494 1.6254 1.399944 5.533104
Maximum 1.023598 2.401925 0.9952 2.346551 1.630094 25.28328
Class 3
50 3 1 1.2.3 0.636163 0.657619 1.171429 1.033727 1.004246 0.047428
100 3 1 1.2.3 1.705078 1.789222 1.240238 1.049349 1.009568 0.066329
500 3 1 1.2.3 0.332547 0.382898 1.205952 1.151412 1.138869 0.249044
1000 3 1 1.2.3 0.286863 0.373247 1.400833 1.301132 1.101748 0.421837
5000 3 1 1.2.3 0.246609 0.323508 1.380833 1.311825 1.140728 2.51218
10,000 3 1 1.2.3 0.26048 0.338709 1.098572 1.300324 1.095812 5.46782
Minimum 0.246609 0.323508 1.098572 1.033727 1.004246 0.047428
Average 0.577957 0.644201 1.249643 1.191295 1.0818286 1.460773
Maximum 1.705078 1.789222 1.400833 1.311825 1.140728 5.46782
Class 4
50 3 1 1 0.467885 0.497391 1.17369 1.063064 1.035412 0.043454
100 3 1 1 0.215869 0.226697 1.317222 1.05016 1.031564 0.067427
500 3 1 1 0.128445 0.15453 1.424444 1.203083 1.17912 0.256617
1000 3 1 1 0.111304 0.118882 1.307738 1.068077 1.042852 0.50344
5000 3 1 1 0.076917 0.085504 1.399048 1.111631 1.046061 2.612428
10,000 3 1 1 0.067836 0.076221 1.591905 1.123606 1.114005 4.407236
Minimum 0.067836 0.076221 1.17369 1.05016 1.031564 0.043454
Average 0.178043 0.193204 1.369008 1.10327 1.074836 1.3151
Maximum 0.467885 0.497391 1.591905 1.203083 1.17912 4.407236
Class 5
50 3 2 1.2.3 1.341619 1.508828 1.296195 1.124632 1.035182 0.049344
100 3 2 1.2.3 0.700955 0.867886 1.271976 1.238149 1.037472 0.070402
500 3 2 1.2.3 0.182378 0.241735 1.029 1.32546 1.296414 0.255463
1000 3 2 1.2.3 0.098077 0.11073 1.473451 1.129006 1.104537 0.509969
5000 3 2 1.2.3 0.074599 0.084418 1.204435 1.131624 1.056254 2.577595
10,000 3 2 1.2.3 0.064226 0.074749 1.359181 1.163846 1.042676 5.684847
Minimum 0.064226 0.074749 1.029 1.124632 1.035182 0.049344
Average 0.410309 0.481391 1.272373 1.185453 1.095422 1.524603
Maximum 1.341619 1.508828 1.473451 1.32546 1.296414 5.684847
Class 6
50 4 2 1.2.3 0.254023 0.399514 1.818905 1.57275 1.553395 0.058388
100 4 2 1.2.3 0.216541 0.260434 1.868278 1.202704 1.03868 0.091854
500 4 2 1.2.3 0.081932 0.098457 1.998516 1.201691 1.1292 0.365865
1000 4 2 1.2.3 0.06145 0.067879 1.933984 1.104622 1.061866 0.713708
5000 4 2 1.2.3 0.050967 0.060394 1.936453 1.184953 1.048753 3.602502
10,000 4 2 1.2.3 0.045303 0.05378 2.332008 1.187101 1.038561 7.426986
Minimum 0.045303 0.05378 1.818905 1.104622 1.038561 0.058388
Average 0.118369 0.156743 1.981357 1.242304 1.1450756 2.043217
Maximum 0.254023 0.399514 2.332008 1.57275 1.553395 7.426986
Class 7
50 2 2–4 1.2.3 4.773618 6.755918 0.262946 1.415262 1.308045 0.039027
100 2 2–4 1.2.3 3.926612 4.991843 0.224877 1.271285 1.160723 0.059726
500 2 2–6 1.2.3 3.811794 4.600017 0.259161 1.206785 1.132353 0.185564
1000 2 2–8 1.2.3 3.59457 4.459855 0.337968 1.24072 1.08992 0.474514
5000 2 2–8 1.2.3 3.585219 4.297968 0.261002 1.198802 1.031319 2.778732
10,000 2 2–8 1.2.3 3.607767 4.275581 0.299311 1.185105 1.013096 5.431212
Minimum 3.585219 4.275581 0.224877 1.185105 1.013096 0.039027
Average 3.883263 4.896864 0.274211 1.252993 1.122576 1.494796
Maximum 4.773618 6.755918 0.337968 1.415262 1.308045 5.431212
38
Algorithms 2018, 11, 66
7. Concluding Remarks
The uncertain problem 1| piL ≤ pi ≤ pU i | ∑ Ci continues to attract the attention of the OR
researchers since the problem is widely applicable in real-life scheduling and is commonly used
in many multiple-resource scheduling systems, where only one of the machines is the bottleneck
and uncertain. The right scheduling decisions allow the plant to reduce the costs of productions due
to better utilization of the machines. A shorter delivery time is archived with increasing customer
satisfaction. In Sections 2–6, we used the notion of an optimality box of a job permutation πk and
proved useful properties of the optimality box OB(πk , T ). We investigated permutation πk with the
largest relative perimeter of the optimality box. Using these properties, we derived efficient algorithms
for constructing the optimality box for a job permutation πk with the largest relative perimeter of the
box OB(πk , T ).
From the computational experiments, it follows that the permutation πk with the smallest values
of the error function F (πk , t) for the optimality box OB(πk , T ) is close to the optimal permutation,
which can be determined after completing the jobs when their processing times became known. In
our computational experiments, we tested classes 1–7 of hard problems 1| piL ≤ pi ≤ pU i | ∑ Ci , where
the permutation constructed by Algorithm 3 outperforms the mid-point permutation, which is often
used in the published algorithms applied to the problem 1| piL ≤ pi ≤ pU i | ∑ Ci . The minimal, average
and maximal errors Δ of the objective function values were 0.045303%, 0.735154% and 4.773618%,
respectively, for the permutations with smallest values of the error function F (πk , t) for the optimality
boxes. The minimal, average and maximal errors Δmid− p of the objective function values were 0.05378%,
0.936243% and 6.755918%, respectively, for the mid-point permutations. The minimal, average and
maximal errors Δmax of the objective function values were 0.04705%, 0.82761% and 6.2441066%,
respectively. Thus, Algorithm 3 solved all hard instances with a smaller error Δ than other tested
Δmid− p
algorithms. The average relation Δ for the obtained errors for all instances of classes 1–7 was equal
Δmax
to 1.33235. The average relation Δ for the obtained errors for all instances of classes 1–7 was equal
to 1.1133116.
Author Contributions: Y.N. proved theoretical results; Y.N. and N.E. jointly conceived and designed the
algorithms; N.E. performed the experiments; Y.N. and N.E. analyzed the data; Y.N. wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Davis, W.J.; Jones, A.T. A real-time production scheduler for a stochastic manufacturing environment. Int. J.
Prod. Res. 1988, 1, 101–112. [CrossRef]
2. Pinedo, M. Scheduling: Theory, Algorithms, and Systems; Prentice-Hall: Englewood Cliffs, NJ, USA, 2002.
3. Daniels, R.L.; Kouvelis, P. Robust scheduling to hedge against processing time uncertainty in single stage
production. Manag. Sci. 1995, 41, 363–376. [CrossRef]
4. Sabuncuoglu, I.; Goren, S. Hedging production schedules against uncertainty in manufacturing environment
with a review of robustness and stability research. Int. J. Comput. Integr. Manuf. 2009, 22, 138–157. [CrossRef]
5. Sotskov, Y.N.; Werner, F. Sequencing and Scheduling with Inaccurate Data; Nova Science Publishers: Hauppauge,
NY, USA, 2014.
6. Pereira, J. The robust (minmax regret) single machine scheduling with interval processing times and total
weighted completion time objective. Comput. Oper. Res. 2016, 66, 141–152. [CrossRef]
7. Grabot, B.; Geneste, L. Dispatching rules in scheduling: A fuzzy approach. Int. J. Prod. Res. 1994, 32, 903–915.
[CrossRef]
8. Kasperski, A.; Zielinski, P. Possibilistic minmax regret sequencing problems with fuzzy parameteres.
IEEE Trans. Fuzzy Syst. 2011, 19, 1072–1082. [CrossRef]
9. Özelkan, E.C.; Duckstein, L. Optimal fuzzy counterparts of scheduling rules. Eur. J. Oper. Res. 1999,
113, 593–609. [CrossRef]
39
Algorithms 2018, 11, 66
10. Braun, O.; Lai, T.-C.; Schmidt, G.; Sotskov, Y.N. Stability of Johnson’s schedule with respect to limited
machine availability. Int. J. Prod. Res. 2002, 40, 4381–4400. [CrossRef]
11. Sotskov, Y.N.; Egorova, N.M.; Lai, T.-C. Minimizing total weighted flow time of a set of jobs with interval
processing times. Math. Comput. Model. 2009, 50, 556–573. [CrossRef]
12. Sotskov, Y.N.; Lai, T.-C. Minimizing total weighted flow time under uncertainty using dominance and a
stability box. Comput. Oper. Res. 2012, 39, 1271–1289. [CrossRef]
13. Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.H.G.R. Optimization and Approximation in Deterministic
Sequencing and Scheduling. Ann. Discret. Appl. Math. 1979, 5, 287–326.
14. Smith, W.E. Various optimizers for single-stage production. Nav. Res. Logist. Q. 1956, 3, 59–66. [CrossRef]
15. Lai, T.-C.; Sotskov, Y.N.; Egorova, N.G.; Werner, F. The optimality box in uncertain data for minimising the
sum of the weighted job completion times. Int. J. Prod. Res. 2017. [CrossRef]
16. Burdett, R.L.; Kozan, E. Techniques to effectively buffer schedules in the face of uncertainties.
Comput. Ind. Eng. 2015, 87, 16–29. [CrossRef]
17. Goren, S.; Sabuncuoglu, I. Robustness and stability measures for scheduling: Single-machine environment.
IIE Trans. 2008, 40, 66–83. [CrossRef]
18. Kasperski, A.; Zielinski, P. A 2-approximation algorithm for interval data minmax regret sequencing
problems with total flow time criterion. Oper. Res. Lett. 2008, 36, 343–344. [CrossRef]
19. Kouvelis, P.; Yu, G. Robust Discrete Optimization and Its Application; Kluwer Academic Publishers: Boston,
MA, USA, 1997.
20. Lu, C.-C.; Lin, S.-W.; Ying, K.-C. Robust scheduling on a single machine total flow time. Comput. Oper. Res.
2012, 39, 1682–1691. [CrossRef]
21. Yang, J.; Yu, G. On the robust single machine scheduling problem. J. Comb. Optim. 2002, 6, 17–33. [CrossRef]
22. Harikrishnan, K.K.; Ishii, H. Single machine batch scheduling problem with resource dependent setup and
processing time in the presence of fuzzy due date. Fuzzy Optim. Decis. Mak. 2005, 4, 141–147. [CrossRef]
23. Allahverdi, A.; Aydilek, H.; Aydilek, A. Single machine scheduling problem with interval processing times
to minimize mean weighted completion times. Comput. Oper. Res. 2014, 51, 200–207. [CrossRef]
c 2018 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 (http://creativecommons.org/licenses/by/4.0/).
40
algorithms
Article
Scheduling a Single Machine with Primary and
Secondary Objectives
ID
Nodari Vakhania
Centro de Investigación en Ciencias, Universidad Autonoma del Estado de Morelos, 62210 Cuernavaca, Mexico;
nodari@uaem.mx
Abstract: We study a scheduling problem in which jobs with release times and due dates are to be
processed on a single machine. With the primary objective to minimize the maximum job lateness,
the problem is strongly NP-hard. We describe a general algorithmic scheme to minimize the maximum
job lateness, with the secondary objective to minimize the maximum job completion time. The problem
of finding the Pareto-optimal set of feasible solutions with these two objective criteria is strongly
NP-hard. We give the dominance properties and conditions when the Pareto-optimal set can be formed
in polynomial time. These properties, together with our general framework, provide the theoretical
background, so that the basic framework can be expanded to (exponential-time) implicit enumeration
algorithms and polynomial-time approximation algorithms (generating the Pareto sub-optimal frontier
with a fair balance between the two objectives). Some available in the literature experimental results
confirm the practical efficiency of the proposed framework.
Keywords: scheduling single machine; release time; lateness; makespan; bi-criteria scheduling;
Pareto-optimal solution
1. Introduction
We study a scheduling problem in which jobs with release times and due dates are to be processed
by a single machine. The problem can be described as follows. There are n jobs j ( j = 1, ..., n) and
a single machine available from Time 0. Every job j becomes available at its release time r j , needs
continuous processing time p j on the machine and is also characterized by the due date d j , which
is the desirable time moment for the completion of that job. These are are non-negative integral
numbers. A feasible schedule S assigns to each job j the starting time t j (S), such that t j (S) ≥ r j and
t j (S) ≥ tk (S) + pk , for any job k included earlier in S; the first inequality says that a job cannot be
started before its release time, and the second one reflects the restriction that the machine can handle
at most one job at a time. If job j completes behind its due date, i.e., c j = t j (S) + p j > d j , then it has a
positive lateness L j = c j − d j , otherwise its lateness is non-positive. Our primary objective is to find
a feasible schedule in which the maximum job lateness is the minimal possible among all feasible
schedules. However, we also consider a secondary objective to minimize the maximum job completion
time or the makespan.
The problems involving both above objective criteria are strongly NP-hard, and the two objectives
are, in general, contradictory; i.e., both of them cannot simultaneously be reached. Then, one may look
for a subset of feasible solutions that are somehow acceptable with respect to both objective criteria.
A Pareto-optimal frontier is constituted by a subset of all feasible solutions that are not dominated
by some other feasible solution, in the sense that no other solution can surpass the former one with
respect to both objective values. Finding Pareto-optimal frontier often remains NP-hard, as it is in our
case. In particular, for the problems of finding among all feasible schedules with a given maximum job
lateness one with the minimum makespan, and vice versa, among all feasible schedules with a given
makespan, finding one with the minimum maximum job lateness is strongly NP-hard (see Section 2).
According to the conventional three-field notation introduced by Graham et al., our primary
problem with the objective to minimize maximum job lateness (the secondary one to minimize the
makespan, respectively) is abbreviated as 1|r j | Lmax (1|r j |Cmax , respectively); here in the first field, the
single-machine environment is indicated; the second field specifies the job parameters; and in the
third field, the objective criterion is given. The problem 1|r j | Lmax is known to be strongly NP-hard
(Garey and Johnson [1]), whereas 1|r j |Cmax is easily solvable by a greedy algorithm that iteratively
includes any earliest released job at its release time or the completion time of the latest so far assigned
job, whichever magnitude is larger. Although being strongly NP-hard, the former problem can be
efficiently approximated. A venerable O(n log n) two-approximation algorithm that is commonly
used for problem 1|r j | Lmax was originally proposed by Jackson [2] for the version of the problem
without release times and then was extended by Schrage [3] to take into account job release times.
This heuristics, that is also referred to as the ED (Earliest Due date) heuristics, iteratively, at each
scheduling time t (given by job release or completion time), among the jobs released by time t, schedules
the one with the smallest due date. Let us note here that, in terms of the minimization of the makespan,
the ED heuristics has an important advantage that it creates no machine-idle time that can be evaded.
Potts [4] showed that by a repeated application of the heuristics O(n) times, the performance ratio can
be improved to 3/2 resulting in an O(n2 log n) time performance. Later, Hall and Shmoys [5] illustrated
that the application of the ED heuristics to the original and a specially-defined reversed problem may
lead to a further improved approximation of 4/3. Nowicki and Smutnicki [6] have shown that the
approximation ratio 3/2 can also be achieved in time O(n log n). In practice, the ED heuristics turned
out to be the most efficient fast solution method for problem 1|r j | Lmax , far better than one would
suggest based on the above theoretical worst-case performance ratio (see Larson et al. [7], Kise et al. [8]
and Vakhania et al. [9]). We shall reveal the benefit of such performance for our bi-criteria scheduling
problem later.
As for the exact solution methods for problem 1|r j | Lmax , the branch-and-bound algorithm
with good practical behavior was proposed in McMahon and Florian [10] and Carlier [11]
(the practical behavior of these two algorithms was compared also more recently by Sadykov and
Lazarev [12]). Two more exact implicit enumerative algorithms were proposed, in Grabowski et al. [13]
and Larson et al. [14]. More recently, Pan and Shi [15] and Liu [16] presented other branch-and-bound
algorithms (in the latter reference, the version with precedence constraints was studied).
The preemptive setting 1|r j , pmtn| Lmax is easily solved by the preemptive version of Jackson’s extended
heuristics, as it always interrupts non-urgent jobs in favor of a newly-released more urgent one. In fact,
the preemptive ED heuristics is also useful for the solution of the non-preemptive version, as it gives a
strong lower bound for the latter problem (see, for example, Gharbi and Labidi [17] for a recent study
on this subject).
The version in which a feasible schedule may not include any idle time interval, abbreviated
1|r j , nmit| Lmax , is strongly NP-hard according to Lenstra et al. [18] (minimization of the makespan
and that of the length of idle time intervals are closely related objectives). The problem admits the
same approximation as the unrestricted version; as Kacem and Kellerer [19] have observed, job release
times can be adopted so that the ED heuristics and Potts’s above-mentioned extension maintain the
same approximation ratio for problem 1|r j , nmit| Lmax as for 1|r j | Lmax . Hoogeveen has considered the
no machine idle time version in the bi-criteria setting. Instead of minimizing the lateness, he has
introduced the so-called target start time s j of job j; s j is the desirable starting time for job j, similarly
to the due date d j being the desirable completion time for job j. Then, besides the minimization
of the maximum job lateness, the maximum job promptness (the difference between the target and
real start times of that job) can also be minimized. The above paper considers the corresponding
bi-criteria scheduling problem and finds the Pareto-optimal set of feasible solutions. Lazarev [20]
and Lazarev et al. [21] have proposed a polynomial time solution finding the Pareto-optimal set for
two special cases of our bi-criteria problem with specially-ordered job parameters and equal-length
jobs, respectively. An exact enumerative algorithm for the no idle time problem with the objective to
42
Algorithms 2018, 11, 80
minimize maximum job lateness was proposed by Carlier et al. [22], whereas the practical importance
of the solutions with no idle time intervals was emphasized by Chrétienne [23].
In general, in an optimal solution to problem 1|r j | Lmax , some idle time intervals might
be unavoidable (a non-urgent job has to wait until a more urgent one gets released; hence,
the corresponding idle time interval arises): a problem instance might easily be constructed possessing
an optimal solution to 1|r j | Lmax , but with no feasible solution for 1|r j , nmit| Lmax (see Section 2).
In this paper, based on the study of the properties of the schedules generated by the ED heuristics
and the ties of the scheduling problem 1|r j | Lmax with a version of the bin packing problem, we propose
a general solution method that is oriented toward both objective criteria, the maximum job lateness
and the maximum job completion time (the makespan). Considering a single criterion problem, we
first observe that different feasible solutions with different makespans may posses the same maximum
job lateness. Though, as we will see, finding one with the minimum makespan is NP-hard. Viewing
the problem in light of the bin packing problem with different bin capacities, we show how the known
heuristic algorithms with reasonably good approximations can be adopted for the solution of the
bi-criteria problem.
We establish the conditions when the Pareto-optimal frontier with the two objective functions
(the maximum lateness and the makespan) can be formed in polynomial time. This, together with
a general algorithmic framework that we present, provides a method for the construction of
(exponential-time) implicit enumeration algorithms and polynomial-time approximation algorithms
(the latter approximation algorithms generate a Pareto-sub-optimal frontier with a “fair balance”
between the two objectives).
Our framework applies the partition of the scheduling horizon into two types of segments
containing urgent and non-urgent jobs, respectively. Intuitively, segments with urgent jobs are to
occupy quite restricted time intervals, whereas the second type of segments can be filled out, in some
optimal fashion, with non-urgent jobs. The urgency of jobs is determined based on the first objective
criterion, i.e., such jobs may potentially realize the maximum lateness in the optimal schedule Sopt for
problem 1|r j | Lmax . We determine the time intervals within which a sequence of urgent jobs is to
be scheduled. We refer to such sequences as kernels and to the intervals in between them as bins.
Our scheme, iteratively, fills in the bin intervals by the non-urgent jobs; it determines the corresponding
kernel segments before that. The less gaps are left within the bin intervals, the less is the resultant
maximum job completion time, whereas the way the bin intervals are filled out is reflected also by the
maximum job lateness.
We exploit the observation that the total idle time interval in a bin of a given feasible schedule
can be reduced without increasing the maximum job lateness of that schedule. This kind of “separate”
scheduling turns out to be helpful in the search for a compromise between the two objectives.
In practice, analyzing the computational experiments for the problem 1|r j | Lmax reported in [9], we may
assert that, by incorporating the ED heuristics into our scheme, a balanced distribution of the jobs
within the bins imposing almost neglectable delays for the kernel jobs can be obtained. For the vast
majority of the tested instances in [9], the maximum job lateness is very close to the optimum. At the
same time, since the ED heuristics creates no avoidable machine idle time, the minimum makespan is
achieved. We discuss this issue in more detail in Section 5.
In Section 2, we study our two objective functions and establish the time complexity of related
Pareto-optimal problems. In Section 3, we give necessary preliminaries to our algorithmic scheme.
In Section 4, we describe our method for partitioning the whole scheduling horizon into urgent and
non-urgent zones. In Section 5, we introduce the binary search procedure that is used to verify the
existence of a feasible solution with some threshold lateness and describe the rest of the proposed
framework. In Section 6, we give final remarks.
43
Algorithms 2018, 11, 80
Problem 1. Among all feasible schedules with a given makespan, find one with the minimum maximum
job lateness.
Problem 2. Among all feasible schedules with a given maximum job lateness, find one with the
minimum makespan.
Clearly, Problem 1 is strongly NP-hard since, as earlier mentioned, problem 1|r j | Lmax is strongly
NP-hard [1]. On the other hand, problem 1|r j |Cmax can easily be solved by the following linear-time list
scheduling algorithm, which leaves no idle time interval that can be avoided: at every scheduling time,
stating from the minimum job release time, include any released job, update the current scheduling
time as the maximum between the completion time of that job and the next minimum job release
time of an unscheduled job, and repeat the procedure until all jobs are scheduled (a modification of
this greedy algorithm that at each scheduling time, among the released jobs, includes one with the
minimum due date is the ED heuristics mentioned in the Introduction). This greedy solution also
provides a polynomial-time solution for the decision version of problem 1|r j |Cmax in which one wishes
to know if there exists a feasible schedule with some fixed makespan M. Indeed, if M is less than the
optimum, then clearly, the answer is “no”. If M is greater than or equal to the minimum makespan
M∗ , then the answer is “yes”: we can introduce in a schedule with the makespan M∗ gaps with a total
length M − M∗ , appropriately, so that the resultant makespan will be exactly M.
44
Algorithms 2018, 11, 80
To show that Problem 2 is strongly NP-hard, we prove that its decision version is strongly
NP-complete. Let M be some threshold value for the makespan. Without loss of generality,
we assume that this threshold is attainable, i.e., there is a feasible schedule with the objective value M.
Then, the decision version of Problem 2 can be formulated as follows:
Problem 2-D. For an instance of problem 1|r j | Lmax (the input), among all feasible schedules with a
given maximum job lateness, does there exist one with the makespan not exceeding magnitude M
(here, the output is a “yes” or a “no” answer)?
Proof. To begin with, it is easy to see that the problem is in class NP. First, we observe that the size
of an instance of problem 1|r j | Lmax with n jobs is O(n). Indeed, every job j has three parameters,
r j , p j and d j ; let M be the maximum such magnitude, i.e., the maximum among all job parameters.
Then, the number of bits to represent our problem instance is bounded above by 3n log M. Since
constant M fits within a computer word, the size of the problem is O(n). Now, given a feasible
schedule with some maximum job lateness, we can clearly verify its makespan in no more than n steps,
which is a polynomial in the size of the input. Hence, Problem 2-D belongs to class NP.
Next, we use the reduction from a strongly NP-complete three-PARTITION problem to show
the NP-hardness of our decision problem. In three-PARTITION, we are given a set A of 3m elements,
3m
their sizes C = {c1 , c2 , . . . , c3m } and an integer number B with ∑ ci = mB, whereas the size of every
i =1
element from set A is between B/4 and B/2. We are asked if there exists the partition of set A into m
(disjoint) sets A1 , . . . , Am such that the size of the elements in every subset sums up to B.
Given an arbitrary instance of three-PARTITION, we construct our scheduling instance with
n
3m + m jobs with the total length of ∑ cι + m as follows. We have 3m partition jobs 1, . . . , 3m with
ι =1
pi = ci , ri = 0 and di = 2mB + m, for i = 1, . . . , 3m. Besides, we have m separator jobs j1 , . . . , jm with
p jι = 1, r jι = Bι + ι − 1, d jι = Bι + ι. Note that this transformation creating a scheduling instance
is polynomial as the number of jobs is bounded by the polynomial in m, and all magnitudes can be
represented in binary encoding in O(m) bits.
First, we easily observe that there exist feasible schedules in which the maximum job lateness
is zero: we can just schedule the separator jobs at their release times and include the partition jobs
arbitrarily without pushing any separator job. Now, we wish to know whether among the feasible
schedules with the maximum job lateness of zero there is one with makespan mB + m. We claim that
this decision problem has a “yes” answer iff there exists a solution to three-PARTITION.
In one direction, suppose three-PARTITION has a solution. Then, we schedule the partition jobs
corresponding to the elements from set A1 within the interval [0, B] and partition jobs from set Ai
within the interval [(i − 1) B + i − 1, iB + i − 1], for i = 2, . . . , m (we schedule the jobs from each group
in a non-delay fashion, using, for instance, the ED heuristics). We schedule the separator job ji within
the interval [iB + i − 1, iB + i ], for i = 1, . . . , m. Therefore, the latest separator job will be completed at
time mB + m, and the makespan in the resultant schedule is mB + m.
In the other direction, suppose there exists a feasible schedule S with makespan mB + m. Since the
total sum of job processing times is mB + m, there may exist no gap in that schedule. However, then,
the time interval of length B before every separator job must be filled in completely with the partition
jobs, which obviously gives a solution to three-PARTITION.
45
Algorithms 2018, 11, 80
interested in ED-schedules with the maximum job lateness not exceeding a given threshold (so our
analysis is carried out in terms of the minimization of the maximum job lateness). First, we give a
detailed description of the ED heuristics.
The heuristics distinguishes n scheduling times, the time moments at which a job is assigned to
the machine. Initially, the earliest scheduling time is set to the minimum job release time. Among all
jobs released by that time, a job with the minimum due date is assigned to the machine (ties being
broken by selecting the longest job). Iteratively, the next scheduling time is either the completion time
of the latest job assigned so far to the machine or the minimum release time of an unassigned job,
whichever is more (no job can be started before the machine becomes idle, nor can it be started before it
gets released). Among all jobs released by every newly- determined (as just specified) scheduling time,
a job with the minimum due date is assigned to the machine. Note that since there are n scheduling
times and at each scheduling time, a minimal element in an ordered list is searched for, the time
complexity of the heuristics is O(n log n).
A gap in an ED-schedule is its maximal consecutive time interval in which the machine is idle
(with our convention, there occurs a zero-length gap (c j , ti ) whenever job i starts at its release time
immediately after the completion of job j).
A block in an ED-schedule is its consecutive part consisting of the successively scheduled jobs
without any gap in between, which is preceded and succeeded by a (possibly a zero-length) gap.
Suppose job i preceding job j in ED-schedule S is said to push job j in S if j will be rescheduled
earlier whenever i is forced to be scheduled behind j (it follows that jobs i and j belong to the
same block).
Example 1. We have seven jobs in our first problem instance. The processing times, the release times and the
due dates of these jobs are defined as follows:
p1 = p3 = 5, p2 = 30, p4 = p5 = p6 = p7 = 10.
r3 = 11, r5 = r6 = r7 = 42, whereas the rest of the jobs are released at Time 0, except Job 4, released at Time 36.
d1 = 75, d2 = 80, d3 = 11, d4 = 53, d5 = d6 = d7 = 52.
It can be readily verified that the ED heuristics will assign the jobs in increasing order of their indexes creating
an ED-schedule S = (1, 0)(2, 5)(3, 35)(4, 40)(5, 50)(6, 60)(7, 70), as depicted in Figure 1 (in every pair in brackets,
the first number is the job index, and the second number is its starting time). In schedule S, consisting of a single
block (there is no gap in it), Job 2 pushes Job 3 and the succeeding jobs.
Figure 1. The initial Earliest Due date (ED)-schedule S for the problem instance of Example 1.
Given an ED-schedule S, let i be a job that realizes the maximum job lateness in that schedule,
i.e., Li (S) = max j { L j (S)}, and let B be the block in S containing job i. Among all jobs i ∈ B with
Li (S) = max j { L j (S)}, the latest scheduled one is said to be an overflow job in schedule S. Clearly,
every schedule contains at least one overflow job, whereas every block in schedule S may contain one
or more overflow jobs (two or more overflow jobs from the same block will then be “separated” by
non-kernel jobs).
A kernel in schedule S is the longest sequence of jobs ending with an overflow job o, such that no
job from this sequence has a due date more than do .
We shall normally use K (S) for the earliest kernel in schedule S, and abusing the terminology,
we shall also use K (S) for the set of jobs in the sequence. For kernel K, let r (K ) = mini∈K {ri }.
Note that every kernel is contained within some block in schedule S, and hence, it may contain no
gap. The following observation states a sufficient optimality condition for the single-criterion problem
1|r j | Lmax (the reader may have a look at [25] for a proof):
46
Algorithms 2018, 11, 80
Observation 1. The maximum job lateness in a kernel K cannot be reduced if the earliest scheduled job in K
starts at time r (K ). Hence, if an ED-schedule S contains a kernel with this property, it is optimal for problem
1|r j | Lmax .
Thus, we may ensure that there exists no feasible schedule with the value of our objective function
less than that in solution S whenever the condition in Observation 1 is met. Then, we immediately
proceed to the reconstruction of solution S aiming at the minimization of our second objective function,
as we describe in the next section.
Suppose the condition in Observation 1 is not satisfied. Then, there must exist job e with de > do
(i.e., less urgent than the overflow job o), scheduled before all jobs of kernel K imposing a forced delay
for the jobs of that kernel. We call job e an emerging job for kernel K. Note that an emerging job e and
kernel K belong to the same block.
If the earliest scheduled job of kernel K does not start at its release time, it is immediately preceded
and pushed by an emerging job, which we call the delaying (emerging) job for kernel K.
We can easily verify that in ED-schedule S of Example 1 (see Figure 1), there is a single kernel
K1 = K (S) consisting of a single (overflow) Job 3, with Lmax (S) = L3,S = 40 − 11 = 29 (note that
L7,S = 80 − 52 = 28). There are two emerging Jobs 1 and 2 for kernel K, and Job 2 is the delaying
emerging job for that kernel.
Clearly, the maximum job lateness in schedule S may only be decreased by restarting the jobs
of kernel K = K (S) earlier. Note that if we reschedule an emerging job e behind the jobs of kernel K,
we may restart these jobs earlier. As a result, the maximum job lateness in kernel K may be reduced.
We shall refer to the operation of the rescheduling of emerging job e after kernel K as the activation of
that emerging job for kernel K. To provide the early restarting for jobs of kernel K, we maintain any
job scheduled behind kernel K in S scheduled behind kernel K (all these jobs are said to be in the state
of activation for that kernel). We call the resultant ED-schedule a complementary to the S schedule
and denote it by Se . In general, a complementary schedule SE is defined for a set of emerging jobs E in
schedule S. In schedule SE , all jobs from set E and all the jobs scheduled behind kernel K in S are in
the state of activation for kernel K. It is easy to see that by activating a single emerging job e, kernel K
will already be restarted earlier; hence, the maximum job lateness realized by a job in kernel K will
be reduced.
Observation 2. Suppose the release time of all the emerging jobs in a set E is increased to the magnitude r (K ),
and the ED heuristics is newly applied to the modified instance. Then, if some job j scheduled behind kernel K in
schedule S gets rescheduled before kernel K, d j > do , where o is the corresponding overflow job in kernel K.
Proof. By the ED heuristics, any job i released before the jobs of kernel K with di ≤ do would have
been included within kernel K in schedule S. Hence, if a job scheduled behind kernel K in schedule S
becomes included before kernel K, then d j > do (i.e., it is less urgent than all kernel jobs).
By the above observation, if we merely increase the release time of any above available job j with
d j > do and that of any emerging job from set E to magnitude r (K ), then the ED heuristics will create
complementary schedule SE for the modified instance.
Observation 3. Let l be the delaying emerging job in schedule S. Then, in complementary schedule Sl ,
the earliest scheduled job of kernel K = K (S) starts at its release time r (K ) and is preceded by a gap.
Proof. By the definition of complementary schedule Sl , no job j with d j > do may be included
before kernel K (S) in schedule Sl . As we have already observed, no available job i with di ≤ do
may be included before kernel K in complementary schedule Sl . Then, clearly, the time interval
before the earliest released job of kernel K will remain idle in complementary schedule Sl , and the
observation follows.
47
Algorithms 2018, 11, 80
For the problem instance of Example 1, we form set E with a single emerging Job 1 and obtain
a complementary schedule S1 = (2, 0)(3, 30)(1, 35)(4, 40)(5, 50)(6, 60)(7, 70), as depicted in Figure 2.
There is a single kernel K2 = K (S1 ) consisting of Jobs 5, 6 and 7 with Lmax (S1 ) = L7,S1 = 80 − 52 = 28
in schedule S1 (note that L3,S1 = 35 − 11 = 24).
Property 1. Suppose in schedule SE there arises a (possibly zero-length) gap before kernel K = K (S).
Then, that schedule is optimal for problem 1|r j | Lmax if K (SE ) = K (S).
Note that the above property yields another halting condition for problem 1|r j | Lmax . The following
example illustrates that activation of an emerging job does not always yield an improvement in terms
of the minimization of the maximum job lateness.
Example 2. Now, we form an instance with six jobs as follows. Jobs 4 and 6 are kernel jobs, each defining
a distinct kernel with the delaying emerging Jobs 3 and 5, respectively. Jobs 1 and 2 are other emerging jobs.
All emerging jobs are released at Time 0, whereas kernel Jobs 4 and 6 are released at Times 20 and 50 respectively;
p1 = p2 = p4 = p6 = 5, p3 = 25, p5 = 20. The due dates of emerging jobs are large enough numbers, Jobs
1 and 2 being slightly more urgent than the delaying emerging Jobs 3 and 5; d4 = 25 and d6 = 55. Then ED
heuristics will deliver solution S = (1, 0)(2, 5)(3, 10)(4, 35)(5, 40)(6, 60) with the delaying emerging Job 3.
The lateness of Job 4 is 15, and that of Job 6 is 10; Job 4 forms the first kernel with the only overflow Job 4.
In the complementary schedule S4 = (1, 0)(2, 5)(4, 20)(3, 25)(5, 50)(6, 70), there arises a gap (10, 20). In that
schedule, a new kernel is formed by Job 6, which completes at Time 75 and has the lateness of 20. This example
suggests that, instead of creating schedule Sl , it could have been better to consider schedule SE , for a properly
selected set E.
48
Algorithms 2018, 11, 80
complementary schedule S1 (Figure 2), there arises a new kernel within the second bin. Note that the
execution interval of kernel K1 in schedules S and S1 is different (it is [35, 40) in schedule S and [30, 35)
in schedule S1 ). Correspondingly, the first bin is extended up to time moment 35 in schedule S, and it
is extended up to Time 30 in schedule S1 . The newly arisen kernel K2 = K (S1 ) defines two new bins in
schedule S1 ; hence, that schedule contains three bins, in total.
In general, the starting and completion times of every bin are not a priori fixed; they are defined in
accordance with the allowable flexibility for the corresponding kernel intervals. Our scheme proceeds
in a number of iterations. To every iteration, a complete schedule with a particular distribution of jobs
into the bins corresponds, whereas the set of jobs scheduled in every kernel interval remains the same.
In this way, two or more complete schedules for the same partition might be created (for instance,
schedules S1 and (S1 )1 of Example 1; see Figures 2 and 3). At an iteration h, during the scheduling of a
bin, a new kernel may arise, which is added to the current set of kernels K (kernel K2 arises within
the second bin in complementary schedule S1 of Example 1): the updated set contains all the former
kernels together with the newly arisen one (since schedule S of Figure 1 contains only one kernel,
K = {K1 }, there are only two bins in it; the next generated schedule S1 of Figure 2 contains already
two kernels K1 and K2 , K = {K1 , K2 } and three bins). Note that the partition of the scheduling horizon
is changed every time a new kernel arises.
Adjusting time intervals for kernel and bin segments: Although the time interval within which
each kernel can be scheduled is restricted, it has some degree of flexibility, as we have illustrated in
Example 1. In particular, the earliest scheduled job of a kernel K might be delayed by some amount
without affecting the current maximum job lateness. Denote this magnitude by δ(K ). Without loss
of generality, the magnitude δ(K ) can take the values from the interval δ(K ) ∈ [0, pl ], where l is the
delaying emerging job for kernel K in the initially constructed ED-schedule σ. Indeed, if δ(K ) = 0,
the kernel will not be delayed, whereas δ(K ) = pl corresponds to the delay of the kernel in the initial
ED-schedule S (which is 19 for kernel K1 in schedule S of Figure 1). In particular, we let pmax be the
maximum job processing time and shall assume, without loss of generality, that δ(K ) ≤ pmax .
To define δ(K ), let us consider a partial schedule constructed by the ED heuristics for only jobs of
kernel K ∈ K. The first job in that schedule starts at time r (K ) (we assume that there is no emerging job
within that sequence, as otherwise we continue with our partitioning process). Note that the lateness
of the overflow job of that partial schedule is a lower bound on the maximum job lateness; denote this
magnitude by L∗ (K ). Then, L∗ = maxK ∈K { L∗ (K )} is also a lower bound on the same objective value.
Now, we let δ(K ) = L∗ − L∗ (K ), for every kernel K ∈ K. The following observation is apparent:
Observation 4. For δ(K ) = 0, the lateness of the latest scheduled job of kernel K is a lower bound on the
optimal job lateness, and for δ(K ) = pl , it is a valid upper bound on the same objective value.
Observation 5. In a schedule Sopt minimizing the maximum job lateness, every kernel K starts either no later
than at time r (K ) + δ(K ) or it is delayed by some δ ≥ 0, where δ ∈ [0, pmax ].
Proof. First note that in any feasible schedule, every kernel K can be delayed by the amount δ(K )
without increasing the maximum job lateness. Hence, kernel K does not need to be started before time
r (K ) + δ(K ). Furthermore, in any created ED-schedule, the delay of any kernel cannot be more than
pmax , as for any delaying emerging job l, pl ≤ pmax . Hence, δ ∈ [0, pmax ].
Thus for a given partition, the starting and completion time of every bin in a corresponding
complete schedule may vary according to Observation 5. Our scheme incorporates a binary search
procedure in which the trial values for δ are drown from interval [0, pmax ]. To every iteration in the
binary search procedure, some trial value of δ corresponds, which determines the maximum allowable
job lateness, as we describe below.
We observe that not all kernels are tight in the sense that, for a given kernel K ∈ K, δ(K ) might be
strictly greater than zero. By Observation 5, in any generated schedule with trial value δ, every kernel
49
Algorithms 2018, 11, 80
K is to be started within the interval [r (K ) + δ(K ), r (K ) + δ(K ) + δ], the corresponding bin intervals
being determined with respect to these starting times. Notice that if the latest job of kernel K completes
at or before time moment r (K ) + P(K ) + δ, then the lateness of no job of that kernel will surpass the
magnitude L(δ) = r (K ) + P(K ) + δ − d, where d is the due date of the corresponding overflow job and
P(K ) is the total processing time of the jobs in kernel K.
We shall refer to the magnitude L(δ) = r (K ) + P(K ) + δ − d as the threshold on the maximum
allowable job lateness corresponding to the current trial value δ. Ideally, not only jobs of kernel K,
but no other job is to have the lateness more than L(δ). Our scheme verifies if there exists a feasible
schedule with the maximum job lateness no more than L(δ). If it succeeds (fails, respectively) to create
a feasible schedule with the maximal job lateness no more than threshold L(δ), the next smaller (larger,
respectively) value of δ is taken in the binary partition mode. According to our partition, the lateness of
no kernel job may surpass the threshold L(δ). Hence, it basically remains to schedule the bin intervals
(see the next section). As already noted, if while scheduling some bin, the next incoming job results in
a lateness greater than L(δ), then a new kernel K including this job is determined (see the next section
for the details). Then, the current set of the kernels is updated as K := K ∪ {K }, and the scheme
proceeds with the updated partition.
A positive delay for a kernel might be unavoidable in an optimal job arrangement. For instance,
the time interval of kernel K1 in schedules S and S1 (Figures 1 and 2) is [35, 40) and [30, 35),
respectively. The time interval of kernel K1 remains to be [30, 35) in the optimal solution. Indeed,
let us form our next set E again with the same emerging Job 1 constructing complementary schedule
(S1 )1 = (2, 0)(3, 30)(4, 36)(5, 46)(6, 56)(7, 66)(1, 76); see Figure 3 (this complementary schedule has a
gap [35, 36) marked as a dark region in the figure).
It is easily verified that schedule (S1 )1 with kernels K1 and K2 and the corresponding three
arranged bins is optimal with Lmax ((S1 )1 ) = L3,(S1 )1 = 35 − 11 = 24 = L7,(S1 )1 = 76 − 52 = 24. In that
schedule, we have achieved an optimal balance between the delays of the two kernels by redistributing
the available jobs within the bins. As a result, the makespan is reduced without affecting the maximum
job lateness. Note that the jobs of kernel K1 and also those of kernel K2 are delayed by an appropriate
amount of time units without affecting the maximum job lateness. Our framework determines such an
appropriate delay for every detected kernel, resulting in an optimal balance between kernel and bin
intervals. Observe that, although the partition of the scheduling horizon in schedules S1 and (S1 )1 is
the same, the bins are packed in different ways in these two complementary schedules.
Instead of forming the complementary schedules, we shall construct a direct algorithm for
scheduling the bins in the following section.
50
Algorithms 2018, 11, 80
partition of the scheduling horizon. While scheduling the bins, our (secondary) goal is to reduce the
length of the total idle time interval, which yields a reduced makespan. Although most bin scheduling
problems are NP-hard, there are heuristic algorithms with good approximation for these problems.
Adopting such a heuristics for our scheduling model, we may pack our bins with close to the minimal
total gap length (makespan), as we describe below. Whenever strict optimality is important, an implicit
enumerative algorithm can be applied. First, we need a few additional notions.
Let B be the bin immediately preceding kernel K (our construction is similar for the last bin of
the current partition). While scheduling bin B, we distinguish two types of the available jobs for that
bin. We call jobs that may only be feasibly scheduled within that bin y-jobs and ones that may also
be feasibly scheduled within a succeeding bin the x-jobs. We have two sub-types of the y-jobs for bin
B: a Type (a) y-job may only be feasibly scheduled within that bin, unlike the Type (b) y-jobs, which
could have also been included in some preceding bin (a Type (b) y-job is released before the interval of
bin B and can potentially be scheduled within a preceding bin).
The procedure for scheduling bin B has two phases: Phase 1 consists of two passes. In the first
pass, y-jobs are scheduled. In the second pass, x-jobs are included within the remaining available
space of the bin by a specially-modified decreasing next fit heuristics, commonly used for bin packing
problems. Note that all Type (a) y-jobs can be feasibly scheduled only within bin B. Besides Type
(a) y-jobs, we are also forced to include all the Type (b) y-jobs in bin B, unless we carry out a global
job rearrangement and reschedule a Type (b) y-job within some preceding bins. We consider such a
possibility in Phase 2.
Phase 1, first pass (scheduling y-jobs): The first pass of Phase 1 consists of two steps. In Step 1,
the y-jobs are scheduled in bin B by the ED heuristics resulting in a partial ED-schedule, which we
denote by S( B, y). It consists of all the y-jobs that the ED heuristics could include without surpassing
the current threshold L(δ) (recall that L(δ) is the currently maximum allowable lateness).
If schedule S( B, y) is y-complete, i.e., it contains all the y-jobs for bin B, then it is the output of the
first pass. Otherwise, the first pass continues with Step 2. We need the following discussion before we
describe that step.
If schedule S( B, y) is not y-complete, then the lateness of the next considered y-job at Step 1
surpasses the current L(δ). If that y-job is a Type (b) y-job, then an instance of Alternative (b2) with
that Type (b) y-job (abbreviated IA(b2)) is said to occur (the behavior alternatives were introduced in a
wider context earlier in [26]). IA(b2) is dealt with in Phase 2, in which at least one Type (b) y-job is
rescheduled within the interval of some earlier constructed bin.
Lemma 1. If no IA(b2) at the first pass of Phase 1 occurs, i.e., the earliest arisen y-job y that could not have
been included in schedule S( B, y) is a Type (a) y-job), then a new kernel consisting of Type (a) y-jobs including
job y occurs.
Proof. First, note that all Type (a) y-jobs can be feasibly scheduled without surpassing the current
allowable lateness and be completed within bin B. Hence, if the earliest arisen y-job y that could not
have been included turns out to be a Type (a) y-job, a forced right-shift by some other y-job and/or
the order change in the sequence of the corresponding Type (a) y-jobs must have occurred. Therefore,
there must exist a corresponding delaying emerging job, and hence, a new kernel can be declared.
If schedule S( B, y) is not y-complete and no IA(b2) at the first pass of Phase 1 occurs, then Step 2
at Phase 1 is invoked. At that step, the new kernel from Lemma 3 is declared, and the current set of
kernels and bins is respectively updated. Then, the first pass is called recursively for the newly formed
partition; in particular, Step 1 is invoked for the earliest of the newly-arisen bins. This completes the
description of the first pass.
Lemma 2. If during the scheduling of bin B at the first pass, no IA(b2) arises, then this pass outputs a y-complete
schedule S( B, y) in which the lateness of no y-job is greater than L(δ).
51
Algorithms 2018, 11, 80
Proof. By Lemma 1 and the construction of the first pass, if at that pass, no IA(b2) arises, the
constructed partial schedule S( B, y) contains all the y-jobs with the lateness no more than L(δ),
which proves the lemma.
Phase 1, second pass (scheduling x-jobs): The second pass is invoked if no IA(b2) during the
execution of the first pass occurs. The first pass will then output a y-complete schedule S( B, y)
(Lemma 2), which is the input for the second pass. At the second pass, the available x-jobs are included
within the idle time intervals remaining in schedule S( B, y). Now, we describe a modified version of a
common Decreasing Next Fit heuristics, adapted to our problem for scheduling bin B (DNF heuristics
for short). The heuristics deals with a list of the x-jobs for kernel K sorted in non-increasing order of
their processing times, whereas the jobs with the same processing time are sorted in the non-decreasing
order of their due dates (i.e., more urgent jobs appear earlier in that list). Iteratively, the DNF heuristics
selects the next job x from the list and tries to schedule it at the earliest idle time moment t at or behind
its release time. If time moment t + pi is greater than the allowable upper endpoint of the interval of
bin B, job xis ignored, and the next x-job from the list is similarly considered (if no unconsidered x-job
is left, then the second pass for bin B completes). Otherwise (t + pi falls within the interval of bin B),
the following steps are carried out.
(A) If job x can be scheduled at time moment t without pushing an y-job included in the first pass
(and be completed within the interval of the current bin), then it is scheduled at time t (being
removed from the list), and the next x-job from the list is similarly considered.
(B) Job x is included at time t if it pushes no y-job from schedule S( B, y). Otherwise, suppose job
x, if included at time t , pushes a y-job, and let S( B, + x ) be the corresponding (auxiliary) partial
ED-schedule obtained by rescheduling (right-shifting) respectively all the pushed y-jobs by the
ED heuristics.
(B.1) If none of the right-shifted y-jobs in schedule S( B, + x ) result in a lateness greater than
the current threshold L(δ) (all these jobs being completed within the interval of bin B),
then job i is included, and the next x-job from the list is similarly considered.
We need the following lemma to complete the description of the second pass.
Lemma 3. If at Step (B), the right-shifted y-job y results in a lateness greater than the threshold value L(δ),
then there arises a new kernel K consisting of solely Type (a) y-jobs including job y.
Proof. Since the lateness of job y surpasses L(δ), it forms part of a newly arisen kernel, the delaying
emerging job of which is x. Furthermore (similarly as in Lemma 1), kernel K cannot contain any Type
(b) y-job, as otherwise, such a y-job would have been included within the idle time interval in which
job x is included. Hence, that Type (b) y-job could not succeed job x.
(B.2) If the condition in Lemma 3 is satisfied, then the corresponding new kernel is declared,
and the current set of kernels and bins is updated. Similarly, as in Step 2, the first pass
is called for the first newly declared bin (initiated at time moment t ) from the newly
updated partition.
(B.3) If the lateness of some y-job surpasses the threshold L(δ) in schedule S( B, + x ), then the
next x-job from the list is similarly processed from Step (A).
(B.4) If all the x-jobs from the list have been processed, then the second pass for scheduling bin
B completes.
The following theorem tackles a frontier between the polynomially solvable instances and
intractable ones for finding a Pareto-optimal frontier (the two related NP-hard problems are the
scheduling problem with our primary objective and the derived bin packing problem):
52
Algorithms 2018, 11, 80
Theorem 2. Suppose, in the iteration of the binary search procedure with trial δ, all the bins are scheduled at
Phase 1, i.e., no IA(b2) at Phase 1 arises. Then, a complete schedule in which the lateness of no job is greater than
L(δ) is constructed in time O(n2 log n). This schedule is Pareto sub-optimal, and it is Pareto optimal if no idle
time interval in any bin is created.
Proof. For every bin B, since no IA(b2) during its construction at Phase 1 arises, this phase
will output a partial schedule for that bin, in which the lateness of no job is greater than L(δ)
(Lemmas 2 and 3). At the same time, by our construction, no kernel job may result in a lateness
greater than L(δ). Then, the maximum job lateness in the resultant complete schedule is no greater
than L(δ). This schedule is Pareto sub-optimal due to the DNF heuristics (with a known sub-optimal
approximation ratio). Furthermore, if no idle time interval in any bin is created, there may exist no
feasible solution with the maximum job lateness L(δ) such that the latest scheduled job in it completes
earlier than in the above generated solution; hence, it is Pareto optimal.
Let us now estimate the cost of Phase 1. For the purpose of this estimation, suppose n1
(n2 , respectively) is the number of y-jobs (x-jobs, respectively). In the first pass, y-jobs are scheduled by
the ED heuristics in time O(n1 log n1 ) if all the scheduled bins are y-complete. Otherwise, since no
IA(b2) arises, each time the scheduling of a bin cannot be completed by all the y-jobs, a new kernel
is declared that includes the corresponding y-jobs (Lemma 1). Since there may arise less than n1
different kernels, the number of times a new kernel may arise is less than n1 . Thus, the same job
will be rescheduled less than n1 times (as a bin or a kernel job), which yields the time complexity of
O(n21 log n1 ) for the first pass. Since the time complexity of the DNF heuristics is the same as that
of ED heuristics used at the first pass and new kernels are similarly declared (Lemma 3), the cost of
the second pass is similarly O(n22 log n2 ). Thus, the overall cost for the construction of all the bins is
O(n2 log n), which is also the cost of the overall scheme since the kernel jobs are scheduled by the
ED heuristics.
Note that the second condition in the above theorem is sufficient, but not necessary for minimizing
the makespan; i.e., some bins in a feasible schedule respecting threshold L(δ) may have idle time
intervals, but that schedule may minimize the makespan. In general, we rely on the efficiency
of the heuristics used for packing our bins for the minimization of the makespan criterion. We also
straightforwardly observe that by the DNF heuristicss, no unscheduled job may fit within any available
gap in any bin without forcing some other job to surpass the current allowable lateness L(δ) at Phase 1,
whereas the DNF-heuristicss tends to keep reserved “short” unscheduled jobs.
Continuing with the issue of the practical behavior, as we have mentioned in the Introduction,
the ED heuristics turns out to be an efficient tool for a proper distribution of the jobs within the
bins. In [9], computational experiments were conducted for 200 randomly generated instances of our
problem. For the majority of these instances, the forced delay of kernel K (S) in the initial ED-schedule
S (i.e., the difference between the completion time of the corresponding delaying emerging job and
r (K )) was neglectable. Therefore, the lateness of the corresponding overflow job was either optimal
or very close to the optimal maximum job lateness (as no job of kernel K can be started earlier than
at time r (K ) in any feasible solution). At the same time, since the ED heuristics creates no avoidable
machine idle time interval, the minimum makespan is also achieved. Thus, for the majority of the
tested problem instances, both objective criteria were simultaneously minimized or the maximum jobs
lateness was very close to the optimum, whereas the makespan was optimal.
The computational experiments from [9] also yield that, for most of the tested instances, already
for small trial δ’s, the bins would have been scheduled in Phase 1 (i.e., no IA(b2) would arise). Moreover,
there will be no avoidable gap left within the bins for these δ’s. In other words, the conditions in
Theorem 2 would be satisfied, and Phase 1 would successfully completed. In theory, however, we
cannot guarantee such a behavior, and we proceed with our construction in Phase 2.
53
Algorithms 2018, 11, 80
Phase 2: If the first condition in Theorem 2 is not satisfied, i.e., an IA(b2) at the first pass of Phase 1
occurs, then Phase 2 is invoked. Let y be the earliest arisen Type (b) y-job that could not have been
included in schedule S( B, y). In general, job j may be pushed by one or more other Type (b) y-jobs.
Since the lateness of job y surpasses L(δ), a complete schedule respecting this threshold value cannot
be created unless the lateness of job y is decreased. The next observation follows:
Observation 6. Suppose an IA(b2) with (a Type (b) y-job) y at the first pass of Phase 1 in bin B arises. Then, the
resultant maximum job lateness in bin B yielded by job y cannot be decreased unless job y and/or other Type
(b) y-jobs currently pushing job y in bin B are rescheduled to some earlier bin(s).
According to the above observation, in Phase 2, either job y is to be rescheduled to an earlier bin
or a subset of the above Type (b) y-jobs (with an appropriate total processing time) is to be formed and
all jobs from that subset are to be rescheduled to some earlier bin(s). In particular, if the lateness of job
y surpasses L(δ) by amount λ, then the total processing time of jobs in such a subset is to be at least λ.
By the construction, no new job can feasibly be introduced into any already scheduled bin B unless
some jobs (with an appropriate total length) from that bin are rescheduled behind all the above Type
(b) y-jobs. Such a job, which we call a substitution job for job y, should clearly be an emerging job for
job y, i.e., ds > dy (as otherwise, once rescheduled, its lateness will surpass L(δ)).
Theorem 3. If for an IA(b2) with a (Type (b) y-job) y, there exists no substitution job for job y, then there
exists no feasible schedule respecting threshold value L(δ). Hence, there exists no Pareto-optimal solution with
maximum job lateness L(δ).
Proof. Due to Observation 6, job y or some other Type (b) y-job(s) pushing job y must be rescheduled
to a bin preceding bin B. By the way we construct our bins, no new job can feasibly be introduced
into any bin preceding bin B unless some (sufficiently long) job s from that bin is rescheduled behind
all the above Type (b) y-jobs. ds < dy must hold as otherwise job s or some job originally included
before job y will surpass the current threshold; i.e., s is a substitution job. It follows that if there exists
no substitution job, the lateness of at least one job from bin B or from its preceding bin will surpass
threshold value L(δ), and hence, there may exist no feasible schedule respecting L(δ). The second
claim immediately follows.
Due to the above theorem, if these exists no substitution job, the call from the binary search
procedure for the current δ halts with the failure outcome, and the procedure proceeds with the next
(larger) trial value for δ; if there remains no such δ, the whole scheme halts.
The case when there exists a substitution job for job y is discussed now. We observe that there
may exist a Pareto-optimal solution. To validate whether it exists, we first need to verify if there exists
a feasible solution respecting threshold L(δ) (given that the call to the bin packing procedure was
performed from the iteration in the binary search procedure with that threshold value). This task is
easily verified if, for instance, there is a single substitution job s. Indeed, we may construct an auxiliary
ED-schedule in which we activate that substitution job for job y (similarly as before, we increase
artificially the release time of job s to that of job y, so that once the ED heuristics is newly applied
to that modified problem instance, the substitution job s will be forced to be rescheduled behind job
y). In the resultant ED-schedule with the activated job s, if the lateness of none of the rescheduled
y-jobs is no greater than L(δ), Phase 1 can be resumed for bin B. Otherwise, there may exit no feasible
solution respecting threshold L(δ) (hence, no Pareto-optimal solution with the maximum job lateness
not exceeding L(δ) may exist), and the scheme can proceed with the next trial δ.
In practice, with a known upper limit on the total number of substitution jobs, the above
activation procedure can be generalized to another procedure that enumerates all the possible subsets
of substitution jobs in polynomial time. In general, if the number of substitution jobs is bounded only
by n, the number of possible subsets of substitution jobs with total processing time λ or more might be
54
Algorithms 2018, 11, 80
an exponent of n. In theory and practice, we may take one of the two alternative options: either we try
all such possible non-dominated subsets building an implicit enumerative algorithm, or we may rather
choose a heuristic approach generating a fixed number of “the most promising” subsets of substitution
jobs in polynomial time. Based on our general framework, both implicit enumeration and heuristic
algorithms might be implemented in different ways. The study of such algorithms, which would rely
on the results of numerical experiments, is beyond the scope of this paper and could rather be a subject
of independent research.
6. Conclusions
We have proposed a general framework for the solution of a strongly NP-hard bi-criteria
scheduling problem on a single machine with the objectives to minimize the maximum job lateness
and the makespan. Theorem 2 specifies explicitly the nature of the problem instances for which
the Pareto optimal frontier can be found in polynomial time. Finding a feasible solution with the
maximum job lateness not exceeding some constant threshold becomes intractable if the first condition
in the theorem is not satisfied. Relying on the computational experiments from [9], we have observed
that already for small trial δ’s, the bins would have been scheduled in Phase 1, i.e., no IA(b2) would
arise in Phase 1. In addition, since there will be no avoidable gap left within the bins for these δ’s,
the second condition in Theorem 2 would be satisfied, and Phase 1 would successfully complete in
polynomial time. We have also observed that for the majority of the tested problem instances from [9],
both objective criteria were simultaneously minimized or the maximum job lateness was very close to
the optimum, whereas the makespan was optimal. Theoretically, we are unable to guarantee such a
behavior, and hence, we described how the solution process can proceed in Phase 2. We have shown
that it suffices to enumerate some subsets of the substitution jobs and generate the resultant feasible
schedules. With a complete enumeration, we guarantee that one of these solutions will respect a given
threshold, unless there exists no such a feasible schedule. In practice, if a complete enumeration of all
dominant subsets turns out to take an admissible time, we may “switch” to heuristic methods that
enumerate a constant number of the “most promising” subsets and the corresponding feasible solutions
(In the latter case, theoretically, it is possible that we fail to create a feasible schedule respecting the
threshold where such a feasible schedule exists. Then, the Pareto frontier that the algorithm will
generate will miss the corresponding Pareto-optimal solution, i.e., it will not be “complete”.).
By partitioning the scheduling horizon into kernel and bin intervals, we have reduced the
problem of minimizing the makespan in a feasible schedule respecting a given threshold to that of
minimizing the gaps in the bins in that schedule. Bin packing problems with this objective have
been extensively studied in the literature, and a number of efficient enumeration algorithms and
also heuristicss with good theoretical and also practical behavior exist. We showed how such a
heuristic method can be adopted for packing our bins with jobs with release times and due dates (the
latter job parameters impose additional restrictions, not present in bin packing problems). In this
way, our framework has reduced the bi-criteria scheduling problem to the above two single-criterion
problems, inducing four basic types of algorithms for the bi-criteria problem (depending on whether an
exact or heuristic method is incorporated for either of the two problems). For the future work, it would
be interesting to test particular implementations of these algorithms and to verify their performance
for problem instances that significantly differ from those tested in [9].
References
1. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP—Completeness;
W. H. Freeman and Company: San Francisco, CA, USA, 1979.
2. Jackson, J.R. Schedulig a Production Line to Minimize the Maximum Tardiness. In Manegement Scince
Research Project, University of California; Office of Technical Services: Los Angeles, CA, USA, 1955.
55
Algorithms 2018, 11, 80
c 2018 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 (http://creativecommons.org/licenses/by/4.0/).
56
algorithms
Article
Near-Optimal Heuristics for Just-In-Time Jobs
Maximization in Flow Shop Scheduling
Helio Yochihiro Fuchigami 1, * ID
, Ruhul Sarker 2 and Socorro Rangel 3 ID
Abstract: The number of just-in-time jobs maximization in a permutation flow shop scheduling
problem is considered. A mixed integer linear programming model to represent the problem as
well as solution approaches based on enumeration and constructive heuristics were proposed and
computationally implemented. Instances with up to 10 jobs and five machines are solved by the
mathematical model in an acceptable running time (3.3 min on average) while the enumeration
method consumes, on average, 1.5 s. The 10 constructive heuristics proposed show they are practical
especially for large-scale instances (up to 100 jobs and 20 machines), with very good-quality results
and efficient running times. The best two heuristics obtain near-optimal solutions, with only 0.6%
and 0.8% average relative deviations. They prove to be better than adaptations of the NEH heuristic
(well-known for providing very good solutions for makespan minimization in flow shop) for the
considered problem.
1. Introduction
Permutation flow shop scheduling, a production system in which jobs follow the same flow for all
machines in the same order, is one of the most important production planning problems [1]. This type
of manufacturing environment is very often encountered in intermittent industrial production systems.
In this context, the just-in-time scheduling aims to achieve a solution that minimizes the cost functions
associated with the earliness and tardiness of jobs. Therefore, it is more common to find research
addressing the sum of the earliness and tardiness of jobs or the penalties caused by a deviation from a
previously established due date for the delivery of a product. In practice, these performance measures
are very important for companies as both the earliness and tardiness of completing jobs entail relatively
higher costs of production, such as increases in inventory levels, fines, cancellations of orders or even
loss of customers.
A different approach is to consider an objective related to the number of early/tardy jobs rather
than earliness/tardiness duration [2]. Lann and Mosheiov [3] introduced in 1996 a class of problems in
the just-in-time area that aims to maximize the number of jobs completed exactly on their due dates,
which are called just-in-time jobs. However, up to date, there are still few works in the literature that
consider as an optimization criterion the maximization of the number of just-in-time jobs, despite its
applicability. Examples of applications in which such structure may arise include: chemical or hi-tech
industries, where parts need to be ready at specific times in order to meet certain required conditions
(arrival of other parts, specific temperature, pressure, etc.); production of perishable items (e.g., food
and drugs) under deterministic demand; maintenance services agencies which handle the preferable
due date for customers; and rental agencies (hotels amd car rental), where reservations schedule must
meet exactly the time requested by all clients.
In classical notation of three fields, the maximization of the number of just-in-time jobs in a
permutation flow shop problem can be denoted by Fm |prmu, dj |nJIT , where Fm indicates a generic flow
shop environment with m machines, prmu the permutation constraint, dj the existence of a due date
for each job and nJIT the objective function that maximizes the number of jobs completed just-in-time.
In some environments, such as a single-machine problem and permutation flow shop, the schedule
is provided by only job sequencing. In others, it is also necessary to allocate jobs to machines, such
as in the ones with parallel machines and in hybrid flow shop. Although this research addresses
the problem of the permutation flow shop, in addition to sequencing, there is also the possibility of
inserting idle time into some jobs to adjust their completions to the due dates (if there is slack). That is,
the solution (schedule) comprises sequencing and timing phases; besides an order of jobs, it is also
necessary to define the starting and ending stages of each operation. In the literature, it is known as a
schedule with inserted idle time [4].
The purpose of this work is to provide insights for a theme in the area of scheduling that,
despite its importance for several industrial contexts, is relatively unexplored. This study proposes
a mathematical model to represent the permutation flow shop scheduling with the total number of
just-in-time jobs being maximized and a set of heuristic solution approaches to solve it in a relatively
short execution time. A comprehensive computational study is presented. As shown in the literature
review, to the best of our knowledge, all but one of the papers dealing with the maximization of the
total number of just-in-time jobs only present theoretical results. Thus, this research helps to fill the gap
of computational results in the literature of scheduling problems. We are concerned with applications
for which there is no interest in jobs that are finished before or after their due dates.
The remainder of this paper is organized as follows. A review of the just-in-time scheduling
problems literature is presented in Section 2. A formal description of the problem considered and the
mixed integer linear programming model developed is given in Section 3. The proposed constructive
heuristics methods are discussed in Section 4. Analyses of the results from all the solution approaches
computationally implemented in this study are presented in Section 5. Final remarks are given in
Section 6.
2. Literature Review
Although the just-in-time philosophy involves broader concepts, until recent decades, scheduling
problems in this area were considered variations of earliness and tardiness minimization, as can be
seen in the review by [5]. Many problems are presented in [6,7]. The most common just-in-time
objective functions found in the literature are related the total weighted earliness and tardiness, with
equal, asymmetric or individual weights.
Recently, Shabtay and Steiner [8] published a review of the literature addressing the problem
of maximizing the number of just-in-time jobs which demonstrates that this theme has been very
little explored. The work presented in [7], which deals with various types of just-in-time scheduling
problems, mentions only one paper that considers the number of just-in-time jobs, that is, the survey
presented in [8] of single-, parallel- and two-machine flow shop environments.
There are some publications in the relevant literature that discuss the problem considering the
criteria of maximizing the number of just-in-time jobs in different production systems, specifically
with flow shops. Choi and Yoon [9] showed that a two-machine weighted problem is classified
as NP-complete and a three-machine identical weights one as NP-hard. These authors proposed
and demonstrated several dominance conditions for an identical weights problem. Based on these
conditions, they presented an algorithm for a two-machine problem. In addition, they proved that an
optimal solution to a two-machine problem is given by the earliest due date (EDD) priority rule.
58
Algorithms 2018, 11, 43
Several two-machine weighted problems, a flow shop, job shop and open shop, are considered
by [10]. They propose pseudo-polynomial time algorithms and a way of converting them to polynomial
time approach schemes. Shabtay [11] examined four different scenarios for a weighted problem: firstly,
two machines and identical weights for jobs; secondly, a proportional flow shop, which the processing
times on all machines are the same; thirdly, a set of identical jobs to be produced for different clients
(the processing times are equal but due dates different for each client); and, lastly, the no-wait flow
shop with no waiting times between the operations of a job. A dynamic programming algorithm
and, for a two-machine problem, an algorithm of less complexity than that were proposed by [9].
A proportional flow shop problem was addressed by [12] who considered options of with and without
a no-wait restriction, and proposed dynamic programming algorithms.
Given the difficulty of directly solving this class of problems, some authors preferred to convert
them into other types of optimization problems, such as the partition problem [9] and the modeling of
acyclic directed graphs [11]. A bi-criteria problem of maximizing the weighted number of just-in-time
jobs and minimizing the total resource consumption cost in a two-machine flow shop was considered
by [2].
Focusing on maximizing the number of just-in-time jobs, only one work [2] presented
computational experiments. Gerstl et al. [12] only mentioned that a model is implemented. Unlike most
studies in the shop scheduling area employing experimental research methodologies, all other papers
examined used theoretical demonstrations and properties to attest to the validity of their proposed
methods, as well as analyses of algorithmic complexity, but did not present computational results.
Yin et al. [13] considered the two-machine flow shop problem with two agents, each of them
having its own job set to process. The agents need to maximize individually the weighted number of
just-in-time jobs of their respective set. The authors provided two pseudo-polynomial-time algorithms
and their conversion into two-dimensional fully polynomial-time approximation schemes (FPTAS) for
the problem.
In general, the research studies about the maximization of the number of just-in-time jobs
encountered in the literature are limited to a two-machine flow shop problem. No constructive
heuristic was found for a m-machine flow shop or computational experiments, which are important to
evaluate the effectiveness of the method in terms of solution quality and computational efficiency. One
of the main contributions of this research is the presentation of efficient and effective solution methods
for maximizing the number of just-in-time jobs which are demonstrated to be applicable to practical
multiple-machine flow shop problems. Preliminary results of this research are presented in [14,15].
59
Algorithms 2018, 11, 43
Decision variables:
Cjk completion time of job Jj on machine Mk j = 0, ..., n, k = 0, ..., m
Uj equals 1 if job Jj is just-in-time or 0 otherwise j = 1, ..., n
xij equals 1 if job Ji is assigned immediately before job Jj or 0, otherwise
j = 0, ..., n, j = 1, ..., n, i = j.
The mixed integer programming model given by Expressions (1)–(12) is based on the approach
proposed by Dhouib et al. [16].
n
Max Z = ∑ Uj (1)
j =1
Subject to:
Cj0 = 0, j = 0, . . . , n (9)
Cjk ∈ + , j = 0, . . . , n, k = 0, . . . , m (10)
The optimization criterion expressed in Equation (1) is to maximize the number of just-in-time
jobs. Expressions in Equation (2) ensure the consistency of the completion times of jobs, that is, if
job Ji immediately precedes job Jj (i.e., xij = 1), the difference between their completion times on each
machine must be at least equal to the processing time of job Jj on the machine considered; otherwise (if
xij = 0), if there is no relationship between the completion times of this pair of jobs, then the constraints
in Equation (2) are redundant. Constraints in Equation (3) require that the kth operation of job Jj be
completed after the (k − 1)th operation plus the processing time (pjk ). Generally, the value of B is an
upper bound to the makespan.
The expressions in Equations (4) and (5) jointly establish that the variable Uj equals 1 if job Jj
finishes on time or 0 otherwise. When job Jj does not finish on time, i.e., Uj = 0, these two sets of
constraints become redundant. The constraints in Equation (6) ensure that only one job is assigned to
the first position in the sequence (not considering the dummy job J0 ). The expressions in Equation (7)
60
Algorithms 2018, 11, 43
establish that job Jj (j = 0) either occupies the first position (after J0 ) or is necessarily preceded by
another job. The constraints in Equation (8) ensure that one job, at most, immediately precedes
another. The expressions in Equation (9) define that all the jobs are ready to be initiated on machine
M1 , that is the completion time for all jobs in the dummy machine (k = 0) is zero, and so ensure the
consistency of the restrictions in Equation (3). The expressions in Equations (10)–(12) define the domain
of the variables.
The model’s size in relation to its numbers of variables and constraints are presented in Table 1.
For example, an instance with n = 5 jobs and m = 3 machines has 69 variables and 91 constraints and
another one with n = 10 jobs and m = 5 machines has 236 variables and 268 constraints.
Variables Binary n2 + 2n
Integer n2 + m + n + 1
Total n(2n + 3) + m + 1
Constraints (2) n2 m + nm
(3) nm
(4) n
(5) n
(6) 1
(7) n
(8) n+1
(9) n+1
Total n(n + 2m + 6) + m + 3
4. Constructive Heuristics
To efficiently solve the problem described in Section 3, ten constructive heuristic methods are
proposed based on an investigation of the problem structure and inspired by relevant classical
algorithms, such as the NEH heuristic [17], Hodgson’s algorithm [18] and well-known priority rules,
such as the EDD which is the ascending order of due dates, and the minimum slack time (MST)
which sequences jobs according to the smallest amount of slack (d j − ∑m k =1 p jk ). It is known that, in
a single-machine problem, the EDD and MST rules minimize the maximum tardiness and earliness,
respectively [19].
All the heuristics require a timing adjustment procedure that consists of checking the best instant
to start the operations for a given sequence to complete a greater number of jobs on time. The simple
shifting of an early job with a slack time to match its conclusion to its due date could result in an overall
improvement in the solution. A pseudo-code of the timing adjustment procedure is given in Algorithm
1. Note that a shift is applied only in the last operation of a job (Step 3 in Algorithm 1) because keeping
each previous operation starting at its earliest possible instant can be an advantage in this problem as
it enables jobs that could be late because of their first operations to be anticipated. In addition, this
shift is maintained when there is an improvement in the solution (or at least a tie); otherwise, the
replacement is reversed to anticipate operations which contribute to eliminating possible tardiness in
subsequent jobs.
Timing adjustment procedure
Step 1. For the given sequence, considering starting each operation as early as possible, compute the
number of just-in-time jobs (nJIT ) and consider Jinitial = J[1] , where J[j] is the job in position j of
the sequence.
Step 2. From Jinitial , identify the first early job in the sequence (JE ) and go to Step 3. If there are no
early jobs (from Jinitial ), STOP.
Step 3. Move the last operation of job JE to eliminate earliness and make its conclusion coincide with
its due date. Properly reschedule the last operations of the jobs after JE .
61
Algorithms 2018, 11, 43
If nJIT ’ < nJIT (the new solution is worse than the previous one), return both the last operation of
JE and the operations of the following jobs to their previous positions, set Jinitial = J[initial] + 1 and go to
Step 2.
Else (the new solution is better than or equal to the previous one), keep the new schedule, set
Jinitial = J[E] + 1 and go to Step 2.
Algorithm 1. Pseudo-code of timing adjustment procedure.
The first four heuristics proposed are adaptations of the NEH algorithm’s insertion method and
are given in Algorithms 2–5. H1 and H2 employ the EDD rule as the initial order while H3 and H4
consider the MST rule. Another feature is that H2 and H4 improve on H1 and H3, respectively, by
using neighborhood search in the partial sequence.
Two types of neighborhood search are employed, insertion and permutation, in the same way
as [20]. Given a sequence (or a partial sequence) of n jobs, its insertion neighborhood consists of all
(n − 1)2 sequences obtained by removing a job from its place and relocating it to another position.
The permutation neighborhood is composed by all n(n − 1)/2 sequences obtained by permuting the
positions of two jobs (see Example 1).
Table 2 summarizes the main procedures used in each one of the constructive heuristics.
Example 1. Consider the initial sequence with four jobs: {J3 , J2 , J1 , J4 }. The insertion neighborhood
results in (n − 1)2 = 9 sequences:
Starting again from the initial sequence {J3 , J2 , J1 , J4 } of the same example, the permutation
neighborhood results in n(n − 1)/2 = 6 sequences:
- First, the first two jobs are permuted: {J2 , J3 , J1 , J4 }; then the first and third jobs: {J1 , J2 , J3 , J4 }; and
the first and fourth jobs: {J4 , J2 , J1 , J3 };
- Next, from the initial sequence, the second and third are permutated: {J3 , J1 , J2 , J4 }; and the
second and fourth: {J3 , J4 , J1 , J2 }; and
- Lastly, from the initial sequence, the third and fourth jobs are permutated: {J3 , J2 , J4 , J1 }.
Heuristic H1
Step 1. Order jobs according to the EDD rule (in the case of a tie, use the lower ∑pjk ).
Step 2. For the first two jobs, apply the timing adjustment procedure to find the best partial sequence
(between these two possibilities) with the lower nJIT .
Step 3. For h = 3 to n, do:
Keeping the relative positions of the jobs of the partial sequence, insert the hth job of the order
defined in Step 1 in all possible positions and apply the timing adjustment procedure in each
insertion; consider the new partial sequence with the best nJIT (in the case of a tie, use the
upper position).
Step 1. Order jobs by the EDD rule (in the case of a tie, use the lower ∑pjk ).
62
Algorithms 2018, 11, 43
Step 2. For the first two jobs, apply the timing adjustment procedure to find the best partial sequence
(between these two possibilities) with the lower nJIT .
Step 3. For h = 3 to n, do:
Add the hth job of order defined in Step 1 in the last position of the partial sequence;
Considering the insertion neighborhood with (h − 1)2 partial sequences and applying the
timing adjustment procedure, determine that with the best nJIT ;
From the best solution obtained so far, considering the permutation neighborhood with h(h −
1)/2 partial sequences and applying the timing adjustment procedure, determine that with the
best nJIT .
Step 1. Order jobs by the EDD rule (in the case of a tie, use the lower ∑pjk ).
Step 2. Apply the timing adjustment procedure.
Step 3. Identify the first tardy job in the sequence (JT ). If there are no tardy jobs, STOP.
Step 4. Replace/Place job JT as the final in the sequence and go to Step 2.
Step 1. Order jobs by the EDD rule (in the case of a tie, use the lower ∑pjk ).
Step 2. Apply the timing adjustment procedure.
Step 3. Identify the first tardy job in the sequence (JT ). If there are no tardy jobs, STOP.
Step 4. Replace job JT as the final in the sequence.
Step 5. Considering the insertion neighborhood with (h − 1)2 partial sequences and applying the
timing adjustment procedure, determine that with the best nJIT ; and
From the best solution obtained so far, considering the permutation neighborhood with
h(h − 1)/2 partial sequences and applying the timing adjustment procedure, determine that
with the best nJIT .
63
Algorithms 2018, 11, 43
Step 1. Order jobs by the EDD rule (in the case of a tie, use the lower ∑pjk ).
Step 2. Apply the timing adjustment procedure.
Step 3. Set h = 1. While h < n, do (from position 1 to n − 1):
Forward procedure: replace the hth job defined in Step 1 in the last position of the partial
sequence and apply the timing adjustment procedure. If the new nJIT is better than the previous
one, keep the new schedule (and the h value); otherwise, go back to the previous one and set
h = h + 1.
Step 4. Set h = n. While h > 1, do (from the last position to the second):
Backward procedure: Replace the hth job in all the previous positions and apply the timing
adjustment procedure considering the best solution found. If a new best solution is found,
keep the new schedule (and the h value); otherwise, go back to the previous solution and set h
= h − 1.
Step 5. STOP.
64
Algorithms 2018, 11, 43
The following scenarios represent the configurations obtained by varying the values of T and R:
• Scenario 1: low tardiness factor (T = 0.2) and small due date range (R = 0.6);
• Scenario 2: low tardiness factor (T = 0.2) and large due date range (R = 1.2);
• Scenario 3: high tardiness factor (T = 0.4) and small due date range (R = 0.6); and
65
Algorithms 2018, 11, 43
• Scenario 4: high tardiness factor (T = 0.4) and large due date range (R = 1.2).
Using these parameters, 6000 instances were generated in Group 1, divided in 60 classes. That is,
five levels of number of jobs, three levels of number of machines, four scenarios and 100 instances
per class (5 × 3 × 4 × 100 = 6000). For Group 2, 9600 instances were generated, divided in 96 classes,
six levels of number of jobs, four levels of number of machines, four scenarios and 100 instances per
class (6 × 4 × 4 × 100 = 9600). A total of 15,600 instances were generated and their parameters are
summarized in Table 3.
Group 1 Group 2
Number of jobs 5, 6, 7, 8, 10 15, 20, 30, 50, 80, 100
Number of machines 2, 3, 5 5, 10, 15, 20
Scenario 1: T = 0.2 and R = 0.6;
Scenario 2: T = 0.2 and R = 1.2;
Scenario configurations
Scenario 3: T = 0.4 and R = 0.6;
Scenario 4: T = 0.4 and R = 1.2
Number of instances per class 100 100
Number of instances per group 6000 9600
Total number of instances solved 15,600
J IT − n J IT
nbest h
RPD = ( )100, (14)
nbest
J IT
where nbest h
J IT is the best solution found and n J IT the heuristic solution evaluated. The lower is a method’s
RPD, the better is its performance, with a RPD of zero indicating that the method provided the best
solution found (or achieved a tie).
To compare the heuristics performances for Group 1’s instances, the solution of an enumeration
method (EM), based on [25], was used as a reference (see the pseudo-code in Algorithm 12). It is
important to note that the EM provides a reference solution to the problem and, although it listed n!
possible permutations (sequences) of jobs, it does not warrant an optimal solution since the schedule
is composed by sequencing and timing. That is, for the same sequence, it is possible to find several
schedules with different starting times for each operation, thereby resulting in many possibilities for
the same number of just-in-time jobs, as can be seen in Figure 1.
66
Algorithms 2018, 11, 43
Figure 1. Example of different schedules with the same sequence of jobs: (a) only J3 is just-in-time;
(b) J2 and J1 are just-in-time; and (c) J2 and J3 are just-in-time.
Therefore, the EM enumerates all possible sequences, but it is impractical to probe all possible
schedules, especially for medium and large scale instances. Given that, the EM was not applied for
Group 2’s instances, and the best solution found by the heuristics H1–H10 was considered as reference
for the instances in this group.
Enumeration Method
Step 1.
Enumerate the n! possible sequences and consider the one with the best nJIT .
Step 2.
Apply the timing adjustment procedure.
Figure 2. Comparison of performances of heuristics by group with 95% confidence interval of average
RPD: (a) related to EM for Group 1; and (b) related to the best H1–H10 solution for Group 2.
67
Algorithms 2018, 11, 43
Table 4. Overall performance rankings (RPD) of proposed heuristics in relation to EM for Group 1 and
to the best found solution for Group 2.
H6 H5 H2 H1 H4 H3 H9 H8 H10 H7
Group 1
0.2 0.4 1.1 1.2 3.7 7.0 9.6 16.2 21.1 41.7
H6 H5 H2 H1 H4 H3 H9 H10 H8 H7
Group 2
0.2 0.3 0.6 2.4 7.0 11.9 31.4 61.4 68.1 76.6
The results from H6 were similar to those from H5 which ranked second for overall performance
with RPDs of 0.4% in Group 1 and 0.3% in Group 2, as shown in Table 4. Both these heuristics
considered the EDD rule as the initial order and iteratively placed the first tardy job at the end of the
sequence. However, H6 also employed insertion and permutation neighborhood searches. Therefore,
it can be seen that, although this improvement phase provided better performance, H6 had already
produced very good results before the neighborhood searches (explained by the behavior of H5).
Following the rankings, H2 and H1 were third and fourth, respectively, and both exhibited similar
behavior by considering the EDD rule as the initial order and then employing the insertion method
to construct the sequence. The difference between them is that H2 employs neighborhood searches
before attempting to insert the new job in the partial sequence.
In addition, it may be noted in Table 4 that the rankings for Groups 1 and 2 were almost the same,
with the sole exception of the inversion between heuristics H8 and H10 in eighth and ninth places.
Another observation is that, in the five worst methods, the deviations in Group 1 were much lower
than those in Group 2 which indicated that there is a greater dispersion of solution quality for medium
and large instances, as can be seen in Figure 2.
The worst method was H7 which considered the MST rule as the initial order and iteratively
placed the first tardy job at the end of the sequence. Although it is very similar to H5, as the only
difference between them was in their initial orders (the EDD rule was used in H5), the discrepancies in
their results were quite significant. This demonstrated that, of the two options used for the initial rule,
the EDD was always more advantageous than the MST, as was obvious for every pair of heuristics
which were only differentiated by these rules, that is, H1 and H3, H2 and H4, H5 and H7, H6 and H8,
and H9 and H10.
Tables 5–8 provide detailed average results for the instances according to the group and size for
each heuristic considering different numbers of jobs and machines.
As the number of jobs grows, the four best methods, H6, H5, H2 and H1, had relatively stable
performances for Groups 1 (Table 5) and Group 2 (Table 6), with very low RPD values (below 1.5).
The exception was H1 for Group 2 (Table 6), which had decreasing relative deviations ranging from
3.9% with 15 jobs to 0.6% with 100. The other heuristics had increasing RPD values with increasing
numbers of jobs, except H7 and H8 for Group 2 which had decreasing values for instances with up to
100 jobs. Furthermore, H3 showed a slight decrease in instances with 15 to 50 jobs, and an increase in
those with 80 and 100.
n H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
5 1.0 1.1 5.4 1.8 0.4 0.2 29.1 5.5 5.7 12.7
6 1.2 0.9 7.4 3.4 0.4 0.1 35.8 9.4 7.3 17.7
7 1.2 1.2 6.4 3.4 0.4 0.2 43.9 16.2 8.9 20.0
8 1.5 1.0 7.8 4.8 0.3 0.3 49.3 21.8 11.6 25.3
10 1.2 1.1 8.3 4.9 0.4 0.3 50.6 28.3 14.5 29.8
68
Algorithms 2018, 11, 43
n H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
15 3.9 1.5 10.9 6.4 0.7 0.4 59.6 41.3 26.2 40.1
20 3.6 1.1 9.4 6.2 0.5 0.4 69.4 55.7 28.3 47.5
30 3.3 0.7 8.9 6.7 0.3 0.2 77.7 69.0 30.5 57.5
50 2.1 0.3 8.5 6.7 0.3 0.1 84.6 79.6 33.4 69.3
80 1.0 0.1 8.8 7.3 0.1 0.1 89.4 86.3 34.8 76.3
100 0.6 0.0 25.1 8.7 0.2 0.1 78.9 76.6 35.1 77.6
In terms of the numbers of machines, as can be seen in Tables 7 and 8, the results indicate, in each
group, high stability with relatively small variations in their RPD amplitudes. This may suggest that
the number of machines was not a relevant factor in performances for the problem addressed.
m H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
2 0.3 0.5 7.1 3.7 0.2 0.1 42.2 16.5 7.5 20.8
3 0.9 0.8 7.4 3.7 0.3 0.1 42.3 16.7 9.6 21.3
5 2.4 1.9 6.7 3.5 0.7 0.5 40.7 15.5 11.8 21.1
m H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
5 0.5 0.3 12.2 7.2 0.2 0.1 78.0 69.8 28.6 61.8
10 2.1 0.7 13.0 7.1 0.4 0.2 75.9 68.0 30.7 61.3
15 3.1 0.6 11.0 7.1 0.3 0.2 76.9 68.2 32.5 61.3
20 3.9 0.8 11.6 6.6 0.5 0.3 75.5 66.4 33.7 61.1
Table 9 presents each group’s deviations for the four defined scenarios, varying the values of T
and R due date factors. These results were consistent with those obtained from the previous analyses of
ranking methods, with H6 presenting the best result followed by H5. The results of different scenarios
suggest that variations in the tardiness factor and due date range did not exert any relevant influence.
It is interesting to note the two top heuristics, H6 and H5, obtained identical results for both groups in
Scenarios 2 and 4 characterized by their wide due date ranges. That is, when the interval between due
dates was large, neighborhood searches did not provide improvements.
Table 9. Performances (RPD) of heuristics by group and scenario in relation to EM for Group 1 and to
the best found solution for Group 2.
Scenario H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
1 0.9 0.8 8.7 4.6 0.4 0.3 42.2 16.5 10.0 20.8
2 1.0 0.7 4.7 2.2 0.2 0.2 45.7 19.2 4.3 20.0
Group 1
3 1.9 1.7 9.3 5.1 0.8 0.5 39.3 14.7 15.0 22.1
4 1.0 1.0 5.5 2.7 0.1 0.1 39.8 14.5 9.2 21.5
1 1.7 0.7 15.0 8.9 0.4 0.2 76.3 68.1 39.4 61.6
2 1.6 0.5 7.8 4.5 0.1 0.1 78.6 71.3 13.8 62.0
Group 2
3 3.7 1.0 15.2 9.4 0.7 0.4 75.1 65.4 43.0 60.9
4 2.5 0.3 9.7 5.3 0.1 0.1 76.3 67.6 29.3 61.0
5.3. Experiment 2: Quality of the Heuristic Solutions in Relation to the Optimal Solution
In the second part of the computational experimentation, the quality of each heuristic solution
was measured by the RPD in relation to the optimal solution provided by solving the instances of
mathematical model by CPLEX. The RPD is calculated by Expression (14), where nbestJ IT is the optimal
solution given by CPLEX.
69
Algorithms 2018, 11, 43
The optimality of the CPLEX solution was proven for the 6000 instances of Group 1. The analysis
of quality the heuristics’ results in relation to those optimal solutions, using 95% confidence intervals
of the average RPDs, is depicted in Figure 3.
It is remarkable that the values of graphs in Figure 2a (Group 1) and Figure 3 are very similar.
Table 10 presents rankings of the solution quality of the heuristics, i.e., the values of the RPD of the
optimal solutions.
Table 10. Overall performance rankings (average RPD) of heuristics in relation to optimal solution for
instances in Group 1.
H6 H5 H2 H1 H4 H3 H9 H8 H10 H7
RPD 0.6 0.8 1.4 1.6 4.0 7.4 10.0 16.6 21.4 41.9
Table 10 shows the same ranking and values very close to the ones presented in Table 4 for relative
comparisons of Group 1, which validated and reinforced the results from the previous analyses. It is
important to highlight the excellent performance of the best heuristic (H6) that had a deviation from
the optimal solution of just 0.6% which meant that it provided a near-optimal solution.
Of the 6000 instances optimally solved, H6 reached the optimal solution in 5830 cases (97.2% of
instances) and, in the other 170 instances, the difference between its result and the optimal solution
was only one just-in-time job in 168 cases and two just-in-time jobs in two other cases. It is also relevant
to emphasize that the average running times of H6 were 0.1 ms and 0.39 s for the instances in Groups 1
and 2, respectively.
According to the previous comparative analysis, the results for H5 and H6 were very close and
H2 and H1 also achieved significant performances. This confirmed that the EDD was better than the
MST rule for the instances considered and the procedure based on Hodgson’s approach (used in H6
and H5) outperformed the insertion method of NEH (applied in H2 and H1). Similarly, in all cases of
each pair of heuristics, those which applied a neighborhood search produced improved results.
Another interesting observation is that the enumeration method, as explained in Section 5.3, did
not guarantee the optimal solution in the case of a flow shop with just-in-time jobs. Of the instances
optimally solved, the deviations from the enumeration method were on average 0.4%, as expected,
with an average running time of 1.48 s. The average running time of CPLEX was 199.88 s (3.33 min).
Given the difficulties to prove optimality, for Group 2, only one instance per class was solved by
CPLEX with the CPU time was limited to 3600 s. Thus, 96 medium and large instances were executed.
70
Algorithms 2018, 11, 43
For 22 instances, no integer solution was found or the model provided a solution with zero value. In
most cases, the heuristic solutions were much better than the lower bound given by CPLEX, leading to
very negative RPD, as can be observed in Table 11.
Table 11. Overall performance (average RPD) of heuristics in relation to lower bound given by CPLEX
by number of jobs for instances of Group 2.
n H1 H2 H3 H4 H5 H6 H7 H8 H9 H10
15 6.5 1.0 10.3 6.9 1.0 1.0 56.7 41.1 28.2 36.8
20 −5.0 −6.5 4.0 −2.8 −8.8 −8.8 66.5 49.6 23.1 41.1
30 −49.0 −52.5 −38.0 −40.1 −52.0 −52.0 68.4 57.2 −7.4 38.5
80 −1080.2 −1082.0 −1001.7 −1032.6 −1082.0 −1082.0 −13.5 −93.2 −764.4 −251.9
100 −1276.7 −1276.7 −990.8 −1159.3 −1276.7 −1276.7 −460.6 −518.8 −865.0 −276.1
The more negative is the RPD of a heuristic, the better is its result in relation to the lower bound.
It could be noted that even the worst heuristic (H7) provided results that were better than the lower
bound given by CPLEX. These results confirm all previous inferences. The coincidence of the results
for H5 and H6 is remarkable, suggesting that neighborhood searches do not improve the solution of
medium and large instances.
As expected, the EM and CPLEX consumed much more CPU time than the heuristics. For the
small instances (Group 1), the computational times of all the heuristics were almost zero and, for the
medium and large ones (Group 2), H2 and H4 took the longest times, nearly 8 s on average, which
were relatively high compared with those of other methods but does not preclude their use. All other
heuristics required far less time than one second which demonstrated the viability of using them in
practice. It is worth noting that H5, which ranked second with a solution quality very close to that
of H6, consumed less than a half second on average for large instances, thereby indicating its high
computational efficiency.
Finally, in an overall analysis of the results and the solution approaches proposed in this paper
(exact and heuristic), the applicability of the developed heuristics were justified and demonstrated
in terms of both solution quality (an average of 0.6% deviation from the optimum with the best
heuristic H6) and computational efficiency (an average of 0.4 s for large instances also with H6). The
71
Algorithms 2018, 11, 43
mathematical model and the enumeration method were useful as quality certificate. Moreover, the
mathematical model can be useful if other constraints or requirements are added to the problem.
6. Final Remarks
This research achieves its proposed goals of developing and implementing effective and efficient
methods for solving a flow shop scheduling problem by maximizing the number of just-in-time jobs, as
demonstrated in the computational experiments. A MIP model is proposed to represent the problem
and, together with an enumeration algorithm, is useful as quality certificate for the solution values
given by the constructive heuristics proposed.
The CPLEX system solves instances of the MIP model with up to 10 jobs and five machines in at
most 47 min. It provides a lower bound for the optimal solution for instances with up to 100 jobs and
20 machines. The enumeration method does not guarantee optimality because the solution is formed
by job sequencing and timing (the starting times of jobs). However, it shows relative applicability and
considerable quality (0.2% deviations in small instances) with an average running time of 1.5 s.
The practicability and applicability of all proposed heuristic methods are demonstrated, in
particular for large-scale instances, with very good quality results and non-prohibitive runtimes.
The best heuristic, H6, demonstrates a near-optimal solution, with just a 0.5% average relative deviation
from the exact solution and optimal solutions for more than 98% of instances, while the performance
of the second best, H5, is very close. In total, 15,600 instances are solved, with the average relative
deviation of H6 only 0.2% and that of H5 approximately 0.3%. The H6 and H5 heuristics consider the
EDD rule as the initial solution and then iteratively place the first tardy job at the end of the sequence.
Although their results are very close, H6 improves on H5 by using neighborhood searches.
In this study, the focus is on solving a flow shop scheduling problem by reducing the interval
between the completion time of the last operation of a job and its due date. This enables an adjustment
in the timing of jobs which results in the possibility of inserting idle time between operations. Therefore,
there is no concern about the first operations of each job, i.e., their executions could be approximated.
Rescheduling these operations could reduce the idle time between them and possibly also minimize
the total time required to complete the schedule (makespan). Therefore, it is suggested that future
work consider multiple-criteria functions, including flow measures (as a makespan and/or flow time),
in scenarios with earliness and tardiness.
Acknowledgments: This work was supported by CNPq (502547/2014-6, 443464/2014-6, and 233654/2014-3),
CAPES (BEX 2791/15-3), FAPESP (2013/07375-0 and 2016/01860-1) and FAPEG (201510267000983).
Author Contributions: Helio conceived, designed and performed the experiments; Helio, Ruhul and Socorro
analyzed the data and wrote the paper.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Pinedo, M.L. Scheduling: Theory, Algorithms and Systems, 5th ed.; Prentice-Hall: Upper Saddle River, NJ, USA,
2016; ISBN 978-3319265780.
2. Shabtay, D.; Bensoussan, Y.; Kaspi, M. A bicriteria approach to maximize the weighted number of just-in-time
jobs and to minimize the total resource consumption cost in a two-machine flow-shop scheduling system.
Int. J. Prod. Econ. 2012, 136, 67–74. [CrossRef]
3. Lann, A.; Mosheiov, G. Single machine scheduling to minimize the number of early and tardy jobs.
Comput. Oper. Res. 1996, 23, 769–781. [CrossRef]
4. Kanet, J.J.; Sridharan, V. Scheduling with inserted idle time: Problem taxonomy and literature review.
Oper. Res. 2000, 48, 99–110. [CrossRef]
5. Baker, K.R.; Scudder, G.D. Sequencing with earliness and tardiness penalties: A review. Oper. Res. 1990, 38,
22–36. [CrossRef]
6. Józefowska, J. Just-in-Time Scheduling: Models and Algorithms for Computer and Manufacturing Systems; Springer
Science: New York, NY, USA, 2007; ISBN 978-387-71717-3.
72
Algorithms 2018, 11, 43
7. Ríos-Solís, Y.A.; Ríos-Mercado, R.Z. Just-In-Time Systems; Springer Sciences: New York, NY, USA, 2012;
ISBN 978-1-4614-1122-2.
8. Shabtay, D.; Steiner, G. Scheduling to maximize the number of just-in-time jobs: A survey. In Just-in-Time
Systems; Ríos-Solís, Y.A., Ríos-Mercado, R.Z., Eds.; Springer Sciences: New York, NY, USA, 2012;
ISBN 978-1-4614-1122-2.
9. Choi, B.-C.; Yoon, S.-H. Maximizing the weighted number of just-in-time jobs in flow shop scheduling.
J. Sched. 2007, 10, 237–243. [CrossRef]
10. Shabtay, D.; Bensoussan, Y. Maximizing the weighted number of just-in-time jobs in several two-machine
scheduling systems. J. Sched. 2012, 15, 39–47. [CrossRef]
11. Shabtay, D. The just-in-time scheduling problem in a flow-shop scheduling system. Eur. J. Oper. Res. 2012,
216, 521–532. [CrossRef]
12. Gerstl, E.; Mor, B.; Mosheiov, G. A note: Maximizing the weighted number of just-in-time jobs on a
proportionate flowshop. Inf. Process. Lett. 2015, 115, 159–162. [CrossRef]
13. Yin, Y.; Cheng, T.C.E.; Wang, D.-J.; Wu, C.-C. Two-agent flowshop scheduling to maximize the weighted
number of just-in-time jobs. J. Sched. 2017, 20, 313–335. [CrossRef]
14. Fuchigami, H.Y.; Rangel, S. Métodos heurísticos para maximização do número de tarefas just-in-time em flow
shop permutacional. In Proceedings of the Simpósio Brasileiro de Pesquisa Operacional, Porto de Galinhas,
Brazil, 25–28 August 2015.
15. Fuchigami, H.Y.; Rangel, S. Um estudo computacional de um modelo matemático para flow shop
permutacional com tarefas just-in-time. In Proceedings of the Simpósio Brasileiro de Pesquisa Operacional,
Vitória, Brazil, 27–30 September 2016.
16. Dhouib, E.; Teghem, J.; Loukil, T. Minimizing the number of tardy jobs in a permutation flowshop scheduling
problem with setup times and time lags constraints. J. Math. Model. Algorithm 2013, 12, 85–99. [CrossRef]
17. Nawaz, M.; Enscore, E.E., Jr.; Ham, I. A heuristic algorithm for the m-machine n-job flow-shop sequencing
problem. OMEGA–Int. J. Manag. Sci. 1983, 11, 91–95. [CrossRef]
18. Hodgson, T.J. A note on single machine sequencing with random processing times. Manag. Sci. 1977, 23,
1144–1146. [CrossRef]
19. Baker, K.R.; Trietsch, D. Principles of Sequencing and Scheduling; John Wiley & Sons: New York, NY, USA, 2009;
ISBN 978-0-470-39165-5.
20. Nagano, M.S.; Branco, F.J.C.B.; Moccellin, J.V. Soluções de alto desempenho para programação da produção
flow shop. GEPROS 2009, 4, 11–23.
21. Li, X.; Chen, L.; Xu, H.; Gupta, J.N.D. Trajectory scheduling methods for minimizing total tardiness in a
flowshop. Oper. Res. Perspect. 2015, 2, 13–23. [CrossRef]
22. Vallada, E.; Ruiz, R.; Minella, G. Minimizing total tardiness in the m-machine flowshop problem: A review
and evaluation of heuristics and metaheuristics. Comput. Oper. Res. 2008, 35, 1350–1373. [CrossRef]
23. Ronconi, D.P.; Birgin, E.G. Mixed-integer programming models for flow shop scheduling problems
minimizing the total earliness and tardiness. In Just-in-Time Systems; Ríos-Solís, Y.A., Ríos-Mercado, R.Z.,
Eds.; Springer Sciences: New York, NY, USA, 2012; ISBN 978-1-4614-1122-2.
24. Taillard, E. Benchmarks for basic scheduling problems. Eur. J. Oper. Res. 1993, 64, 278–285. [CrossRef]
25. Laha, D.; Sarin, S.C. A heuristic to minimize total flow time in permutation flow shop. OMEGA–Int. J.
Manag. Sci. 2009, 37, 734–739. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
73
algorithms
Article
Hybrid Flow Shop with Unrelated Machines,
Setup Time, and Work in Progress Buffers for
Bi-Objective Optimization of Tortilla Manufacturing
Victor Hugo Yaurima-Basaldua 1 , Andrei Tchernykh 2,3, *, Francisco Villalobos-Rodríguez 1 and
Ricardo Salomon-Torres 1 ID
1 Software Engineering, Sonora State University, San Luis Rio Colorado, Sonora 83455, Mexico;
victor.yaurima@ues.mx (V.H.Y.-B.); fco.vr1@gmail.com (F.V.-R.); ricardo.salomon@uabc.edu.mx (R.S.-T.)
2 Computer Science Department, CICESE Research Center, Ensenada 22860, Mexico
3 School of Electrical Engineering and Computer Science, South Ural State University, Chelyabinsk 454080,
Russia
* Correspondence: chernykh@cicese.mx; Tel.: +521-646-178-6994
Abstract: We address a scheduling problem in an actual environment of the tortilla industry. Since
the problem is NP hard, we focus on suboptimal scheduling solutions. We concentrate on a complex
multistage, multiproduct, multimachine, and batch production environment considering completion
time and energy consumption optimization criteria. The production of wheat-based and corn-based
tortillas of different styles is considered. The proposed bi-objective algorithm is based on the known
Nondominated Sorting Genetic Algorithm II (NSGA-II). To tune it up, we apply statistical analysis
of multifactorial variance. A branch and bound algorithm is used to assert obtained performance.
We show that the proposed algorithms can be efficiently used in a real production environment.
The mono-objective and bi-objective analyses provide a good compromise between saving energy
and efficiency. To demonstrate the practical relevance of the results, we examine our solution on real
data. We find that it can save 48% of production time and 47% of electricity consumption over the
actual production.
Keywords: multiobjective genetic algorithm; hybrid flow shop; setup time; energy optimization;
production environment
1. Introduction
Tortillas are a very popular food as a favorite snack and meal option in various cultures and
countries. There are two types of tortillas: wheat-based and corn-based. Their overall consumption is
growing all over the world. Originally, tortillas were made by hand: grinding corn into flour, mixing
the dough, and pressing to flatten it. In fact, many small firms today still use processes that are more
labor-intensive, requiring people to perform a majority of the tasks such as packaging, loading, baking,
and distributing. This trend is expected to change over the next years. Due to its considerable practical
significance, optimization of tortilla production is important. To improve the production timing
parameters (setup, changeover, waiting), operational cost (energy consumption, repairing, service),
throughput, etc., careful analysis of the process and of advance scheduling approaches is needed.
This industry is a typical case of a hybrid flow shop, which is a complex combinatorial
optimization problem that arises in many manufacturing systems. In the classical flow shop, a set of
jobs has to pass through various stages of production. Each stage can have several machines. There is
also the flexibility of incorporating different-capacity machines, turning this design into hybrid flow
shop scheduling (HFS).
The production decisions schedule work to machines in each stage to determine the processing
order according to one or more criteria. Hybrid flow shop scheduling problems are commonly
encountered in manufacturing environments. A large number of heuristics for different HFS
configurations considering realistic problems have been proposed [1–6].
In spite of significant research efforts, some aspects of the problem have not yet been sufficiently
explored. For example, previous works deal mostly with improving the efficiency of production,
where objective functions are usually used to minimize the total production time (makespan), the total
tardiness, etc. [7]. Although the production efficiency is essential, it is not the only factor to consider in
manufacturing operations. One of the main motivations of this work is to reduce energy consumption.
In recent years, it has been recognized that high energy consumption can increase operational cost and
cause negative environmental impacts [8].
In this paper, we propose a genetic algorithm that contributes to the solution of a bi-objective HFS
problem of a real tortilla production environment, with unrelated machines, setup time, and work in
progress buffers taking into account the total completion time and energy consumption of the machines.
The rest of the paper is organized as follows. After presenting the description and characteristics
of the production line and jobs in Section 2, we discuss related work in Section 3. We describe the
model of the problem in Section 4. We present the details of the proposed solution in Section 5 and
the algorithm calibration in Section 6. We discuss computational experiments and results in Section 7.
Finally, we conclude with a summary and an outlook in Section 8.
2. Production Process
Figure 1 shows the eight main stages of the production process: (1) Preparation, (2) Mixing,
(3) Division and Rounding, (4) Repose, (5) Press, (6) Bake, (7) Cooling, (8) Stacking and Packing.
In this paper, we consider a hybrid flow shop with six stages (from 2 to 7), with different numbers
of machines in the stages 2, 4, and 6. In the production of wheat flour tortillas, the raw ingredients
prepared in Stage 1 are transferred to a large mixer (Stage 2), where they are combined to create
the dough.
Corn tortilla production starts with a process called nixtamalization, in which the corn is soaked
in an alkali solution of lime (calcium hydroxide) and hot water. The dough is divided into fragments
with round shapes (Stage 3). These fragments repose in a controlled environment to obtain a certain
consistency as to the temperature and humidity (Stage 4). Next, they are pressed to take the shape of a
tortilla (Stage 5). Rows of tortillas are heated in stoves (Stage 6). The next steps are to cool (Stage 7),
stack, and pack them (Stage 8).
75
Algorithms 2018, 11, 68
The process is distributed among flow lines with several machines per stage (Figure 2). It is
operated in a semi-automated way controlled by operators.
Tables 1 and 2 present the capacities of the machines in each stage. These are represented by the
amount of work (tortillas in kilograms) that can be processed on each machine.
Stage 2
Machines 1 2 3 4 5 6
Jobs 1–5 80 80 100 130 160 200
Table 2. The processing capacity of machines in Stages 3–7 (kg per minute).
Stage 3 4 5 6 7
Machines 1–6 1–6 1–3 4–6 1–6 1–6
1 1.3 200 7.2 9.6 9.6 9.6
2 1.3 200 6.4 8.8 8.8 8.8
Jobs 3 0.44 200 2.4 4 4 4
4 0.31 200 3.2 4.8 4.8 4.8
5 1.3 200 4 8.8 8.8 8.8
Table 1 demonstrates that Stage 2 has six machines with processing capabilities of 80, 80, 100, 130,
160, and 200 kg per minute that can process jobs from 1 to 5. Machines 1 and 2 have the same capacities.
Table 2 shows that Stages 3, 4, 6, and 7 have identical machines, and Stages 2 and 5 have unrelated
machines. Table 3 shows the power of the machines in each stage in kW per minute. The consumption
is independent of the type of job to be processed. Machines in Stage 4 do not consume energy.
The equipment is cabinets, where dough balls remain for a given period.
Stage 2 3 4 5 6 7
1 0.09 0.03 0 0.62 0.04 0.12
2 0.09 0.03 0 0.62 0.04 0.12
3 0.11 0.03 0 0.62 0.04 0.12
Machine
4 0.14 0.03 0 0.9 0.04 0.12
5 0.23 0.03 0 0.9 0.04 0.12
6 0.23 0.03 0 0.9 0.04 0.12
76
Algorithms 2018, 11, 68
Table 4 shows characteristics of the jobs. We consider a workload with five jobs for production
of the five types of tortillas most demanded by industry: Regular, Integral, Class 18 pcs, Taco 50,
and MegaBurro. Each job is characterized by its type, group, and batches required for production.
It has several assigned batches. This quantity must be within a certain range that is obtained from the
standard deviations of the average monthly production in kilograms of tortillas for a year.
The batch indicates the number of 10 kg tasks that have to be processed in the job. A job with one
batch indicates processing 10 kg, and with five batches indicates processing 50 kg.
The group indicates the compatibility of the job tasks. Job tasks belonging to the same group may
be processed simultaneously. For instance, they can be processed on all unrelated machines of Stage 2,
if their sizes are less than or equal to the capacity in kilograms of the machines (Table 1). The job tasks
of the same type of dough can be combined, forming compatibility groups. In this case, the jobs of
Types 1, 3, 4, and 5 belong to Group 1, and jobs of Type 2 belong to Group 2.
Table 5 shows processing times in minutes for every 10 kg of tortilla for a job type. The 10 kg
represents a task. We see that in Stages 2 and 4, all machines process jobs for the same durations of 1
and 45 min, respectively, due to the fact that the time does not depend on the job type.
Table 5. Processing time Pik ,j of job j at machine k in stage i for each 10 kg.
Stage 2 3 4 5 6 7
Machines 1–6 1–6 1–6 1–3 4–6 1–6 1–6
1 1 1.25 45 1.43 1.07 12.15 17.25
2 1 1.25 45 1.48 1.11 12.15 17.25
Jobs 3 1 4.38 45 3.69 2.77 21.38 26.48
4 1 3.13 45 3.00 2.25 24.50 29.60
5 1 0.42 45 2.28 1.14 18.24 23.34
Table 6 shows the setup time of machines at each stage. At stages from 3 to 7, the setup time is
independent of the task sequence, job type, and weight.
Stage 2 3 4 5 6 7
Setup time st2 0.7 0.7 0.5 0 0
77
Algorithms 2018, 11, 68
3. Related Works
78
Algorithms 2018, 11, 68
and three populations is presented. For each case of machines per stage, the goal is to find the most
desirable solutions that provide the best results considering both objectives.
4. Model
Many published works address heuristics for flow shops that are considered production
environments [3,23,28–30]. We consider the following problem: A set J = {1, 2, 3, 4, 5} of jobs
available at time 0 must be processed on a set of 6 consecutive stages S = {2, 3, 4, 5 , 6, 7}. of the
production line, subject to minimization of total processing time Cmax and energy consumption of the
machines Eop .
Each stage i ∈ S consists of a set Mi = {1, . . . , mi } of parallel machines, where | Mi | ≥ 1. The sets
M2 and M5 have unrelated machines and the sets M3 , M4 , M6 , and M7 have identical machines.
We consider three different cases of mi = {2, 4, 6} machines in each stage.
Each job j ∈ J belongs to a particular group Gk . Jobs 1, 3, 4, 5 ∈ J belong to G1 , job 2 ∈ J belongs
to G2 . Each job is divided into a set Tj of t j tasks, Tj = 1, 2, . . . , t j . Jobs and tasks in the same group
can be processed simultaneously only in stage 2 ∈ S according to the capacity of the machine. In stages
3, 4, 5, 6, 7 ∈ S, the tasks must be processed by exactly one machine in each stage (Figure 2).
Each task t ∈ Tj consists of a set of batches of 10 kg each. The tasks can have different numbers of
batches. The set of all the tasks together of all the jobs is given by T = {1, 2, . . . , Q}.
Each machine must process an amount of “a” batches at the time of assigning a task.
Let pil ,q be the processing time of the task q ∈ Tj on the machine l ∈ Mi at stage i. Let Sil ,qp be the
setup (adjustment) time of the machine l from stage i to process the task p ∈ Tj after processing task q.
Each machine has a process buffer for temporarily storing the waiting tasks called “work in progress”.
The setup times in stage 2 ∈ S are considered to be sequence dependent; in stages 3, 4, 5, 6, 7 ∈ S,
they are sequence independent.
Using the well-known three fields notation α | β | γ for scheduling problems introduced in [31],
the problem is denoted as follows:
FH6, ( RM(2) , ( PM(i) )i=34 , RM(5) , ( PM(i) )i=67 )|Ssd2 , Ssi37 | Cmax , Eop . (2)
Encoding
Each solution (chromosome) is encoded as a permutation of integers. Each integer represents a
batch (10 kg) of a given job. The enumeration of each batch is given in a range specified by the order of
the jobs and the number of batches.
79
Algorithms 2018, 11, 68
Batches are listed according to the job to which they belong. Table 7 shows an example the five
jobs. If Job 1 has nine batches, they are listed from 1 to 9. If Job 2 has 12 batches, they are listed from 10
to 21. Reaching Job 5, we have accumulated 62 batches.
Job 1 2 3 4 5
Batches 9 12 16 15 10
Batch index 1–9 10–21 22–37 38–52 53–62
Figure 3 shows an example of the production representation. Groups are composed according to
the number of machines in the stage (mi ). The batches of each job are randomly distributed between
the groups. To obtain the number of batches per group (a), we divide the total amount of batches by
the number of machines per stage.
Figure 3. Example of the representation of the chromosome for mi machines per stage.
Let us consider six stages with m1 = 4 machines per stage. The chromosome is composed of 4
groups. Let us assume that we have 62 batches for 5 jobs. This is equal to 62 (batches)/4 (machines
per stage) = 15.5 (batches per group). The result is rounded to the nearest higher integer, ending with
a = 16 batches per group. An example of processing tasks on Machine 1 is shown in Figure 4.
Machine 1
Original Sequence 56 23 38 35 1 42 61 14 51 11 5 59 48 15 19 16 Batches
1 2 3 Proc. Order
Ordered
1 5 23 35 38 42 51 48 56 61 59 14 11 15 19 16 Batches
Sequence
1 3 4 4 5 2 Jobs
In the ordered sequence, “Jobs” indicate jobs to which the batches belong according to their
enumeration. These groups indicate the number of total tasks for each job from left to right. For
example, in the ordered sequence, Job 4 has two tasks; the first one “4-1” has three batches (38, 42, 51)
and the second one “4-2” has one batch (48).
“Proc. Order” indicates the order of processing of the task groups. Assuming that a machine in
Stage 1 has to process up to 70 kg (7 batches), Group 1 is composed of sets of tasks 1-1 (1, 5), 3-1 (23, 35),
4-1 (38, 42, 51) with seven batches. When the capacity of the machine is filled, Group 2 is formed for
the tasks 4-2 (48) and 5-1 (56, 61, 59). Assuming that the batches of Job 2 are not compatible with any
of the remaining four jobs, the batches are processed separately from the other two groups, forming
the task 2-1 with five batches (14, 11, 15, 19, 16). When the first group’s tasks have completed their
processing in the machine, the second group is processed, and so on.
The tasks processed in the group are assigned to the machines of the following stages individually
according to their order of completion in the first stage. When the tasks of a group—for example,
Group 1 (1-1, 3-1, 4-1)—are processed together, the completion time is the same for all. Therefore,
80
Algorithms 2018, 11, 68
the three tasks will be ready at the same time to be assigned individually to machines available in the
next stage, until the last (6th) stage.
In the post-second stages, the tasks that are ready to be assigned are in the process buffer. The task
that has the longest processing time is assigned first to an available machine. The calculation of the
total completion time Cmax is as follows. The time Ci,p for completing task p in stage i is calculated
according to the formula
min
Ci,p = {max Ci,p + Sil ,qp ; Ci−1,p + pil ,q }. (3)
1≤l≤m
Q indicates the total number of tasks for all jobs. Cm,p is the completion time of task p ∈ Tj in the
last stage 7 ∈ S. The total energy consumption Eop of the execution of all tasks is calculated as
Q
Eop = ∑ pil ,q · Eil . (5)
q =1
where Eil indicates the electrical power consumption of machine l in stage i, and pil ,q refers to the
processing time of the task q ∈ T.
81
Algorithms 2018, 11, 68
Partially mapped crossover (PMX) [32,33]: This operator uses two cut points (Figure 5). The part
of the first parent between the two cut points is copied to the children. Then, the following parts of the
children are filled by a mapping between the two parents, so that their absolute positions are inherited
where possible from the second parent.
Figure 6 shows an example of the PMX crossover. The cross points in both parents serve to
form the child chromosome. The 16 listed lots of the 4 jobs are randomly distributed on each parent
chromosome. When crossed, they form the child chromosome with 16 lots.
The cross parents are composed of the batches of the jobs listed in Table 8.
Figures 7 and 8 show representations of tasks for two and four machines per stage. The original
sequence is ordered considering the enumeration of the jobs and their batches. Each machine is
assigned batches to process, which form the tasks of each job. Each machine must process a certain set
82
Algorithms 2018, 11, 68
of tasks; each set is assigned a processing order (Proc. Order). These sets are formed according to the
processing compatibility.
݉ͳ ݉ʹ
1 2 1 2 Proc. Order
Ordered 2 3 13 15 5 6 7 8 1 4 9 10 11 12 14 16 Batch
1 4 2 1 3 4 Jobs
݉ͳ ݉ʹ ݉͵ ݉Ͷ
1 2 1 1 Proc. Order
Ordered 2 3 6 7 3 15 5 8 10 11 12 16 1 4 9 14 Batch
1 4 2 1 4 2 3 4 1 3 4 Jobs
The tasks of Jobs 1, 3, and 4 can be processed in the same set at the same time. The tasks of Job 2
are put into a separate set because they are not compatible with each other. For example, in Figure 7,
the first two tasks (1-1, 4-1) are processed by Machine 1, then the second set with one task (2-1).
In Machine 2, two tasks of the first set (1-2 and 3-1) are processed, assuming that the machine has only
the capacity to process up to 6 batches (60 kg). The second set will then be followed by one task (4-1).
Figure 8 shows four machines per stage. Four batches are assigned to each machine. Machines 1
and 2 process two sets of tasks. Machines 3 and 4 process only one set. Upon completion of the tasks
processed in sets in Step 1, in the later stages, they will be processed individually.
Order crossover (OX) [32,34–37]: Two cut points are selected randomly; the part of the first parent
located between these two cut points is copied to the child. The child’s other spaces are left blank.
The values copied to the child are deleted in the second parent. The following positions in the child
are filled starting in the blank spaces and considering the order found in the second parent (Figure 9).
83
Algorithms 2018, 11, 68
84
Algorithms 2018, 11, 68
According to the selection of a number of machines per stage, the set of machines is chosen.
The machines are numbered from 1 to 6. By considering different numbers of machines per stage (2, 4,
or 6), we conduct 4860 × 3 = 14,580 experiments. In each of the 30 runs of each combination, the best
individual applying desirability function is obtained. Subsequent values of each objective (Cmax and
Eop ) are used to calculate an average of 30, obtaining a single value for each objective.
Factors Levels
Population 20, 30, 50
Crossover operators OX, PMX
Crossover probability 0.5, 0.7, 0.9
Mutation operators Displacement, Exchange, Insertion
Mutation probability 0.05, 0.1, 0.2
Selection Binary tournament
Stop criterion 50 iterations
The performance of each algorithm is calculated as the relative increment of the best solution
(RIBS). The RIBS is calculated with the following formula:
Heusol − Bestsol
RIBS = × 100 (6)
Bestsol
where Heusol is the value of the objective function obtained by the algorithm, and Bestsol is the best
value obtained during the execution of all possible combinations of parameters.
All experiments were performed on a PC with Intel Core i3 CPU and 4 GB RAM. The programming
language used to encode the algorithm is R. It provides advantages, including the scalability and
libraries [38]. The calibration of the algorithm lasted approximately 15 days and 9 h.
ei = yi − yl , i = 1, 2, 3, . . . , n (7)
where yi is the RIBS for the run i and yi is the average of the experiment. Figure 3 shows the graph of
the normal probability of residuals for 6 machines per stage. As can be seen (Figure 13), the graph
complies with the assumption of normality. The same results are obtained for 2 and 4 machines
per stage.
Figure 13. Graph of the normal probability of waste for six machines per stage.
85
Algorithms 2018, 11, 68
Table 10. Relative increment of the best solution (RIBS) analysis of variance for two machines per stage.
In the case of four machines per stage, the most important factors are the mutation operator
and crossover probability (Table 11). For six machines per stage, the most important factors are the
mutation operator and mutation probability (Table 12).
Table 11. RIBS analysis of variance for four machines per stage.
Table 12. RIBS analysis of variance for six machines per stage.
Figures 14–17 show means and 95% Least Significant Difference (LSD) confidence intervals.
Figure 14 shows the results obtained for mutation operators for two, four, and six machines per stage.
We can see that operator Displacement is the best mutation among the three tested operators. Figure 15
shows the results for the crossover operators, where we observe that the PMX operator is the best.
The results for four and six stages are similar.
86
Algorithms 2018, 11, 68
Figure 16 shows plots for the crossover probability. It can be seen that the best crossover probability
occurring is 0.9. Figure 17 presents plots for the mutation probability, where the probability of 0.2 is
statistically more significant.
Figure 14. Means and 95% LSD confidence intervals of mutation operators.
62
% Increment over the best solution
59
56
53
50
0.5 0.7 OX
0.9 1.1 1.3 1.5 PMX1.7 1.9 2.1
Crossover operators
Figure 15. Means and 95% LSD confidence intervals of crossover operators—two machines per stage.
68
% Increment over the best solution
65
62
59
56
0.4 0.5
0.5 0.6 0.7
0.7 0.8 0.9
0.9 1
Crossover probability
Figure 16. Means and 95% LSD confidence intervals of crossover probability—four machines per stage.
87
Algorithms 2018, 11, 68
71
65
62
59
56
53
0.5 0.05
1 1.5 0.12 2.5 0.23 3.5
Mutation probability
Figure 17. Means and 95% LSD confidence intervals of mutation probability—six machines per stage.
97.6
97.4
Cmax (h)
97.2
97
96.8
6,960 7,010 7,060 7,110
Eop (kW)
45.08
44.88
Cmax (h)
44.68
44.48
44.28
12,350 12,450 12,550 12,650
Eop (kW)
88
Algorithms 2018, 11, 68
26.58
26.38
Cmax (h)
26.18
25.98
16,900 17,100 17,300 17,500 17,700
ܧop (kW)
Tables 13–15 show the ordering of the front points regarding a combination of Eop , Cmax ,
and Desirability Index (DI) for each Pareto front. We see, for example, that the parameter combination
156 corresponds to a higher DI, followed by 129, etc.
Table 13. Optimum parameter combination selection for bi-objective genetic algorithm (GA) for two
machines per stage.
Table 14. Optimum parameter combination selection for bi-objective GA for four machines per stage.
Table 15. Optimum parameter combination selection for bi-objective GA for six machines per stage.
Table 16 shows the parameters of these combinations. The crossover PMX has higher values of
DI. The mutation operator Displacement is used in each of the top three combinations. The crossover
probability is maintained at 0.9 in the two most significant combinations. The mutation probability
remains at the highest with 0.2 in all three, as does the population with 50 individuals.
The most influential parameters correspond to the combination 156, which has greater DI in three
cases (see Tables 13–15).
Our analysis shows that crossover PMX and mutation operator Displacement are the best among
those tested. The best probability of crossover is 0.9 and that of mutation is 0.2. The population of 50
individuals is statistically more significant.
89
Algorithms 2018, 11, 68
7. Experimental Analysis
97.45
97.25
( ݔܽ݉ܥh)
97.05
96.85
96.65
96.45
6,820 6,900 6,980 7,060 7,140
ܧop (kW)
44.72
44.52
( ݔܽ݉ܥh)
44.32
44.12
43.92
12,230 12,310 12,390 12,470 12,550
ܧop (kW)
90
Algorithms 2018, 11, 68
26.6
26.4
26.2
( ݔܽ݉ܥh)
26
25.8
25.6
16,890 16,970 17,050 17,130 17,210
ܧop (kW)
Figure 21 shows the solution space (two objectives) for two machines per stage. This two-dimensional
solution space represents a feasible set of solutions that satisfy the problem constraints. The Pareto
front covers a wide range of Eop from 6856 to 7178 kW, while Cmax is in the range of 96.64 to 97.48 h.
Figure 22 shows the solution space for four machines per stage. The Pareto front covers Eop from
12,242 to 12,559 kW, while Cmax is in the range of 43.98 to 44.8 h. Finally, Figure 23 shows the solution
space for 6 machines per stage. Eop ranges from 16,899 to 17,221 kW, while Cmax is in the range of 25.66
to 26.66 h.
Although the Pareto fronts are of good quality, it is observed that many of the generated solutions
are quite far from it. Therefore, a single execution of the algorithm can produce significantly different
results. The selection of the solutions included in the Pareto front depends on the preference of the
decision maker.
91
Algorithms 2018, 11, 68
Table 17. RIBS of the solution of the Branch and Bound (B&B) algorithm concerning the Pareto
front solutions.
30 × 2 30 × 4 30 × 6
Eop Cmax Eop Cmax Eop Cmax
2.94 0.12 1.72 0.46 0.50 1.8
1.55 0.17 0.87 0.55 1.02 0.35
0.77 0.33 0.41 0.96 0.42 3.44
1.37 0.23 0.33 1.55 0.46 2.27
1.24 0.30 0.58 0.89 0.62 0.47
0.58 0.45 0.77 0.75 0.60 1.1
0.45 0.59 0.35 1.23 0.55 1.45
0.42 0.73 0.29 1.92 0.43 2.78
0.37 0.86 2.27 0.37
160
120
( ݔܽ݉ܥh)
96.52 93
80 62
43.82
40 25.57
0
2 4 6
Machines per stage
92
Algorithms 2018, 11, 68
Algorithm Industry
50,000
39,153
40,000
30,000
ܧop (kW)
26,102
20,000 16,829
13,051 12,206
10,000 6,831
0
2 4 6
Machines per stage
Table 20. The industry and bi-objective GA degradation over B&B algorithm (%).
Industry Bi-Objective GA
Machines per Stage
% Eop % Cmax % Eop % Cmax
2 47.65 48.11 1.53 0.17
4 53.24 52.88 0.87 0.54
6 57.02 58.75 0.62 0.47
Figure 24 shows Cmax considering working hours. We see that the results of the algorithm are
significantly improved compared with industry. For two machines per stage, the difference is almost a
halving of Cmax from 186 to 96.52 h. In the case of four machines, it remains below half (93 and 43.82 h).
In the case of six machines, the results are better by almost three times with regard to Cmax (62 h versus
25.57 h).
Figure 25 shows Eop according to the processing time of machines (Table 3). We see that the B&B
algorithm significantly improves upon the results obtained in industry. For two machines per stage,
the Eop objective is reduced to almost half, and for four and six machines, the Eop objective of our
algorithm is reduced to less than half.
Table 20 shows the percentage of degradation of the results of industry and those selected from
the Pareto front obtained from the bi-objective GA compared with results of the B&B algorithm.
We observe that the degradation of Eop and Cmax observed in industry are closer to or higher
than 50%. Comparing B&B with our bi-objective GA, we observe that our results are less than 1.53%
worse for Eop and 0.54% for Cmax . Due to the fact that the B&B algorithm finds the global optimum,
we demonstrate the quality of our algorithm.
8. Conclusions
Our main contributions are multifold:
(1) We formulated the complex problem of the real-life industry environment of tortilla production
considering two optimization criteria: total completion time and energy consumption;
93
Algorithms 2018, 11, 68
(2) We proposed a bi-objective solution to solve a hybrid flow shop with unrelated machines, setup
time, and work in progress buffers. It is based on the known NSGA-II genetic algorithm;
(3) We calibrated our algorithm using a statistical analysis of multifactorial variance. The ANOVA
technique is used to understand the impact of different factors on the solution quality. A branch
and bound algorithm was used to assert the obtained performance.
(4) We provided a comprehensive experimental analysis of the proposed solution based on data
from a tortilla production company in Mexico.
(5) We demonstrated that our solutions are not more than 3.5 percent off the global optimum for both
criteria. They save more than 48 percent of production time and 47 percent of energy consumption
compared with the actual production plan followed by the company.
Author Contributions: All authors contributed to the analysis of the problem, designing algorithms, performing
the experiments, analysis of data, and writing the paper.
Funding: This work is partially supported by Russian Foundation for Basic Research (RFBR), project
No. 18-07-01224-a.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Linn, R.; Zhang, W. Hybrid flow shop scheduling: A survey. Comput. Ind. Eng. 1999, 37, 57–61. [CrossRef]
2. Quadt, D.; Kuhn, H. A taxonomy of flexible flow line scheduling procedures. Eur. J. Oper. Res. 2007, 178,
686–698. [CrossRef]
3. Yaurima, V.; Burtseva, L.; Tchernykh, A. Hybrid flowshop with unrelated machines, sequence-dependent
setup time, availability constraints and limited buffers. Comput. Ind. Eng. 2009, 56, 1452–1463. [CrossRef]
4. Ruiz, R.; Vázquez-Rodríguez, J.A. The hybrid flow shop scheduling problem. Eur. J. Oper. Res. 2010, 205,
1–18. [CrossRef]
5. Pei-Wei, T.; Jeng-Shyang, P.; Shyi-Ming, C.; Bin-Yih, L. Enhanced parallel cat swarm optimization based on
the Taguchi method. Expert Syst. Appl. 2012, 39, 6309–6319.
6. Javanmardi, S.; Shojafar, M.; Amendola, D.; Cordeschi, N.; Liu, H.; Abraham, A. Hybrid Job Scheduling
Algorithm for Cloud Computing Environment. In Proceedings of the Fifth International Conference on Innovations
in Bio-Inspired Computing and Applications IBICA 2014; Komer, P., Abraham, A., Snasel, V., Eds.; Advances in
Intelligent Systems and Computing Book Series; Springer: Berlin/Heidelberg, Germany, 2014; Volume 303,
pp. 43–52.
7. Ribas, I.; Leisten, R.; Framiñan, J.M. Review and classification of hybrid flow shop scheduling problems
from a production system and a solutions procedure perspective. Comput. Oper. Res. 2010, 37, 1439–1454.
[CrossRef]
8. Luo, H.; Du, B.; Huang, G.; Chen, H.; Li, X. Hybrid flow shop scheduling considering machine electricity
consumption cost. Int. J. Prod. Econ. 2013, 146, 423–439. [CrossRef]
9. Mori, M.; Fujishima, M.; Inamasu, Y.; Oda, Y. A study on energy efficiency improvement for machine tools.
CIRP Ann. Manuf. Technol. 2011, 60, 145–148. [CrossRef]
10. Blum, C.; Chiong, R.; Clerc, M.; De Jong, K.; Michalewicz, Z.; Neri, F.; Weise, T. Evolutionary optimization.
In Variants of Evolutionary Algorithms for Real-World Applications; Chiong, R., Weise, T., Michalewicz, Z., Eds.;
Springer: Berlin/Heidelberg, Germany, 2012; pp. 1–29.
11. Liu, Y.; Dong, H.; Lohse, N.; Petrovic, S. Reducing environmental impact of production during a rolling
blackout policy—A multi-objective schedule optimisation approach. J. Clean. Prod. 2015, 102, 418–427.
[CrossRef]
12. Nilakantan, J.; Huang, G.; Ponnambalam, S. An investigation on minimizing cycle time and total energy
consumption in robotic assembly line systems. J. Clean. Prod. 2015, 90, 311–325. [CrossRef]
13. Wang, S.; Lu, X.; Li, X.; Li, W. A systematic approach of process planning and scheduling optimization for
sustainable machining. J. Clean. Prod. 2015, 87, 914–929. [CrossRef]
14. Liu, C.; Huang, D. Reduction of power consumption and carbon footprints by applying multi-objective
optimisation via genetic algorithms. Int. J. Prod. Res. 2014, 52, 337–352. [CrossRef]
94
Algorithms 2018, 11, 68
15. May, G.; Stahl, B.; Taisch, M.; Prabhu, V. Multi-objective genetic algorithm for energy-efficient job shop
scheduling. Int. J. Prod. Res. 2015, 53, 7071–7089. [CrossRef]
16. Zhang, R.; Chiong, R. Solving the energy-efficient job shop scheduling problem: A multi-objective genetic
algorithm with enhanced local search for minimizing the total weighted tardiness and total energy
consumption. J. Clean. Prod. 2016, 112, 3361–3375. [CrossRef]
17. Mouzon, G.; Yildirim, M.B.; Twomey, J. Operational methods for minimization of energy consumption of
manufacturing equipment. Int. J. Prod. Res. 2007, 45, 4247–4271. [CrossRef]
18. Dai, M.; Tang, D.; Giret, A.; Salido, M.A.; Li, W.D. Energy-efficient scheduling for a flexible flow shop using
an improved genetic-simulated annealing algorithm. Robot. Comput. Integr. Manuf. 2013, 29, 418–429.
[CrossRef]
19. Mansouri, S.A.; Aktas, E.; Besikci, U. Green scheduling of a two-machine flowshop: Trade-off between
makespan and energy consumption. Eur. J. Oper. Res. 2016, 248, 772–788. [CrossRef]
20. Hecker, F.T.; Hussein, W.B.; Paquet-Durand, O.; Hussein, M.A.; Becker, T. A case study on using evolutionary
algorithms to optimize bakery production planning. Expert Syst. Appl. 2013, 40, 6837–6847. [CrossRef]
21. Hecker, F.T.; Stanke, M.; Becker, T.; Hitzmann, B. Application of a modified GA, ACO and a random search
procedure to solve the production scheduling of a case study bakery. Expert Syst. Appl. 2014, 41, 5882–5891.
[CrossRef]
22. Fonseca, C.M.; Fleming, P.J. An overview of evolutionary algorithms in multiobjective optimization.
Evol. Comput. 1995, 3, 1–16. [CrossRef]
23. Hosseinabadi, A.A.R.; Siar, H.; Shamshirband, S.; Shojafar, M.; Nasir, M.H.N.M. Using the gravitational
emulation local search algorithm to solve the multi-objective flexible dynamic job shop scheduling problem
in Small and Medium Enterprises. Ann. Oper. Res. 2015, 229, 451–474. [CrossRef]
24. Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II.
IEEE Trans. Evol. Comput. 2002, 6, 182–197. [CrossRef]
25. Jaimes, A.L.; Coello, C.A.C. Interactive Approaches Applied to Multiobjective Evolutionary Algorithms.
In Multicriteria Decision Aid and Artificial Intelligence; Doumpos, M., Grigoroudis, E., Eds.; John Wiley & Sons,
Ltd.: Chichester, UK, 2013. [CrossRef]
26. Lu, L.; Anderson-Cook, C.; Lin, D. Optimal designed experiments using a pareto front search for focused
preference of multiple objectives. Comput. Stat. Data Anal. 2014, 71, 1178–1192. [CrossRef]
27. Wagner, T.; Trautmann, H. Integration of preferences in hypervolume-based multiobjective evolutionary
algorithms by means of desirability functions. IEEE Trans. Evol. Comput. 2010, 14, 688–701. [CrossRef]
28. Baker, K.R. Introduction to Sequencing and Scheduling; John Wiley & Sons, Ltd.: New York, NY, USA, 1974.
29. Pinedo, M. Scheduling: Theory, Algorithms, and Systems; Prentice Hall: Upper Saddle River, NJ, USA, 2002;
586p.
30. Abyaneh, S.H.; Zandieh, M. Bi-objective hybrid flow shop scheduling with sequence-dependent setup times
and limited buffers. Int. J. Adv. Manuf. Technol. 2012, 58, 309–325. [CrossRef]
31. Graham, R.L.; Lawler, E.L.; Lenstra, J.K.; Kan, A.H.G.R. Optimization and approximation in deterministic
sequencing and scheduling: A survey. Ann. Discret. Math. 1979, 5, 287–326. [CrossRef]
32. Larrañaga, P.; Kuijpers, C.M.H.; Murga, R.H.; Inza, I.; Dizdarevic, S. Genetic algorithms for the travelling
salesman problem: A review of representations and operators. Artif. Intell. Rev. 1999, 13, 129–170. [CrossRef]
33. Tan, K.C.; Lee, L.H.; Zhu, Q.L.; Ou, K. Heuristic methods for vehicle routing problem with time windows.
Artif. Intell. Eng. 2001, 15, 281–295. [CrossRef]
34. Gog, A.; Chira, C. Comparative Analysis of Recombination Operators in Genetic Algorithms for the Travelling
Salesman Problem; Springer: Berlin/Heidelberg, Germany, 2011; pp. 10–17.
35. Hwang, H. An improved model for vehicle routing problem with time constraint based on genetic algorithm.
Comput. Ind. Eng. 2002, 42, 361–369. [CrossRef]
36. Prins, C. A simple and effective evolutionary algorithm for the vehicle routing problem. Comput. Oper. Res.
2004, 31, 1985–2002. [CrossRef]
37. Starkweather, T.; McDaniel, S.; Mathias, K.E.; Whitley, C. A comparison of genetic sequencing operators.
In Proceedings of the 4th International Conference on Genetic Algorithms; Belew, R.K., Booker, L.B., Eds.;
Morgan Kaufmann: San Francisco, CA, USA, 1991; pp. 69–76.
38. The R Project for Statistical Computing. Available online: https://www.r-project.org/ (accessed on 4 March
2017).
95
Algorithms 2018, 11, 68
39. Montgomery, D.C.; Runger, G.C. Applied Statistics and Probability for Engineers; John Wiley & Sons, Inc.:
New York, NY, USA, 1994.
40. Rahimi-Vahed, A.; Dangchi, M.; Rafiei, H.; Salimi, E. A novel hybrid multi-objective shuffled frog-leaping
algorithm for a bi-criteria permutation flow shop scheduling problem. Int. J. Adv. Manuf. Technol. 2009, 41,
1227–1239. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
96
algorithms
Article
A Heuristic Approach to Solving the Train Traffic
Re-Scheduling Problem in Real Time
Omid Gholami * and Johanna Törnquist Krasemann
Department of Computer Science and Engineering, Blekinge Institute of Technology, Valhallavägen 1,
371 79 Karlskrona, Sweden; johanna.tornquist.krasemann@bth.se
* Correspondence: omid.gholami@bth.se; Tel.: +46-(0)455-385-845
Abstract: Effectiveness in managing disturbances and disruptions in railway traffic networks, when
they inevitably do occur, is a significant challenge, both from a practical and theoretical perspective.
In this paper, we propose a heuristic approach for solving the real-time train traffic re-scheduling
problem. This problem is here interpreted as a blocking job-shop scheduling problem, and a hybrid of
the mixed graph and alternative graph is used for modelling the infrastructure and traffic dynamics
on a mesoscopic level. A heuristic algorithm is developed and applied to resolve the conflicts by
re-timing, re-ordering, and locally re-routing the trains. A part of the Southern Swedish railway
network from Karlskrona centre to Malmö city is considered for an experimental performance
assessment of the approach. The network consists of 290 block sections, and for a one-hour time
horizon with around 80 active trains, the algorithm generates a solution in less than ten seconds.
A benchmark with the corresponding mixed-integer program formulation, solved by commercial
state-of-the-art solver Gurobi, is also conducted to assess the optimality of the generated solutions.
1. Introduction
The definitions of “system performance” and “quality of service” in railway traffic and
transportation vary, but more recent reports, e.g., from the Boston Consultancy Group [1] and the
European Commission [2], indicate that many European countries face challenges with regard to the
reliability and punctuality of rail services. Several different factors contribute to these challenges,
where the frequency and magnitude of disruptions and disturbances is one factor. The effectiveness
in managing the disturbances and disruptions in railway traffic networks when they inevitably do
occur is another aspect to consider. In this paper, we focus on the latter, and more specifically, on the
problem of real-time train traffic re-scheduling, also referred to as train dispatching [3].
In general, the problem of re-scheduling train traffic in real-time is known to be a hard problem
to solve by expert traffic dispatchers in practice, as well as by state-of-the-art scheduling software.
There is thus often a trade-off that needs to be made regarding permitted computation time and
expected solution quality. Heuristic approaches, or approaches based on, e.g., discrete-event simulation,
are often rather quick, since they work in a greedy manner, but sometimes they fail to deliver a
reasonable solution or even end up in deadlock. Exact approaches, based on, e.g., mixed-integer
programming models solved by branch-and-cut algorithms are, on the other hand, less greedy, but can
be very time-consuming, especially if the search space is large, and suffer from significant redundancy.
Another aspect concerns the selected level of granularity of the traffic and infrastructure model, and
this may indirectly affect the computation time and the quality of the solution as well.
Over the latest three decades, a variety of algorithms and methods have been proposed to
solve the train traffic re-scheduling (or, train dispatching) problem, see [3–6] for more recent surveys.
These previously proposed approaches have different strengths and limitations, depending on the
intended application and context in mind. In Section 2, we provide a more comprehensive summary
of state-of-the-art methods addressing this problem.
In this paper, we propose a heuristic approach to solve the real-time train traffic re-scheduling
problem. We view the problem as a blocking/no-wait, parallel-machine job-shop scheduling
problem [3]. A job corresponds to a train’s path along a pre-determined sequence of track sections
(i.e., machines). Each part of that path corresponds to an operation. “blocking/no-wait” constraint
refers to that there is no possibility to finish an operation if the next operation of the same job cannot
get access to the required machine for processing, i.e. there is no storage space between machines
that allows jobs and their current operation to wait for an occupied machine to become available.
That is, when an operation of a job is completed, the next operation of that job must immediately start.
This corresponds to the train needing at all times to have explicit access to a track section (independent
of whether the train is moving or waiting). This problem is here modeled as a graph, where the
graph is a hybrid between a mixed graph and an alternative graph. The benefit of using a hybrid
graph is the possibility of reducing the number of required computations when constructing the graph.
The problem is then solved by a heuristic algorithm. The proposed mixed graph model is discussed in
Section 3, and the proposed heuristic algorithm is presented in detail in Section 4. The performance of
the proposed approach is assessed in an experimental study, where the approach has been applied to
solve a number of disturbance scenarios for a dense part of the Swedish southern railway network
system. The performance assessment also includes a benchmark with the commercial optimization
software Gurobi (v 6.5.1), using the corresponding mixed integer programming (MIP) model (which is
presented in Appendix A). This experimental study is presented in Section 5. Section 6 presents some
conclusions from the experimental study and provides pointers to future work.
2. Related Work
Szpigel [7] was, in 1973, one of the pioneers, adapting the job-shop scheduling (JSS) problem
formulation for the train scheduling problem. This was later developed by other researchers such as
D’Ariano et al. [8], Khosravi et al. [9], Liu and Kozan [10], Mascis and Pacciarelli [11], and Oliveira and
Smith [12].
The JSS paradigm is also explored in the mixed-integer linear programming (MILP) approach
proposed by Törnquist Krasemann and Persson in 2007 [13], where the primary focus was on creating
and evaluating strategies for reducing the search space via model re-formulations. Different problem
formulations were experimentally evaluated in several disturbance scenarios occurring on a
double-tracked network with bi-directional traffic, and solved by commercial software for a time
horizon of 60–90 min. The effectiveness of the approach and the different strategies were shown to be
highly dependent on the size of the problem and type of disturbance.
A heuristic approach based on a MILP formulation was also proposed in [14]. A time horizon
of 30 to 60 min was defined for testing the disturbing scenarios. The commercial solver CPLEX was
used to solve the problem, with an allowed computation time of 180 s. Significant effort was made to
tune the heuristic algorithm, and the results were compared with exact ones. For up to a 40 min time
horizon, the algorithm generated good results.
A MIP model was also applied on a double-track railway corridor, where the focus is on local
re-routing of trains to allow for bi-directional traffic and special constraints to respect the safety
requirements [15].
As already mentioned, the real-time train traffic re-scheduling problem is a hard problem to solve.
This is often an effect of the large solution space, which may be difficult to efficiently navigate in due to
significant redundancy. That is, depending on the problem formulation and selected objective function,
particularly, optimization solvers may find multiple equally good solutions and also have difficulties
finding strong bounds. Finding optimal, or near-optimal, solutions may thus be very time-consuming.
98
Algorithms 2018, 11, 55
In order to reduce the computational time, one can partition the problem into a set of different
sub-problems and solve them in parallel, in a distributed manner with some sort of coordination
mechanism. The partitioning can be done in space (i.e., by dividing the infrastructure, or the associated
constraints, into separate parts), or in time (i.e., rolling-time horizon). Corman et al. [16–18] proposed
and benchmarked a centralized and a distributed re-scheduling approach for the management of a
part of the Dutch railway network based on a branch-and-bound approach. These variations come
from various static and dynamic priorities that are considered for scheduling. They also worked
on a coordination system between multiple dispatching areas. The aim was to achieve a globally
optimal solution by combining local solutions. Some constraints are defined for the border area and a
branch-and-bound algorithm solves the coordinator problem.
Another approach for reducing the complexity of the problem is to use classical decomposition
techniques, which are becoming more frequently used to overcome the complexity (and the
associated long computation times) of the train re-scheduling problem when using exact approaches.
Lamorgese and Mannino proposed an exact method, which decomposes and solves the problem with
a master-slave procedure using column generation [19]. The master is associated with the line traffic
control problem and the slaves with the station traffic control.
Decomposition has also been used to reduce the complexity of the associated MIP model of the train
re-scheduling problem [20]. An iterative Lagrangian relaxation algorithm is used to solve the problem.
Tormo et al. [21] have investigated different disturbance management methods, for the purpose of
supporting railway dispatchers with the assessment of the appropriateness of each method for different
problems in the railway operations. They categorized the disturbance management approaches into
three subcategories. The first one is to minimize the overall delays at the network level. The second
one is the evaluation of disturbances based on the severity, and the third one is to assume the equal
importance of each incident. An incremental heuristic method has been compared with a two-phase
heuristic approach in [22]. At each processing step, partial resource allocation and partial scheduling
are repeated until a complete solution is generated. In a two-phase heuristic approach, the algorithm
creates the routes for all the trains with a complete labelling procedure in phase one, and then solves
the problem with an approximation algorithm in phase two.
The use of task parallelization to reduce computation time was explored by Bettinelli et al. [23],
who proposed a parallel algorithm for the train scheduling problem. The problem is modelled by a
graph. For conflict resolution, some dispatching rules are applied. The algorithm solves the problem in an
iterative, greedy manner, and to decrease the computational time, the tasks are parallelized. The algorithm
enhances the quality of the solutions using neighbourhood search and tabu search. The neighbourhood
search has a significant impact on the quality of generated solutions, according to the authors.
Another interesting study of different approaches to variable neighbourhood search and quality
assessment is available in [24]. Local search techniques are also used in [25], where the problem is
modeled as a hybrid job-shop scheduling problem.
In [10], the train scheduling problem is formulated as a blocking parallel-machine job-shop
scheduling problem and modeled as an alternative graph. A heuristic algorithm, referred to as “the
feasibility satisfaction procedure”, is proposed to resolve the conflicts. The model attempts to consider
train length, upgrading the track sections, increasing the trains’ speed on the identified tardy section
and shortening the local runtime of each train on bottleneck sections. The application was designed
for the train scheduling problem and is not considering re-scheduling. In the first step, the problem is
solved by a shifting bottleneck algorithm without considering the blocking condition. In the next step,
the blocking condition is satisfied by using an alternative graph model.
Khosravi et al. [9] also address the train scheduling and re-scheduling problem using a
job-shop scheduling problem formulation, and the problem is solved using a shifting bottleneck
approach. Decomposition is used to convert the problem into several single-machine problems.
Different variations of the method are considered for solving the single-machine problems.
The algorithm benefits from re-timing and re-ordering trains, but no re-routing of trains is performed.
99
Algorithms 2018, 11, 55
A job-shop scheduling approach is also used to insert additional trains to an existing timetable
without introducing significant consecutive delays to the already-scheduled trains [26]. A branch and
bound algorithm and an iterative re-ordering strategy are proposed to solve this problem in real-time.
Re-timing and re-ordering are conducted in a greedy manner. They have suggested a new bound for
the branch and bound algorithm and an iterative re-ordering algorithm, which helps to find solutions
in an acceptable computational time.
The main challenge in this study is to—inspired by previous promising research work—develop,
apply and evaluate an effective algorithm that, within 10 s, can find sufficiently good solutions to
a number of different types of relevant disturbance scenarios for a medium-sized sub-network and
a time horizon of 60–90 min. A hybrid of the mixed graph and alternative graph (a derivation of
the disjunctive graph, which satisfies the blocking constraint [11]) formulation is used for modelling
the train traffic re-scheduling problem. This graph allows us to model the problem with a minimum
number of arcs, which is expected to improve the efficiency of the algorithm. The model of the
infrastructure and traffic dynamics is on the mesoscopic level, which considers block sections, clear
time and headway distance, based on static parameter values. A heuristic algorithm is developed for
conflict resolution. This algorithm is an extension of the algorithm developed by Gholami and Sotskov
for hybrid job-shop scheduling problems [27]. The extended algorithm provides an effective strategy
for visiting the conflicting operations and the algorithm makes use of re-timing, re-ordering, and local
re-routing of trains while minimizing train delays.
100
Algorithms 2018, 11, 55
Table 1. The notations used for sets, indices, parameters, and variables.
To solve the job-shop scheduling problem modelled by a graph, for every two conflicting
operations the algorithm is responsible for determining the best execution order to reduce the objective
function value. A potential conflict occurs when for two events o j,i , and o j,i belonging to jobs j and j
respectively, the following criteria become true:
The algorithm is in charge of replacing the set of edges D with a subset of arcs D , which
defines the order to be served by a resource. As a result, the set of edges D will be substituted by a
selected subset of directed arcs D , and the mixed graph G = (O, C, D ) will be transformed into a
digraph G = (O, C ∪ D , ∅).
In this paper, a multi-track railway traffic network will be considered as a job-shop scheduling
problem with parallel machines (hybrid job-shop) at each stage.
101
Algorithms 2018, 11, 55
a graph G, the algorithm has to visit all conflict pairs, and by replacing the edges with directed arcs,
clarify the priorities for using the resources (i.e., the sections and associated tracks). In this research,
the objective is to minimize the sum of the total final delay that each train experiences at its final
destination (i.e., TFDj = Max 0, xend j,last − e j,last , j ∈ J ). We also measure the corresponding when
initial
the
delay threshold is three minutes, i.e., only delays larger than three minutes are considered, i.e.,
∑ TFD+ j
3
, i f TFD j ≥ 3 min . The reason why the threshold of three minutes is selected is that this
threshold is used to log train delays in Sweden. Delays smaller or equal to three minutes are not registered
in the system of the responsible authority, Trafikverket (the Swedish National Transport Administration).
Furthermore, delays larger than three minutes may cause train connections to be missed, while below three
minutes the consequences for transfers in the studied regional-national train system are not that likely.
To visit the conflicting operations, we followed the strategy presented by Gholami and Sotskov for
the hybrid job-shop scheduling problem [27]. In this strategy, a list of potential candidate operations
for conflict resolution will be generated. This list is a collection of ongoing operations, or the first
operation of the next trains. After any conflict resolution, the list will be updated, some candidates
will be added and, if it is necessary, some will be deleted. An operation will be added to the list if
the in-degree value of the related vertex becomes zero (the number of arc ends to a vertex is called
the in-degree value of the vertex). The in-degree value decreases when the conflict resolution is done
for a parent vertex. When the list is regenerated, the shortest release time of all vertices in the list
will be calculated or updated again, and the minimum one will be selected for conflict resolution.
A re-ordering may cause a vertex to be deleted from the list. By this approach, all the vertices will be
visited only once, unless a re-ordering happens. This strategy decreases the computational time of the
algorithm. The second benefit of this approach is that adding a new arc (o j,i , o j,i ) does not affect any
previously visited vertices unless a re-ordering occurs. Dynamic update of data is possible due to this
feature. In Algorithm 1, the pseudocode for conflict resolution is presented.
The algorithm starts from a vertex os and finds all the neighbourhood vertices and adds them to
a list of candidate vertices. At each iteration, a vertex with a minimum release time will be selected
from the candidate list for conflict resolution. If there is a conflict between the candidate event and those
events that previously used that track or section (checkList), a local re-routing will be applied. For local
re-routing, a platform or track with minimum availability time will be selected. Meanwhile, if there is
still a conflict, the algorithm tries to use re-timing or re-ordering. For conflict resolution between the
candidate operation o j,i and an operation o j,i from the check list, a new arc will be added to the graph G.
begin
After adding the arc (o j,i , o j,i ), the start time (x j,i ) of operation o j,i will be postponed to the finishing
time (xend j,i ) of operation o j,i on the conflicting track or platform. If the algorithm adds the opposite arc
(o j,i , o j,i ), then operation o j,i have to be served before the operation o j,i , which means that the predefined
order of the trains for using this section is changed. This condition occurs when the algorithm tries
to prevent deadlocks (unfeasible solutions), or the operation o j,i has a high tardiness (a delayed train).
Six dispatching rules are provided for the conflict resolution process. Table 2 is a description of those
dispatching rules.
In the train scheduling problem, a train blocks its current section until obtaining the next section
or block. Therefore, swapping is not possible in the train scheduling problem. Accordingly, the addArc
function has to satisfy the blocking condition in the graph G (the alternative graph approach). To fulfil
the blocking condition, instead of adding an arc from the operation o j,i to the operation o j,i , an arc
from the next operation o j,i+1 with a zero weight will be added to the operation o j,i . This directed arc
means that the operation o j,i cannot proceed with its execution on the machine m until the operation
begin begin
o j,i+1 starts (x j,i ≥ x j,i+1 , meanwhile, the operation o j,i is finished). This condition blocks job j on the
previous machine, even if it is completed. If the operation o j,i is the last operation of job j, then an arc
with a weight d j,i has to be added.
102
Algorithms 2018, 11, 55
Conflict Resolution
Description
Strategy
1. Minimum release time
The train with the earliest initial start time (binitial
j,i ) goes first if no deadlock occurs.
goes first
If there is a conflict between two trains, the
one with the largest
tardiness (delay) goes first.
2. More delay goes first begin
The tardiness is calculated as t j,i = Max 0, x j,i − binitial
j,i .
The train with the smallest buffer time goes first. Buffer time is defined as
a subtraction of
3. Less real buffer time goes begin
initial ending time and real finishing time bu f j,i = einitial
j,i − x j,i + d j,i for two
first
operations to be scheduled on the same, occupied machine.
The train with smallest buffer time goes first. Buffer
time is defined as a subtraction
of
4. Less programmed buffer
initial ending time and programmed ending time bu f j,i = einitial
j,i − binitial
j,i + d j,i for
time goes first
two operations to be scheduled on the same, occupied machine.
The train with smallest total buffer time goes first. Total buffer time is defined as a
5. Less total buffer goes summation of programmed buffer times until the destination point for the trains,
first last
i.e., ∑ bu f j,k .
k =i
The train with smallest running time to get to the destination goes first (i.e., the minimum
6. Less total processing total processing time). The total processing time is defined as a summation of required
time last
time to pass each section, for a train, i.e., ∑ d j,k .
k =i
Figures 1 and 2 illustrate the difference between the mixed graph and alternative graph models
for conflict resolution. There are two conflicting trains in the same path on the sections m1 and m2 .
103
Algorithms 2018, 11, 55
The train j1 is planned on the sections m1 , m2 , and m3 . The route for the train j2 is m1 , m2 , and m4 .
The events o1,1 and o2,1 have a conflict on the machines m1 and events o1,2 and o2,2 on the machine m2 .
To
present a conflict between the two operations in the mixed graph approach only one edge is required
( o j,i , o j ,i ∈ D ) (See Figure 1a). While in the alternative graph model two arcs are needed, denoted
as ( o j,i+1 , o j,i ) and (o j ,i +1 o j,i ) (See Figure 1b).
8: 8:
Figure 1. Presenting a conflict in a graph G : (a) using an edge in the mixed graph model to present
a conflict between the two operations; (b) using two arcs in the alternative graph model to present a
conflict between two operations.
8: 8:
Figure 2. Resolving the conflicts on the machine m1 and m2 in a graph G : (a) conflict resolution
using the mixed graph model; (b) conflict resolution using the alternative graph model to support the
blocking condition.
After conflict resolution in the mixed graph mode (Figure 2a), the operation o2,2 could start its
processing in minute 14 on the machine m2 (immediately after the completion of the operation o1,2 ).
While in the alternative graph case (Figure 2b), the starting time of events o2,2 is postponed to minute
16, which job j1 has started the event o1,3 . The job j1 has waited for 2 min for the machine m3 and is
blocked on the machine m2 .
In this paper, we propose an approach that is a hybrid between the mixed graph and alternative
graph. This hybrid approach makes use of (1) a mixed graph formulation to represent the
non-rescheduled timetable in the initial stage of the solution process, and (2) an alternative graph
approach when the timetable is to be re-scheduled. The reasons for doing so are as follows:
One way to speed up the algorithm is to reduce the number of edges and arcs in the graph G.
This reduction leads to a lower number of neighbourhood vertices needing to be handled, less feasibility
and constraint checking being required, less computational time to update the data at each stage, and a
faster traverse in the graph. As the mixed graph model uses one edge to present a conflict between two
vertices and alternative graph needs two arcs, the non-rescheduled timetable in the initial stage uses
the mixed graph approach (See Figure 1a). However, after the conflict resolution, the algorithm uses
the alternative graph approach (adding an arc from next operation) to satisfy the blocking condition
(See Figure 2b). This means that for the unsolved part, the graph is modelled like a mixed graph, and
for the solved part, it follows the alternative graph modelling approach.
For safety reasons, the trains have to obey a minimum clear time and headway time distance [23].
The clear time (cm ) is the minimum time that a train j must wait before entering a section m, which
the train j just left. This time interval between completion of train j and start time of the train j can
be modelled by changing the weight of the priority arc from zero to cm . The headway time distance
104
Algorithms 2018, 11, 55
(hm ) is the minimum time between two trains j and j running in the same direction and on the same
track of section m. The headway distance is the minimum time interval between the start times, and
end times respectively, of two consecutive trains, j and j , which can be modelled by adding a new
arc with a weight hm from operation o j,i to o j,i . The addArc procedure is responsible for adopting the
clear time and headway distance.
Figure 3, is an illustration of conflict resolution, considering the clear time and headway distance
for the alternative graph model. In Figure 3a, the starting time of operation o2,1 is increased to minute
11, because, the operation o1,1 had 4 min of processing time and 1 min of clear time. In Figure 3b, the
headway distance is h1 = 7, which means that the start time of operation o2,1 must be at least 7 min
after the start time of the operation o1,1 . The starting time of the operation o2,1 is increased to minute 13.
8: 8:
Figure 3. Adding the clear time and headway time distance to the alternative graph: (a) the starting
time of operation o2,1 is increased due to the clear time; (b) the starting time of operation o2,1 is increased
due to the headway distance.
For a decision-making procedure, the algorithm needs some data, such as release time, or buffer time.
After any re-timing, re-ordering or local re-routing, these data change. The experiments demonstrate that
recalculation of these data has a significant effect on the computational time of the algorithm. Our special
visiting approach enables a dynamic update of data for those vertices that will be affected.
After adding a new directed arc from the operation o j,i to the operation o j,i , by considering the
commercial stop time (passenger trains are not allowed to leave a station before the initial completion
time einitial
j,i ) the minimum start time of an operation o j,i on a track m.u will be
⎧
if i − 1 was a commercial stop,
begin
⎪
⎨ Max(b j ,i , x j ,i −1 , max
initial end x j,i + d j,i )
j∈O
m,u
begin
x j,i = (2)
⎪
⎩ Max( x end
, max
begin
x j,i + d j,i ) if i − 1 was not a commercial stop,
j ,i −1 m,u
j ∈O
where Om,u is a set of all operations processed by the same resource u from a set Mm until now.
Additionally, the ending time can be calculated as follows:
⎧
⎨ max einitial begin
if i is a commercial stop.
j ,i , x j ,i + d j ,i
x end
j ,i = (3)
⎩ x begin + d j ,i if i is not a commercial stop.
j ,i
Considering the clear time restriction, the starting time for an operation o j,i will be calculated
as follows:
⎧
⎪
⎨ Max(binitial , x end
,i −1 , max x end + c ) if i − 1 was a commercial stop.
j ,i j j,i m
j∈O
m,u
begin
x j,i = (4)
⎪
⎩ Max( x end if i − 1 was not a commercial stop.
j ,i −1 , max j ∈O
m,u j,i + cm )
x end
105
Algorithms 2018, 11, 55
The proposed starting time with consideration of headway distance will change to:
⎧
⎪
⎨ Max(binitial
begin
if i − 1 was a commercial stop.
j,i + cm , x j,i + hs )
end x end
j,i , x j ,i −1 , j∈
max
m,u
begin
x j,i = O (5)
⎪
⎩ Max( x end
begin
if i − 1 was not a commercial stop.
j ,i −1 , max
j ∈O
m,u j,i + cm , x j,i
x end + hs )
A recursive function is used in the updateData function, which updates the release time for all
operations that are reachable by the operation o j,i until od . The recursive function stops whenever
begin
the x j,i value does not change. By viewing the headway distance in the updateData function
(Equation (5)), it is possible to ignore the extra arc for the headway distance (see Figure 3). Deletion of
this extra arc, which was needed for considering the headway time distance, also helps to reduce the
computational time.
Before adding a new arc, the algorithm applies the solution feasibility function. If, by adding
a new arc, a circuit appears in the graph G, the generated solution is not feasible. A circuit in the
graph is a sign of infeasible resource allocation. A circuit is a chain of two or more operations that are
trying to exchange the machines with the next operations (swapping condition). To avoid a circuit, the
following lemma is used:
Lemma 1. In a directed acyclic graph G, by adding an arc from vertex a to b, a circuit appears if and only if a is
reachable from vertex b in the graph G.
If the reachability test confirms a circuit, the algorithm considers the opposite priority and applies
the arc related to the opposite alternative approach (re-ordering). Mostly, by adding the opposite
alternative arc, no circuit appears, but in rare cases when the algorithm generates a new circuit, the
solution would be rejected.
• Category 1 refers to a train suffering from a temporary delay at one particular section, which
could occur due to, e.g., delayed train staff, or crowding at platforms resulting in increasing dwell
times at stations.
• Category 2 refers to a train having a permanent malfunction, resulting in increased running times
on all line sections it is planned to occupy.
• Category 3 refers to an infrastructure failure causing, e.g., a speed reduction on a particular
section, which results in increased running times for all trains running through that section.
106
Algorithms 2018, 11, 55
Figure 4. Illustration of the studied railway line Karlskrona-Kristianstad-Malmö. Source: Trafikverket.
All disturbance scenarios occur between 16:00 and 18:00, which is during peak hours. The
re-scheduling time horizons are 1 and 1.5 h time windows, respectively, counting from when the
disturbance occurs. The scenarios are described in Table 3 below. The experiments were tested on a
laptop with 64-bit Windows 10, equipped with an Intel i7-CPU, 2.60 GHz, with 8 Gigabytes of RAM.
Table 3. Description of the 30 × 2 scenarios that were used in the experimental study. The first
number in the scenario-ID specifies which disturbance category it is. For category 2, the disturbance
is a percentage increase of the runtime, e.g., 40%. The two rightmost columns specify the size of the
problem expressed in a number of train events that are to be re-scheduled.
107
Algorithms 2018, 11, 55
Computational Time
Scenario TFDj+3 Objective Function (hh:mm:ss)
(hh:mm:ss)
108
Algorithms 2018, 11, 55
Table 5. Cont.
The minimum release time goes first (DR-1) was the best dispatching rule, considering the ∑ TFD +
j
3
109
Algorithms 2018, 11, 55
beginning of its itinerary and thus may cause knock-on delays if it is delayed. The less total processing
time (DR-6) dispatching rule, tries to give priority to trains with less remaining events to leave the
tracks as soon as possible. The experimental results demonstrate that this strategy does not work well
compared to other dispatching rules.
The choice of dispatching rule does not affect the computational time, but the number of
events in the re-scheduling time window and selected sub-network has a significant effect on the
computational time since the size of the graph G increases quadratically. Figure 5 illustrates the
increase of computational time against increase of the time horizon and number of events. Both the
size of graph G and the computational time increase quadratically.
Figure 5. The computational time increases quadratically, based on the number of events.
Acknowledgments: The presented research work was conducted within the research projects FLOAT (FLexibel
Omplanering Av Tåglägen i drift) and BLIXTEN (Beslutstöd för trafikLedare: approxImativa och eXakta
opTimEraNde metoder), funded by the Swedish Transport Administration (Trafikverket) with the KAJT (KApacitet
i JärnvägsTrafiken) research programme. We are thankful for the financial support, data, and significant guidance
provided by Trafikverket.
Author Contributions: Omid has developed the graph model and heuristic algorithms. The algorithmic approach
has been implemented in Java by Omid. Johanna has provided all input data required to build and perform the
experiments, and she is the main developer of the visualization tool used for visual inspection of re-scheduling
solutions. Johanna has also managed the associated research project, handled all contacts with the industry
partner, Trafikverket, and acquired the associated research funding. Omid has generated the disturbance scenarios,
performed the experiments with the algorithmic approach and the associated performance assessment including
110
Algorithms 2018, 11, 55
the analysis of the resulting data and conclusions. Johanna has formulated and implemented the corresponding
MIP formulation in java, which was applied to solve the same disturbance scenarios in order to evaluate the level
of optimality and efficiency of the algorithmic approach. Both Johanna and Omid contributed significantly to
writing the manuscript. Both authors have read and approved the final manuscript.
Conflicts of Interest: The authors declare no conflict of interest.
Appendix A
The MIP formulation is based on the model developed by Törnquist and Persson [13]. The model
was implemented in Java and solved by Gurobi 6.5.1. Let J be the set of trains, M the set of segments,
defining the rail infrastructure, and O the set of events. An event can be seen as a time slot request by
a train for a specific segment. The index j is associated with a specific train service, and index m with a
specific infrastructure segment, and i with the event. An event is connected both to an infrastructure
segment and a train. The sets O j ⊆ O are ordered sets of events for each train j, while Om ⊆ O are
ordered sets of events for each segment m.
Each event has a point of origin, m j,i , which is used for determining a change in the direction
of traffic on a specific track. Further, for each event, there is a scheduled start time and an end time,
denoted by binital
j,i and einital
j,i , which are given by the initial timetable. The disturbance is modelled using
parameters bstatic
j,i and estatic
j,i , denoting the pre-assigned start and end time of the already active event.
There are two types of segments, modeling the infrastructure between stations and within stations.
Each segment m has a number of parallel tracks, indicated by the sets Mm and each track requires a
separation in time between its events (one train leaving the track and the next enters the same track).
Meeting
The minimum time separation between trains on a segment is denoted by Δm for trains that travel
Following
in opposite directions, and Δm for trains that follow each other; the separation is only required if
the trains use the same track on that specific segment.
The parameter ps j,i indicates if event i includes a planned stop at the associated segment (i.e., it
is then normally a station). The parameter d j,i represents the minimum running time, pre-computed
from the initial schedule, if event i occurs on a line segment between stations. For station segments, d j,i
corresponds to the minimum dwell time of commercial stops, where transfers may be scheduled.
The variables in the model are either binary or continuous. The continuous variables describe the
timing of the events and the delay, and the binary variables describe the discrete decisions to take on
the model concerning the selection of a track on segments with multiple tracks or platforms, and the
order of trains that want to occupy the same track and/or platform. The continuous, non-negative,
begin
variables are x j,i , x endj,i , and z j,i (delay of the event i, i ∈ O, exceeding μ time units, which is set to
three minutes here).
begin
The variables x end
j,i and x j,i are modelling the resource allocation, where a resource is a specific
begin
track segment. The arrival time at a specific segment is given by x j,i and departure from a specific
segment is given by x end
j,i for a specific train. The binary variables are defined as:
1, if event i uses track u, i ∈ Om , u ∈ Mm , m ∈ M, j ∈ J
q j,i,u =
0, otherwise
1, if event i occurs before event i , i ∈ Om , m ∈ M : i < i , j and j ∈ J
γ j,i,j,i =
0, otherwise
1, if event i is rescheduled to occur after event i , i ∈ Om , m ∈ M : i < i , j and j ∈ J
λ j,i,j,i =
0, otherwise
111
Algorithms 2018, 11, 55
With the objective to minimize the sum of all delays for all trains reaching their final destination
with a delay larger than three minutes, the objective function can be formulated as follows, where the
parameter n j for each train j ∈ J holds the final event of train j :
min f :=
z
∑ zn j (A1)
j∈ J
We also have the following three blocks of constraints. The first block concerns the timing of
the events belonging to each train j and its sequence of events, defined by the event list O j ⊆ O.
These constraints define the relation between the initial schedule and revised schedule, as an effect
of the disturbance. Equation (A7) is used to compute the delay of each event exceeding μ time units,
where μ is set to three minutes in this context.
begin
j,i = x j,i +1 , i ∈ O j , j ∈ J : i = n j , j ∈ J
x end (A2)
begin
x j,i = bstatic
j,i , i ∈ O : bstatic
j,i > 0, j ∈ J (A3)
j,i = e j,i
x end , i ∈ O : estatic > 0, j ∈ J
static
j,i (A4)
begin
j,i ≥ x j,i
x end + d j,i , i ∈ O, j ∈ J (A5)
begin
x j,i ≥ binitial
j,i , i ∈ O : ps j,i = 1, j ∈ J (A6)
j,i − e j,i
x end − u ≤ z j,i , i ∈ O, j ∈ J
initial
(A7)
In the following part, N is a large constant. The second block of constraints concerns the
permitted interaction between trains, given the capacity limitations of the infrastructure (including
safety restrictions):
∑ q j,i,u = 1, i ∈ Om , m ∈ M, j ∈ J (A8)
u ∈ Mm
References
1. Boston Consultancy Group. The 2017 European Railway Performance Index; Boston Consultancy Group: Boston,
MA, USA, 18 April 2017.
2. European Commission Directorate General for Mobility and Transport. Study on the Prices and Quality of Rail
Passenger Services; Report Reference: MOVE/B2/2015-126; European Commission Directorate General for
Mobility and Transport: Brussel, Belgium, April 2016.
112
Algorithms 2018, 11, 55
3. Lamorgese, L.; Mannino, C.; Pacciarelli, D.; Törnquist Krasemann, J. Train Dispatching. In Handbook
of Optimization in the Railway Industry, International Series in Operations Research & Management Science;
Borndörfer, R., Klug, T., Lamorgese, L., Mannino, C., Reuther, M., Schlechte, T., Eds.; Springer: Cham,
Switzerland, 2018; Volume 268. [CrossRef]
4. Cacchiani, V.; Huisman, D.; Kidd, M.; Kroon, L.; Toth, P.; Veelenturf, L.; Wagenaar, J. An overview of
recovery models and algorithms for real-time railway rescheduling. Transp. Res. B Methodol. 2010, 63, 15–37.
[CrossRef]
5. Fang, W.; Yang, S.; Yao, X. A Survey on Problem Models and Solution Approaches to Rescheduling in
Railway Networks. IEEE Trans. Intell. Trans. Syst. 2015, 16, 2997–3016. [CrossRef]
6. Josyula, S.; Törnquist Krasemann, J. Passenger-oriented Railway Traffic Re-scheduling: A Review of
Alternative Strategies utilizing Passenger Flow Data. In Proceedings of the 7th International Conference on
Railway Operations Modelling and Analysis, Lille, France, 4–7 April 2017.
7. Szpigel, B. Optimal train scheduling on a single track railway. Oper. Res. 1973, 72, 343–352.
8. D’Ariano, A.; Pacciarelli, D.; Pranzo, M. A branch and bound algorithm for scheduling trains in a railway
network. Eur. J. Oper. Res. 2017, 183, 643–657. [CrossRef]
9. Khosravi, B.; Bennell, J.A.; Potts, C.N. Train Scheduling and Rescheduling in the UK with a Modified Shifting
Bottleneck Procedure. In Proceedings of the 12th Workshop on Algorithmic Approaches for Transportation
Modelling, Optimization, and Systems 2012, Ljubljana, Slovenia, 13 September 2012; pp. 120–131.
10. Liu, S.; Kozan, E. Scheduling trains as a blocking parallel-machine job shop scheduling problem.
Comput. Oper. Res. 2009, 36, 2840–2852. [CrossRef]
11. Mascis, A.; Pacciarelli, D. Job-shop scheduling with blocking and no-wait constraints. Eur. J. Oper. Res. 2002,
143, 498–517. [CrossRef]
12. Oliveira, E.; Smith, B.M. A Job-Shop Scheduling Model for the Single-Track Railway Scheduling Problem; Research
Report Series 21; School of Computing, University of Leeds: Leeds, UK, 2000.
13. Törnquist, J.; Persson, J.A. N-tracked railway traffic re-scheduling during disturbances. Transp. Res. Part
B Methodol. 2007, 41, 342–362. [CrossRef]
14. Pellegrini, P.; Douchet, G.; Marliere, G.; Rodriguez, J. Real-time train routing and scheduling through mixed
integer linear programming: Heuristic approach. In Proceedings of the 2013 International Conference on
Industrial Engineering and Systems Management (IESM), Rabat, Morocco, 28–30 October 2013.
15. Xu, Y.; Jia, B.; Ghiasib, A.; Li, X. Train routing and timetabling problem for heterogeneous train traffic with
switchable scheduling rules. Transp. Res. Part C Emerg. Technol. 2017, 84, 196–218. [CrossRef]
16. Corman, F.; D’Ariano, A.; Pacciarelli, D.; Pranzo, M. Centralized versus distributed systems to reschedule
trains in two dispatching areas. Public Trans. Plan. Oper. 2010, 2, 219–247. [CrossRef]
17. Corman, F.; D’Ariano, A.; Pacciarelli, D.; Pranzo, M. Optimal inter-area coordination of train rescheduling
decisions. Trans. Res. Part E 2012, 48, 71–88.
18. Corman, F.; Pacciarelli, D.; D’Ariano, A.; Samá, M. Rescheduling Railway Traffic Taking into Account
Minimization of Passengers’ Discomfort. In Proceedings of the International Conference on Computational
Logistics, ICCL 2015, Delft, The Netherlands, 23–25 September 2015; pp. 602–616.
19. Lamorgese, L.; Mannino, C. An Exact Decomposition Approach for the Real-Time Train Dispatching Problem.
Oper. Res. 2015, 63, 48–64. [CrossRef]
20. Meng, L.; Zhou, X. Simultaneous train rerouting and rescheduling on an N-track network: A model
reformulation with network-based cumulative flow variables. Trans. Res. Part B Methodol. 2014, 67, 208–234.
[CrossRef]
21. Tormo, J.; Panou, K.; Tzierpoulos, P. Evaluation and Comparative Analysis of Railway Perturbation
Management Methods. In Proceedings of the Conférence Mondiale sur la Recherche Dans les Transports
(13th WCTR), Rio de Janeiro, Brazil, 15–18 July 2013.
22. Rodriguez, J. An incremental decision algorithm for railway traffic optimisation in a complex station.
Eleventh. In Proceedings of the International Conference on Computer System Design and Operation in the
Railway and Other Transit Systems (COMPRAIL08), Toledo, Spain, 15–17 September 2008; pp. 495–504.
23. Bettinelli, A.; Santini, A.; Vigo, D. A real-time conflict solution algorithm for the train rescheduling problem.
Trans. Res. Part B Methodol. 2017, 106, 237–265. [CrossRef]
24. Samà, M.; D’Ariano, A.; Corman, F.; Pacciarelli, D. A variable neighbourhood search for fast train scheduling
and routing during disturbed railway traffic situations. Comput. Oper. Res. 2017, 78, 480–499. [CrossRef]
113
Algorithms 2018, 11, 55
25. Burdett, R.L.; Kozan, E. A sequencing approach for creating new train timetables. OR Spectr. 2010, 32, 163–193.
[CrossRef]
26. Tan, Y.; Jiang, Z. A Branch and Bound Algorithm and Iterative Reordering Strategies for Inserting Additional
Trains in Real Time: A Case Study in Germany. Math. Probl. Eng. 2015, 2015, 289072. [CrossRef]
27. Gholami, O.; Sotskov, Y.N. A fast heuristic algorithm for solving parallel-machine job-shop scheduling
problems. Int. J. Adv. Manuf. Technol. 2014, 70, 531–546. [CrossRef]
28. Sotskov, Y.; Gholami, O. Mixed graph model and algorithms for parallel-machine job-shop scheduling
problems. Int. J. Prod. Res. 2017, 55, 1549–1564. [CrossRef]
29. Krasemann, J.T. Design of an effective algorithm for fast response to the re-scheduling of railway traffic
during disturbances. Transp. Res. Part C Emerg. Technol. 2012, 20, 62–78. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
114
Article
Evaluating Typical Algorithms of Combinatorial
Optimization to Solve Continuous-Time Based
Scheduling Problem
Alexander A. Lazarev *, Ivan Nekrasov *,† and Nikolay Pravdivets †
Institute of Control Sciences, 65 Profsoyuznaya Street, 117997 Moscow, Russia; pravdivets@ya.ru
* Correspondence: jobmath@mail.ru (A.A.L.); ivannekr@mail.ru (I.N.); Tel.: +7-495-334-87-51 (A.A.L.)
† These authors contributed equally to this work.
Keywords: RCPSP; combinatorial optimization; scheduling; linear programming; MES; Job Shop
1. Introduction
The Resource-Constrained Project Scheduling Problem (RCPSP) has many practical applications.
One of the most obvious and direct applications of RCPSP is planning the fulfilment of planned orders
at the manufacturing enterprise [1] that is also sometimes named Job Shop. The Job Shop scheduling
process traditionally resides inside the Manufacturing Execution Systems scope [2] and belongs to
principle basic management tasks of any industrial enterprise. Historically the Job Shop scheduling
problem has two formal mathematical approaches [3]: continuous and discrete time problem settings.
In this paper, we research the continuous-time problem setting, analyze its bottlenecks, and evaluate
effectiveness of several typical algorithms to find an optimal solution.
The continuous-time Job Shop scheduling approach has been extensively researched and applied
in different industrial spheres throughout the past 50 years. One of the most popular classical problem
settings was formulated in [4] by Manne as a disjunctive model. This problem setting forms a basic
system of restrictions evaluated by different computational algorithms depending on the particular
practical features of the model used. A wide overview of different computational approaches to the
scheduling problem is conducted in [5,6]. The article [5] considers 69 papers dating back to the XX
century, revealing the following main trends in Job Shop scheduling:
- Enumerating techniques
- Different kinds of relaxation
- Artificial intelligence techniques (neural networks, genetic algorithms, agents, etc.)
Artificial intelligence (AI) techniques have become mainstream nowadays. The paper [6] gives a
detailed list of AI techniques and methods used for scheduling.
From the conceptual point of view, this paper deals with a mixed integer non-linear (MINLP)
scheduling problem [5] that is relaxed to a combinatorial set of linear programming problems due to the
linear “makespan” objective function. As a basic approach we take the disjunctive model [4]. A similar
approach was demonstrated in [7] where the authors deployed the concept of parallel dedicated
machines scheduling subject to precedence constraints and implemented a heuristic algorithm to
generate a solution.
• The enterprise functioning process utilizes resources of different types (for instance machines,
personnel, riggings, etc.). The set of the resources is indicated by a variable R = { Rr },
r = 1, . . . , | R|.
• The manufacturing procedure of the enterprise is formalized as a set of operations J tied with
each other via precedence relations. Precedence relations are brought to a matrix G =< gij >,
i = 1, . . . , | J |, j = 1, . . . , | J |. Each element of the matrix gij = 1 iff the operation j follows the
operation i and zero otherwise gij = 0.
• Each operation i is described by duration τi . Elements τi , i = 1, . . . , | J |, form a vector of operations’
durations −→τ.
• Each operation i has a list of resources it uses while running. Necessity for resources for
each operation is represented by the matrix Op =< opir >, i = 1, . . . , | J |, r = 1, . . . , | R|.
Each element of the matrix opir = 1 iff the operation i of the manufacturing process allocates the
resource r. All other cases bring the element to zero value opir = 0.
• The input orders of the enterprise are considered as manufacturing tasks for the certain amount
of end product and are organized into a set F. Each order is characterized by the end product
amount v f and the deadline d f , f = 1, . . . , | F |. Elements inside F are sorted in the deadline
ascending order.
Using the definitions introduced above, we can now formalize the scheduling process as residing
all | J | operations of all | F | orders on the set of resources R. Mathematically this means defining the
start time of each operation i = 1, . . . , | J | of each order f = 1, . . . , | F |.
G−
→ xf + −
x f ≥ (−
→ →
τ ), f = 1, . . . , | F |.
x| J | f + τ| J | ≤ d f , f = 1, . . . , | F |.
116
Algorithms 2018, 11, 50
The constraints above do not take into consideration the competition of operations that try to
allocate the same resource. We can distinguish two types of competition here: competition of operations
within one order and competition of operations of different orders. The competition of operations on
parallel branches of one order is considered separately by modelling the scheduling problem for a
single order (this is out of the scope of this paper). The main scope of this research is to address the
competition of operations from different orders. Assuming we have the rule (constraint) that considers
the competition of operations within one and the same order let us formalize the competition between
the operations of different orders. Consider we have a resource, which is being allocated by K different
operations of | F | different orders.
For each resource r = 1, . . . , | R| let us distinguish only those operations that allocate it during
their run. The set of such operations can be found from the corresponding column of the resource
allocation matrix Op =< opir >, i = 1, . . . , | J |, r = 1, . . . , | R|.
xr = x |colr (Op) = 1.
The example for two competing operations of two different orders is shown in Figure 1.
ck · xi,ϕ + (1 − ck ) · x jψ ≥ ck · ( x jψ + τj ) + (1 − ck ) · ( xiϕ + τi ).
From the above precedence constraints, we can form the following set of constraints for the
optimization problem:
x| J | f + τ| J | ≤ d f , f = 1, . . . , | F |, (2)
xi f > 0, f = 1, . . . , | F |,
ck ∈ {0, 1}, k = 1, . . . , K.
117
Algorithms 2018, 11, 50
where the variables xi f > 0, f = 1, . . . , | F |, i = 1, . . . , | J | are continuous and represent the start times
of each operation of each order; and variables ck ∈ {0, 1}, k = 1, . . . , K are Boolean and represent the
position of each competing operation among other competitors for each resource.
| F|
∑ x| J | f → min.
f =1
118
Algorithms 2018, 11, 50
The enumeration is organized by shifting the operations of the last order to the left in such a way
that they trade their places with previous competing operations of preceding orders (see Figure 3).
As soon as the operation reaches its leftmost feasible position and the current combination corresponds
to a linear programming problem with no solution we roll back to the previous combination,
stop shifting operations of the last order and switch to the operations of the previous order. After the
enumeration for orders on the current resource is over, we proceed the same iterations with the
next resource. The formal presentation of the designed branch-and-bound algorithm is described by
Procedure 1.
Procedure 1: branch-and-bound
1. Find the initial solution of the LP problem (1)–(3) for the combination ck ∈ {0, 1}, k = 1, . . . , K
that corresponds to the case when all orders are in a row (first operation of the following order starts
only after the last operation of preceding order is completed).
2. Remember the solution and keep the value of objective function Φ as temporarily best result
Opt = Φ.
3. Select the last order f = | F |.
4. Select the resource r = | R| that is used by last operation i = | J | of the precedence graph G of
the manufacturing process.
5. The branch < i, r, f > is now formulated.
6. Condition: Does the selected resource r have more than one operation in the manufacturing
procedure that allocates it?
6.1. If yes then
Begin evaluating branch < i, r, f >
Shift the operation i one competing position to the left
Find the solution of the LP problem (1)–(3) for current combination and calculate the
objective function Φ
Condition: is the solution feasible?
If feasible then
Condition: Is the objective function value Φ better than temporarily best result Opt?
If yes then
save current solution as the new best result Opt = Φ.
End of condition
Switch to the preceding operation i = i − 1 of currently selected order f for the
currently selected resource r.
Go to the p. 5 and start evaluating the new branch
If not feasible then
Stop evaluating branch < i, r, f >
Switch to the preceding resource r = r − 1
Go to the p. 5 and start evaluating the new branch
End of condition: is the solution feasible?
End of condition: p. 6
7. Switch to the preceding order f = f − 1
8. Repeat pp. 4–7 until no more branches < i, r, f > are available
9. Repeat pp. 3–8 until no more feasible shifts are possible for all operations in all branches.
Iterating combinations for one order on one resource can be considered as evaluating one
branch of the algorithm [10]. Finding the leftmost position for an operation is similar to detecting
a bound. Switching between branches and stopping on bounds is formalized with a general
branch-and-bound procedure.
119
Algorithms 2018, 11, 50
120
Algorithms 2018, 11, 50
The optimization variables in gradient algorithm represent positions of all competing operations
relative to each other. The maximum optimization step for each iteration is detected on-the-fly by
trying to shift the current operation to the leftmost position (as it is shown in Figure 4) that shows the
LP problem (1)–(3) is solvable and the objective function is improved.
121
Algorithms 2018, 11, 50
Figure 6. Gannt diagram for starting point of two orders schedule optimization.
The results of evaluating branch-and-bound and gradient algorithm are placed in the following
Table 1. The resulting schedules are depicted in Figure 7 (for branch-and-bound algorithm) and
Figure 8 (for gradient algorithm).
122
Algorithms 2018, 11, 50
Results of analysis gives us understanding that for a modest dimensionality scheduling problem
both considered approaches are applicable. However, as the number of operations in manufacturing
procedure grows and the number of orders increases, we will experience an enormous growth of
algorithm iterations for enumeration (branch-and-bound) technique and the gradient-alike algorithm
will obviously detect local optimum as the best achievable solution (which means the optimization
results will differ more and more compared to the digits in Table 1). Rising difference between the
results is shown in Table 2.
Expanding the previous problem for a procedure of 500 operations in 2 orders we will get the
results presented in Table 3.
123
Table 1. Algorithms test results: small number of operations (13 operations).
Resulting “Makespan” Times of Orders Finished Full Number of Operations Permutations Number of Number of Iterated Calculation Time,
Algorithm Iterated Permutations Non-Feasible Permutations
Objective Function Order 1 Order 2 (Including Non-Feasible) Seconds
Number of Resulting “Makespan” Times of Orders Finished Number of Number of Iterated Calculation Time,
Operations Algorithm Iterated Permutations Non-Feasible Permutations
Objective Function Order 1 Order 2 Seconds
124
B&B 1735 656 1079 809 228 288
100
gradient 1761 669 1092 677 83 237
Resulting “Makespan” Times of Orders Finished Full Number of Number of Number of Calculation Time,
Algorithm Operations Permutations Iterated Permutations Iterated Non-Feasible
Objective Function Order 1 Order 2 Permutations Seconds
(Including Non-Feasible)
B&B 4909 1886 3023 Unknown ≈1200 (Manually stopped) Unknown (≈10% of total) Manually stopped after ≈7 h
Gradient 4944 1888 3056 Unknown ≈550 Unknown (≈30% of total) ≈3 h
Random Trying implementing randomized algorithm led to high computation load of PC with no reasonable estimation of calculation time.
(gradient extension) Time to start first gradient iteration from feasible point took enumeration of more than 1000 variants.
Algorithms 2018, 11, 50
4. Discussion
Analyzing the computational experiment result, we come to a classical research outcome that
to solve the global optimization problem effectively we need to find a more computationally cheap
algorithm that gives a solution closer to global optimum. Let us try several standard approaches to
improve the solution with non-exponential algorithm extensions.
N · dim(Φ),
where N = 5 . . . 20, and dim(Φ) is the dimensionality of optimization problem being solved, i.e.,
for our case this is the number of all competing operations of all orders on all resources. The result of
applying random search approach is represented in Table 2.
The main barrier for implementing the random search procedure for the combinatorial scheduling
problem is generating enough feasible optimization starting points. As we can see from the results
in Table 2, number of failures to generate feasible starting point is much higher than the quantity
of successful trials. Leaning upon the results of enumeration algorithm in Table 1 we can assume
that the tolerance regions for optimization problem (1)–(3) are very narrow. Even from the trial
example in Table 1 we see that the number of feasible iterations (25) collect less than 10 percent of all
possible permutations (318) which leaves us very low probability of getting a feasible initial point for
further gradient optimization. Thus, we can make a conclusion that ‘pure’ implementation of random
search procedure will not give a huge effect but should be accompanied with some analytic process of
choosing feasible initial points of optimization. Such a procedure may be based on non-mathematical
knowledge such as industry or management expertise. From our understanding, this question should
be investigated separately.
5. Conclusions
Research of a continuous-time scheduling problem is conducted. We formalized the scheduling
problem as a combinatorial set [8] of linear programming sub problems and evaluated typical
computational procedures with it. In addition to the classical and estimated resulting conflict between
the “complexity” and “locality” of optimization algorithms we came to the conclusion that the classical
approach of randomization is unhelpful in terms of improving the locally found suboptimal solution.
The reason here is that the scheduling problem in setting (1)–(3) has a very narrow feasibility area
which makes it difficult to randomly detect a sufficient number of starting points for further local
optimization. The efficiency of random search might be increased by introducing a martial rule or
procedure of finding typical feasible starting points. The other effective global optimization procedures
are mentioned in a very short form and are left for further authors’ research. They are:
125
Algorithms 2018, 11, 50
• Genetic algorithms. From the first glance evolutionary algorithms [15] should have a good
application case for the scheduling problem (1)–(3). The combinatorial vector of permutations
ck ∈ {0, 1}, k = 1, . . . , K, seems to be naturally and easily represented as a binary crossover [15]
while the narrow tolerance region of the optimization problem will contribute to the fast
convergence of the breeding procedure. Authors of this paper leave this question for further
research and discussion.
• Dynamic programming. A huge implementation area in global optimization (and particularly in
RCPSP) is left for dynamic programming algorithms [16]. Having severe limitations in amount
and time we do not cover this approach but will come back to it in future papers.
The computation speed of the high dimension problem using an average PC is not satisfactory.
This fact forces authors to investigate parallel computing technologies. Future research assumes
adoption of created algorithms to a parallel paradigm, for instance, implementing map-reduce
technology [17].
Acknowledgments: This work was supported by the Russian Science Foundation (grant 17-19-01665).
Author Contributions: A.A.L. conceived conceptual and scientific problem setting; I.N. adopted the problem
setting for manufacturing case and designed the optimization algorithms; N.P. implemented the algorithms,
performed the experiments and analyzed the data.
Conflicts of Interest: The authors declare no conflict of interest. The founding sponsors had no role in the design
of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, and in the
decision to publish the results.
References
1. Artigues, C.; Demassey, S.; Néron, E.; Sourd, F. Resource-Constrained Project Scheduling Models, Algorithms,
Extensions and Applications; Wiley-Interscience: Hoboken, NJ, USA, 2008.
2. Meyer, H.; Fuchs, F.; Thiel, K. Manufacturing Execution Systems. Optimal Design, Planning, and Deployment;
McGraw-Hill: New York, NY, USA, 2009.
3. Jozefowska, J.; Weglarz, J. Perspectives in Modern Project Scheduling; Springer: New York, NY, USA, 2006.
4. Manne, A.S. On the Job-Shop Scheduling Problem. Oper. Res. 1960, 8, 219–223, doi:10.1287/opre.8.2.219.
5. Jones, A.; Rabelo, L.C. Survey of Job Shop Scheduling Techniques. In Wiley Encyclopedia of Electrical and
Electronics Engineering; National Institute of Standards and Technology: Gaithersburg, ML, USA, 1999.
Available online: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.1262&rep=rep1&type=pdf
(accessed on 10 April 2017).
6. Taravatsadat, N.; Napsiah, I. Application of Artificial Intelligent in Production Scheduling: A critical
evaluation and comparison of key approaches. In Proceedings of the 2011 International Conference
on Industrial Engineering and Operations Management, Kuala Lumpur, Malaysia, 22–24 January 2011;
pp. 28–33.
7. Hao, P.C.; Lin, K.T.; Hsieh, T.J.; Hong, H.C.; Lin, B.M.T. Approaches to simplification of job shop
models. In Proceedings of the 20th Working Seminar of Production Economics, Innsbruck, Austria,
19–23 February 2018.
8. Trevisan, L. Combinatorial Optimization: Exact and Approximate Algorithms; Stanford University: Stanford, CA,
USA, 2011.
9. Wilf, H.S. Algorithms and Complexity; University of Pennsylvania: Philadelphia, PA, USA, 1994.
10. Jacobson, J. Branch and Bound Algorithms—Principles and Examples; University of Copenhagen: Copenhagen,
Denmark, 1999.
11. Erickson, J. Models of Computation; University of Illinois: Champaign, IL, USA, 2014.
12. Ruder, S. An Overview of Gradient Descent Optimization Algorithms; NUI Galway: Dublin, Ireland, 2016.
13. Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; Massachusetts
Institute of Technology: London, UK, 2009.
14. Kalitkyn, N.N. Numerical Methods; Chislennye Metody; Nauka: Moscow, Russia, 1978. (In Russian)
15. Haupt, R.L.; Haupt, S.E. Practical Genetic Algorithms, 2nd ed.; Wiley-Interscience: Hoboken, NJ, USA, 2004.
126
Algorithms 2018, 11, 50
16. Mitchell, I. Dynamic Programming Algorithms for Planning and Robotics in Continuous Domains and the
Hamilton-Jacobi Equation; University of British Columbia: Vancouver, BC, Canada, 2008.
17. Miner, D.; Shook, A. MapReduce Design Patterns: Building Effective Algorithms and Analytics for Hadoop and
Other Systems; O’Reilly Media: Sebastopol, CA, USA, 2013.
c 2018 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 (http://creativecommons.org/licenses/by/4.0/).
127
algorithms
Article
Dual Market Facility Network Design under
Bounded Rationality
D. G. Mogale 1 , Geet Lahoti 1 , Shashi Bhushan Jha 1 , Manish Shukla 2 , Narasimha Kamath 3
and Manoj Kumar Tiwari 1, * ID
1 Department of Industrial & Systems Engineering, Indian Institute of Technology, Kharagpur 721302, India;
dgmogle@gmail.com (D.G.M.); geetlahoti2454@gmail.com (G.L.); sbjhakdk2009@gmail.com (S.B.J.)
2 Durham University Business School, Durham University, Durham DH1 3LB, UK; scholarmanish@gmail.com
3 O9 Solutions, Bangalore 560037, India; narasimha.kamath@gmail.com
* Correspondence: mktiwari9@iem.iitkgp.ernet.in; Tel.: +91-9734444693
Abstract: A number of markets, geographically separated, with different demand characteristics for
different products that share a common component, are analyzed. This common component can
either be manufactured locally in each of the markets or transported between the markets to fulfill
the demand. However, final assemblies are localized to the respective markets. The decision making
challenge is whether to manufacture the common component centrally or locally. To formulate the
underlying setting, a newsvendor modeling based approach is considered. The developed model
is solved using Frank-Wolfe linearization technique along with Benders’ decomposition method.
Further, the propensity of decision makers in each market to make suboptimal decisions leading to
bounded rationality is considered. The results obtained for both the cases are compared.
1. Introduction
Globalization has brought about large scale integration of regional economies and culture through
effective transportation and communication. International trade has been the central attention of
major firms in last couple of decades. Economic globalization has led to major changes in how the
companies deal with the market. Any attempt towards a competitive advantage at an international
level has far reaching benefits to the company. Even supporters of globalization agree that the benefits
of globalization are not without risks—such as those arising from volatile capital movements. With the
recent global meltdown, capital flows reversing and international trade shrinking, getting into a
non-imitable market advantage that has assumed the prime importance [1].
In this work, the focus is on firms that are present in many markets across the globe. With Asian
countries like India and China gaining importance in the international market, there are issues that
globalization still has to iron out before we can really see homogeneity across the globe. Low income
countries are slowly gaining ground in the recent globalized world. On one hand, these countries offer
huge market opportunities, with large gain in the labor cost, but it has itself associated with increased
logistics cost and foreign trade barriers. Considering these paradoxical factors simultaneously,
this paper works on quantifying the decision of off-shoring production facilities, modeled by taking
into account the real life uncertainties and response variances. In particular, we consider the case
of two economies served by a firm manufacturing two products at two localized final assemblies,
using a common component which can either be produced locally or transported from a central
setup which would also cause the company to incur respective transportation costs. Each of the
markets has respective demand characteristics, selling price, and assembly costs. We intend to
maximize the total profit of the firm, by optimally deciding where to locate the common component
manufacturing setup, and also the individual transportation quantities. This situation is analyzed
using the Newsvendor Model.
The notion of bounded rationality in operation management was taken from the economics
literature. Initially, the “bounded rationality” term was introduced by Simon [2] to denote the
decision-making behaviors where the decision maker finds the alternatives. Later, scholars constructed
diverse model frameworks to cover agents’ bounded rationality by the quantal response model.
To account for the limitations in the normative approach adopted by a traditional Newsvendor Model,
which assumes that decision makers are perfect optimizers, the descriptive approach of bounded
rationality is incorporated. The decision model of bounded rationality is basically based on classical
quantal choice theory [3]. Considering all possible utility generating alternatives to be the candidates
for selection, decision makers try to choose much captivating alternatives (obtaining greater utility)
because their probability of selection is high. For this purpose, the analytically convenient logit choice
model can be used where selection probability of alternate j is proportional to exp(u j ) [4]. The quantal
choice models take into account that decision makers may commit errors. It is not necessary that one
always makes the best decisions; better decisions are made frequently.
Thus, we formulate the problem with the framework of bounded rationality for the multi-market
network design. The resulting formulation leads to a quadratic objective function with linear
constraints. Since the constraints are not all equality constraints, it is not simple to reduce the problem
into linear system of equations. The problem is solved through a novel approach of Frank-Wolfe
linearization method along with Generalized Benders’ Decomposition method. The results are
compared with standard gradient search method and the superior convergence is empirically proved.
The remaining part of the text is organized as follows. In Section 2, the literature is reviewed.
The model and methodology are described in Section 3. Section 4 discusses the test results and
comparative analysis. Some concluding remarks along with future work are given in Section 5.
2. Literature Review
A broad review has been presented by Snyder [5] on stochastic and robust facility location models,
illustrating the optimization techniques that have evolved in this area. Hayes and Wheelwright [6]
describe several approaches such as geographical network analysis, physical facilities analysis,
functional analysis and organizational mission analysis, and product-process analysis for the
formulation of multi-plant facility strategy. Skinner [7] proposes the concept of operational focus
using the product-process approach, and Van Mieghem [8] models the approach of product-process
focus for a multi-market scenario. Cohen and Lee [9] are the pioneers towards formulating global
manufacturing strategy as a mathematical programming problem accounting factors such as local
demand, sourcing constraints and taxations. Organizations may select for developing their facility
with respect to product, volumes, or process. Lu et al. [1] analyze such scenarios under known demand
and incorporating scale economies. Their model includes two products with distinct demand features,
two geographically disjointed markets with diverse economic features, and two processes with distinct
goals comprises of common component manufacturing and dedicated assembly. Multi-product firms
frequently usage the commonality of foster flexibility for their process networks. In another study,
the trade-offs between risk pooling and logistics cost with respect to two extreme configurations
such as process and product has been investigated for commonality in a multi-plant network [10].
Melkote et al. [11] develops an optimization model for facility location and transportation network
design problem.
Rationality refers to perfect optimization for the given scenario. On the contrary, the concept of
bounded rationality identifies the intrinsic imperfections in human decision making. Chen et al. [12]
described utility functions for the decision maker and inferred stochastic probabilities. Su [13] modeled
the bounded rationality including stochastic elements in the decision process. Despite selecting the
utility-maximizing alternative constantly, decision makers embrace a probabilistic opting rule such
129
Algorithms 2018, 11, 54
that much captivating alternatives are selected frequently. The resulting formulation led to a quadratic
optimization with linear constraints.
Exact methods like Benders’ decomposition method (Benders, 1962) are frequently found in
applications of operations management. Bahl et al. [14] were amongst the first to use multi-item
production scheduling. Benders’ decomposition methods have also found applications in discretely
constrained mathematical programs [15]. Even stochastic optimization problems have found
applications of Benders’ decomposition methods. Archibald et al. [16] compared the performance
of Dynamic programming versus the nested Benders’ decomposition method for optimization of
hydro-electric generation problems. Velarde et al. [17] implemented a heuristic based Benders’
decomposition method for the robust international sourcing model. The methodology involved
generation of cuts via Tabu search, using the dual variables from the sub-problem to obtain the
neighborhoods. Benders’ decomposition method has been employed to solve the strategic and
operations management problems, especially in networks based problems, which as such can
be solved by linear programming methods. Ali et al. utilized it for solving multi-commodity
network problems [18]. Dogan et al. [19] used Benders decomposition method for solving a mixed
integer programming problem for the strategic production-distribution allocation problem for the
supply chain network. Benders’ decomposition method is also utilized in project time compression
problems in Critical Path Method (CPM)/Programme Evaluation Review Technique (PERT) networks,
by approximating the convex or concave activity cost-duration functions to piecewise linear time cost
curves [20]. The Frank-Wolfe algorithm is used to solve quadratic programming problems with linear
constraints [21].
Lee et al. [22] investigated a plant allocation and inventory level decisions for serving global
supply chains and revealed that the importing firm escalates its inventory level if the transportation
cost increases or the exchange rate of the inventory country lessen. The result of this study has been
empirically confirmed using data of Korean firms yielded from the Export-Import Bank of Korea.
Jean et al. [23] studied the relationship-based product innovation in global supply chains where
this research offered a context-based explanation for the contradictory and conflicting empirical
indication with respect to relational capital innovation links. In another study, a single period
inventory model has been proposed to encapsulate the trade-off between inventory policies and
disruption risks considering the scenario of dual-sourcing supply chain [24]. Tang et al. [25] examined
multiple-attribute decision making using Pythagorean 2-tuple linguistic numbers, and proposed two
operators, namely, Pythagorean 2-tuple linguistic weighted Bonferroni mean (WBM) and Pythagorean
2-tuple linguistic weighted geometric Bonferroni mean (WGBM). Further, the effectiveness of this
approach is verified considering the green supplier selection problem. Zhang et al. [26] developed
a greedy insertion heuristic algorithm using a multi-stage filtering mechanism comprising coarse
granularity and fine granularity filtering for ameliorating the energy efficiency of single machine
scheduling problems. A two-product, multi-period newsvendor problem has been formulated by
Zhang and Yang [27] considering fixed demand. In addition, this research used the online learning
method for performing the experiment, and also proposed real and integer valued online ordering
policies. Egri and Vancza [28] presented an extended version of the newsvendor model to fulfil all
demands of the customer by the supplier. This model particularly minimizes the total cost comprising
setup, obsolete inventory and inventory holding costs. Furthermore, the model has been developed
considering the decentralized setting using asymmetric information of customer and supplier. Ren and
Huang [29] summarized several methods of modeling customer bounded rationality and also surveyed
implementation of approaches with respect to appropriate operations management settings. In a
dyadic supply chain, Du et al. [30] examined fairness preferences especially individuals’ psychological
understanding. Moreover, to formulate the fairness concerns, they used Nash bargaining solution as
fairness reference. Di et al. [31] developed a systematic methodology to obtain boundedly rational
user equilibria (BRUE) solutions for networks with fixed demands that assist in predicting BRUE
link traffic flow patterns in a given network to guide planners for making network design decisions
130
Algorithms 2018, 11, 54
accordingly when travellers behave boundedly rational. Di and Liu [32] presented a comprehensive
review of models as well as methodologies of bounded rationality route choice behavior. The models
are mainly divided into two parts: substantive and procedural bounded rationality models. While
methodologies applied on these two models are game theory and interactive congestion game for
substantive bounded rationality, and random utility and non- or semi-compensatory for procedural
bounded rationality.
This study dealt with the strategic facility location decision of engine production by taking into
account the financial and demand features. The newsvendor network approach is used to evaluate
the model. Firstly, we analyze the scenario under deterministic demand. The sensitivity of the
trade-off between the manufacturing costs and the transportation costs are examined. Secondly,
the situation under demand uncertainty is evaluated. Here, we assume uniformly distributed demand.
The profit function is accordingly formulated and similar analysis is carried out. The function is
solved using Frank Wolfe’s sequential linearization technique with Bender’s Decomposition method.
Thirdly, the results of optimal decision scenario is compared with the scenario of bounded rationality
considering uniformly distributed demand. When we consider the bounded rationality, the best option
is not always picked by individuals, however, they opt for better options often. Finally, we intend to
give a statistical proof of the superiority of the algorithm used over the traditional gradient search
131
Algorithms 2018, 11, 54
method by Rosen. Thus, a three-fold comprehensive comparison is made for the multi-market network
design. The canonical setting at each market includes a newsvendor setup who has to obtain how
much of the commonality to order. Every item costs c but can be sold at price p, where p > c. For a given
demand, the profit is given as the product of price and minimum of demand and ordering quantity
minus the procurement cost, which is cost per item multiplied by ordering quantity. Suppose we have
a random demand, D having density f and cumulative distribution F. The expected profit in any of the
selling points in the network under newsvendor model with demand uncertainty is given by:
π ( x ) = p E(min( D, x )) − cx (1)
where,
x: Number of items ordered
p: Selling price of the item
c: Cost of item, where c < p
D: Demand
E(y): Expected value of y
Considering that the demand D is uniformly distributed between [ a, b]. Then the profit function
in Equation (1) can be expressed as [13]:
π ( x ) = Ax2 + Bx + C (2)
where,
−p pb − pa2
A= ,B= − c, C =
2( b − a ) b−a 2( b − a )
Now, we apply the above model to the multi-market scenario. Each of the markets can be
considered as a newsvendor model. Consider the multi-market model as depicted in Figure 2.
132
Algorithms 2018, 11, 54
Notations
To apply the newsvendor’s model to each market, we need to determine the average cost per item
at each market. This is taken as the weighted average of the common component manufacturing cost
per item from the various source plants from which the items are transported.
a
∑ xij (Cmi + Ctij )
j =1
Ca j = a (3)
∑ xij
i =1
Note here that Ctii = 0, as there is no transportation cost from plant i to market i. The value
addition in each path in terms of per unit profit obtained due to a common component transportation
from plant i and sold at market j is given by,
Thus, from Equation (2), the profit in each market j, under uniform demand distribution
Dj~U[aj,bj] would be given as,
a a
π j = A j ( ∑ xij )2 + Bj ( ∑ xij ) + Cj (4)
i =1 i =1
where,
− pj p j bj − p j a2j
Aj = , Bj = − Ca j, Cj =
2( b j − a j ) (b j − a j ) 2( b j − a j )
p j bj
Note here that Caj is not a constant term. Thus the equations is expanded and taking BB j = (b j − a j )
,
we have the expression for the total profit π as,
133
Algorithms 2018, 11, 54
n n n n n n n n
π= ∑ π j = ∑ ∑ A j xij2 + 2 ∑ ∑ ∑ A j xij xkj + ∑ ∑ xij (Cmi + Ctij + BBj ) (5)
i =1 j =1 i =1 j =1 i =1 k = i +1 j =1 i =1
Thus, we have the objective function to maximize the total profit: max π
This is subject to capacity constraints in each plant as well as each market for the final assembly,
n
Plant capacity constraint: ∑ xij ≤ Kmi ∀i = 1 . . . n
j =1
n
Final Assembly capacity constraint: ∑ xij ≤ Ka j ∀j = 1 . . . n
j =1
The formulation in Equation (5) is having a quadratic objective function and linear constraints.
We apply Frank Wolfe’s sequential linearization method, and Bender’s Decomposition method is used
for decomposing the linear problem within the Frank Wolfe’s method. Stepwise procedure for the
integrated methodology is given as follows:
Consider the problem to,
Minimize π(x)
subject to x ∈ S;
where S ⊂ Rn
Let, f is a continuously differentiable function.
Step 0. Choose an initial solution, x0 ∈ S. Let k = 0. Here an arbitrary basic feasible solution is chosen,
that is, an extreme point.
Step 1. Determine a search direction, pk . In the Frank Wolfe algorithm pk is determined through the
solution of the approximation of the problem (1) that is obtained by replacing the function f with its
first-order Taylor expansion around xk . Therefore, solve the problem to minimize:
zk ( x ) = π ( xk ) + ∇π ( xk ) T ( x − xk )
Subject to x ∈ S
This is a Linear Programming (LP) problem. In large scale problems this would be computationally
complex, and would require to be decomposed into smaller problems which can be solved easily.
Hence we apply the Bender’s decomposition method at this point to solve the LP.
Step 2. Thus by Bender’s decomposition method x* is obtained as an optimal solution to gradient
equation. The search direction is pk = x ∗− − xk , that is, the direction vector from the feasible point xk
towards the extreme point.
Step 3. A step length is determined and represented as αk , such that f ( xk + αk pk ) < f ( xk ).
Step 4. New iteration point is found out using xk+1 = xk + αk pk .
Step 5. Check if stopping criteria is reached, else go to Step 1.
Max x T Qx + b T x + c
s.t Ax ≤ K
where Q, b, c, A and K are appropriately defined depending on the size of the problem. With this
notation on the formulation, the application of integrated Frank Wolfe’s and Bender’s decomposition
method as applied to the multi-market network design problem under uniform demand uncertainty is
depicted in the flowchart, in Figure 3.
134
Algorithms 2018, 11, 54
135
Algorithms 2018, 11, 54
multi-nomial logit choice model is applied and assumed that decision makers selects alterative j,
with probability.
uj
eβ
φj = uj (6)
∑e β
j
Correspondingly, the following density function gives the logit choice probabilities over a
continuous domain:
u(y)
e β
φ(y) = u(y)
(7)
e β
y
Thus, the selection of agents is a random variable. The superior options are selected frequently
using the above logit structure. The best alternative depends on the mode of the selection distribution.
The magnitude of cognitive and computational restrictions suffered by the decision makers is
elucidated by β parameter. This can be observed when selection distribution approximates the
uniform distribution over the options in β → ∞ limit. In some utmost instances, decision makers
randomize the options with equal probabilities when they failed to make any informed choices. In the
other scenario, when β → ∞ the choice distribution in (1) completely focused on utility maximizing
options. The selection of perfect rational decision maker corresponds with this choice. Therefore,
we can consider the magnitude of β as the extent of bounded rationality. The logit choice framework
to the newsvendor problem is employed here. The profit function is as stated in Equation (1) is
π ( x ) = p E(min( D, x )) − cx
where, F is the cumulative distribution function of demand D. All other symbols are as used before.
This solution is selected when the decision maker is perfectly rational, although the newsvendor’s
ordering amount is dependent on noise and it called the behavioral solution in bounded rationality.
The bounded rational newsvendor can order any amount of product within the range of minimum
possible and maximum possible demand realizations in the domain S. Then, the Equation (9) gives the
probability density function associated with behavioral solution:
π (x) pE(min( D,x ))−cx
e β e β
φ(y) = π (v)
= pE(min( D,v))−cv
(9)
β β
se dv se dv
Now, if the demand D is uniformly distributed in in the interval of [a, b], then the behavioral
solution would follow truncated normal distribution over [a, b] with mean μ and standard
deviation σ [13].
c
μ = b − (b − a) (10)
p
b−a
σ2 = β (11)
p
The expected value of this truncated normal distribution would be,
where, φ(.) denotes cumulative normal distribution and ϕ(.) denotes normal density function.
136
Algorithms 2018, 11, 54
As an example in the dual market scenario, each market decision maker would be subjected to
bounded rationality. Thus, the expected ordering quantities in each market, with uniformly distributed
demand between [ai , bi ] (i = 1 . . . n) and with bounded rationality parameters as β 1 and β 2 would be,
where,
c1 b1 − a1
μ1 = b1 − ( b − a1 ) σ12 = β 1 −
p1 1 p1
and,
φ((b1 − μ1 )/σ1 ) − φ(( a1 − μ1 )/σ1 )
E( x2 + x4 ) = μ1 − σ1 (14)
ϕ((b1 − μ1 )/σ1 ) − ϕ(( a1 − μ1 )/σ1 )
The concept of bounded rationality can be reconciled with original problem of multi-market
network design in way that initially under uniform demand distribution, the production allocation
strategy is decided by the company and then ordering decisions are made under bounded rationality,
giving suboptimal. Similarly, the model can be applied to multi-market scenario with any number of
plants and markets. Thus, under bounded rational conditions, we can find the expected profit as given
in (3). Hence, a comprehensive comparison is made amongst the profits under various conditions in
the following section.
Market 1 Market 2
Plant 1 1636.36 0
Plant 2 0 1187.5
137
Algorithms 2018, 11, 54
Table 2. Ordering quantities and profits under bounded rationality for test case 1.
138
Algorithms 2018, 11, 54
Table 4. Ordering quantities and profits under bounded rationality for test case 2.
Market 1 Market 2 Market 3 Market 4 Market 1 Market 2 Market 3 Market 4 Market 9 Market 10
Plant 1 1153 0 0 780 0 0 0 0 0 0
Plant 2 0 593 782 0 0 0 0 543 0 0
Plant 3 0 0 0 0 0 0 1472 0 0 0
Plant 4 1673 0 0 0 0 0 0 0 0 0
Plant 5 0 630 0 226 0 0 0 0 0 476
Plant 6 1885 0 0 0 0 0 0 0 0 0
Plant 7 0 252 378 150 0 0 0 474 0 720
139
Algorithms 2018, 11, 54
Table 5. Cont.
Market 1 Market 2 Market 3 Market 4 Market 1 Market 2 Market 3 Market 4 Market 9 Market 10
Plant 8 0 0 0 0 0 1836 0 0 0 0
Plant 9 0 0 0 1566 0 0 0 0 0 0
Plant 10 1724 0 0 0 0 0 0 0 0 0
140
Algorithms 2018, 11, 54
Figure 6. Different possible scenarios of production allocation for dual market case.
141
Algorithms 2018, 11, 54
Author Contributions: Manoj Kumar Tiwari and Narasimha Kamath contributed to the overall idea and
manuscript drafting. D. G. Mogale and Geet Lahoti defined the problem and formulated the mathematical
model. Shashi Bhushan Jha and Manish Shukla written the overall manuscript. Finally, all the authors have read
and approved the final manuscript.
Conflicts of Interest: The authors declare no conflict of interest.
Appendix A
The notations used have following implications:
n Number of countries where the markets are present.
p Vector where pj is the selling price of final assembly at market j.
Matrix for the transportation cost where, Ctij is the cost of transportation of common
Ct
component from plant i to market j. (Ctii = 0).
Cm Vector where Cmi is cost of manufacturing the common component in plant i.
Km Vector where Kmi is the capacity limit on the common component manufacturing at plant i.
Ka Vector where Kaj is the capacity limit on the final assembly at market j.
a Vector where ai is lower bound on the uniform demand distribution.
b Vector where bi is upper bound on the uniform demand distribution.
I. Test Case 1
1. n=2
2. p
3. Ct
4. Cm
5. Km
142
Algorithms 2018, 11, 54
6. Ka
7. A
8. b
1. n=4
2. p
3. Ct
4. Cm
5. Km
6. Ka
7. a
8. b
1. n = 10
2. p
3. Ct
143
Algorithms 2018, 11, 54
4. Cm
5. Km
6. Ka
7. a
8. b
References
1. Lu, L.X.; Van Mieghem, J.A. Multi-market facility network design with offshoring applications. Manuf. Serv.
Oper. Manag. 2009, 11, 90–108. [CrossRef]
2. Simon, H.A. A behavioral model of rational choice. Q. J. Econ. 1955, 69, 99–118. [CrossRef]
3. Luce, R.D. Individual Choice Behavior: A Theoretical Analysis; Courier Corporation: North Chelmsford, MA,
USA, 2005.
4. McFadden, D. Econometric models of probabilistic choice. Structure Analysis Discrete Data Economic Application;
MIT Press Cambridge: Cambridge, MA, USA, 1981; pp. 198–272.
5. Snyder, L.V. Facility location under uncertainty: A review. IIE Trans. 2006, 38, 547–564. [CrossRef]
6. Hayes, R.H.; Wheelwright, S.C. Restoring Our Competitive Edge: Competing through Manufacturing; John Wiley
& Sons: New York, NY, USA, 1984; Volume 8.
7. Skinner, W. The Focused Factory; Harvard Business Review: Brighton, UK, 1974; Volume 52.
8. Van Miegham, J. Operations Strategy; Dynamic Ideas: Belmont, MA, USA, 2008.
9. Cohen, M.A.; Lee, H.L. Resource deployment analysis of global manufacturing and distribution networks.
J. Manuf. Oper. Manag. 1989, 2, 81–104.
10. Kulkarni, S.S.; Magazine, M.J.; Raturi, A.S. Risk pooling advantages of manufacturing network configuration.
Prod. Oper. Manag. 2004, 13, 186–199. [CrossRef]
11. Melkote, S.; Daskin, M.S. An integrated model of facility location and transportation network design.
Transp. Res. Part A Policy Pract. 2001, 35, 515–538. [CrossRef]
144
Algorithms 2018, 11, 54
12. Chen, H.-C.; Friedman, J.W.; Thisse, J.-F. Boundedly rational Nash equilibrium: A probabilistic choice
approach. Games Econ. Behav. 1997, 18, 32–54. [CrossRef]
13. Su, X. Bounded rationality in newsvendor models. Manuf. Serv. Oper. Manag. 2008, 10, 566–589. [CrossRef]
14. Bahl, H.C.; Zionts, S. Multi-item scheduling by Benders’ decomposition. J. Oper. Res. Soc. 1987, 38, 1141–1148.
[CrossRef]
15. Gabriel, S.A.; Shim, Y.; Conejo, A.J.; de la Torre, S.; García-Bertrand, R. A Benders decomposition method
for discretely-constrained mathematical programs with equilibrium constraints. J. Oper. Res. Soc. 2010, 61,
1404–1419. [CrossRef]
16. Archibald, T.W.; Buchanan, C.S.; McKinnon, K.I.M.; Thomas, L.C. Nested Benders decomposition and
dynamic programming for reservoir optimisation. J. Oper. Res. Soc. 1999, 50, 468–479. [CrossRef]
17. Velarde, J.L.G.; Laguna, M. A Benders-based heuristic for the robust capacitated international sourcing
problem. IIE Trans. 2004, 36, 1125–1133. [CrossRef]
18. Ali, I.; Barnett, D.; Farhangian, K.; Kennington, J.; Patty, B.; Shetty, B.; McCarl, B.; Wong, P. Multicommodity
network problems: Applications and computations. IIE Trans. 1984, 16, 127–134. [CrossRef]
19. Dogan, K.; Goetschalckx, M. A primal decomposition method for the integrated design of multi-period
production—Distribution systems. IIE Trans. 1999, 31, 1027–1036. [CrossRef]
20. Kuyumcu, A.; Garcia-Diaz, A. A decomposition approach to project compression with concave activity cost
functions. IIE Trans. 1994, 26, 63–73. [CrossRef]
21. Frank, M.; Wolfe, P. An algorithm for quadratic programming. Nav. Res. Logist. 1956, 3, 95–110. [CrossRef]
22. Lee, S.; Park, S.J.; Seshadri, S. Plant location and inventory level decisions in global supply chains: Evidence
from Korean firms. Eur. J. Oper. Res. 2017, 262, 163–179. [CrossRef]
23. Jean, R.J.; Kim, D.; Bello, D.C. Relationship-based product innovations: Evidence from the global supply
chain. J. Bus. Res. 2017, 80, 127–140. [CrossRef]
24. Xanthopoulos, A.; Vlachos, D.; Iakovou, E. Optimal newsvendor policies for dual-sourcing supply chains:
A disruption risk management framework. Comput. Oper. Res. 2012, 39, 350–357. [CrossRef]
25. Tang, X.; Huang, Y.; Wei, G. Approaches to Multiple-Attribute Decision-Making Based on Pythagorean
2-Tuple Linguistic Bonferroni Mean Operators. Algorithms 2018, 11, 5. [CrossRef]
26. Zhang, H.; Fang, Y.; Pan, R.; Ge, C. A New Greedy Insertion Heuristic Algorithm with a Multi-Stage Filtering
Mechanism for Energy-Efficient Single Machine Scheduling Problems. Algorithms 2018, 11, 18. [CrossRef]
27. Zhang, Y.; Yang, X. Online ordering policies for a two-product, multi-period stationary newsvendor problem.
Comput. Oper. Res. 2016, 74, 143–151. [CrossRef]
28. Egri, P.; Váncza, J. Channel coordination with the newsvendor model using asymmetric information. Int. J.
Prod. Econ. 2012, 135, 491–499. [CrossRef]
29. Ren, H.; Huang, T. Modeling customer bounded rationality in operations management: A review and
research opportunities. Comput. Oper. Res. 2018, 91, 48–58. [CrossRef]
30. Du, S.; Nie, T.; Chu, C.; Yu, Y. Newsvendor model for a dyadic supply chain with Nash bargaining fairness
concerns. Int. J. Prod. Res. 2014, 52, 5070–5085. [CrossRef]
31. Di, X.; Liu, H.X.; Pang, J.-S.; Ban, X.J. Boundedly rational user equilibria (BRUE): Mathematical formulation
and solution sets. Transp. Res. Part B Methodol. 2013, 57, 300–313. [CrossRef]
32. Di, X.; Liu, H.X. Boundedly rational route choice behavior: A review of models and methodologies.
Transp. Res. Part B Methodol. 2016, 85, 142–179. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
145
algorithms
Article
Optimal Control Algorithms and Their Analysis for
Short-Term Scheduling in Manufacturing Systems
Boris Sokolov 1 , Alexandre Dolgui 2 ID
and Dmitry Ivanov 3, *
1 Saint Petersburg Institute for Informatics and Automation of the RAS (SPIIRAS), V.O. 14 line, 39,
199178 St. Petersburg, Russia; sokol@iias.spb.su
2 Department of Automation, Production and Computer Sciences, IMT Atlantique, LS2N—CNRS UMR 6004,
La Chantrerie, 4 rue Alfred Kastler, 44300 Nantes, France; alexandre.dolgui@imt-atlantique.fr
3 Department of Business Administration, Berlin School of Economics and Law, 10825 Berlin, Germany
* Correspondence: divanov@hwr-berlin.de; Tel.: +49-30-30877-1155
Abstract: Current literature presents optimal control computational algorithms with regard to state,
control, and conjunctive variable spaces. This paper first analyses the advantages and limitations of
different optimal control computational methods and algorithms which can be used for short-term
scheduling. Second, it develops an optimal control computational algorithm that allows for the
solution of short-term scheduling in an optimal manner. Moreover, qualitative and quantitative
analysis of the manufacturing system scheduling problem is presented. Results highlight computer
experiments with a scheduling software prototype as well as potential future research avenues.
1. Introduction
Short-term scheduling in manufacturing systems (MS) considers jobs that contain operation chains
with equal (i.e., flow shop) or different (i.e., job shop) machine sequences and different processing
times. Operations which need to be scheduled for machines with different processing power are
subject to various criteria including makespan, lead time, and due dates ([1–4]).
Over the last several decades, various studies have investigated scheduling problems from
different perspectives. A rich variety of methods and applications can be observed in the development
of rigorous theoretical models and efficient solution techniques. [5–12] and [13] have demonstrated
that specific large-scale scheduling problems with complex hybrid logical and terminal constraints,
process execution non-stationary (i.e., interruptions in machine availability), complex interrelations
between process dynamics, capacity evolution and setups (i.e., intensity-dependent processing times
for machine work) require further investigation in terms of a broad range of methodical approaches.
One of these is optimal control.
Optimal control approaches differ from mathematical programming methods and represent
schedules as trajectories. The various applications of optimal control to scheduling problems
are encountered in production systems with single machines [14], job sequencing in two-stage
production systems [15], and multi-stage machine structures with alternatives in job assignments and
intensity-dependent processing rates. Specifically, such multi-stage machine structures include flexible
MSs ([16–18]), supply chain multi-stage networks ([19,20]), and Industry 4.0 systems that allow data
interchange between the product and stations, flexible stations dedicated to various technological
operations, and real-time capacity utilization control [13].
A diversity of knowledge and findings in optimal control applications exists which pertains to
scheduling. However, these approaches typically pertain to trajectories which are assumed to be
optimal but are subject to some specific constraint system and process model forms such as finite
dimensionality, convexity, etc. In general, optimal control algorithms only provide the necessary
conditions for optimal solution existence. The maximum principle provides both optimality and
necessary conditions only for some specific cases, i.e., linear control systems. As such, further
investigations are required in each concrete application case.
This paper seeks to bring the discussion forward by carefully elaborating on the optimality issues
described above and providing some ideas and implementation guidance on how to confront these
challenges. The purpose of the present study is to contribute to existing works by providing some
closed forms of algorithmic optimality proven in the rich optimal control axiomatic.
The rest of this paper is organized as follows. In Section 2, we propose general elements of
the multiple-model description of industrial production scheduling and its dynamic interpretation.
In Section 3, optimal control computational algorithms and their analyses are proposed. Section 4
presents a combined method and algorithm for short-term scheduling in MS. In Section 5, qualitative
and quantitative analysis of the MS scheduling problem is suggested. The paper concludes in Section 6
by summarizing the results of this study.
147
Algorithms 2018, 11, 57
The detailed mathematical formulation of these models was presented by [36,37] as well as [38].
We provide the generalized dynamic model of MS control processes (M model) below:
.
M = u(t)x = f(x, u, t); h0 (x( T0 )) ≤ O,
(1)
h1 (x( T f )) ≤ O, q(1) (x, u) = O, q(2) (x, u) < O ,
T f
Jϑ = Jϑ (x(t), u(t), t) = ϕϑ x(t f ) + f ϑ (x(τ ), u(τ ), τ )dτ,
T0
ϑ ∈ { g, k, o, f , p, e, c, ν},
where ϑ ∈ { g, k, o, f , p, e, c, ν}—lower index which correspond to the motion control model,
channel control model; operations control model; flow control; M p —resource control; operation
parameters control; structure dynamic control model; auxiliary operation control model; x =
T
x( g )T , x( k )T , x( o )T , x( p )T , x( f )T , x( e )T , x( c )T , x( v )T is a vector of the MS generalized state, u =
T
u( g )T , u( k )T , u( o )T , u( p )T , u( f )T , u( e )T , u( c )T , u( v )T
is a vector of generalized control, h0 , h1 are known
vector functions that are used for the state x end conditions at the time points t = T0 and t = T f , and the
vector functions q(1) , q(2) define the main spatio–temporal, technical, and technological conditions for
MS execution; Jϑ are indicators characterizing the different aspects of MS schedule quality.
Overall, the constructed model M (1) is a deterministic, non-linear, non-stationary,
finite-dimensional differential system with a reconfigurable structure. Figure 1 shows the
interconnection of models Mg , Mk , Mo , M p , M f , Me , Mc , and Mν embedded in the generalized model.
T
In Figure 1 the additional vector function ξ = ξ( g)T , ξ(k)T , ξ(o)T , ξ( p)T , ξ( f )T , ξ(e)T , ξ(c)T , ξ(v)T
of perturbation influences is introduced.
The solutions obtained in the presented multi-model complex are coordinated by the control
inputs vector u(o) (t) of the model Mo. This vector determines the sequence of interaction operations
and fixes the MS resource allocation. The applied procedure of solution adjustment refers to
resource coordination.
The model complex M evolves and generalizes the dynamic models of scheduling theory.
The predominant distinctive feature of the complex is that non-linear technological constraints are
actualized in the convex domain of allowable control inputs rather than in differential equations [36,37].
x (0p )
5 x ( p)
(k )
u ( p) Mp
x (0k ) ξ J ( k ) ,J ( g ) ,J (o )
(Q )
x (0Q ) ξ
J ( p ) ,J ( f ) ,J ( e )
1 x (k ) 4 x (Q )
Mk MQ ξ (c )
u (k ) u (Q )
(o ) (c)
x 0 ξ (o ) x 0
J (k ) J (Q )
(k ) 3 x (o ) 8 x (c )
u 0 Mo Mc
(g) (g)
x 0
ξ x (0 f ) x (Q ) (T f ) u (ñ)
(g ) J (o ) J (ñ)
u 2 6 x( f )
Mg x(g) u( f ) Mf
x (0e ) x ( e ) (T f )
J (k )
J (f) ξ( f )
7
Me x (e )
(e )
u
ξ (e )
148
Algorithms 2018, 11, 57
In this case, the MS job shop scheduling problem can be formulated as the following problem
of OPC: it is necessary to find an allowable control u(t), t ∈ ( T0 , T f ] that ensures for the model (1)
meeting of vector constraint functions q(1) (x, u) = 0, q(2) (x, u) ≤ 0 and guides the dynamic system
.
(i.e., MS job shop schedule) x(t) = f (t, x(t), u(t)), from the initial state to the specified final state.
If there are several allowable controls (schedules), then the best one (optimal) should be selected
to maximize (minimize) Jϑ . The formulated model is a linear, non-stationary, finite-dimensional,
controlled differential system with the convex area of admissible control. Note that the boundary
problem is a standard OPC problem ([21,36,37]). This model is linear in the state and control variables,
and the objective is linear. The transfer of non-linearity to the constraint ensures convexity and allows
use of interval constraints.
In this case, the adjoint system can be written as follows:
(1) (2)
. ∂H I1
∂ q (x(t), u(t)) I2 ∂ qβ (x(t), u(t))
ψl = − + ∑ λα (t) α + ∑ ρ β (t) (2)
∂xl α=1 ∂xl β =1
∂xl
The coefficients λα (t), ρ β (t) can be determined through the following expressions:
(2)
ρ β (t)qβ (x(t), u(t)) ≡ 0, β ∈ {1, . . . , I2 } (3)
I1 I2
(1) (2)
gradu H (x(t), u(t), ψ(t)) = ∑ λα (t)gradu qα (x(t), u(t)) + ∑ ρβ (t)gradu qβ (x(t), u(t)) (4)
α =1 β =1
Here, xl are elements of a general state vector, ψl are elements of an adjoint vector. Additional
transversality conditions for the two ends of the state trajectory should be added for a general case:
∂Job ∂J
ψl ( T0 ) = − , ψl ( T f ) = − ob (5)
∂xl xl (T0 )= xl0 ∂xl xl (T f )= xl f
Let us consider the algorithmic realization of the maximum principle. In accordance with this
principle, two systems of differential equations should be solved: the main system (1) and the adjoint
system (2). This will provide the optimal program control vector u∗ (t) (the indices «pl» are omitted)
and the state trajectory x∗ (t). The vector u∗ (t) at time t = T0 under the conditions h0 (x(T0 )) ≤ 0 and
for the given value of ψ( T0 ) should return the maximum to the Hamilton’s function:
Φ = Φ(ψ( T0 )) = 0 (7)
149
Algorithms 2018, 11, 57
At this stage, we consider the most complicated form of the MS OPC construction with MS initial
state at time t = T0 . The end point of the trajectory and the time interval are fixed:
x( T f ) = a (8)
1 T
Δu (ψ( T0 )) = a − x( T f ) a − x( T f ) (10)
2
The main feature of the problems (9), (10) is that the interdependency of ψ( T0 ) and ρ( T f ) =
a − x( T f ) is defined indirectly via the system of differential Equation (1). This feature leads to the
use of iterative methods.
150
Algorithms 2018, 11, 57
Newton’s method and its modifications. For the first iteration of the method, an initial
approximation ψ( T0 ) = ψ(0) ( T0 ) is set. Then, the successive approximations are received from
the formula:
∂ρ(r−1) ( T f )
ψ(r) ( T0 ) = ψ(r−1) ( T0 ) − ρ(r −1) ( T f ) (11)
∂ψ(r−1) ( T0 )
should be evaluated.
This matrix can be received either via finite-difference formulas or via a variational integration
of the system. Modification of the method can also be used. The following method is the simplest.
The formula (11) is substituted for:
\ \
−1 ρ(r −1) ( T f )
ψ(r) ( T0 ) = ψ(r−1) ( T0 ) − γ(r) Π (13)
U
\ \ U
\
U
151
Algorithms 2018, 11, 57
First, the value γ(r) = 1 is tried. Then values 1/2, 1/4, and so on until (14) is true. The selection of
γ(r) is being performed during all iterations.
The entire solving process is terminated when Δu ψ(r) ( T0 ) < ε u , where ∑u is a given accuracy.
The main advantages of Newton’s method and its modifications are a simple realization [there
is no need to integrate adjoint system (2)], a fast convergence (if the initial choice of ψ( T0 ) is good),
and a high accuracy solution.
The main disadvantage is the dependency of a convergence upon the choice of ψ( T0 ). In the worst
case (absence of a good heuristic plan of MS operation), these methods can be divergent. In addition,
if the dimensionality of the vector ρ( T f ) is high, then computational difficulties can arise during
calculation as well as an inversion of matrices (12).
The method of penalty functionals. To use this method for the considered two-point boundary
problem, we should determine the extended quality functional:
1 n 2
Job.p = Job + ∑ Ci ai − xi ( T f ) (15)
2 i =1
where Ci are positive coefficients. If the coefficients are sufficiently large, the minimal value of the
functional is received in the case of ρi (Tf ) = 0. Therefore, the following algorithm can be used for
the solving of the boundary problem. The control program u(r) (t) is searched during all iterations
with fixed Ci (Newton’s method can be used here, for example). If the accuracy of end conditions is
insufficient, then the larger values of Ci are tried. Otherwise, the algorithm is terminated and a solution
is received. Although the method seems deceptively simple, it does not provide an exact solution.
Therefore, it is advisable to combine it with other methods.
The gradient methods. There are different variants of the gradient methods including generalized
gradient (subgradient) methods. All gradient methods use the following recurrence formula:
∂Δu ∂Δu T
Δ(r−1) = gradΔu ψ(r−1) ( T0 ) = ,...,
∂ψ<1,(r−1)> ∂ψ<n,(r−1)>
The multiplier γ(r) determines the value of the shift in direction of Δ(r−1) . In the subgradient,
methods vectors Δ(r−1) in (16) are some subgradients of the function Δu .
In the MS OPC problems, a feasible subgradient can be expressed as:
Δ<i,(r−1)> = ai − x<i,(r−1)> ( T f )
152
Algorithms 2018, 11, 57
Here dxi = ai − x<i,r> is a residual for end conditions at the iteration r. Similarly, dx1i = ai −
x<i,(r−1)> and dx2i = ai − x<i,(r−1)> are residual at iterations (r − 1) and (r − 2). The main advantage
of these algorithms over classical gradient algorithms is a simpler calculation of the direction vector
during all iterations. However, this results in slower convergence (sometimes in divergence) of the
general gradient (subgradient) methods as compared with classical ones. The convergence of all
gradient methods depends on the initial approximation ψ(0) ( T0 ).
The analysis of the existing methods of optimal program control demonstrates that only the
combined use of different methods compensates for their disadvantages. Therefore, the vector ψ(0) ( T0 )
should be determined in two phases ([36,37]). In the first phase, the MS OPC problem is considered
without strict end conditions at the time t = Tf . The solution of the problem with a free right end is
some approximation ψ (r) ( T0 ) (r = 1, 2, . . . ).
Then, in the second phase, the received vector is used as the initial approximation ψ ( T ) =
(0) 0
(r) ( T0 ) for Newton’s method, the penalty functional method, or the gradient method. Thus, in the
ψ
second phase, the problem of MS OPC construction can be solved over a finite number of iterations.
Let us now consider one of the most effective methods, namely Krylov and Chernousko’s method
for OPC problem with a free right end [39].
Step 1. An initial solution (an allowable program control) ud (t), ∀ t ∈ (T0 , Tf ], ud (t) ∈ M is selected.
Step 2. The main system of Equation (1) is integrated under the end conditions h0 (x( T0 )) ≤ 0.
This results in the trajectory xd (t) ∀t ∈ (T0 , Tf ].
Step 3. The adjoint system (2) is integrated over the time interval from t = Tf to t = T0 under the
end conditions: 2
1 ∂ ai − x<i,d> ( T f )
ψ<i,d> ( T f ) = , i = 1, . . . , n
(18)
2 ∂x<i,d>
where the constraints (18) are transversality conditions for the optimal control problem with a free end.
The integration results in functions ψ<i,d> of time and particularly in ψ<i,d> (T0 ).
Step 4. The control u(r) (t) is searched for subject to:
H x(r) (t), u(r+1) (t), ψ(r) (t) = →max H x(r) (t), ψ(r) (t), u(r) (t) (19)
u (r ) ∈ M
where r = 1, 2, . . . is an iteration number. An initial solution belongs to the iteration r = 0. Apart from
the maximization of the Hamiltonian (19), the main and the adjoint systems of Equations (1) and (2)
are integrated from t = T0 to t = Tf .
Notably, several problems of mathematical programming are solved for each time point (the
maximal number of the problems is equal to the number of MS OPC models). These problems define
components of Hamilton’s function. This is the end of the first iteration (r = 1). If the conditions
(r ) (r −1)
Job − Job ≤ ε 1 (20)
are satisfied, where constants ε1 and ε2 define the degree of accuracy, then the optimal control u∗(r) (t)
=
(r) ( T0 ) are received at the first iteration. If not, we repeat Step 3 and so on.
u(r) (t) and the vector ψ
In a general case (when the model M is used), the integration step for differential Equations (1)
and (2) is selected according to the feasible accuracy of approximation (substitution of initial equations
for finite difference ones) and according to the restrictions related with the correctness of the maximum
principle. If we linearize the MS motion model (M<g,Θ> ), then all the components of the model M
(M<o,Θ> , M<k,Θ> , M<p,Θ> , M<n,Θ> , M<e,Θ> , M<c,Θ> , M<ν,Θ> ) will be finite-dimensional, non-stationary,
linear dynamical systems or bi-linear M<k,Θ> dynamic systems. In this case, the simplest of Euler’s
formulas can be used for integration.
153
Algorithms 2018, 11, 57
(r +1) (r )
Job < Job
(r +1) (r )
where Job , Job are the values of the quality functional for the controls u(r+1) (t), u(r) (t), respectively.
The selection of time points t and t is performed in accordance with problem specificity. In our
case, the set of possible points (t<e,(r+1)> , t<e,(r+1)> ), e = 1, . . . , Er for the iteration (r + 1) is formed
during iteration r during the maximization of Hamiltonian function (19). The set includes the time
points at which the operations of model M are interrupted. This idea for interval (t , t ] determination
was used in a combined method and algorithm of MS OPC construction. The method and the algorithm
are based on joint use of the SSAM and the “branch and bounds” methods.
154
Algorithms 2018, 11, 57
These models were described in [13,19,33–38]. Along with the initial problem of program control
(marked by the symbol Г), we consider a relaxed one (marked by P). The latter problem has no
(i ) (i )
constraints of interruption disability operations Dæ (where Dæ is an operation æ with object i. See,
for example, [36,37]). Let the goal function of problem Г be:
⎧ 2 ⎫
⎨
⎬
( a )2 (o,1) 2
n si m l
(o,1) (o,3) (o,2)
Jp = Job + ∑ ∑∑∑ ziæjλ ziæjλ + iæ − ziæjλ ziæjλ (23)
⎩ i =1 æ=1 j =1 λ=1
2 ⎭
t= T f
(a) If the problem P does not have allowable solutions, then this is true for the problem Г as well.
(b) The minimal value of the goal function in the problem P is not greater than the one in the problem Г.
(c) If the optimal program control of the problem P is allowable for the problem Г, then it is the optimal solution
for the problem Г as well.
(a) If the problem P does not have allowable solutions, then a control u(t) transferring dynamic
system (1) from a given initial state x( T0 ) to a given final state x( T f ) does not exist. The same end
conditions are violated in the problem Г.
(b) It can be seen that the difference between the functional Jp in (23) and the functional Job in the
problem P is equal to losses caused by interruption of operation execution.
(c) Let u∗p (t), ∀ t ∈ (T0 , Tf ] be an MS optimal program control in P and an allowable program
control in Г; let x∗p (t) be a solution of differential equations of the models M<o> , M<ν> subject
to u(t)=u∗p (t). If so, then u∗p (t) meets the requirements of the local section method (maximizes
Hamilton’s function) for the problem Г. In this case, the vectors u∗p (t), x∗p (t) return the minimum
to the functional (1).
155
Algorithms 2018, 11, 57
The branching of the problem Г occurs during the process of Hamiltonian maximization at some
(i ) (ω )
time t ∈ (T0 , Tf ] if the operation Dæ is being interrupted by the priority operation Dξ . In this case,
(i ) ( ω )
the problem Г is split into two sub-problems (Pæ ,Pξ ).
(i ) (i )
Within the problem Pæ , the operation Dæ is executed in an interrupt-disable mode. For other
operations, this restriction is removed and the relaxed scheduling problem is solved via the method of
(1)
successive approximations. Let us denote the received value of the goal function (23) by J p0 . Within
(ω ) (i ) (ω)
the problem Pξ , the previously started operation Dæ is terminated, and Dξ begins at time t.
(i ) (ω )
The resources released by the operation and not seized by
Dæ can be used for other operations if
Dξ
any are present. Reallocation of resources should be performed according to (19). Subsequently, after
(ω )
completion of operation Dξ , the relaxed scheduling problem is solved. In this case, the value of the
(1) (1) (1) (1)
goal function (23) is denoted by J p1 . The record Jp is updated if J p0 < Jp or/and J p1 < J p [we assume
(1) (1) (1) (1) (1)
that the functional (23) is minimized]. If only J p0 < J p , then Jp = J p0 . Similarly, if only J p1 < J p ,
(1) (1) (1)
then Jp = J p1 . If both inequalities are true, then Jp = min{J p0 , J p1 }. In the latter case, the conflict
(1) (1) (i )
resolution is performed as follows: if J p0 < J p1 , then during the maximization of (19) Dæ is executed
(i )
in an interrupt-disable mode. Otherwise, the operation Dæ is entered into the Hamiltonian at priority
(ω )
D ξ at arrival time t.
After conflict resolution, the allocation of resources is continued, complying with (19) and without
interruption of operations until a new contention is similarly examined. The considered variant of
dichotomous division in conflict resolution can be extended to the case of k-adic branching, where k is
the number of interrupted operations at some time t.
The iterative process of the optimal schedule search is terminated under the following
circumstances: either the allowable solution of the problem Г is determined during the solving
of a relaxed problem or at the fourth step of the algorithm after the integration we receive:
(r +1) (r )
J p − J p < ε 1 (24)
where ε1 is a given value, r = 0, 1, . . . If the condition (24) is not satisfied, then the third step is
repeated, etc.
The developed algorithm is similar to those considered in [20,37]. Here, the set of time points in
which the Hamiltonian is to be maximized is formed on the previous iteration. These are points of
operations interruption. Computational investigations of the proposed algorithm showed that the rate
of convergence is predominantly influenced by the choice of the initial adjoint vector ψ(t0 ). In its turn,
ψ(t0 ) depends on the first allowable control that is produced at the first step. During the scheduling
process, the machines are primarily assigned to operations of high dynamic priority.
To illustrate the main ideas of the algorithm, let us consider a simple example of a scheduling
(o )
problem with two jobs, three operations, and a single machine, (T0 , Tf ] = (0, 14], aiæ = 2 (I = 1,2;
æ = 1, 2, 3); Θiæj (t) = 1 ∀ t; ε11 (t) = 1 at t ∈ (0, 14], ε21 (t) = 0 for 0 ≤ t < 1, ε21 (t) = 1 for t ≥ 1. In this case,
the model can be described as follows:
→ .
(o ) (o ) . (o,1) (o ) . (o,2) (o,1)
M= u xiæ = ε i1 uiæ1 ; ziæ1 = uiæ1 ;ziæ1 = ziæ1 ;
. (o,3) 3 2
(o ) (o ) (o ) (o ) (o ) (o ) (o ) (o ) (o ) (o )
ziæ1 =wiæ1 ; uiæ1 (t), wiæ (t) ∈ {0, 1}, ∑ ∑ uiæ1 (t) ≤ 1; ui21 ai1 − xi1 = 0; ui31 ai2 − xi2 = 0;
æ=1 i =1 (25)
(o ) (o ) (o,1) (o ) (o,1) (o,2) (o,3) (o )
wiæ1 aiæ − ziæ = 0; T0 = 0 : xiæ (t0 ) = ziæ1 (t0 ) = ziæ1 (t0 ) = ziæ1 (t0 ) = 0; T f = 14 : xiæ (t f ) = 2;
(o,l )
ziæ1 (t f ) ∈ R1 , l = 1, 2, 3 .
156
Algorithms 2018, 11, 57
⎡ 2 ⎤
(o ) 2
2 3 (o ) (o ) 2 (o,1) (o,3) aiæ (o,2) (o,1) 2 ⎦
Jp = ∑ ∑ ⎣ aiæ − xiæ + ziæ1 ziæ1 + 2 − ziæ1 ziæ1
i =1 æ=1
t= T f (26)
2 3 14 (o )
−∑ ∑ γiæ (τ )uiæ1 (τ )dτ,
i =1 æ=1 0
where γiæ (t) are given time functions denoting the most preferable operation intervals:
γ11 = 15γ+ (6 − t), γ12 = 10γ+ (9 − t), γ13 = 10γ+ (11 − t), γ21 = 20γ+ (8 − t), γ22 = 15γ+ (8 − t),
γ23 = 30γ+ (11 − t). Here, γ+ (α) = 1 if α ≥ 0 and γ+ (α) = 0 if α < 0. The integration element in
(27) can be interpreted similarly to previous formulas through penalties for operations beyond
the bounds of the specified intervals. The scheduling problem can be formulated as follows:
→
facilities-functioning schedule [control program u (t)] returning a minimal value to the functional (27)
under the conditions (26) and the condition of interruption prohibition should be determined.
The resulting schedule is shown in Figure 3.
The upper part of Figure 3 shows the initial feasible schedule implementing First-in-first-out
(1)
processing. The second and third cases illustrate a conflict resolution for D1 interruption. The optimal
schedule is presented in the third and the forth rows.
157
Algorithms 2018, 11, 57
The attainability sets (AS) of dynamic model (1) have an important place in qualitative analysis of
MS control processes. These sets allow detailed analysis of computational procedures to two-point
boundary problems with fixed ends of the state trajectory x(t) and a fixed time interval ( T0 , T f ].
An AS is a fundamental characteristic of any dynamic system. The AS approach determines
a range of execution policies in the presence of disturbances over which the system can be guaranteed
to meet certain goals. The union of these execution policies (i.e., feasible schedules) is called an AS
in the state space. The union of possible performance outcomes from the given execution policies
is called an AS in the performance space [43]. The AS in the state space depicts the possible states
of a schedule subject to variations of the parameters (both planned and perturbation-driven) in
the nodes and channels (e.g., different capacities, lot-sizes, etc.). Let us introduce the notation for
an AS. Dx (t, T0 , x( T0 ), U(x( T0 ))) is an AS in the state space, D J (t, T0 , x( T0 ), U(x( T0 ))) is an AS in
ξ
the performance indicator’s space, and D J (t, T0 , x( T0 ), Ξ, U(x( T0 ))) is an approximated AS under
disturbances at moment t. To interconnect schedule execution and performance analysis to the AS in
the state space, an AS in the performance space can be brought into correspondence (see Figure 4).
Results and Their Implementation The Main Results of The Directions of Practical
Qualitative Analysis of Implementation of the
No MS Control Processes Results
Analysis of solution Adequacy analysis of the
1 existence in the problems of control processes description in
MS control control models
Analysis MS control
technology realizability on the
Conditions of controllability
planning interval. Detection of
2 and attainability in the
main factors of MS goal and
problems of MS control
information-technology
abilities.
Uniqueness condition for Analysis of possibility of
3 optimal program controls in optimal schedules obtaining
scheduling problems for MS functioning
Preliminary analysis of optimal
Necessary and sufficient
control structure, obtaining of
4 conditions of optimality in
main expressions for MS
MS control problems
scheduling algorithms
Evaluation of reliability and
sensitivity of MS control
Conditions of reliability and
processes with respect to
5 sensitivity in MS control
perturbation impacts and to
problems
the alteration of input data
contents and structure
In projecting these two ASs onto each other, a certain range of the schedule execution policies
and the corresponding variation of the performance indicators can be determined. A continuous
time representation allows investigation of the changes in execution at each time point. Therefore,
at each time point, an AS can be calculated and related to output performance. The justification of
the choice of the AS method is related to its dynamic nature ([43,44]). An AS may be favourable
for obtaining estimations of performance attainability and consideration of the perturbations and
attainability abilities of the schedules as time functions. In [13,19,33–38], we proposed different methods
and algorithms of AS calculations. These results permit improvement of algorithm convergence in
MS scheduling.
The proposed model interprets MS scheduling as a response to planning goal changes, demand
fluctuations, and resource availability. In this interpretation, the problem is to schedule MS in order to
achieve the planned goals (e.g., MS service level).
The model is scalable to other management levels of MS, i.e., orders and operations can be
presented as MS configuration elements and orders, respectively. The transformation of parameters
158
Algorithms 2018, 11, 57
and goal criteria is also possible, i.e., the lead time can be considered as the MS cycle time. Hence,
the MS strategic configuration and tactical planning can be optimized.
Let us analyse some particular features of the models (1) (see Figure 1). During the conducted
experiments, it was revealed that the following model parameters influenced the improvement of the
general quality index:
On the basis of the obtained etalon solutions, we can methodically justify the usage and quality of
certain heuristics for certain variants of initial data (see Figure 5).
159
Algorithms 2018, 11, 57
Having calculated optimal solutions for several points, it is possible to validate the decision to use
either dynamic or heuristic planning algorithms. In Figure 4, the relative solution quality gained by
the optimal control algorithm DYN is assumed to be 100%. The relative quality index of the heuristic
solutions is calculated as a fraction of the optimal one, i.e., it can be observed that, in the case of
a number of processes between 10 and 12, the quality of the heuristic and optimal solutions does not
differ by more than 4%. In area 2, the DYN algorithm is preferable to the heuristics. If still using
the heuristics, the FIFO algorithm is preferable to the Last-in-first-out one. The largest benefit from
using the DYN algorithm is achieved in area 3. In this area, the LIFO algorithm is preferable to the
FIFO algorithm.
Finally, the proposed model and algorithm allows for the achievement of better results in many
cases in comparison with heuristics algorithms. However, this point is not the most important.
The most important point is that this approach allows the interlinking of planning and scheduling
models within an adaptation framework. Therefore, the suggested results are important in the Industry
4.0 domain. Hence, the proposed modeling complex does not exist as a “thing in itself” but works in
the integrated decision-support system and guides the planning and scheduling decisions in dynamics
on the principles of optimization and adaptation.
6. Conclusions
Optimal controls as functions of the system and control state allow for the generation of optimal
decisions in consideration of a system’s evolution in time in the presence of perturbations which
result in different system states. Optimal control approaches take another perspective as mathematical
programming methods which represent schedules as trajectories.
Computational algorithms with regard to state, control, and conjunctive variable spaces exist in
the literature. We have demonstrated that the advantages of optimal control methods are applicable to
the treatment of large scale problems with complex constraints, the consideration of non-stationary
process execution dynamics, the representation in differential equations of complex interrelations
between process execution, capacity evolution, and machine setups. In addition, the advantages of
optimal control also include accuracy of continuous time and accurate presentation of continuous
flows (e.g., in process industry or energy systems) with the help of continuous state variables.
An important observation is that schedule presentation in terms of optimal control makes it
possible to incorporate the rich variety of control theoretic axioms with regard to feedback adaptive
control (mostly applied in the framework of production-inventory control models) as well as the use
of control tools of qualitative performance analysis, such as attainable (reachable) sets. Limitations
of control applications include conceptual and algorithmic restrictions such as continuous process
applications and specific (i.e., non-generalized) forms of constructing algorithms with necessary
requirements concerning optimality, convergence, and numerical stability.
In this study, we exemplified an application of optimal control to manufacturing scheduling.
Fundamentally, this application dynamically decomposes the assignment matrix in time using
differential equations, and then solves (by tendency) polynomial problems of small dimensionality
at each point of time, with a subsequent integration of these partial solutions using the maximum
principle by integrating main and adjoint equation systems. The small dimensionality at each point of
time results from dynamic decomposition of job execution described by precedence relation constraints,
i.e., at each point of time, we consider only operations that can be assigned to machines at this point of
time, excluding those operations that already have been completed as well as those that cannot start
because the predecessors have not yet been completed. Algorithmically, we solved these dimensionally
small problems at subsequent point of times, integrate main and adjoint systems by the maximum
principle, and considered how a particular assignment decision changes the schedule performance
metric (e.g., tardiness). If an improvement is observed, the algorithm takes this assignment and moves
further to next point of time and continues in this manner until Tf .
160
Algorithms 2018, 11, 57
With regard to the limitations of this study, the schedule algorithm analysis by attainable sets was
used to analyse the schedule outputs at the end of the planning horizon. At the same time, attainable
sets (more precisely, their geometric approximations) can also be applied prior to schedule optimization
to analyse if any feasible schedule exists for the given problem settings (resource capacities, etc.).
This issue has not yet been considered.
In light of the revealed methodical shortcomings and application limitations of optimal control
methods based on the maximum principle, the following future research avenues can be stated. First,
concrete application cases need to be considered for which specific control models and algorithms
will be developed. The construction of models and computational procedures within proved axioms
of control theory is important. Second, application of qualitative performance analysis methods
for control policy dynamic investigation under uncertainty, such as attainable sets, must be named.
These tools might be helpful with regard to an analysis of production schedule robustness, supply
chain resilience, and Industry 4.0 system flexibility. Third, computational methods themselves require
further investigation and modification for concrete application cases. Therefore, a closer collaboration
between control and industrial engineers is critical for future applications of control methods in
operations and future supply chain management.
Author Contributions: B.S. and D.I. conceived and designed the experiments; B.S. performed the experiments;
A.D. and B.S. analyzed the data; A.D. and D.I. contributed reagents/materials/analysis tools; all authors wrote
the paper.
Acknowledgments: The research described in this paper is partially supported by the Russian Foundation
for Basic Research (grants 16-07-00779, 16-08-00510, 16-08-01277, 16-29-09482-ofi-i, 17-08-00797, 17-06-00108,
17-01-00139, 17-20-01214, 17-29-07073-ofi-i, 18-07-01272, 18-08-01505), grant 074-U01 (ITMO University),
state order of the Ministry of Education and Science of the Russian Federation No. 2.3135.2017/4.6,
state research 0073-2018-0003, International project ERASMUS +, Capacity building in higher education,
No. 73751-EPP-1-2016-1-DE-EPPKA2-CBHE-JP, Innovative teaching and learning strategies in open modelling
and simulation environment for students-centered engineering education.
Conflicts of Interest: The authors declare no conflict of interest.
Abbreviations
AS Attainability Sets
OPC Optimal Program Control
MS Manufacturing System
SSAM Successive Approximations Method
161
Algorithms 2018, 11, 57
References
1. Blazewicz, J.; Ecker, K.; Pesch, E.; Schmidt, G.; Weglarz, J. Scheduling Computer and Manufacturing Processes,
2nd ed.; Springer: Berlin, Germany, 2001.
2. Pinedo, M. Scheduling: Theory, Algorithms, and Systems; Springer: New York, NY, USA, 2008.
162
Algorithms 2018, 11, 57
3. Dolgui, A.; Proth, J.-M. Supply Chains Engineering: Useful Methods and Techniques; Springer: Berlin,
Germany, 2010.
4. Werner, F.; Sotskov, Y. (Eds.) Sequencing and Scheduling with Inaccurate Data; Nova Publishers: New York, NY,
USA, 2014.
5. Lauff, V.; Werner, F. On the Complexity and Some Properties of Multi-Stage Scheduling Problems with
Earliness and Tardiness Penalties. Comput. Oper. Res. 2004, 31, 317–345. [CrossRef]
6. Jungwattanakit, J.; Reodecha, M.; Chaovalitwongse, P.; Werner, F. A comparison of scheduling algorithms
for flexible flow shop problems with unrelated parallel machines, setup times, and dual criteria. Comput.
Oper. Res. 2009, 36, 358–378. [CrossRef]
7. Dolgui, A.; Kovalev, S. Min-Max and Min-Max Regret Approaches to Minimum Cost Tools Selection 4OR-Q.
J. Oper. Res. 2012, 10, 181–192. [CrossRef]
8. Dolgui, A.; Kovalev, S. Scenario Based Robust Line Balancing: Computational Complexity. Discret. Appl.
Math. 2012, 160, 1955–1963. [CrossRef]
9. Sotskov, Y.N.; Lai, T.-C.; Werner, F. Measures of Problem Uncertainty for Scheduling with Interval Processing
Times. OR Spectr. 2013, 35, 659–689. [CrossRef]
10. Choi, T.-M.; Yeung, W.-K.; Cheng, T.C.E. Scheduling and co-ordination of multi-suppliers single-
warehouse-operator single-manufacturer supply chains with variable production rates and storage costs. Int.
J. Prod. Res. 2013, 51, 2593–2601. [CrossRef]
11. Harjunkoski, I.; Maravelias, C.T.; Bongers, P.; Castro, P.M.; Engell, S.; Grossmann, I.E.; Hooker, J.; Méndez, C.;
Sand, G.; Wassick, J. Scope for industrial applications of production scheduling models and solution methods.
Comput. Chem. Eng. 2014, 62, 161–193. [CrossRef]
12. Bożek, A.; Wysocki, M. Flexible Job Shop with Continuous Material Flow. Int. J. Prod. Res. 2015, 53,
1273–1290. [CrossRef]
13. Ivanov, D.; Dolgui, A.; Sokolov, B. Robust dynamic schedule coordination control in the supply chain.
Comput. Ind. Eng. 2016, 94, 18–31. [CrossRef]
14. Giglio, D. Optimal control strategies for single-machine family scheduling with sequence-dependent batch
setup and controllable processing times. J. Sched. 2015, 18, 525–543. [CrossRef]
15. Lou, S.X.C.; Van Ryzin, G. Optimal control rules for scheduling job shops. Ann. Oper. Res. 1967, 17, 233–248.
[CrossRef]
16. Maimon, O.; Khmelnitsky, E.; Kogan, K. Optimal Flow Control in Manufacturing Systems; Springer: Berlin,
Germany, 1998.
17. Ivanov, D.; Sokolov, B. Dynamic coordinated scheduling in the manufacturing system under a process
modernization. Int. J. Prod. Res. 2013, 51, 2680–2697. [CrossRef]
18. Pinha, D.; Ahluwalia, R.; Carvalho, A. Parallel Mode Schedule Generation Scheme. In Proceedings of the
15th IFAC Symposium on Information Control Problems in Manufacturing INCOM, Ottawa, ON, Canada,
11–13 May 2015.
19. Ivanov, D.; Sokolov, B. Structure dynamics control approach to supply chain planning and adaptation. Int. J.
Prod. Res. 2012, 50, 6133–6149. [CrossRef]
20. Ivanov, D.; Sokolov, B.; Dolgui, A. Multi-stage supply chains scheduling in petrochemistry with
non-preemptive operations and execution control. Int. J. Prod. Res. 2014, 52, 4059–4077. [CrossRef]
21. Pontryagin, L.S.; Boltyanskiy, V.G.; Gamkrelidze, R.V.; Mishchenko, E.F. The Mathematical Theory of Optimal
Processes; Pergamon Press: Oxford, UK, 1964.
22. Athaus, M.; Falb, P.L. Optimal Control: An Introduction to the Theory and Its Applications; McGraw-Hill:
New York, NY, USA; San Francisco, CA, USA, 1966.
23. Lee, E.B.; Markus, L. Foundations of Optimal Control Theory; Wiley & Sons: New York, NY, USA, 1967.
24. Moiseev, N.N. Element of the Optimal Systems Theory; Nauka: Moscow, Russia, 1974. (In Russian)
25. Bryson, A.E.; Ho, Y.-C. Applied Optimal Control; Hemisphere: Washington, DC, USA, 1975.
26. Gershwin, S.B. Manufacturing Systems Engineering; PTR Prentice Hall: Englewood Cliffs, NJ, USA, 1994.
27. Sethi, S.P.; Thompson, G.L. Optimal Control Theory: Applications to Management Science and Economics, 2nd ed.;
Springer: Berlin, Germany, 2000.
28. Dolgui, A.; Ivanov, D.; Sethi, S.; Sokolov, B. Scheduling in production, supply chain Industry 4.0 systems by
optimal control: fundamentals, state-of-the-art, and applications. Int. J. Prod. Res. 2018, forthcoming.
29. Bellmann, R. Adaptive Control Processes: A Guided Tour; Princeton University Press: Princeton, NJ, USA, 1972.
163
Algorithms 2018, 11, 57
30. Maccarthy, B.L.; Liu, J. Addressing the gap in scheduling research: A review of optimization and heuristic
methods in production scheduling. Int. J. Prod. Res. 1993, 31, 59–79. [CrossRef]
31. Sarimveis, H.; Patrinos, P.; Tarantilis, C.D.; Kiranoudis, C.T. Dynamic modeling and control of supply chains
systems: A review. Comput. Oper. Res. 2008, 35, 3530–3561. [CrossRef]
32. Ivanov, D.; Sokolov, B. Dynamic supply chains scheduling. J. Sched. 2012, 15, 201–216. [CrossRef]
33. Ivanov, D.; Sokolov, B. Adaptive Supply Chain Management; Springer: London, UK, 2010.
34. Ivanov, D.; Sokolov, B.; Käschel, J. Integrated supply chain planning based on a combined application of
operations research and optimal control. Central. Eur. J. Oper. Res. 2011, 19, 219–317. [CrossRef]
35. Ivanov, D.; Dolgui, A.; Sokolov, B.; Werner, F. Schedule robustness analysis with the help of attainable sets in
continuous flow problem under capacity disruptions. Int. J. Prod. Res. 2016, 54, 3397–3413. [CrossRef]
36. Kalinin, V.N.; Sokolov, B.V. Optimal planning of the process of interaction of moving operating objects. Int. J.
Differ. Equ. 1985, 21, 502–506.
37. Kalinin, V.N.; Sokolov, B.V. A dynamic model and an optimal scheduling algorithm for activities with bans
of interrupts. Autom. Remote Control 1987, 48, 88–94.
38. Ohtilev, M.Y.; Sokolov, B.V.; Yusupov, R.M. Intellectual Technologies for Monitoring and Control of
Structure-Dynamics of Complex Technical Objects; Nauka: Moscow, Russia, 2006.
39. Krylov, I.A.; Chernousko, F.L. An algorithm for the method of successive approximations in optimal control
problems. USSR Comput. Math. Math. Phys. 1972, 12, 14–34. [CrossRef]
40. Chernousko, F.L.; Lyubushin, A.A. Method of successive approximations for solution of optimal control
problems. Optim. Control Appl. Methods 1982, 3, 101–114. [CrossRef]
41. Ivanov, D.; Sokolov, B.; Dolgui, A.; Werner, F.; Ivanova, M. A dynamic model and an algorithm for short-term
supply chain scheduling in the smart factory Industry 4.0. Int. J. Prod. Res. 2016, 54, 386–402. [CrossRef]
42. Hartl, R.F.; Sethi, S.P.; Vickson, R.G. A survey of the maximum principles for optimal control problems with
state constraints. SIAM Rev. 1995, 37, 181–218. [CrossRef]
43. Chernousko, F.L. State Estimation of Dynamic Systems; Nauka: Moscow, Russia, 1994.
44. Gubarev, V.A.; Zakharov, V.V.; Kovalenko, A.N. Introduction to Systems Analysis; LGU: Leningrad,
Russia, 1988.
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
164
algorithms
Article
Entropy-Based Algorithm for Supply-Chain
Complexity Assessment
Boris Kriheli 1 and Eugene Levner 2, *
1 School of Economics, Ashkelon Academic College, Ashkelon 84101, Israel; borisk@hit.ac.il
2 Department of Computer Science, Holon Institute of Technology, Holon 58102, Israel
* Correspondence: levner@hit.ac.il; Tel.: +972-2-583-2290
Abstract: This paper considers a graph model of hierarchical supply chains. The goal is to measure
the complexity of links between different components of the chain, for instance, between the principal
equipment manufacturer (a root node) and its suppliers (preceding supply nodes). The information
entropy is used to serve as a measure of knowledge about the complexity of shortages and pitfalls in
relationship between the supply chain components under uncertainty. The concept of conditional
(relative) entropy is introduced which is a generalization of the conventional (non-relative) entropy.
An entropy-based algorithm providing efficient assessment of the supply chain complexity as a
function of the SC size is developed.
1. Introduction
This paper presents the entropy-based optimization model for estimating structural complexity
of supply chain (SC), and, in particular, complexity of relationship between the principal equipment
manufacturer (a root node) and its suppliers (preceding supply nodes). The information entropy is
used as a measure of decision maker’s knowledge about the risks of shortages and pitfalls in relations
between the supply chain components under uncertainty, the main attention being paid to relationships
between the principal equipment manufacturer (a root node of the corresponding graph model) and
its suppliers. A concept of the conditional (relative) entropy is introduced which is a generalization of
the conventional (non-relative) entropy that provides more precise estimation of complexity in supply
chains as it takes into account information flows between the components of different layers. A main
advantage of the suggested entropy-based approach is that it can essentially simplify the hierarchical
tree-like model of the supply chain, at the same time retaining the basic knowledge about main sources
of risks in inter-layer relationships.
Processes of production, storage, transportation, and utilization of products in SCs may lead to
many negative effects on the environment, such as emissions of pollutants into the air and soil;
discharges of pollutants into surface and groundwater basins; pollution of soil and water with
waste products of production, all these phenomena in their entirety deteriorating the relationships
between manufacturing components and their suppliers. These and many other risky situations for
manufacturing lead to the uncertainty in SC’s phases, i.e., engineering, procurement, production,
and distribution [1]. The entropic approach developed in this paper aims at defining the best (minimal
but sufficient) level of information going through the several supply chain phases. This paper
analyzes the structural complexity of the supply chain affected by technological, organizational
and environmental adverse events in the SCs, consequences of which lead, as a result, to violations
of correct functioning of the SC. The detailed definition and analysis of the supply-chain structural
complexity can be found in [2–10].
Similar to many other researchers (see, e.g., [11–13]), in order to accurately measure the risks of
pitfalls and cases of failed supplies, this paper tends to determine the probabilities of undesirable
events and their negative impacts on material, financial, and information flows. The economic losses
are caused by failures to supply, shipments of inappropriate products, incomplete deliveries, delays in
deliveries, etc., and the harmful effect of the adverse events may be expressed in monetary form by
relevant penalties.
The main differences of the present work in comparison with close earlier papers (see,
e.g., [7,12,14,15]) also exploiting the entropy approach for the SC complexity analysis are the following:
• This paper develops a new graph-theoretic model as a tool for selecting the most vulnerable
disruption risks inside the SC which, in turn, can essentially decrease the size of the initial SC
model without sacrificing essential knowledge about the risks;
• This paper introduces the conditional entropy as a tool for integrated analysis of the SC complexity
under uncertainty, provides more precise estimation of the supply chain complexity taking into
account links between the nodes of different layers;
• This paper suggests a new fast entropy-based algorithm for minimizing the SC size.
This paper is structured as follows. The related definitions from graph theory are presented in the
next section. The definition of information entropy and the detailed problem description are given
in Section 3. Section 4 describes the entropy-based algorithm permitting to reduce the SC model size
without a loss of essential information. Section 5 describes the numerical example. Section 6 concludes
the paper.
2. Basic Definitions
Wishing to avoid any ambiguity in further discussions, we begin with key definitions of risk
and ambiguity in relationships between the manufacturer and its supplier. There is a wide specter
of different definitions of risk and uncertainty. In this study, we follow Knight’s [16] view and his
numerous followers. The uncertainty is the absence of certainty in our knowledge, or, in other words,
a situation wherein it is impossible to precisely describe future outcomes. In the Knightian sense,
the risk is measurable uncertainty, which is possible to calculate.
Similar to many other risk evaluators, we assume that the notion of risk can be described as the
expected value of an undesirable outcome, that is, the product of two characteristics, the probability of
an undesirable event (that is, a negative deviation of the delayed supply or failure to reach the planned
supply target), and the impact or severity, that is, an expected loss in the case of the disruption affecting
the supply of products across organizations in a supply network. In a situation with several possible
accidents, we admit that the total risk is the sum of the risks for different accidents (see, e.g., [11,17,18]).
In the model considered below, an “event” is the observable discrete change in the state of the SC
or its components. A “risk driver” is a factor, a driving force that may be a cause of the undesirable
unforeseen event, such as disruptions, breakdowns, defects, mistakes in the design and planning,
shortages of material in supply in the SC, etc. In this paper, we study the situations with an “observable
uncertainty” where there is an objective opportunity to register, for a pre-specified period of time,
the adverse events in the relationships between the components in the SC. Such a registration list,
called a “risk protocol”, provides us the information whether or not the events are undesirable and,
in the case if the event is undesirable what are its risk drivers and possible loss (see [12,19]). Such
statistics in the risk protocols permits the decision maker to quantitatively evaluate a contribution of
each driver and the total (entropy-based) observable information in the SC.
There exists a wide diversity of risk types, risk drivers, and options for their mitigation in the SC.
Their taxonomy lies beyond the scope of this paper. Many authors noticed that if a researcher tries to
analyze potential failures/disruptions of all the suppliers in a SC or their absolute majority, he/she
encounters a simply impractical and unrealistic problem demanding an astronomic amount of time
166
Algorithms 2018, 11, 35
and budget. Moreover, the supply chain control of the root node of the supply chain is much more
important than the control of any of its successors ([6,8]).
Consider a tree-type graph representing the hierarchical structure of an industrial supply chain
Define the “parent layer”, called also the “main layer”, as consisting of a single node, as follows:
L0 = {n0 } where n0 is the single node of the parent layer. Called also the original equipment
manufacturer (OEM), or the root node. OEM is a firm (or company) that creates an end product,
for, instance, assembles and creates an automobile.
Define a layer Ls (also denoted as layer s) as the set of nodes which are on the same distance s
from the root node n0 in the underlying graph of the SC.
Layer 1 (also called Tier 1) are the companies supplying components directly to the OEM
that set up the chain. In a typical supply chain, companies in Tier 2 supply the companies in
Tier 1; Tier 3 supplies Tier 2, and so on. Tiered supply chains are common in industries such as
aerospace or automotive manufacturing where the final product consists of many complex components
and sub-assemblies.
Define a “cut” (also called a “cross-section”)Cs as a union
of all the layers L0 , L1 , L2 , . . . Ls , from 0
to s. It is evident that C0 = L0 , Cs−1 ⊂ Cs , Cs = C(s−1) , Ls s = 1, 2, . . ., S.
Assume that, for each node of the SC, the list of risk drivers F = { f 1 , f 2 , . . . f N } is known, each
being a source of different adverse events in the nodes of the SC. For simplicity, but without loss of
generality, assume that any adverse event is caused by a single risk driver (otherwise, one can split
such a multi-drive event into several elementary events each one being caused by a single driver).
Here N is the total number of all the drivers.
Another basic assumption to be used in this work is that the drive factors are mutually dependent.
It means, for example, that an unfavorable technological decision or an environmental pollution, that is,
caused by a technology-based driver in some component at Tier 2 may lead to an adverse event in
supply operations to a node at Tier 1. A technological mistake at Tier 3 may be a source of a delayed
supply to Tier 2, and so on. In general, any factors f happening at tier s may be depending on a factor
f at an earlier tier s + 1, f = 1, . . . , N; f = 1, . . . , N; s = 1, . . . , S. Below, the dependencies will be
described with the help of the N × N matrix of relative probabilities.
The following Markovian property is assumed to take place. Assume that the dependence
between any factor in tier s, on the one hand, and the factors in the lower tiers s + 1, s + 2, . . . , S actually
exists only for the factors in a pair of neighboring tiers (s, s + 1), where s = 0,1, . . . , S. Moreover, assume
that the pitfalls and any defective decisions do not flow downwards, that is, any risk factor in tier s
does not depend upon the risk drivers in the nodes of higher layers, numbered s − 1, s − 2, . . . , 1.
In each layer s, when computing the probability of risk drivers f occurring in the nodes of the
layer s, two types of adverse events have a place. First, there are the events (called “primary events”
and denoted by Af prime (s)) that have happened in the nodes of layer s and which are caused by the
risk driver f, f = 1, . . . , N. Second, there are the events (called “secondary events” and denoted by
Af second (s + 1, s)) that have happened in the nodes of the next layer (s ± 1) but have an indirect impact
upon inverse events in s, since the risk factors are dependent. More precisely, different drivers f in s+1
have impact upon the driver f in layer s, f = 1, . . . , N; f = 1, . . . , N; s = 1,2, . . . , S.
The impact from f to f is estimated with the help of the transition probability matrix M which is
defined below and computed from the data in the risk protocols.
Denote by Aj (s) the following events:
Af (s) = {risk driver f is the source of various adverse events in supply to all the nodes of layer s},
f = 1, . . . , N, s = 0,1, . . . , S.
Denote by pf (s) = Pr (Af (s)) the probability that the risk driver f is the source of different adverse
events in supply in layer s,
pi (s) = Pr( Ai (s)) = Pr {the risk driver fi is the cause of adverse event on the layer s only}
Denote by pf prime (s) = Pr (Af prime (s)) the probability that the risk driver f is the source of different
adverse events in layer s, and which are caused by the risk driver f. These probabilities are termed as
167
Algorithms 2018, 11, 35
“primary”. Next, denote by pf second (s) = Pr (Af second (s)) the probability that the risk driver f is a source
of different adverse events in layer s which is a result of the indirect effect on the f by the risk drivers
f that have caused the adverse events in layer s+1; these probabilities are termed as “secondary”.
Introduce the
following notation:
(1) prime (1)
pi (s) = Pr Ai (s) = Pr Ai = Pr {the risk driver fi is the cause of adverse event on the
layer s only}
(2) ond ( s ) = Pr A(2) = Pr {the risk driver f is the cause of adverse effect on the
pi (s) = Pr Asec i i i
layer s as the result of the risk drivers on the layers s + 1}.
For simplicity, and without loss of generality, suppose that the list of risk drivers F = { f 1 , f 2 , . . . f N }
is complete for each layer. Then the following holds
N
∑ pi (s) = 1 for s = 0, 1, 2, . . .. (1)
i =1
Therefore,
(1) (2)
p( Ai (s)) = p Ai (s) + p Ai (s)
or
(1) (2)
pi ( s ) = pi ( s ) + pi ( s ) i = 1, 2, . . . , N. (2)
Then the vector of risk driver probabilities p(s) = ( p1 (s), p2 (s), . . . p N (s)) can be decomposed
into two vectors as
p ( s ) = p(1) ( s ) + p(2) ( s ) , (3)
(1) (1) (1)
where p(1) (s) = p1 (s), p2 (s), . . . , p N (s) is the vector of drivers’ primary probabilities and
( ) ( ) ( )
p(2) (s) = p1 (s), p2 (s), . . . , p N (s) the vector of drivers’ secondary probabilities.
2 2 2
For any layer s, define the transition matrix M(2) (s) of conditional probabilities of the risk drivers
on layer s that are obtained as the result of risk drivers existing on layer s + 1
(2)
M(2) (s) = pij (s) , s = 0, 1, 2, . . . , with
N×N
(2) (2)
pij (s) = Pr A j (s)Ai (s + 1) i, j = 1, 2, . . . , N, s = 0, 1, 2 . . . (4)
(1)
qij (s) = p j (s), i, j = 1, 2, . . . , N, s = 0, 1, . . .
⎛ (1) (1) (1)
⎞
p ( s ) p2 ( s ) . . p N ( s )
⎜ 1 ⎟
⎜ (1) ⎟
⎜ p ( s ) p (1) ( s ) . . p (1) ( s ) ⎟
⎜ 1 2 N ⎟
ML(s) = ⎜ ⎜
⎟
⎟ (5)
⎜ . . . . . ⎟
⎜ ⎟
⎝ . . . . . ⎠
(1) (1) (1)
p1 ( s ) p2 ( s ) . . p N ( s )
168
Algorithms 2018, 11, 35
N
(2) (2) (2)
pj A j (s) = ∑ pi (s + 1) · pij ( s ), j = 1, 2, . . . , N, s = 0, 1, . . .
i =1
or
N
(2) (2) (2)
pj A j (s) = ∑ pi (s + 1) · pij ( s ), j = 1, 2, . . . , N, s = 0, 1, . . . (8)
i =1
In order to yield all necessary information on the SC complexity issues, this paper uses the data
recording of all adverse events occurred. The enterprise is to collect and store the data about main
adverse events that occurred and led to economic losses in the enterprise, compensation cost, as well
as the statistical analysis of the recorded data. Such requirement also applies to the registration of
information about control of compliance of target and actual environmental characteristics.
Similar to [12], for each node u, consider an information database called a ‘risk protocol’. This is a
registration list of most important events that have occurred in the node during a pre-specified time
period. The protocol provides us the information whether or not the events are undesirable and, in the
latter case, what are its risk drivers and possible losses.
This data is recorded in tables TBLu , representing lists of events in each node u during a certain
time period T (e.g., month, or year). Each row in the table corresponds to an individual event occurring
in a given node at a certain time moment (for example, a day). We use symbol f as an index of risk
drivers, F as the total number of risk drivers, and r as an index of the event (row). The value zrf at the
intersection of column f and row r is equal to 1 if the risk factor f is a source of the adverse event r,
and 0—otherwise. The last column, F + 1, in each row (r) contains the magnitude of economic loss
caused by the corresponding event r.
169
Algorithms 2018, 11, 35
As far as the tables TBLu , for all the nodes belonging to a certain arbitrary SC layer, says,
are derived, all the tables are gathered into the Cut_Table CTs for the entire SC cut. Let Rs (u) denote
the total number of observed adverse (critical) events in a node u of cut Cs during a certain planning
period. If such cut contains n(s) nodes, the total number of critical events in it is Ns = ∑u=1, . . . ,n(s) Rs (u).
Assume that there are F risk drivers. For each risk driver f (f = 1, . . . , F), we can compute the number
Ns (u, f ) of critical events caused by driver f in the node u and the total number Ns (f ) of critical events
in all nodes of cut Cs , as registered in the risk protocols.
The relative frequency ps (f ) of that driver f is the source of different critical events in nodes of
s and can be treated as the estimation of the corresponding probability. Then we compute the latter
probability as
ps (f ) = Ns (f )/Ns (12)
Then ∑f ps (f ) = 1.
For the sake of simplicity of further analysis, our model applies to the case when the critical events
are independent within the same tier and the losses are additive (these assumptions will be relaxed in
our future research). For any node u from s, we can define corresponding probabilities ps (u, f ) of the
event that a driver f is the source of adverse events in node u
This paper treats the ps (u, f ) values defined by Equation(3) as probabilities of events participating
in calculation of the entropy function in Equation (1).
The main idea of the suggested entropic approach is that the information entropy in this study
estimates the average amount of information contained in a stream of critical events of the risk protocol.
Thus the entropy characterizes our uncertainty, or the absence of knowledge, about the risks. The idea
here is that the less the entropy is, the more information and knowledge about risks is available for the
decision makers.
The entropy value can be computed iteratively for each cut of the SC. Assume that the nodes of a
cut Cs −1 , are defined at step (iteration) s − 1. Denote by Ts all supplier-nodes in the supply layer s of
the given tree. Let Ls (Ts ) denote the total losses defined by the risk protocol and summed up for all
nodes of cut Cs in tiers Ts : Ls (Ts ) = ∑u ∈Ts cs (u). Further, let LT denote the total losses for all nodes of
the entire chain. Thus, Ls (Ts ) are contributions of the suppliers of cut Cs into the total losses LT.
Then Ls (Ts )/LT define the relative losses in the s-truncated supply chain. The relative contribution
of lower tiers, that is, of those with larger s values, are, respectively, (LT − Ls (Ts ))/LT. One can observe
that the larger is the share (LT − Ls (Ts ))/LT in comparison with Ls (Ts )/LT, the less is the available
information about the losses in the cut Cs . For example, if the ratio Ls (Ts )/LT = 0.2, this case give us
less information about the losses in cut Cs in comparison with the opposite case of Ls (Ts )/LT = 0.8.
This argument motivates us to take the ratios (LT − Ls (Ts ))/LT as the coefficients (weights) of the
entropy (or, of our unawareness) about the economic losses incurred by adverse events affecting the
environmental quality. In other words, the latter coefficients weigh the lack of our knowledge about
the losses; as far as the number s grows, these coefficients become less and less significant.
Then the total entropy of all nodes u included into the cut s will be defined as
170
Algorithms 2018, 11, 35
Then the total entropy of all nodes included into the cut s will be defined as
where
N
H ∗ (Cs ) = − ∑ p j (Cs ) log p j (Cs ) is the entropy of cut Cs
j =1
Define the “variation of relative entropy” depending upon the cut number is
c ( s −1)
H ( s − 1) − c(s)
H (s)
REV (s) = c ( s −1)
. (19)
H (1) − c(s)
H (s)
Theorem. For the process of sequentially computing of the relative entropy variation (REV), for any
fixed value ε, there exists the layer number s* for which it holds: | REV (s∗)| < ε.
Proof. For simplicity, we assume that the entropy of any layer depends only upon the information of
the neighbor layers, that is,
H ∗ ( L s | L s +1 , L s +2 , . . . L k ) = H ∗ ( L s | L s +1 ), s = 0, 1, 2, . . . , k − 1
Let us exploit the following Formula for the entropy of combined system (see [21]):
H ( X1 , X2 , . . . X s ) = H ( X1 ) + H ( X2 | X1 ) + H ( X3 | X1 , X2 ) + . . . + H ( X s | X1 , X2 , . . . , X s − 1 ) ,
171
Algorithms 2018, 11, 35
Here H ∗ ( Ls−1 | Ls ) denotes the conditional entropy of the layer s−1 under the condition that the
probabilities and entropy of layer s are found.
Denote, for convenience, H (Cs ) = H (s) and H ∗ (Cs ) = H ∗ (s).
Using the definition of the weighted entropy and Formula (21), we obtain
Using the Formula of the conditional entropy, the definitions of events Ai (s), probabilities pi (s)
and matrices M(2) (s), we can write that
N N
H ∗ ( Ls−1 | Ls ) = − ∑ P( Ai (s)) · ∑ P A j (s − 1)| Ai (s) · logP A j (s − 1)| Ai (s)
i =1 j =1
N N (1)
(1)
= − ∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1)
i =1 j =1
N N
∗ (1) (1)
H ( L s −1 | L s ) = − ∑ p i ( s ) · ∑ p̂ij (s − 1) · log p̂ ( s − 1) (23)
i =1 j =1
s = 1, 2, . . .
H (s − 1) − H (s) =
N
N (1)
(1)
= H (s − 1) − c(s) H ∗ (Cs−1 ) + H ∗ ( Ls ) − H ∗ ( Ls−1 ) − ∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1) =
i =1
j =1 .
N N (1)
(1)
= 1 − c(cs(−s)1) H (s − 1) − c(s)( H ∗ ( Ls ) − H ∗ ( Ls−1 )) + c(s) ∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1)
i =1 j =1
We obtain that
N N (1)
c(s) (1)
H ( s − 1) − H ( s ) = 1 − c ( s −1)
H (s − 1) − c(s)( H ∗ ( Ls ) − H ∗ ( Ls−1 )) + c(s) · ∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1) (25)
i =1 j =1
s = 1, 2, . . .
c(s)
0 < 1− c ( s −1)
< 1,
N N (1)
(1)
0<−∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1) < log N
i =1 j =1
we obtain that
lim ( H (s − 1) − H (s)) = 0
s→∞
172
Algorithms 2018, 11, 35
Therefore, for any accuracy level ε, we can select the number of a cut s1 for which
H ( s1 − 1) − H ( s1 )
<ε
H (0) − H ( s1 )
The truncated part of the SC containing only layers of the cut (s1 − 1) possesses the required level
of the entropy variation. The theorem is proved.
The theorem permits the decision maker to define the decreased size of the SC model, such that
the decreased number of the layers in the SC model is sufficient for planning and coordinating the
knowledge about the risks in the relations between the SC components, without the loss of essential
information about the risks.
Step 1. Using the entropy Formulas (11)–(17), calculate entropy of the layer 0:
N
H ∗ ( L0 ) = − ∑ p j (0) log p j (0)
j =1
H (0) = H ∗ ( L0 )
N
HC ∗ ( L0 ) = − ∑ pcj (0) log pcj (0)
j =1
Step 4. For s = 2,3, . . . , using matrix M̂(1) (s), vector p(s) = ( p1 (s), p2 (s), . . . p N (s)) compute
sequentially the corrected vectors of probabilities for the layers Ls−1 : pc (s − 1) = p(s) · M̂(1) (s − 1)
N
Step 5. Compute HC ∗ ( Ls−1 ) = − ∑ pcj (s − 1) log pcj (s − 1)
j =1
Step 6. Compute
H (0) − H (1) =
N N (1)
c (1) ∗ ∗ (1)
= 1 − c(0) H (0) − c(1)( H ( L1 ) − HC ( L0 )) + c(1) ∑ pi (1) · ∑ p̂ij (0) · log p̂ij (0)
i =1 j =1
173
Algorithms 2018, 11, 35
H ( s − 1) − H ( s ) =
N N (1)
(1)
= 1 − c(cs(−s)1) H (s − 1) − c(s)( H ∗ ( Ls ) − HC ∗ ( Ls−1 )) + c(s) ∑ pi (s) · ∑ p̂ij (s − 1) · log p̂ij (s − 1)
i =1 j =1
5. Numerical Example
Input data:
- the number or risk factor drivers in each layer, N = 3;
- level of accuracy ε = 0.01;
- the weight function c(s) = 1 2 (selected by the decision maker).
( s +1)
- probabilities pf prime (s) = Pr (Af prime (s))
M (2) ( 1 ) =
174
Algorithms 2018, 11, 35
M (2) ( 2 ) =
M (2) ( 3 ) =
M (2) ( 4 ) =
M (2) ( 5 ) =
M (2) ( 6 ) =
M (2) ( 7 ) =
M (2) ( 8 ) =
M (2) ( 9 ) =
M(2) (10) =
175
Algorithms 2018, 11, 35
M̂(1) (s) = pij (s) , s = 1, 2, . . . , 10
M̂ (:, :, 1) =
M̂ (:, :, 2) =
M̂ (:, :, 3) =
M̂ (:, :, 4) =
M̂ (:, :, 5) =
M̂ (:, :, 6) =
176
Algorithms 2018, 11, 35
M̂ (:, :, 7) =
M̂ (:, :, 8) =
M̂ (:, :, 9) =
M̂ (:, :, 10) =
Omitting intermediate calculations, at Steps 6 and 7, the algorithm computes values H(s) and
REV(s) for each cut s, as presented in Table 1.
S 0 1 2 3 4 5 6
H(s) 2.5693 1.2861 0.5972 0.1735 0.0953 0.0378 0.0235
REV(s) - 1 0.5368 0.3301 0.0609 0.0448 0.0111
We observe that REV(6) value is less then ε = 0.01, therefore we can reduce our SC size by taking
the truncated model with s = 6. The results of computations are graphically presented in Figure 1.
6. Conclusions
A main contribution of this paper is the entropy-based method for a quantitative assessment
of the information and knowledge relevant to the analysis of the SC size and complexity. Using the
entropy approach, the suggested model extracts a sufficient amount of useful information from the
177
Algorithms 2018, 11, 35
risk protocols generated at different SC units. Assessment of the level of entropy for the risks allows
the decision maker, step by step, to assess the entropy in the SC model and, consequently, to increase
the amount of useful knowledge. As a result, we arrive at a reduced graph model of the supply chain
such that it contains essentially the same amount of information about controllable parameters as the
complete SC graph but much smaller in size.
An attractive direction for further research is to incorporate the human factor and, in particular,
the effect of human fatigue (see [22]) on performance of industrial supply chains under uncertainty in
dynamic environments.
References
1. Fera, M.; Fruggiero, F.; Lambiase, A.; Macchiaroli, R.; Miranda, S. The role of uncertainty in supply chains
under dynamic modeling. Int. J. Ind. Eng. Comput. 2017, 8, 119–140. [CrossRef]
2. Calinescu, A.; Efstathiou, J.; Schirn, J.; Bermejo, J. Applying and assessing two methods for measuring
complexity in manufacturing. J. Oper. Res. Soc. 1998, 49, 723–733. [CrossRef]
3. Sivadasan, S.; Efstathiou, J.; Calinescu, A.; Huatuco, L.H. Advances on measuring the operational complexity
of supplier–customer systems. Eur. J. Oper. Res. 2006, 171, 208–226. [CrossRef]
4. Sivadasan, S.; Efstathiou, J.; Frizelle, G.; Shirazi, R.; Calinescu, A. An information-theoretic methodology
for measuring the operational complexity of supplier-customer systems. Int. J. Oper. Prod. Manag. 2002, 22,
80–102. [CrossRef]
5. Sivadasan, S.; Smart, J.; Huatuco, L.H.; Calinescu, A. Reducing schedule instability by identifying and
omitting complexity-adding information flows at the supplier–customer interface. Int. J. Prod. Econ. 2013,
145, 253–262. [CrossRef]
6. Battini, D.; Persona, A. Towards a Use of Network Analysis: Quantifying the Complexity of Supply Chain
Networks. Int. J. Electron. Cust. Relatsh. Manag. 2007, 1, 75–90. [CrossRef]
7. Isik, F. An Entropy-based Approach for Measuring Complexity in Supply Chains. Int. J. Prod. Res. 2010, 48,
3681–3696. [CrossRef]
8. Allesina, S.; Azzi, A.; Battini, D.; Regattieri, A. Performance Measurement in Supply Chains: New Network
Analysis and Entropic Indexes. Int. J. Prod. Res. 2010, 48, 2297–2321. [CrossRef]
9. Modraka, V.; Martona, D. Structural Complexity of Assembly Supply Chains: A Theoretical Framework.
Proced. CIRP 2013, 7, 43–48. [CrossRef]
10. Ivanov, D. Entropy-Based Supply Chain Structural Complexity Analysis. In Structural Dynamics and Resilience
in Supply Chain Risk Management; International Series in Operations Research & Management Science;
Springer: Berlin, Germany, 2018; Volume 265, pp. 275–292.
11. Kogan, K.; Tapiero, C.S. Supply Chain Games: Operations Management and Risk Valuation; Springer: New York,
NY, USA, 2007.
12. Levner, E.; Ptuskin, A. An entropy-based approach to identifying vulnerable components in a supply chain.
Int. J. Prod. Res. 2015, 53, 6888–6902. [CrossRef]
13. Aven, T. Risk Analysis; Wiley: New York, NY, USA, 2015.
14. Harremoës, P.; Topsøe, F. Maximum entropy fundamentals. Entropy 2001, 3, 191–226. [CrossRef]
15. Herbon, A.; Levner, E.; Hovav, S.; Shaopei, L. Selection of Most Informative Components in Risk Mitigation
Analysis of Supply Networks: An Information-gain Approach. Int. J. Innov. Manag. Technol. 2012, 3, 267–271.
16. Knight, F.H. Risk, Uncertainty, and Profit; Hart, Schaffner & Marx: Boston, MA, USA, 1921.
17. Zsidisin, G.A.; Ellram, L.M.; Carter, J.R.; Cavinato, J.L. An Analysis of Supply Risk Assessment Techniques.
Int. J. Phys. Distrib. Logist. Manag. 2004, 34, 397–413. [CrossRef]
18. Tapiero, C.S.; Kogan, K. Risk and Quality Control in a Supply Chain: Competitive and Collaborative
Approaches. J. Oper. Res. Soc. 2007, 58, 1440–1448. [CrossRef]
178
Algorithms 2018, 11, 35
19. Tillman, P. An Analysis of the Effect of the Enterprise Risk Management Maturity on Sharehokder Value during
the Economic Downturn of 2008–2010. Master’s Thesis, University of Pretoria, Pretoria, South Africa, 2011.
20. Shannon, C.E. A Mathematical Theory of Communication. Bell Syst. Tech. J. 1948, 27, 379–423. [CrossRef]
21. Wentzel, E.S. Probability Theory; Mir Publishers: Moscow, Russia, 1982.
22. Fruggiero, F.; Riemma, S.; Ouazene, Y.; Macchiaroli, R.; Guglielmim, V. Incorporating the human factor
within the manufacturing dynamics. IFAC-PapersOnline 2016, 49, 1691–1696. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
179
algorithms
Article
PHEFT: Pessimistic Image Processing Workflow
Scheduling for DSP Clusters
Alexander Yu. Drozdov 1 , Andrei Tchernykh 2,3, *, Sergey V. Novikov 1 , Victor E. Vladislavlev 1
and Raul Rivera-Rodriguez 2
1 Moscow Institute of Physics and Technology, Moscow 141701, Russia;
alexander.y.drozdov@gmail.com (A.Y.D.); serg.v.novikov@gmail.com (S.V.N.);
victor.vladislavlev@gmail.com (V.E.V.)
2 Computer Science Department, CICESE Research Center, 22860 Ensenada, Baja California, Mexico;
rrivera@cicese.mx
3 School of Electrical Engineering and Computer Science, South Ural State University,
Chelyabinsk 454080, Russia
* Correspondence: chernykh@cicese.mx or chernykhan@susu.ru; Tel.: +52-646-178-6994
Abstract: We address image processing workflow scheduling problems on a multicore digital signal
processor cluster. We present an experimental study of scheduling strategies that include task
labeling, prioritization, resource selection, and digital signal processor scheduling. We apply these
strategies in the context of executing the Ligo and Montage applications. To provide effective
guidance in choosing a good strategy, we present a joint analysis of three conflicting goals based
on performance degradation. A case study is given, and experimental results demonstrate that
a pessimistic scheduling approach provides the best optimization criteria trade-offs. The Pessimistic
Heterogeneous Earliest Finish Time scheduling algorithm performs well in different scenarios with
a variety of workloads and cluster configurations.
1. Introduction
In this paper, we address the multi-criteria analysis of image processing with communication
workflow scheduling algorithms and study the applicability of Digital Signal Processor (DSP)
cluster architectures.
The problem of scheduling jobs with precedence constraints is a fundamental problem in
scheduling theory [1,2]. It arises in many industrial and scientific applications, particularly, in image
and signal processing, and has been extensively studied. It has been shown to be NP-hard and
includes solving a complex task allocation problem that depends not only on workflow properties and
constraints, but also on the nature of the infrastructure.
In this paper, we consider a DSP compatible with TigerSHARC TS201S [3,4]. This processor was
designed in response to the growing demands of industrial signal processing systems for real-time
processing of real-world data, performing the high-speed numeric calculations necessary to enable
a broad range of applications. It is optimized for both floating point and fixed point operations.
It provides ultra-high performance; static superscalar processing optimized for memory-intensive
digital signal processing algorithms from fully implemented 5G stations; three-dimensional ultrasound
scanners and other medical imaging systems; radio and sonar; industrial measurement; and
control systems.
It supports low overhead DMA transfers between internal memory, external memory,
memory-mapped peripherals, link ports, host processors, and other DSPs, providing high performance
for I/O algorithms.
Flexible instruction sets and high-level language-friendly DSP support the ease of implementation
of digital signal processing with low communications overhead in scalable multiprocessing systems.
With software that is programmable for maximum flexibility and supported by easy-to-use, low-cost
development tools, DSPs enable designers to build innovative features with high efficiency.
The DSP combines very wide memory widths with execution six floating-point and 24 64-bit
fixed-point operations for digital signal processing. It maintains a system-on-chip scalable computing
design, including 24 M bit of on-chip DRAM, six 4 K word caches, integrated I/O peripherals, a host
processor interface, DMA controllers, LVDS link ports, and shared bus connectivity for Glueless
Multiprocessing without special bridges and chipsets.
It typically uses two methods to communicate between processor nodes. The first one is dedicated
point-to-point communication through link ports. Other method uses a single shared global memory
to communicate through a parallel bus.
For full performance of such a combined architecture, sophisticated resource management is
necessary. Specifically, multiple instructions must be dispatched to processing units simultaneously,
and functional parallelism must be calculated before runtime.
In this paper, we describe an approach for scheduling image processing workflows using the
networks of a DSP-cluster (Figure 1).
2. Model
181
Algorithms 2018, 11, 76
Due to the offline scheduling model, the release date of a workflow r j = 0. However, the release
date of a task ri is not available before the task is released. Tasks are released only after all dependencies
have been satisfied and data are available. At its release date, a task can be allocated to a DSP-processor
for an uninterrupted period of time pi . c j is completion time of the job j.
Total workflow processing time pG j and critical path execution cost p j are unknown until the job
has been scheduled. We allow multiprocessor workflow execution; hence, tasks of Jj can be run on
different DSPs.
182
Algorithms 2018, 11, 76
Table 1. Data rate coefficients of the cluster of DSP with four integrated modules (IMs).
IM 1 2 3 4
1 ε α α α
2 α ε α α
3 α α ε α
4 α α α ε
The values of the matrix D depend on the specific communication topology of the I Ms.
In Figure 2, we consider three examples of the I Mi communication topology for k i = 4.
Figure 2a shows uni-directional DSP communication. Let us assume that the transfer rate
between processors connected by an internal link port is equal to α = 1. The corresponding matrix
of data rate coefficients is presented in Table 2a. Figure 2b shows bi-directional DSP communication.
The corresponding matrix of data rate coefficients is presented in Table 2b. Figure 2c shows all-to-all
communication of DSP. Table 2c shows the corresponding data rate coefficients.
Table 2. Data rate coefficient matrix D for three communication topologies between DSP-processors.
For the experiments, we take into account two models of the cluster (Figure 3). In the cluster A,
ports connect only neighboring DSPs, as shown in Figure 3a. In the cluster B, DSPs are connected to
each other, as shown in Figure 3b.
(a) (b)
183
Algorithms 2018, 11, 76
I Ms are interconnected by a bus. In the current model, for each connection, different data
transmission coefficients are used. Data transfer within the same DSP has a coefficient of 0, between
adjacent DSPs in a single I M has a coefficient of 1, and between I Ms, has a data transmission coefficient
of 10.
3. Related Work
State of the art studies tackle different workflow scheduling problems by focusing on general
optimization issues; specific workflow applications; minimization of critical path execution time;
selection of admissible resources; allocation of suitable resources for data-intensive workflows;
Quality of Service (QoS) constraints; and performance analysis, among other factors. [5–17].
Many heuristics have been developed for scheduling DAG-based task graphs in multiprocessor
systems [18–20]. In [21], the authors discussed clustering DAG tasks into chains and allocating them
to single machines. In [22], two strategies were considered: Fairness Policy based on Finishing
Time (FPFT) and Fairness Policy based on Concurrent Time (FPCT). Both strategies arranged DAGs in
ascending order of their slowdown value, selected independent tasks from the DAG with the minimum
slowdown, and scheduled them using Heterogeneous Earliest Finishing Time first (HEFT) [23]
or Hybrid.BMCT [24]. FPFT recalculates the slowdown of a DAG each time the task of a DAG
completes execution, while FPCT recalculates the slowdown of all DAGs each time any task in a DAG
completes execution.
HEFT is considered as an extension of the classical list scheduling algorithm to cope with
heterogeneity and has been shown to produce good results more often than other comparable
algorithms. Many improvements and variations to HEFT have been proposed considering different
ranking methods, looking ahead algorithms, clustering, and processor selection, for example [25].
The multi-objective workflow allocation problem has rarely been considered so far. It is important,
especially in scenarios that contain aspects that are multi-objective by nature: Quality of Service (QoS)
parameters, costs, system performance, response time, and energy, for example [14].
184
Algorithms 2018, 11, 76
Although HEFT is well-known, the study of different possibilities for computing rank values
in a heterogeneous environment is limited. In some cases, the use of the mean computation and
communication as the rank value in the graph may not produce a good schedule [26].
In this paper, we consider two methods of calculating the rank: best and worst. The best version
assumes that tasks are allocated to the same DSP. Hence, no data transmission is needed. Alternatively,
the worst version assumes that tasks are allocated to the DSP from different nodes, so data transmission
is maximal. To determine the critical path, we need to know the execution time of each task of the
graph and the data transfer time, considering every combination of DSPs, where the two given tasks
may be executed taking into account the data transfer rate between the two connected nodes.
Tasks labeling prioritizes workflow tasks. Labels are not changed nor recomputed on completion
of predecessor tasks. This also distinguishes our model from previous research (see, for instance [22]).
Task labels are used to identify properties of a given workflow. We distinguish four labeling approaches:
Best Downward Rank (BDR), Worst Downward Rank (WDR), Best Upward Rank (BUR), and Worst
Upward Rank (WUR).
BDR estimates the length of the path from considered task to a root passing a set of immediate
predecessors in a workflow without communication costs. WDR estimates the length of the path
from considered task to a root passing a set of immediate predecessors in a workflow with worst
communications. The descending order of BDR and WDR supports scheduling tasks by the
depth-first approach.
BUR estimates the length of the path from the considered task to a terminal start task passing
a set of the immediate successors in a workflow without communication costs.
Description
Allocates task Tk to a DSP with the number randomly generated from
Rand
a uniform distribution in the range [1,m]
Allocates task Tk to the DSP that can start the task as early as possible
BC (best core)
considering communication delay of all input data
Allocates task Tk from the ordered list to the DSP according to Worst
PESS (pessimistic)
Downward Rank (WDR).
Allocates task Tk from the ordered list to the DSP according to Best
OPTI (optimistic)
Downward Rank (BDR).
Allocates task Tk from the ordered list to the DSP according to Worst
PHEFT (pessimistic HEFT)
Upward Rank (WUR)
Allocates task Tk from the ordered list to the DSP according to Best
OHEFT (optimistic HEFT)
Upward Rank (BUR)
WUR estimates the length of the path from the considered task to a terminal task passing a set
of immediate successors in a workflow with the worst communication costs. The descending order
of BUR and WUR supports scheduling tasks on the critical path first. The upward rank represents
the expected distance of any task to the end of the computation. The downward rank represents the
expected distance of any task from the start of the computation.
5. Experimental Setup
This section presents the experimental setup, including workload and scenarios, and describes
the methodology used for the analysis.
185
Algorithms 2018, 11, 76
5.1. Parameters
To provide a performance comparison, we used workloads from a parametric workload generator
that produces workflows such as Ligo and Montage [27,28]. They are a complex workflow of
parallelized computations to process larger-scale images.
We considered three clusters with different numbers of DSPs and two architectures of individual
DSPs (Table 4). Their clock frequency was considered to be equal.
Description Settings
Workload type 220 Montage workflows, 98 Ligo workflows
DSP clusters 3
Cluster 1 5 I Ms in a cluster B, 4 DSP per module
Cluster 2 2 I Ms in a cluster A, 4 DSP per module
Cluster 3 5 I Ms in a cluster A, 4 DSP per module
0—within the same DSP
Data transmission coefficient K 1—between connected DSPs in a I M;
20—between DSP of different I Ms
Metrics Cmax , cpw, cps
Number of experiments 318
To provide effective guidance in choosing the best strategy, we performed a joint analysis of
several metrics according to the methodology used in [14,29]. We aggregated the various objectives
to a single one by averaging their values and ranking. The best strategy with the lowest average
performance degradation had a rank of 1.
Note that we tried to identify strategies that performed reliably well in different scenarios; that
is, we tried to find a compromise that considered all of our test cases with the expectation that it
also performed well under other conditions, for example, with different DSP-cluster configurations
and workloads. For example, the rank of the strategy could not be the same for any of the metrics
individually or any of the scenarios individually.
6. Experimental Results
186
Algorithms 2018, 11, 76
A small percentage of degradation indicates that the performance of a strategy for a given
metric is close to the performance of the best performing strategy for the same metric. Therefore,
small degradations represent better results.
We observed that Rand was the strategy with the worst makespan, with up to 318 percent
performance degradation compared with the best-obtained result. PHEFT strategy had a small percent
of degradation, almost in all metrics and test cases. We saw that cps had less variation compared with
Cmax and cpw. It yielded to lesser impact on the overall score. The makespan of PHEFT and OHEFT
were near the lower values.
Because our model is a simplified representation of a system, we can conclude that these strategies
might have similar efficiency in real DSP-cluster environments when considering the above metrics.
However, there exist differences between PESS and OPTI, comparing cpw. In PESS strategy, the critical
path completion time did not grow significantly. Therefore, tasks in the critical path experienced
small waiting times. Results also showed that for all strategies, small mean critical path waiting time
degradation corresponded to small mean critical path slowdown.
BC and Rand strategies had rankings of 5 and 6. Their average degradations were within 67%
and 18% of the best results. While PESS and OPTI had rankings of 3 and 4, with average degradations
within 8% and 11%.
PHEFT and OHEFT showed the best results. Their degradations were within 6% and 7%, with
rankings of 1 and 2.
5% 25%
5%
4% 20%
4%
3% 15%
3%
2% 10%
2%
1% 5%
1%
0% 0%
MONTAGE
LIGO
MONTAGE
LIGO
MONTAGE
LIGO
LIGO
LIGO
LIGO
MONTAGE
MONTAGE
MONTAGE
20%
15%
10%
5%
0%
LIGO
LIGO
LIGO
MONTAGE
MONTAGE
MONTAGE
187
Algorithms 2018, 11, 76
Strategy
Criteria
Rand BC PESS OPTI PHEFT OHEFT
Cmax 3.189 0.010 0.009 0.039 0.005 0.011
cpw 0.209 0.173 0.100 0.196 0.050 0.093
Montage cps 0.001 0.305 0.320 0.348 0.302 0.306
Mean 1.133 0.163 0.143 0.194 0.119 0.137
Rank 6 4 3 5 1 2
Cmax 0.044 0.043 0.012 0.012 0.001 0.002
cpw 0.580 0.542 0.059 0.059 0.002 0.013
Ligo cps 0.040 0.040 0.012 0.013 0.002 0.002
Mean 0.221 0.208 0.028 0.028 0.002 0.005
Rank 6 5 3 4 1 2
Cmax 1.616 0.027 0.011 0.025 0.003 0.006
cpw 0.394 0.357 0.079 0.128 0.026 0.053
All test cases cps 0.020 0.173 0.166 0.180 0.152 0.154
Mean 0.677 0.186 0.085 0.111 0.060 0.071
Rank 6 5 3 4 1 2
1 1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 Rand 0.6 Rand
ߜ(߬)
ߜ(߬)
0.5 BC 0.5 BC
0.4 PESS 0.4 PESS
0.3 OPTI 0.3 OPTI
PHEFT PHEFT
0.2 0.2
OHEFT OHEFT
0.1 0.1
0 0
1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 1.16 1.18 1.2 1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 1.16 1.18 1.2
߬ ߬
(a) (b)
Figure 5a displays results for Montage workflows. PHEFT had the highest probability of being
the better strategy. The probability that it was the winner on a given problem within factors of 1.02 of
the best solution was close to 0.9. If we chose to be within a factor of 1.1 as the scope of our interest,
188
Algorithms 2018, 11, 76
then strategies except Rand and OPTI would have sufficed with a probability of 1. Figure 5b displays
results for Ligo workflows. Here, PHEFT and OHEFT were the best strategies, followed by OPTI
and PESS.
Figure 6 shows cpw performance profiles of six strategies for Montage and Ligo workflows
considering τ = [1 . . . 1.2]. In both cases, PHEFT had the highest probability of being the better
strategy for cpw optimization. The probability that it was the winner on a given problem within factors
of 1.1 of the best solution was close to 0.85 and 1 for Montage and Ligo, respectively.
1
1
0.9 0.9
0.8 0.8
0.7 0.7
0.6 0.6
ߜ(߬)
ߜ(߬)
Figure 7 shows the mean performance profiles of all metrics, scenarios and test cases, considering
τ = [1 . . . 1.2]. There were discrepancies in performance quality. If we want to obtain results within
a factor of 1.02 of the best solution, then PHEFT generated them with probability 0.8, while Rand with
a probability of 0.47. If we chose τ = 1.2, then PHEFT produced results with a probability of 0.9, and
Rand with a probability of 0.76.
1
0.9
0.8
0.7
0.6
ߜ(߬)
0.5 Rand
0.4 BC
0.3 PESS
0.2 OPTI
0.1
PHEFT
0
OHEFT
1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 1.16 1.18 1.2
ʏ
Figure 7. Mean performance profile over all metrics and test cases, τ = [1 . . . 1.2].
7. Conclusions
Effective image and signal processing workflow management requires the efficient allocation of
tasks to limited resources. In this paper, we presented allocation strategies that took into account both
189
Algorithms 2018, 11, 76
(1) We examined overall DSP-cluster performance based on real image and signal processing data,
considering Ligo and Montage applications;
(2) We took into account communication latency, which is a major factor in DSP scheduling
performance;
(3) We showed that efficient job allocation depends not only on application properties and constraints
but also on the nature of the infrastructure. To this end, we examined three configurations
of DSP-clusters.
We found that an appropriate distribution of jobs over the clusters using a pessimistic approach
had a higher performance than an allocation of jobs based on an optimistic one.
There were two differences to PHEFT strategy, compared to its original HEFT version. First,
the data transfer cost within a workflow was set to maximal values for a given infrastructure to support
pessimistic scenarios. All data transmissions were assumed to be made between different integrated
modules and different DSPs to obtain the worst data transmission scenario with the maximal data
rate coefficient.
Second, PHEFT had reduced time complexity compared to HEFT. It did not need to consider
every combination of DSPs, where the two given tasks were executed, and did not need to take into
account the data transfer rate between the two nodes to calculate a rank value (upward rank) based
on mean computation and communication costs. Low complexity is important for industrial signal
processing systems and real-time processing.
We conclude that for practical purposes, the scheduler PHEFT can improve the performance of
workflow scheduling on DSP clusters. Although, more comprehensive algorithms can be adopted.
Author Contributions: All authors contributed to the analysis of the problem, designing algorithms, performing
the experiments, analysis of data, and writing the paper.
Acknowledgments: This work was partially supported by RFBR, project No. 18-07-01224-a.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Conway, R.W.; Maxwell, W.L.; Miller, L.W. Theory of Scheduling; Addison-Wesley: Reading, MA, USA, 1967.
2. Błażewicz, J.; Ecker, K.H.; Pesch, E.; Schmidt, G.; Weglarz, J. Handbook on Scheduling: From Theory to
Applications; Springer: Berlin, Germany, 2007.
3. Myakochkin, Y. 32-bit superscalar DSP-processor with floating point arithmetic. Compon. Technol. 2013, 7,
98–100.
4. TigerSHARC Embedded Processor ADSP-TS201S. Available online: http://www.analog.com/en/products/
processors-dsp/dsp/tigersharc-processors/adsp-ts201s.html#product-overview (accessed on 15 May 2018).
5. Muchnick, S.S. Advanced Compiler Design and Implementation; Morgan Kauffman: San Francisco, CA,
USA, 1997.
6. Novikov, S.V. Global Scheduling Methods for Architectures with Explicit Instruction Level Parallelism.
Ph.D. Thesis, Institute of Microprocessor Computer Systems RAS (NIISI), Moscow, Russia, 2005.
190
Algorithms 2018, 11, 76
7. Wieczorek, M.; Prodan, R.; Fahringer, T. Scheduling of scientific workflows in the askalon grid environment.
ACM Sigmod Rec. 2005, 34, 56–62. [CrossRef]
8. Bittencourt, L.F.; Madeira, E.R.M. A dynamic approach for scheduling dependent tasks on the xavantes
grid middleware. In Proceedings of the 4th International Workshop on Middleware for Grid Computing,
Melbourne, Australia, 27 November–1 December 2006.
9. Jia, Y.; Rajkumar, B. Scheduling scientific workflow applications with deadline and budget constraints using
genetic algorithms. Sci. Program. 2006, 14, 217–230.
10. Ramakrishnan, A.; Singh, G.; Zhao, H.; Deelman, E.; Sakellariou, R.; Vahi, K.; Blackburn, K.;
Meyers, D.; Samidi, M. Scheduling data-intensive workflows onto storage-constrained distributed resources.
In Proceedings of the 7th IEEE Symposium on Cluster Computing and the Grid, Rio De Janeiro, Brazil,
14–17 May 2007.
11. Szepieniec, T.; Bubak, M. Investigation of the dag eligible jobs maximization algorithm in a grid.
In Proceedings of the 2008 9th IEEE/ACM International Conference on Grid Computing, Tsukuba, Japan,
29 September–1 October 2008.
12. Singh, G.; Su, M.-H.; Vahi, K.; Deelman, E.; Berriman, B.; Good, J.; Katz, D.S.; Mehta, G. Workflow task
clustering for best effort systems with Pegasus. In Proceedings of the 15th ACM Mardi Gras conference,
Baton Rouge, LA, USA, 29 January–3 February 2008.
13. Singh, G.; Kesselman, C.; Deelman, E. Optimizing grid-based workflow execution. J. Grid Comput. 2005, 3,
201–219. [CrossRef]
14. Tchernykh, A.; Lozano, L.; Schwiegelshohn, U.; Bouvry, P.; Pecero, J.-E.; Nesmachnow, S.; Drozdov, A. Online
Bi-Objective Scheduling for IaaS Clouds with Ensuring Quality of Service. J. Grid Comput. 2016, 14, 5–22.
[CrossRef]
15. Tchernykh, A.; Ecker, K. Worst Case Behavior of List Algorithms for Dynamic Scheduling of Non-Unit
Execution Time Tasks with Arbitrary Precedence Constrains. IEICE-Tran Fund Elec. Commun. Comput. Sci.
2008, 8, 2277–2280.
16. Rodriguez, A.; Tchernykh, A.; Ecker, K. Algorithms for Dynamic Scheduling of Unit Execution Time Tasks.
Eur. J. Oper. Res. 2003, 146, 403–416. [CrossRef]
17. Tchernykh, A.; Trystram, D.; Brizuela, C.; Scherson, I. Idle Regulation in Non-Clairvoyant Scheduling of
Parallel Jobs. Disc. Appl. Math. 2009, 157, 364–376. [CrossRef]
18. Deelman, E.; Singh, G.; Su, M.H.; Blythe, J.; Gil, Y.; Kesselman, C.; Katz, D.S. Pegasus: A framework for
mapping complex scientific workflows onto distributed systems. Sci. Program. 2005, 13, 219–237. [CrossRef]
19. Blythe, J.; Jain, S.; Deelman, E.; Vahi, K.; Gil, Y.; Mandal, A.; Kennedy, K. Task Scheduling Strategies for
Workflow-based Applications in Grids. In Proceedings of the IEEE International Symposium on Cluster
Computing and the Grid, Cardiff, Wales, UK, 9–12 May 2005.
20. Kliazovich, D.; Pecero, J.; Tchernykh, A.; Bouvry, P.; Khan, S.; Zomaya, A. CA-DAG: Modeling
Communication-Aware Applications for Scheduling in Cloud Computing. J. Grid Comput. 2016, 14, 23–39.
[CrossRef]
21. Bittencourt, L.F.; Madeira, E.R.M. Towards the scheduling of multiple workflows on computational grids.
J. Grid Comput. 2010, 8, 419–441. [CrossRef]
22. Zhao, H.; Sakellariou, R. Scheduling multiple dags onto heterogeneous systems. In Proceedings of the 20th
International Parallel and Distributed Processing Symposium, Rhodes Island, Greece, 25–29 April 2006.
23. Topcuouglu, H.; Hariri, S.; Wu, M.-Y. Performance-effective and low-complexity task scheduling for
heterogeneous computing. IEEE Trans. Parallel Distrib. Syst. 2002, 13, 260–274. [CrossRef]
24. Sakellariou, R.; Zhao, H. A hybrid heuristic for dag scheduling on heterogeneous systems. In Proceedings of
the 13th IEEE Heterogeneous Computing Workshop, Santa Fe, NM, USA, 26 April 2004.
25. Bittencourt, L.F.; Sakellariou, R.; Madeira, E.R. DAG Scheduling Using a Lookahead Variant of the
Heterogeneous Earliest Finish Time Algorithm. In Proceedings of the 18th Euromicro Conference on
Parallel, Distributed and Network-Based Processing, Pisa, Italy, 17–19 February 2010.
26. Zhao, H.; Sakellariou, R. An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish
Time Scheduling Algorithm; Springer: Berlin/Heidelberg, Germany, 2003.
27. Pegasus. Available online: http://pegasus.isi.edu/workflow_gallery/index.php (accessed on 15 May 2018).
191
Algorithms 2018, 11, 76
28. Hirales-Carbajal, A.; Tchernykh, A.; Roblitz, T.; Yahyapour, R. A grid simulation framework to study advance
scheduling strategies for complex workflow applications. In Proceedings of the 2010 IEEE International
Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW), Atlanta, GA, USA,
19–23 April 2010.
29. Hirales-Carbajal, A.; Tchernykh, A.; Yahyapour, R.; Röblitz, T.; Ramírez-Alcaraz, J.-M.; González-García, J.-L.
Multiple Workflow Scheduling Strategies with User Run Time Estimates on a Grid. J. Grid Comput. 2012, 10,
325–346. [CrossRef]
30. Ramírez-Velarde, R.; Tchernykh, A.; Barba-Jimenez, C.; Hirales-Carbajal, A.; Nolazco, J. Adaptive Resource
Allocation in Computational Grids with Runtime Uncertainty. J. Grid Comput. 2017, 15, 415–434. [CrossRef]
31. Tchernykh, A.; Schwiegelsohn, U.; Talbi, E.-G.; Babenko, M. Towards understanding uncertainty in cloud
computing with risks of confidentiality, integrity, and availability. J. Comput. Sci. 2016. [CrossRef]
32. Tchernykh, A.; Schwiegelsohn, U.; Alexandrov, V.; Talbi, E.-G. Towards Understanding Uncertainty in Cloud
Computing Resource Provisioning. Proced. Comput. Sci. 2015, 51, 1772–1781. [CrossRef]
33. Dolan, E.D.; Moré, J.J.; Munson, T.S. Optimality measures for performance profiles. Siam. J. Optim. 2006, 16,
891–909. [CrossRef]
© 2018 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 (http://creativecommons.org/licenses/by/4.0/).
192
MDPI
St. Alban-Anlage 66
4052 Basel
Switzerland
Tel. +41 61 683 77 34
Fax +41 61 302 89 18
www.mdpi.com