Next Article in Journal
Comparative Review of the Intrusion Detection Systems Based on Federated Learning: Advantages and Open Challenges
Previous Article in Journal
Efficient Local Refinement near Parametric Boundaries Using kd-Tree Data Structure and Algebraic Level Sets
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Two-Stage Multi-Objective Genetic Algorithm for a Flexible Job Shop Scheduling Problem with Lot Streaming

School of Engineering, University of Guelph, Guelph, ON N1G 2W1, Canada
*
Author to whom correspondence should be addressed.
Algorithms 2022, 15(7), 246; https://doi.org/10.3390/a15070246
Submission received: 14 June 2022 / Revised: 8 July 2022 / Accepted: 9 July 2022 / Published: 13 July 2022
(This article belongs to the Topic Mathematical Modeling in Physical Sciences)

Abstract

:
The work in this paper is motivated by a recently published article in which the authors developed an efficient two-stage genetic algorithm for a comprehensive model of a flexible job-shop scheduling problem (FJSP). In this paper, we extend the application of the algorithm to solve a lot streaming problem in FJSP while at the same time expanding the model to incorporate multiple objectives. The objective function terms included in our current work are the minimization of the (1) makespan, (2) maximum sublot flowtime, (3) total sublot flow time, (4) maximum job flowtime, (5) total job flow time, (6) maximum sublot finish-time separation, (7) total sublot finish-time separation, (8) maximum machine load, (9) total machine load, and (10) maximum machine load difference. Numerical examples are presented to illustrate the greater need for multi-objective optimization in larger problems, the interaction of the various objective function terms, and their relevance in providing better solution quality. The ability of the two-stage genetic algorithm to jointly optimize all the objective function terms is also investigated. The results show that the algorithm can generate initial solutions that are highly improved in all of the objective function terms. It also outperforms the regular genetic algorithm in convergence speed and final solution quality in solving the multi-objective FJSP lot streaming. We also demonstrate that high-performance parallel computation can further improve the performance of the two-stage genetic algorithm. Nevertheless, the sequential two-stage genetic algorithm with a single CPU outperforms the parallel regular genetic algorithm that uses many CPUs, asserting the superiority of the two-stage genetic algorithm in solving the proposed multi-objective FJSP lot streaming.

1. Introduction

Defersha and Rooyani [1] developed an efficient two-stage genetic algorithm for a comprehensive flexible job shop scheduling problem (FJSP) that incorporates (1) sequence-dependent setup time, (2) attached and detached nature of setup, (3) machine release date, and (4) lag-time. The high performance of the two-stage algorithm was achieved by a systematically designed solution representation and a greedy decoding mechanism of the first stage. The approach enabled the algorithm to find highly improved solutions from the start and rapidly converge to promising regions of the search space. The second stage removes the greedy nature of the first stage by following the regular approach of a genetic algorithm for FJSP and attempts to improve the solutions found in the first stage. The authors demonstrated the superiority of the developed two-stage genetic algorithm in solving large-size problems with up to 80 machines and 140 jobs.
In this paper, we extend the application of the algorithm in [1] to solve a lot streaming problem in FJSP that appeared in [2] while, at the same time, expanding the problem to incorporate multiple objective functions. The objective function terms included are the minimization of the (1) makespan, (2) maximum sublot flowtime, (3) total sublot flow time, (4) maximum job flowtime, (5) total job flow time, (6) maximum sublot finish-time separation, (7) total sublot finish-time separation, (8) maximum machine load, (9) total machine load, and (10) maximum machine load difference.
In addition to expanding the single objective FJSP lot streaming to a multi-objective one and customizing the two-stage genetic algorithm to solve it, an added contribution of this paper is its provision of many numerical studies. At the outset of the numerical studies, all the ten objective function terms are illustrated using a small prototype problem. The importance of multi-objective optimization in small versus large size problems is examined and contrasted. The capability of the two-stage genetic algorithm to jointly optimize all the objective function terms is evaluated. The need to optimize both the maximum and the total of a performance measure (such as flowtime) is examined.
The relevance of two newly proposed objective function terms (sublot finish-time separation and maximum workload difference) in providing better solution quality is assessed. The quality of the initial population and the convergence behavior of the two-stage genetic algorithm is contrasted against the regular genetic algorithm with respect to each of the objective function terms. Further algorithm enhancement through high-performance parallel computation is considered. Algorithm components and parameters are empirically studied. In particular, three different selection operators are examined, and an Analysis of Variance (ANOVA) on mutation and crossover probabilities is conducted.
The remainder of this article is organized as follows. In Section 2, recent articles in lot streaming are reviewed. The proposed multi-objective FJSP lot streaming model is presented in Section 3. The adaptation of the two-stage genetic algorithm to solve the multi-objective lot streaming model is detailed in Section 4. Section 5 provides extensive numerical studies. Our conclusions, discussion, and future research are in Section 6.

2. Literature Review

Lot streaming is a technique that splits a production lot of a job into several independent sublots and allows a sublot to be transferred from one machine to the next without waiting for the other sublots. In doing so, it enables the simultaneous processing of the sublots of a given job on multiple machines, thereby, reducing the completion time of the job. The approach has been used as a strategy for a time-based competition in today’s global market [3]. Since its formal introduction in [4], it has been an active topic of research, and many articles have been published in its application to scheduling in a variety of shop configurations. The following subsections briefly review recent articles on lot streaming based on those shop configurations. Comprehensive reviews of publications on lot streaming can be found in [3,5].

2.1. Pure Flow Shop Lot Streaming (PFS-LS)

The majority of early publications on lot streaming are for pure flow shops. However, recent literature indicates that PFS-LS still continues to attract the attention of the research community. A tabu-search based three-stage algorithm for PFS-LS was developed in [6]. The three stages of the algorithm involve (i) predetermining sublot sizes, (ii) developing a schedule based on the predetermined sublot sizes, and (iii) varying the sizes of the sublots to improve the solution quality. Defersha and Chen [7] developed a linear programming hybridized genetic algorithm with variable sublots to minimize the makespan. The authors demonstrated that, in the presence of setup time, variable sublot could bring substantial improvement in makespan compared to consistent or equal-sized sublots.
A genetic algorithm for PFS-LS with limited buffer capacities and equal-sized sublots was developed in [8] to minimize earliness and tardiness. Han et al. [9] developed a multi-objective genetic algorithm (given the number and size sublots) to minimize the makespan, total flow time, machine idle time, and earliness time. Meng et al. [10] developed an improved migrant birds optimization for minimizing the makespan with equal sublots and sequence-dependent setup time. A bee colony algorithm was proposed in [11] to minimize the makespan and earliness in a blocking PFS-LS with no intermediate buffer between adjacent stages. The author combined setup time with processing time and assumed that the number and size of sublots are determined before scheduling.
An exact heuristic based on dynamic programming and Lagrangian relaxation was developed in [12] for a two-machine PFS-LS to minimize total flowtime. A convex programming technique for a single-job two-machine PFS-LS was developed in [13] with due date criterion and minimization of the total energy consumption. The energy consumption was optimized by varying the processing speed of the sublots. Wang et al. [14] developed an algorithm for PFS-LS with intermingling and variable sublots having detached setups. The authors demonstrated that the assumption of a detached setup could reduce the makespan.

2.2. Hybrid Flow Shop Lot Streaming (HFS-LS)

Early and some recent publications in HFS-LS (e.g., [15,16,17,18,19,20]) are limited to a special case where there are only two stages. To the best of our knowledge, the first major research effort in lot streaming in the general hybrid flexible flow shop with more than two stages was reported in [21]. The authors developed a parallel genetic algorithm with makespan criterion, sequence-dependent setup time, and machine release date. The authors also demonstrated that lot streaming could bring greater makespan reduction in hybrid flows shop than in pure flow shop as the former allows the overlapping of operations not only across stages but also within the parallel machines of a given stage. Nejati et al. [22] developed a genetic algorithm for HFS-LS in the presence of work-shift constraint. The authors assumed that the processing of a sublot cannot be started if the remaining time of the work-shift does not allow the sublot to be completed, in which case, the sublot has to wait for the next work-shift.
Techniques based on migrant birds optimization were developed in [23,24] to minimize the total flow time and makespan, respectively. Chen et al. [25] proposed a genetic algorithm to minimize the makespan and energy utilization. The minimization of energy utilization is achieved via machine selection, where each stage may have unrelated parallel machines with different power consumption and processing speed. Energy-aware multi-objective HFS-LS was presented in [26] to minimize the average sojourn time, energy consumption, earliness, and tardiness. Zhang et al. [27] developed an evolutionary algorithm (with consistent sublots) to minimize the makespan and number of sublots in the presence of setup and transportation.

2.3. Classical Job Shop Lot Streaming (CJS-LS)

The first paper in lot streaming (i.e., [4]) was for a classical job shop scheduling problem. However, research in CJS-LS is minimal. Hereunder, we reviewed relatively recent articles in the area. Chan et al. [28] and Wong et al. [29] considered CJS-LS with due date criterion, where the authors assumed that all the sublots and the jobs from the same product (with a due date) will be assembled at the end of the line. Methodologies based on a generic algorithm were developed to minimize the total cost of earliness, lateness, and setup in [30,31].
The authors stated that excessive lot splitting could increase the setup cost. A CJS-LS problem, where a customer order contains several jobs and shipment can happen only when all the sublots of the jobs of a given order are completed, was considered in [32]. The authors developed a genetic algorithm to solve the considered problem to minimize the makespan, lateness, and flowtime of the finished goods. Liu et al. [33] developed methodologies to maximize the total values of the jobs. The authors assumed that the value of a job deteriorates exponentially over time, and the sooner the job completes, the higher its value is. Lei and Guo [34] developed a bee colony algorithm with makespan criterion in the presence of a single transporter that could transfer one sublot at a time.

2.4. Flexible Job Shop Lot Streaming (FJS-LS)

Early research in job shop lot streaming was for the classical job shop. However, in recent years, the research focus on job shop lot streaming has been in FJS-LS. Defersha and Chen [2] developed a parallel genetic algorithm for FJS-LS with makespan criterion considering sequence-dependent setup time, attached and detached nature of setups, machine release date, and lag-time (a delay for cooling, drying, inspection, or other ancillary operations). Demir and Işleyen [35] and Meng et al. [36] implemented FJS-LS through a successive partial transfer of a job from one machine to the next to allow operation overlapping when sublots are not scheduled independently. Bozek and Werner [37] considered FJS-LS with variable sublots in a two-stage approach.
In the first stage, the makespan is minimized with the minimum sizes of the sublots defined for the problem (the larger number of sublots). In the second stage, the number of the sublots is reduced without affecting the makespan to minimize the transportation cost. Defersha and Bayat Movahed [38] developed a linear programming hybridized genetic algorithm where the linear programming is periodically used to enhance promising solutions during the search process. Novas [39] developed a method based on constraint programming to solve flexible job shop lot streaming with makespan criterion.
Daneshamooz et al. [40] proposed an algorithm based on a variable neighborhood search to minimize the makespan for a lot streaming problem in a flexible job shop followed by a parallel assembly station. An FJS-LS problem in an Engineer to order environment was presented in [41]. The authors developed a mathematical model with variable sublot and makespan criterion and then proposed a genetic-algorithm-based heuristic to solve the model effectively. Though the above review indicates momentum in FJS-LS research, the total number of publications is minimal, and further research needs to be conducted.

3. Mathematical Modeling

3.1. The Basic Problem

The main objective of this paper is to expand the single objective FJSP lot streaming model presented in [2] to a multi-objective one and develop a two-stage genetic-algorithm-based on the work in [1]. However, for better comprehension of this paper, we first present the basic single-objective problem and its mathematical model as presented in [2].

3.1.1. Problem Description and Notations

Consider a job shop consisting of M machines where machines with common functionalities are grouped into a department (e.g., turning machines in a turning department). Assume that the system is currently processing jobs from the previous schedule, and each machine m (where m = 1 , , M ) has a release date D m —at which time, it will be available for the next scheduling. Consider also a total of J independent jobs to be scheduled next in the system where a job is a batch of identical parts. The number of parts in a batch of job j (where j = 1 , , J ) is given by B j , and this batch is to be split into S j number of unequal sublots (transfer batches).
A decision variable b s , j is used to denote the size of sublot s (where s = 1 , , S j ) of job j. Each sublot of job j is to undergo O j number of operations in a fixed sequence such that each operation o (where o = 1 , , O j ) can be processed by one of several eligible machines. T o , j , m is unit-processing-time for operation o of job j on machine m. The operation o of a sublot of job j can be started on an eligible machine m after lag time L o , j and after the setup is performed. The lag time L o , j is a waiting time that may be required either for cooling, drying, or for some other purpose. The setup time for an operation o of job type j on machine m depends on the preceding operations and is denoted by S o , j , m , o , j , where operation o of a sublot of job j is the preceding operation on machine m.
If operation o of sublot s of job j is the first operation to be processed on machine m, the setup time is represented as S o , j , m * . The setup time S o , j , m , o , j (or S o , j , m * ) for operation o of a sublot of job j can be overlapped with the processing time of operation o 1 of the same sublot if the setup is a detached setup and machine m is available for setup. The problem is to determine the size of each sublot, assign the operation of each sublot to one of the eligible machines and determine the sequence and starting time of the assigned operations on each machine. The objective is to minimize the makespan of the schedule. We next introduce some additional notations and then present a mixed-integer linear programming (MILP) formulation for FJSP-LS.
Additional Parameters
RmThe maximum number of production runs of machine m where production runs are indexed by r = 1 , 2 , , R m . Each of these production runs can be assigned to, at most, one operation of one sublot. Thus, the assignment of the operations to production runs of a given machine determines the sequence of the operations on that machine.
Po,j,mA binary data point equal to 1 if operation o of job j can be processed on machine m, and 0 otherwise.
Ao,jA binary data point equal to 1 if the setup of operation o of of job j is attached (non-anticipatory), or 0 if this setup is detached (anticipatory).
ΩLarge positive number.
Variables
Continuous Variables
CmaxMakespan of the schedule.
Co,s,jCompletion time of operation o of sublot s of job j.
c ^ r , m Completion time of the r th run of machine m.
bs,jSize of sublot s of job j.
Binary Integer Variables
xr,m,o,s,jA binary variable that takes the value 1 if the r th run on machine m is for operation o of sublot s of job j, and 0 otherwise.
yr,m,o,jA binary variable that takes the value 1 if the r th run on machine m is for operation o of any one of the sublots of job j, and 0 otherwise.
γs,jA binary variable that takes the value 1 if sublot s of job j is non-zero ( b s , j 1 ), and 0 otherwise.
zr,mA binary variable that takes the value 1 if the r th potential run of machine m has been assigned to an operation, and 0 otherwise.

3.1.2. MILP Model for FJSP-LS

Following the problem description and using the notations given above, the MILP mathematical model for the FJSP-LS is presented below.
Minimize:
O b j e c t i v e = c m a x
Subject to:
c m a x c o , s , j ; ( o , s , j )
c ^ r , m c o , s , j + Ω · x r , m , o , s , j Ω ; ( r , m , o , s , j )
c ^ r , m c o , s , j Ω · x r , m , o , s , j + Ω ; ( r , m , o , s , j )
c ^ 1 , m b s , j · T o , j , m S o , j , m * Ω · x 1 , m , o , s , j + Ω D m ; ( m , o , s , j )
c ^ r , m b s , j · T o , j , m S o , j , m , o , j Ω · ( y r 1 , m , o , j + x r , m , o , s , j ) + 2 Ω c ^ r 1 , m ; ( r , m , o , s , j , o , j ) | ( r > 1 )
c ^ 1 , m b s , j · T o , j , m S o , j , m * · A o , j Ω · ( x 1 , m , o , s , j + x r , m , o 1 , s , j ) + 2 Ω c ^ r , m + L o , j ; ( m , r , m , o , s , j ) | { ( 1 , m ) ( r , m ) ( o > 1 ) }
c ^ r , m b s , j · T o , j , m S o , j , m , o , j · A o , j Ω · ( y r 1 , m , o , j + x r , m , o , s , j + x r , m , o 1 , s , j ) + 3 Ω c ^ r , m + L o , j ; ( r , m , r , m , o , s , j , o , j ) | { ( r > 1 ) ( o > 1 ) ( r , m ) ( r , m ) ( o , j ) ( o , j ) }
y r , m , o , j P o , j , m ; ( r , m , o , j )
y r , m , o , j = s = 1 S j x r , m , o , s , j ; ( r , m , o , j )
m = 1 M r = 1 R m x r , m , o , s , j = γ s , j ; ( o , s , j )
b s , j B j · γ s , j ; ( s , j )
γ s , j b s , j ; ( s , j )
s = 1 S j b s , j = B j ; ( j )
j = 1 J s = 1 S j o = 1 O j x r , m , o , s , j = z r , m ; ( r , m )
z r + 1 , m z r , m ; ( r , m )
x r , m , o , s , j 1 x r , m , o , s , j ; ( r , r , m , o , o , s , j ) | { ( o > o ) ( r < r ) }
x r , m , o , s , j 1 x r , m , o , s , j ; ( r , r , m , o , o , s , j ) | { ( o < o ) ( r > r ) }
x r , m , o , s , j , y r , m , o , j , γ s , j and z r , m are binary
The complete description and the meanings of the objective function in Equation (1) and the constraints in Equations (2)–(19) can be found in [2].The expansion of this single objective FJSP lot streaming model into a multi-objective one is presented in the following section.

3.2. Multi-Objective Model for FJSP-LS

As it was stated previously, one of the objectives of this paper is to expand the single objective FJSP lot streaming presented in [2] to a multi objective approach. In this section, we present notations of additional continuous variables and the MILP formulation of the proposed multi-objective FJSP scheduling with lot streaming.

3.2.1. Additional Continuous Variables

The definitions of the additional continuous variables is given below. Further explanations for some of the variable definitions are also given as we discus the equations that use those variables.
es,jEntry time of sublot s of job j.
e ^ j Entry time of job j (minimum of e s , j for all s of job j).
ds,jDeparture time of sublot s of job j.
d ^ j Departure time of job j (maximum of d s , j for all s of job j).
fs,jFlowtime of sublot s of job j.
f ^ j Flowtime of job j.
fmaxMaximum sublot flowtime.
f ^ m a x Maximum job flowtime.
ftotalTotal sublot flowtime.
f ^ t o t a l Total job flowtime.
g ^ j Minimum sublot departure time of job j.
h ^ j Sublot finish separation time of job j.
h ^ m a x Maximum sublot finish separation time.
h ^ t o t a l Total sublot finish separation time.
lm,o,s,jWorkload on machine m because of the setup and processing of operation o of sublot s of job j.
l ^ m Workload on machine m.
l ^ m i n Minimum machine workload.
l ^ m a x Maximum machine workload.
l ^ t o t a l Total machine workload.
l ^ d i f f Maximum machine workload difference.

3.2.2. Objective Functions and Additional Constraints

The objective of the proposed multi-objective model is to minimize the function given in Equation (20) subject to the constraints in the original model in Equations (2)–(19) and newly added constraints in Equations (21)–(56). The objective function terms and the additional constraints are discussed in the following sections.
Minimize : Z i i { 1 , 2 , , 10 } .

3.2.3. Makespan ( Z 1 )

The makespan is defined as the maximum completion time of a given schedule. Its minimization is a widely used objective function in scheduling research. The essence of minimizing the makespan is to finish production as soon as possible to expedite the delivery of products to customers and/or to quickly free up resources for the upcoming production and other tasks, such as development and maintenance. The first objective function ( Z 1 ) of the proposed multi-objective model is makespan ( c m a x ) as shown in Equation (21).
Z 1 = c m a x

3.2.4. Maximum and Total Sublot Flowtime ( Z 2 and Z 3 )

The entry time ( e s , j ) to the shop floor of a sublot of a job is the time the setup of its first operation begins if the setup is attached. If the setup of the first operation is detached, e s , j is the time at which the actual processing of the first operation begins as setup can be completed before the raw material is admitted to the shop floor. The constraints in Equations (22)–(25) are used to set the value of this variable. The departure time of the sublot ( d s , j ) is simply the completion time of the last operation of the sublot as enforced by the constraint in Equation (26).
The flowtime of sublot s of job j, denoted as f s , j , is the interval between the time the sublot enters the shop floor to the time its last operation is finished. Its value is set by the constraint in Equation (27). The constraint in Equation (28) along with the objective function will enforce f m a x to assume the maximum flowtime of all the sublots ( max ( s , j ) f s , j ). The total flowtime of all the sublots is calculated by the constraint in Equation (29). The objective function terms Z 2 and Z 3 are the values of f m a x and f t o t a l as shown in Equations (30) and (31), respectively. The minimization of flowtime can lead to stable or uniform utilization of resources and a rapid turn-around of jobs, and it is particularly important in real-life situations where reducing inventory or holding cost is of primary concern [42].
e s , j c 1 , s , j b s , j · T 1 , j , m S 1 , j , m * · A 1 , j Ω · ( 1 x 1 , m , 1 , s , j ) ; ( s , j , m )
e s , j c 1 , s , j b s , j · T 1 , j , m S 1 , j , m * · A 1 , j + Ω · ( 1 x 1 , m , 1 , s , j ) ; ( s , j , m )
e s , j c 1 , s , j b s , j · T 1 , j , m S 1 , j , m , o , j · A 1 , j 2 Ω · ( 1 x r , m , 1 , s , j y r 1 , m , o , j ) ; ( s , j , r , m ) | r > 1
e s , j c 1 , s , j b s , j · T 1 , j , m S 1 , j , m , o , j · A 1 , j + 2 Ω · ( 1 x r , m , 1 , s , j y r 1 , m , o , j ) ; ( s , j , r , m ) | r > 1
d s , j = c O j , s , j ; ( s , j )
f s , j = d s , j e s , j ; ( s , j )
f m a x f s , j ; ( s , j )
f t o t a l = j = 1 J s = 1 S j f s , j
Z 2 = f m a x
Z 3 = f t o t a l

3.2.5. Maximum and Total Job Flowtime ( Z 4 and Z 5 )

In the presence of lot streaming, the entrance time e ^ j and the departure time d ^ j of a job are the smallest and the largest entrance times of all its sublots, min s | γ s , j = 0 { e s , j } and max s | γ s , j = 0 { d s , j } , respectively. The values of these variables are set by the constraints in Equations (32) and (33), and the objective function. The flowtime of a job, f ^ j , is the difference d ^ j e ^ j as enforced by the constraint in Equation (34). The constraint in Equation (35) along the objective function enforces f ^ m a x to assume the maximum flowtime of all the jobs, max j { f ^ j } . The total job flowtime ( f ^ t o t a l ) is evaluated by the constraint in Equation (36). The values f ^ m a x and f ^ t o t a l correspond to the fourth and fifth terms, Z 4 and Z 5 , of the objective function and their values are enforced by the constraints in Equations (37) and (38), respectively.
e ^ j e s , j + Ω ( 1 γ s , j ) ; ( s , j )
d ^ j d s , j Ω ( 1 γ s , j ) ; ( s , j )
f ^ j = d ^ j e ^ j ; j
f ^ m a x f ^ j ; j
f ^ t o t a l = j = 1 J f ^ j
Z 4 = f ^ m a x
Z 5 = f ^ t o t a l

3.2.6. Maximum and Total Sublot Finish-Time Separation ( Z 6 and Z 7 )

In lot streaming, sublots are treated independently. As a result, one sublot of a job may be finished much sooner than the other sublot of the same job. This may increase work-in-process inventory as the entire job can not be made available for shipment or assembly within a reasonable time window. Hence, in this research, we introduce an objective function to minimize the gap between the earliest and the latest finish-times of sublots of the same job. In doing so, first we defined a variable g ^ j that assumes the earliest finish-time among all the sublots of a job, min ( s , j ) | γ s , j = 1 { d s , j } , as enforced by the constraint in Equation (39) and the objective function.
The latest finish-time of the sublots of a job is its departure time d ^ j , which was discussed previously. With these variables defined, the sublot finish separation time of a job, h ^ j , is the difference d ^ j g ^ j , enforced by the constraint in Equation (40). The constraint in Equation (41) and the objective function will enforce h ^ m a x to assume the value max j { h ^ j } . The total sublot finish time separation h ^ t o t a l is evaluated using the constraint in Equation (42). The objective function terms Z 6 and Z 7 correspond to the values of h ^ m a x and h ^ t o t a l , respectively, as enforced by the constraints in Equations (43) and (44).
g ^ j d s , j + Ω ( 1 γ s , j ) ; ( s , j )
h ^ j = d ^ j g ^ j ; ( j )
h ^ m a x h ^ j ; ( j )
h ^ t o t a l = j = 1 J h ^ j
Z 6 = h ^ m a x
Z 7 = h ^ t o t a l

3.2.7. Maximum Workload, Total Workload and Maximum Workload-Difference ( Z 8 , Z 9 and Z 10 )

In addition to makespan and flowtime, two other objectives commonly considered in FJSP scheduling are the minimization of maximum and total machine workload. They represent the intention of protecting machines from overuse [43]. Moreover, in this research, we noted that, in the presence of alternative routing and sequence-dependent setup time, these objectives could result in a substantially reduced overall system workload with a moderate increase in makespan. This can significantly free up machine operators for other activities, such as quality improvement, development, and maintenance. The necessary variables and constraints to impose these categories of objective functions are discussed below.
The workload on machine m (i.e., l m , o , s , j ) because of an assigned operation o of sublot s of job j comprises the setup and the actual processing of the operation. The value of this variable is assigned by the constraints in Equations (45)–(48). The overall workload on machine m, ( l ^ m ), comprises the workloads because of all the operations assigned to it from the current schedule and its release date D m as shown in Equation (49). The release date may represent the amount of work that spills into the current planning and scheduling period from the previous one.
The objective function along with the constraints in Equations (50) and (51) set the values of l ^ m a x = max m { l m } and l ^ m i n = min m { l m } , respectively. The workload difference between the maximally and the least loaded machines (maximum workload difference, l ^ d i f f ) is calculated using the constraint in Equation (52). The total workload on the system l ^ t o t a l is evaluated by the constraint in Equation (53). The objective function terms Z 8 , Z 9 , and Z 10 represent the values of l ^ m a x , l ^ t o t a l , and l ^ d i f f as enforced by the constraints in Equations (54)–(56), respectively.
l m , o , s , j S o , j , m * + b s , j · T o , j , m Ω · ( 1 x 1 , m , o , s , j ) ; ( m , o , s , j )
l m , o , s , j S o , j , m * + b s , j · T o , j , m + Ω · ( 1 x 1 , m , o , s , j ) ; ( m , o , s , j )
l m , o , s , j S o , j , m , o , j + b s , j · T o , j , m 2 Ω · ( 1 x r , m , o , s , j y r 1 , m , o , j ) ; ( r , m , o , s , j ) | r > 1
l m , o , s , j S o , j , m , o , j + b s , j · T o , j , m + 2 Ω · ( 1 x r , m , o , s , j y r 1 , m , o , j ) ; ( r , m , o , s , j ) | r > 1
l ^ m = D m + j = 1 J s = 1 S j o = 1 O j l m , o , s , j ; ( m )
l ^ m a x l m ; ( m )
l ^ m i n l m ; ( m )
l ^ d i f f = l m a x l m i n ; ( m )
l ^ t o t a l = m = 1 M l m ;
Z 8 = l ^ m a x
Z 9 = l ^ t o t a l
Z 10 = l ^ d i f f

4. Genetic Algorithm

4.1. Prototype Problem

To illustrate the solution representation and the various genetic operators, a prototype problem that consists of the processing of four jobs using five machines is considered. The complete data sets for this small problem are given in Table 1 and Table 2. Data related to batch size ( B j ), the nature of setup being attached or detached ( A o , j ), lag-time ( L o , j ) and alternative routing ( m , T o , j , m ) for each operation are in Table 1. Sequence-dependent setup time data is provided in Table 2. This problem is also used in the numerical example to illustrate the various objective function terms of the proposed model.

4.2. Solution Encoding

A solution encoding is a technique of transforming a problem statement into a searchable space of all feasible solutions, in which an algorithm can be applied to explore iteratively for optimal solutions. Hence, its design is the first most crucial step in solving a problem using a search-based algorithm. The solution encoding used in this paper combines features from the solution representations in [2] for FJSP lot streaming and that in [1] for dividing the genetic search into two stages. This solution encoding is depicted in Figure 1 for a typical solution of the prototype problem presented in the previous section.
As shown in Figure 1a, the solution representation has two segments. The first segment (Segment-1), detailed in Figure 1b, encodes the numbers and sizes of sublots for all the jobs. The number of genes in this segment is equal to the sum of the maximum number of sublots of each job ( j = 1 J S j ), where there are S j genes corresponding to each job. The gene α j , s takes a continuous value from the interval [0, 1]. The decoding procedure for the number and sizes of the sublots from Segment-1 is detailed in Section 4.3.1.
The second segment (Segment-2) of the solution encoding has two forms. The first form, detailed in Figure 1c, is applicable for the first stage of the search by the genetic algorithm. The number of genes in this segment is equal to the total number of operations in all the sublots, which can be computed as j = 1 J o = 1 O j S j × O j . Each gene is a 3-tuple [ j , s , o ] composed of job, sublot, and operation indices. For a particular [ j , s ] , there are O j number of genes corresponding to each operation of the sublot, and a gene [ j , s , o ] appears in the segment earlier than [ j , s , o ] if o < o .
This segment provides the order (left to right) in which the operations are considered for assignment and sequencing. Whenever an operation of a sublot of a given job is to be assigned to a machine, the algorithm chooses the machine that completes the operation sooner after completing the operations previously assigned to this machine. In that case, the order in which the operations are assigned to machines represents their processing sequence.
The second form of Segment-2, detailed in Figure 1d, is for the second stage of the genetic search. This form of the segment explicitly encodes both the assignment and sequencing of the operations on the machines. Each gene, in this form, is 4-tuple [ j , s , o , m ] where m encodes the machine assignment for operation [ j , s , o ] and it is restricted to take the value such that P j , o , m = 1 . Moreover, for a given [ j , s ] , the gene [ j , s , o , m ] appeared earlier the sequence than [ j , s , o , m ] if o < o . The sequence of the operation on a given machine m is dictated by the order in which the genes appeared on Segment-2. For instance, the assignment and the sequence of the operation on machine m = 4 is ( j 1 , s 2 , o 1 ) ( j 2 , s 1 , o 2 ) ( j 4 , s 1 , o 2 ) ( j 1 , s 1 , o 2 ) ( j 2 , s 1 , o 4 ) . The detail discussion of the decoding of Segment-2 under the first and the second stage of the genetic search is given in Section 4.3.2.

4.3. Solution Decoding

4.3.1. Number and Size of Sublots

The decoding of the number and sizes of sublots from Segment-1 is similar to that discussed in [2]. Given the values of the genes in Segment-1, the size of a sublot b s , j can be computed using Equation (57). Once all the b s , j ’s are calculated, a sublot whose size is less than a minimum threshold value is set to zero, and the corresponding gene α s , j is also set to zero. Then, the sizes of the other sublots are reevaluated using the same Equation (57). In this decoding, the number of the sublots for a given job is equal to the number of sublots whose sizes are greater than zero.
b s , j = α s , j s = 1 S j α s , j i f s = 1 S j α s , j > 0 B j / S j Otherwise

4.3.2. Assignment, Sequencing, and Completion Time

Once the sizes of all the sublots are known (see Section 4.3.1), the assignment, sequencing, and completion times of the operation of each non-zero sublot and other variables are determined using the information obtained from Segment-2 and two decoding procedures outlined in this section. The first decoding procedure is applicable for Stage-1 of the genetic search, while the second is for Stage-2.

Stage-1

In Stage-1 of the genetic search, the assignment and sequencing of the operations and the determination of their starting and finish times are obtained using a procedure that utilizes the information in the first form of Segment-2 of the solution representation (Figure 1c). In describing this procedure, let us first define GeneS2F1[l] to denote the content of a gene [ j , s , o ] in the first form of Segment-2 at location l, where l runs from 1 to the total number of genes in this segment. Moreover, let us define r m as a run counter for machine m, which increases by one every time an operation is assigned to the machine.
With this definition, the steps for the determination of the assignment and sequencing of operations in Stage-1 of the search are outlined in Figure 2 along with the procedure described in Figure 3 to evaluate the decision variables c o , s , j , m , l m , o , s , j , e s , j , and d s , j . In Step-1, the counters l and r m are initialized to 1 and 0, respectively. The values of the indices j, s, and o are obtained from GeneS2F1[l] at Step-2. In Step-3, if b s , j is zero, the algorithm moves to Step-9. Otherwise, it advances to Step-4. In these steps, the counter r m is temporarily increased by 1 corresponding to all the eligible machines for operation o of job j. Then, using the procedure outlined in Figure 3, the variables c o , s , j , m , l m , o , s , j , e s , j , and d s , j are evaluated corresponding to all these eligible machines.
In Step-5, the machine that finishes operation [ o , s , j ] with the smallest c o , s , j , m is selected, and in Step-6, the operation is assigned to the r m t h run of this machine. In Step-7, the values of the decision variable calculated corresponding to the selected machine are retained as final values. The values of the counter r m , that was temporarily increased in Step-4, are reduced by 1 corresponding to those machines that are not selected to process operation [ o , s , j ] . In Step-9, the algorithm stops if all the operations are assigned, or otherwise, it increases the counter l by one and then returns to Step-2.

Stage-2

In Stage-2 of the genetic search, the second form of Segment-2 of the solution representation (Figure 1d) is used. This form of the segment explicitly encodes the assignment and sequencing of the operations as it was discussed in Section 4.2. Unlike the decoding procedure previously discussed for Stage-1, the decoding in Stage-2 does not follow a greedy approach in selecting a machine for an operation assignment as the assignment and sequencing are directly inferred from the solution representation.
The decoding procedure is only for the determination of several continuous variables along with the start and finish times of the operations of all the sublots with non-zero sizes. This decoding procedure is outlined in Figure 4. In this decoding procedure, the notation GeneS2F2[l] denotes the content of the gene [ j , s , o , m ] at location l of the second form of Segment-2. The notations l and r m have the same meaning as when they were used in the previous discussion.

4.3.3. Calculating Objective Function Terms

In the decoding procedures presented in the previous section, the values of c o , s , j , e s , j , d s , j , and l m , o , s , j were determined. Once the values of these variables are known for each sublot with size greater than zero ( b s , j > 0 ), the various terms of the objective function can easily be calculated as shown in Table 3.

4.4. Handling Multi-Objectives

In the literature, there are many techniques in handling multi-objective optimization using evolutionary algorithms. However, due to its simplicity and computational efficiency, we choose a weighted sum approach in which multiple objectives are aggregated into a single objective using a weight vector. In the best scenario, the weight vector is assigned by decision-makers who have knowledge regarding the relative importance of the objective functions. However, because of large differences in magnitudes of the objective functions, scaling the objectives is always desirable to obtain solutions consistent with the decision-makers’ preferences.
Hence, in the aggregated objective, the k th objective function has to be multiplied by the weights W k , reflecting the decision makers’ preferences, and Ψ k for scaling as shown in Equation (58). In this research, we adopt a simple objective function scaling mechanism in such a way that, in the initial population of the genetic algorithm, the magnitude of the maximum values of objective function terms Z 2 through Z 10 will have the same values as the maximum value of Z 1 .
This scaling procedure can be mathematically described as shown in Equation (59) where Z k I n i m a x represents the maximum value of objective Z k in the initial population. The decision-maker is free to choose any positive value of W k . The problem may be solved multiple times with different sets of W k ’s, and the resulting solutions can be presented to the decision-makers for final decision. Nevertheless, scheduling is a day-to-day activity where the decision-makers may already have a preferred set of W k ’s from previous experience.
Z = k = 1 10 W k · Ψ k · Z k
Ψ k = Z 1 I n i m a x Z k I n i m a x

4.5. Genetic Operators

A genetic algorithm works on a population of solutions. The initial population is generated randomly, and the algorithm works iteratively to evolve this population towards promising solutions following the principles of natural evolution. The mechanisms used to achieve this artificial evolutionary process are collectively called genetic operators. These operators are broadly classified into selection, crossover, and mutation. The operators used in the proposed genetic algorithm are discussed below.

4.5.1. Selection Operators

The role of selection operator in a genetic algorithm is to mimic the principle of the survival of the fittest in natural evolution. This operator creates a mating pool of individuals for reproduction. Selection can be applied in a variety of ways. In this research, we considered the three most commonly used approaches in the literature—namely, (1) proportional, (2) linear ranking, and (3) tournament selections. The following notations are used to describe these selection operators.
NNumber of individuals (solutions) in a population.
U(t)Population of solution at generation t.
U(i,t)The i th individual in the population at generation t.
M(t)Mating pool created via selection operator from the population U ( t ) (the size of the mating pool is the same as that of the population).
M(i,t)The i th individual in the mating pool at generation t.
Z(i,t)The weighted objective function value corresponding to the i th individual in the population at generation t.
Zmin(t)The minimum observed weighted objective function value in the population at generation t.
Zmax(t)The maximum observed weighted objective function value in the population at generation t.
F(i,t)The fitness value of the i th individual in the population at generation t.
R(i,t)The rank of the i th individual in the population at generation t for linear ranking selection.
P(i,t)Probability of selection of i th individual in the population at generation t for proportional or linear ranking selection method.
TTournament size for tournament selection.

4.5.2. Proportional Selection

Proportional selection is a procedure in which individuals from a given generation are selected (with replacement) to move to the mating pool with a probability proportional to their fitness F, which needs to be maximized. In a problem where the objective function Z is to be minimized, a fitness function F has to be devised so that a solution with smaller Z will have higher fitness than a solution with larger Z.
In such situations, a commonly used fitness function is the reciprocal of Z as shown in Equation (60). We also considered other two transformations shown in Equations (61) and (62). Once the fitness values for all the individuals in the population are calculated, each individual is assigned a probability of selection defined by the equation in Equation (63). As can be seen from this equation, P ( i , t ) is proportional to the fitness F ( i , t ) , and the sum i N P ( i , t ) is equal to 1. This probability distribution can be sampled using Monte-Carlo simulation of a roulette wheel, where each solution is assigned a slot proportional to its probability of selection ( P ( i , t ) ). Algorithm 1 depicts the Monte-Carlo simulation of a roulette wheel, and every time this algorithm is called, it returns an integer number (winner) representing the index of the selected individual. The procedure of constituting the mating pool M ( t ) from a given population U ( t ) is depicted in Algorithm 2.
F ( i , t ) = 1 Z ( i , t )
F ( i , t ) = Z m a x ( t ) + Z m i n ( t ) Z ( i , t )
F ( i , t ) = Z m a x , t Z ( i , t )
P ( i , t ) = F ( i , t ) i N F ( i , t )
Algorithm 1: Monte Carlo simulation of roulette wheel spinning for proportional
 or ranked selection.
Algorithms 15 00246 i001
Algorithm 2: Creating the mating pool M ( t ) .
Algorithms 15 00246 i002
Algorithm 3: Monte Carlo Simulation of Tournament selection.
Algorithms 15 00246 i003

4.5.3. Linear Ranking Selection

In a linear ranking selection, the individuals in the population are assigned ranks based on a sorted sequence of their objective function values. The individuals with the worst objective function are assigned a rank of 1, the next worse individuals are assigned a rank of 2, and so on. In this process, the best individuals are assigned the highest possible rank. Once each individual is a assigned a rank R(i,t), a selection probability P ( i , t ) can be calculated using Equation (64). This probability function can be sampled using Monte-Carlo simulation of a roulette wheel (Algorithm 1) to constitute the mating pool using Algorithm 2.
P ( i , t ) = R ( i , t ) i N R ( i , t )

4.5.4. Tournament Selection

Tournament selection is the most commonly used selection operator in the literature. In this selection procedure, every time a selection is performed, T individuals are randomly selected (with replacement) from the population, and the one with the smallest Z is selected as a winner. The process is repeated for N number of times to form a mating pool of N individuals from a given generation of the population. The integer parameter T is referred to as the tournament size, and it is usually equal to a small fraction of N where the smallest possible value is 2. A large value of T results in higher selection pressure and premature convergence, whereas a small value of T may result in slow convergence. The Monte-Carlo simulation of tournament selection is given in Algorithm 3, which can be used along with Algorithm 2 to constitute the mating pool.

4.5.5. Crossover Operators

Crossover operators are responsible for creating offspring from parent chromosomes via the exchange of genetic materials, thereby, mimicking sexual reproduction in living organisms. Once M ( t ) is formed using the selection operator, each individual is paired randomly to create a total of N / 2 pairs. Then, a crossover operator is applied on each pair resulting from the creation of offspring. The crossover operators used in this paper are listed below. SSC1, SSC2, JLOSC, SLOSC, and MAC are direct adaptations from [2]. However, in this paper, JLOSC, SLOSC, and MAC are applicable only in the second stage of the search. JLSCS and SLGSC share similarities with JLOSC and SLOSC; however, they are applicable only in the first stage of the genetic search.
(a)
Sublot-Size Crossover-1 (SSC1).
(b)
Sublot-Size Crossover-2 (SSC2).
(c)
Job Level Gene Sequence Crossover (JLGSC).
(d)
Sublot Level Gene Sequence Crossover (SLGSC).
(e)
Job Level Operation Sequence Crossover (JLOSC).
(f)
Sublot Level Operation Sequence Crossover (SLOSC).
(g)
Machine Assignment Crossover (MAC).
Figure 5 depicts the first two crossover operators (SSC1 and SSC2). When SSC1 (or SSC2) is applied, an arbitrary crossover point is selected on Segment-1, and the parts of this segment that lie to the left (or right) of the crossover point are exchanged. The step-by-step application of JLGSC is illustrated in Figure 6 where the creation of Child-1 is detailed. In Step-1, one gene is selected arbitrarily. This gene and all the other genes with the same job index, j, are copied from Parent-1 to Child-1. In Step-3, all the missing genes of Child-1 are copied from parent-2 in the order they appeared in this second parent. At the same time, Child-2 is also created by first copying genes from Parent-2 with the same job index as the arbitrarily selected gene. The missing genes of Child-2 will be obtained from Parent-1. SLGSC is applied in a similar manner to JLGSC. However, the gene transfer in SLGSC is limited to the genes that have the same job and sublot index ( j , s ) as the arbitrarily selected gene in Step-1.
JLOSC is applied in four steps as shown in Figure 7. In Step-1, a crossover point (a gene) is selected arbitrarily. All the genes with the same job index as the arbitrarily selected gene are copied from Parent-1 to Child-1 in Step-2. In Step-3, the first three elements ( j , s , o ) of the missing genes of Child-1 are copied from Parent-2. In the last step, the machine assignments of the incomplete genes that were copied from Parent-2 are completed by the machine assignment obtained from Parent-1.
The creation of Child-2 will be performed in a similar manner by starting from Parent-2. SLOSC is a reduced version of JLOSC where the first step is limited to the genes with the same job and sublot indices. Hence, if Figure 7 were for SLOSC, only the genes with job index j = 3 and sublot index s = 2 would be copied to Child-1 in Step-2. When either JLOSC or SLOSC is applied, Child-1 (Child-2) will have the same machine assigned as Parent-1 (Parent-2) but with a different operation sequence. Thus, JLOSC and SLOSC manipulate only the sequence of operations without altering the machine assignments in Stage-2 of the generic search.
The machine assignment crossover (MAC), shown in Figure 8, is responsible for exchanging machine assignment information between parent chromosomes during Stage-2 of the genetic search. As can be seen in the figure, this operator is applied in three steps to create offspring. In Step-1, several genes are arbitrarily selected (each one with 50% chance). In Step-2, the contents of Parent-1 are copied to Child-1 without the machine assignment information of the arbitrarily chosen genes. In the last step, the missing machine assignment information is copied from Parent-2.
Child-2 is created in a similar manner by starting Step-1 from Parent-2 for the same locations of the arbitrarily selected genes in creating Child-1 (i.e., locations 6, 10, 14, 18, 20, 23, 25, 27, and 31). Here, it is essential to mention that, although there are many crossover operators, whenever crossover is to happen between a pair of parent chromosomes, only one crossover operator will be arbitrarily selected and applied with a probability ( p c r o s ) to create two offspring. If the selected crossover operator is not applied (by chance), the parent chromosomes will move to the next generation (with or without mutation operators applied, again by chance).

4.5.6. Mutation Operators

Mutation operators are applied with a small probability on newly generated offspring to alter the genetic material. This category of operators used in this paper is listed below. They are adapted from [2], and the need to divide the genetic search into two stages is taken into consideration. The first two mutation operators, SGVM and SGSM, are applicable in both Stage-1 and -2 of the GA search. Whereas OGSM is applicable only in Stage-1, and OSSM, ROAM, and IOAM are applicable only in Stage-2. Each one of the six mutation operators listed below is applied with a probability p m u t on a newly generated offspring as long as it is eligible for the stage of the search of the GA.
(a)
Sublot Gene Value Mutation (SGVM).
(b)
Sublot Gene Swap Mutation (SGSM).
(c)
Operation Gene Shift Mutation (OGSM).
(d)
Operations Sequence Shift Mutation (OSSM).
(e)
Random Operation Assignment Mutation (ROAM).
(f)
Intelligent Operations Assignment Mutation (IOAM).
SGVM is used to alter the value of a gene α j , s in Segment-1 of a newly born offspring chromosome. When this operator is applied, a single gene is arbitrarily selected, and its value is either increased or decreased (50% by chance) with a small quantity according to Equations (65) or (66), respectively. In these two equations, rand() is a function that returns a random number in the interval [0, 1], and δ is the maximum increment or decrement quantity, which can be regarded as the GA’s parameter that needs to be set. In this research, we found that a value of δ between 0.1 and 0.2 is preferable. The second mutation operator, SGSM, arbitrarily selects a job j in Segment-1 and swaps the values of two arbitrarily selected genes α j , s and α j , s corresponding to sublots s and s ( s s ).
α j , s = min { 1 , α j , s + r a n d ( ) × δ }
α j , s = max { 1 , α j , s r a n d ( ) × δ }
Operation gene shift mutation (OGSM) is applied on form-1 of Segment-2 of the solution representation (Figure 1c) during Stage-1 of the GA search. When this operator is applied, it first arbitrarily selects a gene ( j , s , o ) , and then relocates it to an arbitrarily location after and before the locations of the genes ( j , s , o 1 ) and ( j , s , o + 1 ) , respectively. If o = 0 , the selected gene ( j , s , o ) can be moved only forward to an arbitral location before the location of gene ( j , s , o + 1 ) , whereas if o = O j , the gene can be moved only backward to a location after the location of the gene ( j , s , o 1 ) .
OGSM impacts both the machine assignment and operation sequencing as it alters the sequence of the genes, which is used to determine the operations assignment and sequencing in Stage-1 of the GA search by the greedy procedure described in Section 4.3.2. OSSM is applied on form-2 of Segment-2 (Figure 1d) to shift a location of an arbitrarily selected gene ( j , s , o , m ) during Stage-2 of the search. It is applied in a similar manner as OGSM was applied during Stage-1. However, in Stage-2, since the genes directly encode the machine assignment, OSSM impacts only the operation sequencing but not the machine assignment of the operations. ROAM is a mutation operator responsible for altering the machine assignment in Stage-2 of the GA search.
The operator arbitrarily selects a gene ( j , s , o , m ), and changes the value of m to a different eligible machine m for operation o of job j (i.e., P o , j , m = 1 ). IOAM intelligently changes a machine assignment in an attempt to lower the workload on a heavily loaded machine. This operator first identifies the machine with the largest workload because of the solution under consideration for a mutation (let that machine be donated as m * ). Then, it selects one of the operations assigned to m * and relocates it to an eligible machine with the least load as long as the load transfer will not make the least loaded machine more loaded than m * after the load transfer.

5. Numerical Studies

5.1. Model Analysis

5.1.1. Illustration of Objective Function Terms

This section attempts to illustrate the various objective function terms considered in this paper. For this purpose, the prototype problem presented in Section 4.1 was solved using the proposed algorithm, where makespan minimization was the only objective function, and other objective function terms were merely evaluated. The details of a typical solution are given in Table 4, Table 5, Table 6, Table 7 and Table 8. Table 4 provides the sizes of the created sublots and operation-to-machine assignments and the run orders along with the Beginning and End times of Lag-time, Setup, and Processing. The maximum Processing End time, 2603.8, is the makespan of the schedule.
The values of the objective function terms related to sublot flowtime can be extracted from Table 4. The entry time to the shop floor of a sublot ( e s , j ) is the setup begin (SB) time of the first operation if the setup is attached, or it is equal to the setup end (SE) time if the setup is detached. Here, it is important to note that, if the setup of the first operation is detached, the setup can begin and be completed before raw material is dispatched to the shop floor. The sublot departure time ( d s , j ) is the process end (PE) time of the last operation.
From the first row of column ten of Table 4, e 1 , 1 = 100 , because the job is dispatched after its setup is completed as the first operation of this sublot has a detached setup time. The departure time d 1 , 1 = 2587.5 . Hence, the flowtime f 1 , 1 = 2587.5 100 = 2487.5 . The flowtimes for the other sublots can be determined similarly and are summarized in Table 5. At the bottom of this table, the performance measures f m a x and f t o t a l are indicated as 2487.5 and 16,560.6, respectively.
The job flowtime and sublot-finish-separation objective function terms can be evaluated from Table 5. The entry time e ^ 1 and the departure time d ^ 1 of the first job are the same as e 1 , 1 and d 1 , 1 , respectively, of the first sublot since this job has only one sublot in the final solution. Hence, its flowtime f ^ 1 = f 1 , 1 = 2487.5 . The second job has three sublots in the final solution. Thus, its entry time e ^ 2 is the minimum of { e 1 , 2 , e 2 , 2 , e 3 , 2 } = e 3 , 2 = 120.0 , and its departure time d ^ 2 is the maximum of { d 1 , 2 , d 2 , 2 , d 3 , 2 } = d 3 , 2 = 2599.8 . Therefore, the flowtime of job-2 is evaluated as f ^ 2 = 2599.8 120.0 = 2479.5 . For job-3, e ^ 3 is the minimum of { e 1 , 3 , e 2 , 3 , e 3 , 3 } = e 1 , 3 = 920.0 , and d ^ 3 is the maximum of { d 1 , 3 , d 2 , 3 , d 3 , 3 } = d 2 , 3 = 2603.8 .
Therefore, f ^ 3 = 2603.8 920.0 = 1683.8 . Similarly, for the forth job, e ^ 4 = 220.0 , d ^ 4 = 2583.6 , and f ^ 4 = 2363.6 . The sublot finish separation time for job-1 is zero since this job has only one sublot, whereas the sublot finish-time separation of job-2 is the difference between (1) the maximum of { d 1 , 2 , d 2 , 2 , d 3 , 2 } = d 3 , 2 = d ^ 2 , and (2) the minimum of { d 1 , 2 , d 2 , 2 , d 3 , 2 } = d 1 , 2 = g ^ 2 , which is evaluated as h ^ 2 = d ^ 2 g ^ 2 = 2599.8 2257.4 = 342.4 . The sublot finish-time separations for the other jobs can be evaluated similarly. The result is summarized in Table 6. In the last row of this table, the objective function components f ^ m a s , f ^ t o t o a l , h ^ m a s , and h ^ t o t o a l are indicated as 2487.5, 9014.7, 1006.1, and 1787, respectively.
Table 7 provides the schedule for the prototype problem with respect to the machines. From this table, the workload because of each operation assignment can be evaluated by subtracting SB from PE. For instance, from the first row of this table, the load because of operation-1 of sublot-1 of job-3 is l m , o , s , j = l 1 , 1 , 1 , 3 = 1342.0 840.0 = 502 . Similarly, the workload because of the other four operations on machine-1 can be evaluated as 441.8, 381.4, 291.3, and 147.3, bringing the total workload on this machine to 1763.8 + 840 = 2603.8, where 840 is the release date of the machine.
The utilization (workload/makespan) of this machine is 100% as its workload is the same as the makespan. The workloads and the utilization of the other machines are also evaluated in a similar way as summarized in Table 8. The objective function components l ^ m a x , l ^ t o t a l , and l ^ m a x l ^ m i n are given in the last row of this table as 2603.8, 12,488.4, and 427.7, respectively. The values for all of the objective function components are summarized in Table 9.

5.1.2. Optimizing a Single Objective

When we optimize only one objective function term, unaccounted objective function terms can be adversely impacted. This phenomenon asserts the importance of multi-objective optimization. To illustrate this reality, we solve Problem-1 by considering one objective function term at a time. The result is depicted in Figure 9. Figure 9a provides the values of the makespan ( Z 1 ) when Z 1 through Z 10 are optimized one at a time as a single objective function. As it should be the case, the smallest makespan (about 2608) is achieved when Z 1 is considered as the only term in the objective function.
However, when another term alone is optimized, makespan greatly deteriorates. For instance, when only Z 2 alone is optimized, the value of the makespan increases to 5067 (94% increase). Figure 9b is a plot of the maximum sublot flowtime ( Z 2 ) when Z 1 through Z 10 are optimized one at a time. Its minimum value is 1468 when Z 2 alone is optimized. This value increases to 2431 when Z 1 alone is optimized. A single objective optimization of Z 6 through Z 10 has significantly negative impacts on Z 2 . A similar phenomenon is observed on all the other objective function terms, as can be seen from Figure 9c–j.
Here, it is important to note that the magnitude of the severity of a single objective optimization on the objective function terms that are not incorporated increases as the problem size increases. To exemplify this fact, we conducted a similar analysis on a relatively large problem (Problem-4), and the result is compiled in Table 10. For instance, when the total machine load ( Z 9 ) was the only objective function, its value was 573,164 min (see at row- Z 9 column- Z 9 ), which increases by 84,386 min when makespan ( Z 1 ) is the only objective function optimized (see at row- Z 1 column- Z 9 ). This increment was only 721 min in a similar analysis in Problem-1. The total sublot flow time in Problem-4 was equal to 2,115,095 when it was the only objective function (see row- Z 3 column- Z 3 ).
This value increases to 4,004,945 when minimizing the maximum machine load is the only objective (see row- Z 8 column Z 3 ). The last two rows of Table 10 show the best and the worst observed values of each objective function term. From these rows, we can see a considerably large gap between the best and the worst values of an objective function term. The best value of an objective function term is obtained when it is the only term optimized, and the worst is found when it is unaccounted for optimization. These significantly large deteriorations of unaccounted objective function terms in a large size problem greatly emphasize the need for multi-objective optimization in real industrial scheduling problems that are usually large in size.

5.1.3. Jointly Optimizing Z 1 , , Z 10

In the previous section, the best and the worst values of the various objective function terms were determined when only one term was optimized at a time. In this section, we attempted to illustrate the ability of the proposed algorithm to jointly optimize all the terms and achieve values close to their best-known ones. In doing so, we first provide a plot of the values of the various objective function terms of Problem-4 in Figure 10a when makespan is the only objective function optimized. In this figure, the values of the objective function terms are plotted on a scale between 0 and 1, corresponding to the best and worst values, respectively.
Makespan achieves its minimum value since it is the only objective optimized. However, from this plot, one can see that several objective function terms, namely Z 6 , Z 7 , and Z 9 , are not close enough to their respective best values obtained when each one of them was the only objective optimized. Next, we solve the same problem to jointly optimize all the objective function terms with equal weights set at one. The resulting values of the objective function terms are plotted in Figure 10b. In this plot, except for Z 9 , all the values of the objective function terms are close to their best values and far from their worst values.
Finally, Problem-4 was optimized with increased weight for Z 9 , and the values of terms are plotted in Figure 10c. From this final plot, one can see that all the terms of the objective function are much closer to their best values than to their worst values. This result demonstrates the ability of the proposed algorithm to jointly optimize all the objective function terms considered in the proposed model.

5.1.4. Further Empirical Study of Objective Functions

In this section, we conducted additional empirical investigations to illustrate the interaction of the objective function terms and their relevance in providing good quality solutions. A total of eleven cases were investigated. The cases differ by the values of the weights of the objective function terms. The settings for the weights for these eleven cases are given in Table 11. In each case, the genetic algorithm was executed ten times, and the average values of the objective function terms were collected. Table 12 provides these values.
Case-1 and Case-2 were considered to investigate flowtime performance measures. Case-1 attempts to minimize the maximum and total sublot flowtime ( Z 2 and Z 3 ), whereas Case-2 attempts to minimize the maximum and total job flowtime ( Z 4 and Z 5 ). The objective function terms Z 1 , Z 8 , Z 9 and Z 10 are also optimized. In shifting from Case-1 to Case-2, the total job flowtime ( Z 5 ) changes from 829,235 to 823,195 (less than 1% improvement).
However, the total sublot flowtime ( Z 3 ) changes from 1,017,100 to 1,143,060 (12% deterioration). Moreover, Case-2 increased the total workload ( Z 9 ) by 10,396 min (a change from 561,306 to 571,702 min). Hence, optimizing the sublot flowtime is more desirable than optimizing job flowtime. However, as it can be seen from the values of Z 2 , Z 3 , Z 4 , and Z 5 in Case-0, optimizing both the sublot and job flowtime simultaneously can result in a favorable solution with respect to the overall flowtime performance.
In both Case-1 and Case-2, the maximum and total sublot finish-times separations ( Z 6 and Z 7 , respectively) are significant compared to Case-3 and Case-4. Case-3 and Case-4 are similar to Case-1 and Case-2, respectively. However, in these two cases, Z 6 and Z 7 were also minimized. As can be seen from the result, Z 6 and Z 7 were reduced substantially with minimal impacts on sublot and job flowtime perforce measures. The result confirms the importance of minimizing sublot finish-time separation along with sublot and job flowtime, which is initially reported in this paper.
Another observation from the empirical study in this section is the importance of jointly minimizing the maximum and the total of a performance measure. For instance, let us examine Case-1, Case-5, and Case-6. In Case-1, both the maximum ( Z 2 ) and total ( Z 3 ) sublot flowtimes are minimized. Case-5 minimizes Z 2 but not Z 3 , and Case-6 minimizes Z 3 but not Z 2 . The values of ( Z 2 and Z 3 ) in Case-1, Case-5, and Case-6 are (23,684 and 1,017,100), (23,470 and 1,195,014), and (24,578 and 1,013,725), respectively. In shifting from Case-5 to Case-6, Z 2 deteriorates by 4.7%, and Z 3 improves by 15%.
Thus, minimizing Z 2 alone results in an unfavorable value of Z 3 and vice versa. By adopting Case-1, Z 2 deteriorates only by 0.9% from its value in Case-5, and Z 3 deteriorates only by 0.33% from its value in Case-6. Thus, instead of minimizing the maximum or the total sublot flowtime alone, it is preferable to minimize both of them simultaneously. By examining Case-2, Case-7, and Case-8, we can also arrive at a similar conclusion regarding Z 4 and Z 5 .
In the literature, workload balancing in FJSP has been handled either by minimizing the workload of the most loaded machine (maximum workload Z 8 ) or by minimizing the total workload ( Z 9 ). Accordingly, Case-9 minimizes Z 8 , and Case-10 minimizes Z 9 . However, in both cases, we can see that the difference between the workloads of the most loaded and the least loaded machines (maximum workload difference, Z 10 ) is significant compared to all the cases from Case-1 to Case-8 where Z 10 is also minimized along with other objective function terms. Thus, for better workload balancing, it is desirable to minimize Z 10 along with Z 8 and Z 9 . The minimization of Z 10 to improve workload balancing is reported for the first time in this paper.

5.2. Performance Evaluation of RGA and 2SGA

5.2.1. Initial Solution Quality

Bajer et al. [44] and Rahnamayan et al. [45] argued that the quality of the initial population is an important factor in determining the abilities of evolutionary algorithms to find acceptable solutions with minimal execution times. With this in mind, Defersha and Rooyani [1] illustrated that one of the key factors for the success of their two-stage GA is its ability to find initial solutions with greatly improved makespan. In this paper, we further illustrate the ability of 2SGA in finding an improved initial population not only with respect to the makespan but also with many other performance metrics of the multi-objective FJSP lot streaming presented in Section 3.2.
Table 13 provides the means and the standard deviations of the objective functions Z 1 to Z 10 in the initial population of 2000 individuals in Problem-1 and Problem-4. From this table, it can be clearly seen that the mean and the standard deviation of values of the various objective functions in the initial population are greatly improved as we move from RGA to 2SGA. For instance, the mean and standard deviation of the maximum sublot flowtime ( Z 2 ) improve by 41% and 57%, respectively, in Problem-1 and by 47% and 79%, respectively, in Problem-4. The histogram for the weighted sum of all the objective function terms of the initial population is displayed in Figure 11. The histogram shows that 2SGA results in highly improved initial solution quality in solving the proposed multi-objective FJSP lot streaming problem.

5.2.2. Convergence Behaviors

The previous section illustrated that 2SGA resulted in an improved initial population in all the objective function terms. In this section, we compare the convergence behavior of 2SGA and RGA while solving large-size problems (Problems 4 to 7). The basic features of these problems are given in Table 14. The parameters of the GAs used in this numerical example are given in Table 15. Figure 12a–g shows the convergence along the objective function terms Z 1 to Z 10 , respectively, of 2SGA and RGA in solving Problem-4 while all these terms are simultaneously optimized with equal weight ( W 1 = W 2 = = W 10 = 1 ). Each convergence curve is an average of 40 replications.
From these convergence curves, we can see that 2SGA was able to converge more rapidly than RGA along Z 1 to Z 5 , Z 8 , and Z 9 . In terms of these objective function terms, 2SGA was able to find better solutions in only a few hundred generations compared with those determined after more than 10,000 generations by RGA. In terms of Z 6 , Z 7 , and Z 10 , RGA was able to converge more rapidly than 2SGA. However, 2SGA was able to catch up with RGA only in a few hundreds of generations right after it changed the search stage, which occurred at 2500 generations. Figure 12h is the convergence of 2SGA and RGA in terms of the weighted sum of all the objective function terms, which clearly shows the superiority of 2SGA over RGA. From the convergence graphs, the first stage of 2SGA was able to achieve convergence within the first few hundreds of generations.
For instance, if 2SGA changed its search stage at 1000 generation, it could provide highly improved solutions in only 3000 generations, which cannot be achieved using RGA after many thousands of generations. Figure 12i depicts the histograms of the objective function of the final solutions in 40 trials in both 2SGA and RGA. In these histograms, 2SGA achieves approximately 9.5% and 35.6% improvements in the mean and standard deviation, respectively. An improvement in the standard deviation by 2SGA represents its robustness in finding good solutions more consistently than RGA. Similar results were obtained while solving Problems-5, 6, and 7, as shown in Figure 13. The computational times required by 2SGA and RGA to complete the 10,000 generations using the parameters in Table 15 were approximately 120, 335, 840, and 1410 min in Problems 4, 5, 6, and 7, respectively.

5.2.3. Improvement through Parallelization

Parallelizing genetic algorithms using a high-performance parallel computing platform has been well recognized as a viable technique to enhance their abilities in solving many complex and large-size problems. Its application in solving shop scheduling problems has also been widely reported as reviewed in [46]. In this paper, we adopted a randomly connected multi-population parallel GA (P-GA) proposed in [47] to illustrate the performance improvement that can be achieved in both RGA and 2SGA. The P-GA consists of several subpopulations where each of them is assigned to a dedicated CPU.
A subpopulation evolves independently and communicates periodically by sending and receiving selected solutions to and from other subpopulations. Whenever communication occurs, the CPU with rank 0 randomly generates a communication matrix and broadcasts it to all other CPUs. The migration of the copies of the selected solutions follows the route generated according to the communication matrix. An example communication matrix and the resulting migration route for a small instance of parallelization are depicted in Figure 14 where the CPUs are ranked from 0 to 6. The density of the communication matrix, the frequency of communication, and the strategy for the selection and replacement of migrants from the source and to the destination subpopulations are key parameters for this parallelization technique. An investigation of these parameters is not within the scope of this paper.
In this study, we used a total of 80 concurrently available CPUs in high performance parallel computing platform to implement the parallel RGA (P-RGA) and the parallel 2SGA (P-2SGA). Problems 4, 5, 6, and 7 were solved using both the sequential and the parallel versions of these algorithms using a subpopulation size of 2000. The subpopulations were allowed to communicate every 30 generations. The change of stage for 2SGA occurred at 2500 generations. The computation was terminated after 10,000 generations. The resulting convergence graphs are given in Figure 15. From these graphs, one can see that parallelization brings performance improvements in both RGA and 2SGA. However, the crucial finding in this investigation is that the sequential 2SGA using a single CPU outperforms the parallel RGA that uses 80 CPUs. This finding asserts the superiority of 2SGA over RGA in solving the proposed multi-objective FJSP lot streaming problem.

5.3. Empirical Analysis of the Algorithm Parameters

5.3.1. Selection Operators

In this section, we present comparative empirical studies on the various selection operators presented in Section 4.5. The comparisons are presented in terms of the convergence behavior of 2SGA in solving Problem 4, whereas similar results were obtained in solving several other problems. The first of these imperial studies is aimed at comparing the three fitness transformation functions in Equations (60)–(62) used in the proportional selection method. Figure 16 provides the average convergence from ten test runs using these three different fitness transformation equations. As can be seen from this figure, Equations (60) and (61) resulted in similar convergence behaviors of the algorithm. In contrast, the transformation function in Equation (62) resulted in a much better convergence of 2SGA when using the proportional selection method.
The second empirical study investigates the impact of tournament size in tournament selection. Figure 17 depicts the results of this study. This figure shows that tournament selection with a smaller tournament size was preferred in solving the proposed mathematical model using 2SGA. Lastly, a comparison of proportional, linear ranking, and tournament selection was conducted, and the resulting convergence graphs are given in Figure 18. This figure shows that the tournament selection resulted in an improved convergence of the proposed 2SGA. Hence, tournament selection with a small tournament size is the preferred selection operator in the proposed algorithm.

5.3.2. Crossover and Mutation Probabilities

In the proposed algorithm, there are seven crossover and six mutation operators. Assigning probabilities individually for these thirteen operators and simultaneously tuning them can be a daunting task. Instead, in this paper, we suggested the crossover and mutation operators be assigned one crossover and one mutation probability, respectively. With this scheme, we performed an Analysis of Variance (ANOVA), where mutation and crossover probabilities are the only two factors, and the objective function is the response. We chose six levels for each of these factors. The levels for the mutation and crossover probabilities were {0.05, 0.15, 0.25, 0.35, 0.45, 0.55} and {0.75, 0.80, 0.85, 0.90, 0.95, 1.00}, respectively. For each factor level combination, we conducted five replications. Hence, the experiment required solving a problem 180 times. The genetic algorithm used a different seed for its random number generator in each replication of the experiment.
The results of ANOVA for Problem-4 are presented in Table 16 and Figure 19. The p-values corresponding to the main effects of mutation and crossover probabilities are zero, thus, implying that these two factors have statistically significant effects on the final solution quality. On the other hand, the p-value for the interaction effect is high (compared to a typical significance level α = 0.05 ), which indicates the absence of interaction between these two factors. This lack of interaction simplifies parameter tuning, thereby, allowing the user to optimize them independently.
The plots of the main effects in Figure 19 show that the mutation probability needs to be set close to 0.35, and the crossover needs to be set at higher values between 0.90 and 1.00. The residual plots do not indicate unusual patterns, thus, confirming the adequacy of the ANOVA. The analysis also rendered similar results on several other problems of a varying size considered in this paper. Hence, the recommended values of the mutation and crossover probabilities can be used to solve different sets of problems using the proposed algorithm.

6. Discussion, Conclusions, and Future Research

6.1. Discussion and Conclusions

The recent trend in manufacturing scheduling is in developing efficient algorithms for complex and comprehensive scheduling problems. Apparently following this trend, a group of authors recently developed an efficient two-stage genetic algorithm for a comprehensive flexible job shop scheduling problem (FJSP) that incorporated (1) sequence-dependent setup time, (2) attached and detached nature of setups, (3) machine release date, and (4) lag-time. The authors demonstrated the superiority of the developed two-stage genetic algorithm in solving large-size problems, which motivated our current research. In this paper, we expand the application of the two-stage genetic algorithm to solve a comprehensive flexible job shop lot streaming problem that incorporates many objective functions. Several empirical investigations were conducted on the proposed model and the two-stage genetic algorithm through which the following observations and conclusions were made.
  • The magnitude of the severity of a single objective optimization on the objective function terms that are not incorporated increased as the problem size increased. The result emphasizes the need for multi-objective optimization in real industrial scheduling problems that are typically large in size.
  • Optimizing the sublot flowtime is more desirable than optimizing the job flowtime. However, optimizing both terms simultaneously can also result in favorable solutions with respect to the overall flowtime performance.
  • In lot streaming, one sublot of a given job may be finished much sooner than the other sublot of the same job. This may increase the work-in-process inventory. The newly proposed objective function terms (to minimize the maximum sublot finish-time separation and total sublot finish-time separation) can alleviate this problem with minimal impacts on the sublot and job flowtime.
  • Instead of minimizing the maximum or the total sublot flowtime, it is advantageous to minimize both its maximum and total values simultaneously. The same is true with the other performance measures (the job flowtime, sublot finish-time separation, and machine workload).
  • Workload balancing in FJSP may not be fully achieved by minimizing the maximum or the total workload or both. A newly proposed objective function term (minimizing the maximum workload difference), can result in a better workload balance when considered along with the minimization of the maximum and/or the total workload.
  • The solution representation and the corresponding decoding of the first stage of the two-stage genetic algorithm can generate initial solutions that are highly improved in all the ten objective function terms.
  • The two-stage genetic algorithm can jointly optimize all the ten objective function terms of the multi-objective FJSP lot streaming considered in this paper and greatly outperform the regular genetic algorithm.
  • Parallel computation can bring performance improvements in both the two-stage GA and the regular GA. However, the crucial finding is that the sequential two-stage GA using a single CPU outperformed the parallel regular genetic algorithm that uses many CPUs in solving the proposed multi-objective FJSP lot streaming problem.
  • The performance of the proportional selection method can be significantly improved by the appropriate choice of the fitness transformation function.
  • Both proportional, linear ranking and tournament selection can result in comparable performance. However, tournament selection with smaller size of tournament slightly outperformed the other two.
  • Analysis of variance shows the lack of interaction between mutation and crossover probabilities. Thus, the two probabilities can be tuned independently.

6.2. Future Research

The two-stage genetic algorithm may not be directly applicable in scheduling problems with the objective of minimizing earliness-tardiness. In particular, the greedy nature of the first stage is based on finding a schedule that finishes the jobs as early as possible, which is against minimizing earliness. For instance, finishing jobs too early may represent excess work-in-process in a JIT environment. Hence, our future research includes the development of a modified two-stage genetic algorithm to incorporate the minimization of earliness. We also plan to expand the application of the two-stage genetic algorithm for a multi-resource constrained FJSP as flexible job shops are often constrained by many kinds of resources in addition to machines.

Author Contributions

D.R.: Methodology, Investigation, Validation, Formal analysis, Writing—Original Draft, Data Curation; F.D.: Conceptualization, Methodology, Formal analysis, Software, Validation, Visualization, Writing—Review & Editing, Supervision. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Discovery Grant from NSERC, the Natural Science and Engineering Research Counsel of Canada (https://www.nserc-crsng.gc.ca/index_eng.asp) (accessed on 10 June 2022).

Data Availability Statement

Not applicable.

Acknowledgments

We would like to thank Compute Canada (https://www.computecanada.ca/ (accessed on 10 June 2022)) for providing access to high performance parallel computation facility through which the majority the numerical studies were conducted. We also would like to thank all three anonymous reviewers for their suggestions that helped us to improve the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Defersha, F.M.; Rooyani, D. An efficient two-stage genetic algorithm for a flexible job-shop scheduling problem with sequence dependent attached/detached setup, machine release date and lag-time. Comput. Ind. Eng. 2020, 147, 106605. [Google Scholar] [CrossRef]
  2. Defersha, F.M.; Chen, M. Jobshop lot streaming with routing flexibility, sequence-dependent setups, machine release dates and lag time. Int. J. Prod. Res. 2012, 50, 2331–2352. [Google Scholar] [CrossRef]
  3. Chang, J.H.; Chiu, H.N. A comprehensive review of lot streaming. Int. J. Prod. Res. 2005, 43, 1515–1536. [Google Scholar] [CrossRef]
  4. Reiter, S. A system for managing job shop production. J. Buss. 1966, 34, 371–393. [Google Scholar] [CrossRef]
  5. Cheng, M.; Mukherjee, N.J.; Sarin, S.C. A review of lot streaming. Int. J. Prod. Res. 2013, 51, 7023–7046. [Google Scholar] [CrossRef]
  6. Lu, H.D.; He, W.P.; Zhou, X.; Li, Y.J. An integrated tabu search algorithm for the lot streaming problem in flexible job shops. J. Shanghai Jiaotong Univ. 2012, 46, 2003–2008. [Google Scholar]
  7. Defersha, F.M.; Chen, M. A hybrid genetic algorithm for flowshop lot streaming with setups and variable sublots. Int. J. Prod. Res. 2010, 48, 1705–1726. [Google Scholar] [CrossRef]
  8. Ventura, J.A.; Yoon, S.H. A new genetic algorithm for lot-streaming flow shop scheduling with limited capacity buffers. J. Intell. Manuf. 2013, 24, 1185–1196. [Google Scholar] [CrossRef]
  9. Han, Y.Y.; Gong, D.w.; Sun, X.Y.; Pan, Q.K. An improved NSGA-II algorithm for multi-objective lot-streaming flow shop scheduling problem. Int. J. Prod. Res. 2014, 52, 2211–2231. [Google Scholar] [CrossRef]
  10. Meng, T.; Pan, Q.K.; Li, J.Q.; Sang, H.Y. An improved migrating birds optimization for an integrated lot-streaming flow shop scheduling problem. Swarm Evol. Comput. 2018, 38, 64–78. [Google Scholar] [CrossRef]
  11. Gong, D.; Han, Y.; Sun, J. A novel hybrid multi-objective artificial bee colony algorithm for blocking lot-streaming flow shop scheduling problems. Knowl.-Based Syst. 2018, 148, 115–130. [Google Scholar] [CrossRef]
  12. Alfieri, A.; Zhou, S.; Scatamacchia, R.; van de Velde, S.L. Dynamic programming algorithms and Lagrangian lower bounds for a discrete lot streaming problem in a two-machine flow shop. 4OR 2021, 19, 265–288. [Google Scholar] [CrossRef]
  13. Fang, K.; Luo, W.; Che, A. Speed scaling in two-machine lot-streaming flow shops with consistent sublots. J. Oper. Res. Soc. 2021, 72, 2429–2441. [Google Scholar] [CrossRef]
  14. Wang, W.; Xu, Z.; Gu, X. A two-stage discrete water wave optimization algorithm for the flowshop lot-streaming scheduling problem with intermingling and variable lot sizes. Knowl.-Based Syst. 2022, 238, 107874. [Google Scholar] [CrossRef]
  15. Tsubone, H.; Ohba, M.; Uetake, T. The impact of lot sizing and sequencing on manufacturing performance in a two-stage hybrid flow shop. Int. J. Prod. Res. 1996, 34, 3037–3053. [Google Scholar] [CrossRef]
  16. Kim, J.S.; Kang, S.H.; Lee, S. Transfer batch scheduling for a two-stage flowshop with identical parallel machines at each stage. Omega 1997, 25, 547–555. [Google Scholar] [CrossRef]
  17. Zhang, W.; Yin, C.; Liu, J.; Linn, R.J. Multi-job lot streaming to minimize the mean completion time in m-1 hybrid flowshops. Int. J. Prod. Econ. 2005, 96, 189–200. [Google Scholar] [CrossRef]
  18. Liu, J. Single-job lot streaming in m - 1 two-stage hybrid flowshops. Eur. J. Oper. Res. 2008, 187, 1171–1183. [Google Scholar] [CrossRef]
  19. Cheng, M.; Sarin, S.C.; Singh, S. Two-stage, single-lot, lot streaming problem for a 1 + 2 hybrid flow shop. J. Glob. Optim. 2016, 66, 263–290. [Google Scholar] [CrossRef]
  20. Wang, S.; Kurz, M.; Mason, S.J.; Rashidi, E. Two-stage hybrid flow shop batching and lot streaming with variable sublots and sequence-dependent setups. Int. J. Prod. Res. 2019, 57, 6893–6907. [Google Scholar] [CrossRef]
  21. Defersha, F.M.; Chen, M. Mathematical model and parallel genetic algorithm for hybrid flexible flowshop lot streaming problem. Int. J. Adv. Manuf. Technol. 2012, 62, 249–265. [Google Scholar] [CrossRef]
  22. Nejati, M.; Mahdavi, I.; Hassanzadeh, R.; Mahdavi-Amiri, N.; Mojarad, M. Multi-job lot streaming to minimize the weighted completion time in a hybrid flow shop scheduling problem with work shift constraint. Int. J. Adv. Manuf. Technol. 2014, 70, 501–514. [Google Scholar] [CrossRef]
  23. Zhang, B.; ke Pan, Q.; Gao, L.; Zhang, X.L.; Sang, H.Y.; Li, J.Q. An effective modified migrating birds optimization for hybrid flowshop scheduling problem with lot streaming. Appl. Soft Comput. J. 2017, 52, 14–27. [Google Scholar] [CrossRef] [Green Version]
  24. Wang, P.; Sang, H.; Tao, Q.; Guo, H.; Li, J.; Gao, K.; Han, Y. Improved Migrating Birds Optimization Algorithm to Solve Hybrid Flowshop Scheduling Problem with Lot-Streaming. IEEE Access 2020, 8, 89782–89792. [Google Scholar] [CrossRef]
  25. Chen, T.L.; Cheng, C.Y.; Chou, Y.H. Multi-objective genetic algorithm for energy-efficient hybrid flow shop scheduling with lot streaming. Ann. Oper. Res. 2020, 290, 813–836. [Google Scholar] [CrossRef]
  26. Li, J.Q.; Tao, X.R.; Jia, B.X.; Han, Y.Y.; Liu, C.; Duan, P.; Zheng, Z.X.; Sang, H.Y. Efficient multi-objective algorithm for the lot-streaming hybrid flowshop with variable sub-lots. Swarm Evol. Comput. 2020, 52, 100600. [Google Scholar] [CrossRef]
  27. Zhang, B.; Pan, Q.K.; Meng, L.L.; Lu, C.; Mou, J.H.; Li, J.Q. An automatic multi-objective evolutionary algorithm for the hybrid flowshop scheduling problem with consistent sublots. Knowl.-Based Syst. 2022, 238, 107819. [Google Scholar] [CrossRef]
  28. Chan, F.T.; Wong, T.C.; Chan, L.Y. Lot streaming for product assembly in job shop environment. Robot. -Comput.-Integr. Manuf. 2008, 24, 321–331. [Google Scholar] [CrossRef]
  29. Wong, T.C.; Chan, F.T.; Chan, L.Y. A resource-constrained assembly job shop scheduling problem with Lot Streaming technique. Comput. Ind. Eng. 2009, 57, 983–995. [Google Scholar] [CrossRef]
  30. Chan, F.T.; Wong, T.C.; Chan, P.L. Equal size lot streaming to job-shop scheduling problem using genetic algorithms. In Proceedings of the IEEE International Symposium on Intelligent Control, Taipei, Taiwan, 2–4 September 2004; pp. 472–476. [Google Scholar]
  31. Chan, F.T.; Wong, T.C.; Chan, L.Y. The application of genetic algorithms to lot streaming in a job-shop scheduling problem. Int. J. Prod. Res. 2009, 47, 3387–3412. [Google Scholar] [CrossRef]
  32. Liu, C.H. Lot streaming for customer order scheduling problem in job shop environments. Int. J. Comput. Integr. Manuf. 2009, 22, 890–907. [Google Scholar] [CrossRef]
  33. Liu, C.H.; Chen, L.S.; Lin, P.S. Lot streaming multiple jobs with values exponentially deteriorating over time in a job-shop environment. Int. J. Prod. Res. 2013, 51, 202–214. [Google Scholar] [CrossRef]
  34. Lei, D.; Guo, X. Scheduling job shop with lot streaming and transportation through a modified artificial bee colony. Int. J. Prod. Res. 2013, 51, 4930–4941. [Google Scholar] [CrossRef]
  35. Demir, Y.; Işleyen, S.K. An effective genetic algorithm for flexible job-shop scheduling with overlapping in operations. Int. J. Prod. Res. 2014, 52, 3905–3921. [Google Scholar] [CrossRef]
  36. Meng, T.; Pan, Q.K.; Sang, H.Y. A hybrid artificial bee colony algorithm for a flexible job shop scheduling problem with overlapping in operations. Int. J. Prod. Res. 2018, 56, 5278–5292. [Google Scholar] [CrossRef]
  37. Bożek, A.; Werner, F. Flexible job shop scheduling with lot streaming and sublot size optimisation. Int. J. Prod. Res. 2018, 56, 6391–6411. [Google Scholar] [CrossRef]
  38. Defersha, F.M.; Bayat Movahed, S. Linear programming assisted (not embedded) genetic algorithm for flexible jobshop scheduling with lot streaming. Comput. Ind. Eng. 2018, 117, 319–335. [Google Scholar] [CrossRef]
  39. Novas, J.M. Production scheduling and lot streaming at flexible job-shops environments using constraint programming. Comput. Ind. Eng. 2019, 136, 252–264. [Google Scholar] [CrossRef]
  40. Daneshamooz, F.; Fattahi, P.; Hosseini, S.M.H. Scheduling in a flexible job shop followed by some parallel assembly stations considering lot streaming. Eng. Optim. 2022, 54, 614–633. [Google Scholar] [CrossRef]
  41. Li, L. Research on discrete intelligent workshop lot-streaming scheduling with variable sublots under engineer to order. Comput. Ind. Eng. 2022, 165, 107928. [Google Scholar] [CrossRef]
  42. Sang, H.Y.; Duan, J.H. An efficient discrete artificial bee colony algorithm for total flowtime lot-streaming flowshop. In Proceedings of the 2012 9th International Conference on Fuzzy Systems and Knowledge Discovery, (FSKD 2012), Chongqing, China, 29–31 May 2012; pp. 1585–1588. [Google Scholar] [CrossRef]
  43. Chiang, T.C.; Lin, H.J. A simple and effective evolutionary algorithm for multiobjective flexible job shop scheduling. Int. J. Prod. Econ. 2013, 141, 87–98. [Google Scholar] [CrossRef]
  44. Bajer, D.; Martinović, G.; Brest, J. A population initialization method for evolutionary algorithms based on clustering and Cauchy deviates. Expert Syst. Appl. 2016, 60, 294–310. [Google Scholar] [CrossRef]
  45. Rahnamayan, S.; Tizhoosh, H.R.; Salama, M.M. A novel population initialization method for accelerating evolutionary algorithms. Comput. Math. Appl. 2007, 53, 1605–1614. [Google Scholar] [CrossRef] [Green Version]
  46. Luo, J.; El Baz, D. A survey on parallel genetic algorithms for shop scheduling problems. In Proceedings of the 2018 IEEE 32nd International Parallel and Distributed Processing Symposium Workshops, (IPDPSW 2018), Vancouver, BC, Canada, 21–25 May 2018; pp. 629–636. [Google Scholar] [CrossRef] [Green Version]
  47. Defersha, F.M.; Chen, M. A parallel genetic algorithm for dynamic cell formation in cellular manufacturing systems. Int. J. Prod. Res. 2008, 46, 6389–6413. [Google Scholar] [CrossRef]
Figure 1. Solution representation.
Figure 1. Solution representation.
Algorithms 15 00246 g001
Figure 2. A decoding procedure for the solution representation given in Figure 1c for the first stage of the two-stage genetic algorithm.
Figure 2. A decoding procedure for the solution representation given in Figure 1c for the first stage of the two-stage genetic algorithm.
Algorithms 15 00246 g002
Figure 3. Calculation of the decision variables c o , s , j , e s , j , d s , j , and l m , o , s , j .
Figure 3. Calculation of the decision variables c o , s , j , e s , j , d s , j , and l m , o , s , j .
Algorithms 15 00246 g003
Figure 4. A decoding procedure for the solution representation given in Figure 1d for the second stage of the two-stage genetic algorithm.
Figure 4. A decoding procedure for the solution representation given in Figure 1d for the second stage of the two-stage genetic algorithm.
Algorithms 15 00246 g004
Figure 5. Illustration of the crossover operators SSC-1 and SSC-2.
Figure 5. Illustration of the crossover operators SSC-1 and SSC-2.
Algorithms 15 00246 g005
Figure 6. Illustration of the JLGSC crossover operator (an asterisk * in Step-1 denotes the location of an arbitrarily selected gene).
Figure 6. Illustration of the JLGSC crossover operator (an asterisk * in Step-1 denotes the location of an arbitrarily selected gene).
Algorithms 15 00246 g006
Figure 7. Illustration of the JLOSC crossover operator (an asterisk * in Step-1 denotes the location of an arbitrarily selected gene).
Figure 7. Illustration of the JLOSC crossover operator (an asterisk * in Step-1 denotes the location of an arbitrarily selected gene).
Algorithms 15 00246 g007
Figure 8. Illustration of the MAC crossover operator (the asterisks * denote the locations of arbitrarily selected genes).
Figure 8. Illustration of the MAC crossover operator (the asterisks * denote the locations of arbitrarily selected genes).
Algorithms 15 00246 g008
Figure 9. Values of the objective function terms in Problem-1 when only one objective function term is optimized.
Figure 9. Values of the objective function terms in Problem-1 when only one objective function term is optimized.
Algorithms 15 00246 g009
Figure 10. Values of the objective function terms when (a) only makespan Z 1 is optimized, (b) all terms are jointedly optimized with equal weights set at one, and (c) all terms optimized with W 9 = 150 and other weights set at one.
Figure 10. Values of the objective function terms when (a) only makespan Z 1 is optimized, (b) all terms are jointedly optimized with equal weights set at one, and (c) all terms optimized with W 9 = 150 and other weights set at one.
Algorithms 15 00246 g010
Figure 11. The distribution of the objective function of the initial populations of 2SGA and RGA in both Problem-1 and Problem-4.
Figure 11. The distribution of the objective function of the initial populations of 2SGA and RGA in both Problem-1 and Problem-4.
Algorithms 15 00246 g011
Figure 12. The convergence of 2SGA and RGA in solving Problem 4 while all the objective terms are optimized simultaneously. (Each convergence graph (ak) is an average of 40 trials, and (l) is the histogram of the final values of objective function in these 40 trials).
Figure 12. The convergence of 2SGA and RGA in solving Problem 4 while all the objective terms are optimized simultaneously. (Each convergence graph (ak) is an average of 40 trials, and (l) is the histogram of the final values of objective function in these 40 trials).
Algorithms 15 00246 g012
Figure 13. The convergence of 2SGA and RGA in solving Problems 4, 5, and 6. (Each convergence graph is an average of 40 trials. The histograms are for the final values of the objective function in 40 trials).
Figure 13. The convergence of 2SGA and RGA in solving Problems 4, 5, and 6. (Each convergence graph is an average of 40 trials. The histograms are for the final values of the objective function in 40 trials).
Algorithms 15 00246 g013
Figure 14. Randomly connected topologies for a given communication matrices (adopted from [47]). Note: The communication matrix and topology is generated every time before solution migration occurs.
Figure 14. Randomly connected topologies for a given communication matrices (adopted from [47]). Note: The communication matrix and topology is generated every time before solution migration occurs.
Algorithms 15 00246 g014
Figure 15. Improvements of convergence behaviors of RGA and 2SGA using the parallelization technique.
Figure 15. Improvements of convergence behaviors of RGA and 2SGA using the parallelization technique.
Algorithms 15 00246 g015
Figure 16. The average convergence from ten test runs of 2SGA using proportional selection under three different fitness transformation while solving Problem-4.
Figure 16. The average convergence from ten test runs of 2SGA using proportional selection under three different fitness transformation while solving Problem-4.
Algorithms 15 00246 g016
Figure 17. The average convergence from ten test runs of 2SGA using tournament selection under different tournament sizes while solving Problem-4.
Figure 17. The average convergence from ten test runs of 2SGA using tournament selection under different tournament sizes while solving Problem-4.
Algorithms 15 00246 g017
Figure 18. The convergence of 2SGA under three different selection operators while solving Problem-4.
Figure 18. The convergence of 2SGA under three different selection operators while solving Problem-4.
Algorithms 15 00246 g018
Figure 19. The main effect and residual plots of the analysis of variance.
Figure 19. The main effect and residual plots of the analysis of variance.
Algorithms 15 00246 g019
Table 1. Data for jobs for Problem-1.
Table 1. Data for jobs for Problem-1.
(Eligible Machine, Processing Time) = (m, T o , j , m )
j B j S j o A o , j L o , j iiiiiiiv
11002100(1, 6.75)(4, 6.50)(5, 6.50)
21120(1, 3.00)(2, 2.25)(4, 2.75)
30120(1, 3.50)(2, 3.25)(4, 3.75)(5, 3.50)
22503100(1, 1.75)(2, 2.00)(5, 1.25)
210(2, 5.00)(3, 4.25)(4, 5.00)(5, 4.75)
3140(1, 7.00)(2, 7.00)(3, 6.50)(5, 6.50)
4040(1, 2.50)(2, 2.50)(3, 2.75)(4, 2.75)
32003100(1, 5.25)(5, 5.75)
210(1, 4.50)(3, 4.25)(5, 4.25)
310(1, 3.50)(2, 3.50)
41002100(4, 6.00)(5, 6.00)
200(1, 4.25)(3, 4.75)(4, 4.75)(5, 4.75)
310(2, 2.00)(4, 1.25)(5, 1.25)
Machine release dates in minutes: D 1 = 840 , D 2 = D 3 = 0 , D 4 = 120 .
Table 2. Sequence-dependent setup time data for problem-1.
Table 2. Sequence-dependent setup time data for problem-1.
Setup Time S o , j , m * and S o , j , m , o , j
jom( S o , j , m * ) ( j , o , S o , j , m , o , j )
111(120)(1,1,20)(1,2,100)(1,3,120)(2,1,210)(2,3,210)(2,4,240)(3,1,240)(3,2,210)(3,3,240)(4,2,210)
4(140)(1,1,15)(1,2,80)(1,3,120)(2,2,180)(2,4,240)(4,1,210)(4,2,210)(4,3,240)
5(100)(1,1,20)(1,3,80)(2,1,210)(2,2,180)(2,3,240)(3,1,180)(3,2,240)(4,1,180)(4,2,180)(4,3,180)
21(140)(1,1,100)(1,2,20)(1,3,80)(2,1,240)(2,3,210)(2,4,180)(3,1,240)(3,2,210)(3,3,240)(4,2,210)
2(100)(1,2,15)(1,3,100)(2,1,180)(2,2,210)(2,3,180)(2,4,180)(3,3,180)(4,3,210)
4(140)(1,1,80)(1,2,10)(1,3,80)(2,2,240)(2,4,180)(4,1,240)(4,2,210)(4,3,240)
31(80)(1,1,80)(1,2,120)(1,3,10)(2,1,180)(2,3,240)(2,4,180)(3,1,240)(3,2,180)(3,3,210)(4,2,180)
2(160)(1,2,120)(1,3,20)(2,1,180)(2,2,210)(2,3,180)(2,4,180)(3,3,210)(4,3,210)
4(80)(1,1,100)(1,2,100)(1,3,15)(2,2,240)(2,4,240)(4,1,240)(4,2,240)(4,3,210)
5(120)(1,1,100)(1,3,20)(2,1,180)(2,2,180)(2,3,210)(3,1,180)(3,2,210)(4,1,180)(4,2,210)(4,3,240)
211(80)(1,1,240)(1,2,240)(1,3,240)(2,1,20)(2,3,120)(2,4,120)(3,1,210)(3,2,210)(3,3,180)(4,2,240)
2(120)(1,2,180)(1,3,180)(2,1,10)(2,2,100)(2,3,120)(2,4,120)(3,3,180)(4,3,180)
5(160)(1,1,240)(1,3,180)(2,1,15)(2,2,100)(2,3,100)(3,1,180)(3,2,210)(4,1,180)(4,2,180)(4,3,240)
22(120)(1,2,180)(1,3,210)(2,1,80)(2,2,15)(2,3,120)(2,4,100)(3,3,240)(4,3,210)
3(100)(2,2,20)(2,3,80)(2,4,120)(3,2,240)(4,2,210)
4(120)(1,1,210)(1,2,180)(1,3,240)(2,2,10)(2,4,80)(4,1,180)(4,2,240)(4,3,240)
5(120)(1,1,180)(1,3,240)(2,1,120)(2,2,20)(2,3,80)(3,1,210)(3,2,240)(4,1,240)(4,2,210)(4,3,240)
31(80)(1,1,210)(1,2,240)(1,3,240)(2,1,80)(2,3,10)(2,4,80)(3,1,240)(3,2,240)(3,3,240)(4,2,210)
2(100)(1,2,210)(1,3,180)(2,1,120)(2,2,80)(2,3,15)(2,4,80)(3,3,210)(4,3,180)
3(140)(2,2,80)(2,3,10)(2,4,100)(3,2,240)(4,2,180)
5(160)(1,1,240)(1,3,210)(2,1,80)(2,2,120)(2,3,10)(3,1,240)(3,2,180)(4,1,180)(4,2,240)(4,3,210)
41(160)(1,1,180)(1,2,210)(1,3,210)(2,1,80)(2,3,100)(2,4,10)(3,1,240)(3,2,180)(3,3,180)(4,2,210)
2(140)(1,2,180)(1,3,180)(2,1,120)(2,2,80)(2,3,120)(2,4,10)(3,3,180)(4,3,210)
3(160)(2,2,100)(2,3,100)(2,4,10)(3,2,240)(4,2,210)
4(120)(1,1,240)(1,2,240)(1,3,180)(2,2,120)(2,4,10)(4,1,210)(4,2,180)(4,3,210)
311(80)(1,1,240)(1,2,240)(1,3,240)(2,1,180)(2,3,180)(2,4,210)(3,1,15)(3,2,120)(3,3,100)(4,2,180)
5(80)(1,1,210)(1,3,240)(2,1,240)(2,2,180)(2,3,240)(3,1,15)(3,2,100)(4,1,210)(4,2,180)(4,3,210)
21(120)(1,1,240)(1,2,240)(1,3,180)(2,1,240)(2,3,240)(2,4,240)(3,1,80)(3,2,20)(3,3,100)(4,2,210)
3(140)(2,2,240)(2,3,240)(2,4,240)(3,2,15)(4,2,180)
5(160)(1,1,180)(1,3,210)(2,1,240)(2,2,180)(2,3,180)(3,1,100)(3,2,10)(4,1,240)(4,2,240)(4,3,240)
31(120)(1,1,180)(1,2,240)(1,3,240)(2,1,210)(2,3,180)(2,4,180)(3,1,120)(3,2,100)(3,3,10)(4,2,210)
2(160)(1,2,240)(1,3,210)(2,1,210)(2,2,180)(2,3,240)(2,4,180)(3,3,15)(4,3,210)
414(100)(1,1,210)(1,2,240)(1,3,210)(2,2,240)(2,4,180)(4,1,10)(4,2,100)(4,3,100)
5(100)(1,1,180)(1,3,210)(2,1,180)(2,2,180)(2,3,210)(3,1,210)(3,2,210)(4,1,10)(4,2,120)(4,3,100)
21(100)(1,1,240)(1,2,240)(1,3,210)(2,1,180)(2,3,180)(2,4,240)(3,1,180)(3,2,240)(3,3,240)(4,2,20)
3(80)(2,2,240)(2,3,240)(2,4,240)(3,2,210)(4,2,20)
4(140)(1,1,180)(1,2,210)(1,3,180)(2,2,240)(2,4,240)(4,1,100)(4,2,10)(4,3,100)
5(80)(1,1,180)(1,3,180)(2,1,240)(2,2,210)(2,3,210)(3,1,240)(3,2,180)(4,1,80)(4,2,15)(4,3,80)
32(100)(1,2,210)(1,3,210)(2,1,210)(2,2,210)(2,3,180)(2,4,210)(3,3,210)(4,3,20)
4(140)(1,1,240)(1,2,210)(1,3,240)(2,2,180)(2,4,180)(4,1,120)(4,2,100)(4,3,15)
5(140)(1,1,180)(1,3,240)(2,1,210)(2,2,180)(2,3,210)(3,1,240)(3,2,240)(4,1,100)(4,2,100)(4,3,10)
Table 3. Calculating the objective function terms once the values of c o , s , j , e s , j , d s , j , and l m , o , s , j are evaluated corresponding to each sublot with non-zero size.
Table 3. Calculating the objective function terms once the values of c o , s , j , e s , j , d s , j , and l m , o , s , j are evaluated corresponding to each sublot with non-zero size.
Intermediate CalculationObj. Function Term
c m a x = max ( o , s , j ) c o , s , j Z 1 = c m a x
f s , j = d s , j e s , j
f m a x = max ( s , j ) | b s , j > 0 { f s , j } Z 2 = f m a x
f t o t a l = ( s , j ) | b s , j > 0 { f s , j } Z 3 = f t o t a l
e ^ j = min s | b s , j > 0 { e s , j }
d ^ j = max s | b s , j > 0 { d s , j }
f ^ j = d ^ j e ^ j
f ^ m a x = max j { f ^ j } Z 4 = f ^ m a x
f ^ t o t a l = j { f ^ j } Z 5 = f ^ t o t a l
g ^ j = min s | b s , j > 0 { d s , j }
h ^ j = d ^ j g ^ j
h ^ m a x = max j { h ^ j } Z 6 = h ^ m a x
h ^ t o t a l = j { h ^ j } Z 7 = h ^ t o t a l
l ^ m = D m + ( m , o , s , j ) | b s , j > 0 { l m , o , s , j }
l ^ m a x = max m { l m } Z 8 = l ^ m a x
l ^ t o t a l = m { l m } Z 9 = l ^ t o t a l
l ^ m i n = min m { l m }
l ^ d i f f = l m a x l m i n Z 10 = l ^ d i f f
Table 4. Operation scheduling for Problem-1.
Table 4. Operation scheduling for Problem-1.
js b s , j omrLBLESBSE/PBPE
11100.01510.00.00.0100.0750.0
246750.0870.01577.51817.52092.5
3472092.52212.52112.52212.52587.5
2190.81220.00.0303.0313.0494.6
232494.6494.6792.0812.01197.8
3331197.81237.81237.81317.81907.8
4341907.81947.81907.82007.82257.4
267.71230.00.0494.6504.6640.0
224640.0640.0640.0720.01058.5
3251058.51098.51098.51178.51652.5
4271652.51692.52308.12428.12597.4
391.51210.00.00.0120.0303.0
231303.0303.0303.0403.0792.0
326792.0832.01652.51667.52308.1
4352308.12348.12338.12348.12599.8
3180.41110.00.0840.0920.01342.0
2121342.01342.01342.01422.01783.8
3131783.81783.81783.81883.82165.2
239.21520.00.0750.0960.01185.5
2551185.51185.52104.42114.42281.1
3152281.12281.12456.52466.52603.8
380.41530.00.01185.51200.51662.8
2541662.81662.81662.81762.82104.4
3142104.42104.42165.22175.22456.5
4150.01420.00.0520.0530.0830.0
243830.0830.0830.0930.01167.5
3561167.51167.52281.12521.12583.6
250.01410.00.0120.0220.0520.0
244520.0520.01167.51177.51415.0
3451415.01415.01415.01515.01577.5
LB = Lag-time Begins; LE = Lag-time Ends; SB = Setup Begins; SE = Setup Ends; PB = Processing Begins; and PE = Processing Ends.
Table 5. Sublot flowtime related performance measure ( f m a x and f t o t a l ).
Table 5. Sublot flowtime related performance measure ( f m a x and f t o t a l ).
js e s , j d s , j f s , j
11100.02587.52487.5
21313.02257.41944.4
2504.62597.42092.8
3120.02599.82479.8
31920.02165.21245.2
2960.02603.81643.8
31200.52456.51256.0
41530.02583.62053.6
2220.01577.51357.5
Maximum2487.5
Total16,560.6
Table 6. Job flowtime and sublot finish-time separation performance measures ( f ^ m a s , f ^ t o t a l , h ^ m a s , and h ^ t o t a l ).
Table 6. Job flowtime and sublot finish-time separation performance measures ( f ^ m a s , f ^ t o t a l , h ^ m a s , and h ^ t o t a l ).
j e ^ j d ^ j f ^ j h ^ j
1100.02587.52487.50.0
2120.02599.82479.8342.4
3920.02603.81683.8438.6
4220.02583.62363.61006.1
Maximum2487.51006.1
Total9014.71787
Table 7. Operation scheduling for Problem-1 with reference to the machines.
Table 7. Operation scheduling for Problem-1 with reference to the machines.
mrjsoSBSE/PBPE
11311840.0920.01342.0
23121342.01422.01783.8
33131783.81883.82165.2
43332165.22175.22456.5
53232456.52466.52603.8
212310.0120.0303.0
2211303.0313.0494.6
3221494.6504.6640.0
4222640.0720.01058.5
52231098.51178.51652.5
62331652.51667.52308.1
72242308.12428.12597.4
31232303.0403.0792.0
2212792.0812.01197.8
32131237.81317.81907.8
42141907.82007.82257.4
52342338.12348.12599.8
41421120.0220.0520.0
2411520.0530.0830.0
3412830.0930.01167.5
44221167.51177.51415.0
54231415.01515.01577.5
61121577.51817.52092.5
71132112.52212.52587.5
511110.0100.0750.0
2321750.0960.01185.5
33311185.51200.51662.8
43321662.81762.82104.4
53222104.42114.42281.1
64132281.12521.12583.6
SB = Setup Begins; SE = Setup Ends; PB = Processing Begins; and PE = Processing Ends.
Table 8. Machine workload related performance ( l ^ m a x and l ^ m a x l ^ m i n ).
Table 8. Machine workload related performance ( l ^ m a x and l ^ m a x l ^ m i n ).
mWorkloadUtilization
12603.8100.0
22557.498.2
32176.183.6
42567.598.6
52583.699.2
Maximum workload = 2603.8; Total workload = 12488.4; and Maximum workload difference = 427.7.
Table 9. Values of the objective function components.
Table 9. Values of the objective function components.
Objective TermNotationValue
Makespan Z 1 2603.8
Maximum Sublot Flowtime Z 2 2487.5
Total Sublot Flowtime Z 3 16,560.6
Maximum Job flowtime Z 4 2487.5
Total job flowtime Z 5 9014.7
Maximum Sublot Finish-time Separation Z 6 1006.1
Total Sublot finish-time Separation Z 7 1787.1
Maximum Machine Load Z 8 2603.8
Total Machine Load Z 9 2603.8
Maximum Machine Load Difference Z 10 427.7
Table 10. Values of the objective function terms in Problem-4 when only one objective function term is optimized.
Table 10. Values of the objective function terms in Problem-4 when only one objective function term is optimized.
Term Optimized as a Single Objective Function Term Evaluated
Objective Function Z 1 Z 2 Z 3 Z 4 Z 5 Z 6 Z 7 Z 8 Z 9 Z 10
Makespan Z 1 26,60426,5112,500,08426,5941,002,941858096,07026,593660,550715
Maximum Sublot Flowtime Z 2 28,75624,0142,495,09128,3671,016,4419426110,41328,175665,5223063
Total Sublot Flowtime Z 3 28,82227,5962,115,09527,977951,31313,437173,63627,964667,8162747
Maximum Job Flowtime Z 4 28,61925,1562,520,01025,161990,089802971,92128,155663,0422989
Total Job Flowtime Z 5 27,31626,7702,312,53226,846868,391643141,72727,071652,3932169
Maximum Sublot Finish-Time Separation Z 6 37,84937,3233,417,12137,6081,337,68770919,22230,936695,8336275
Total Sublot Finish-Time Separation Z 7 30,96630,4752,857,49730,5611,110,654178810,81329,629690,0554700
Maximum Machine Load Z 8 44,19743,4694,004,94543,6581,586,50314,786158,04225,793643,747227
Total Machine Load Z 9 43,24241,9333,926,27742,3561,494,7461561176,12428,123573,16410,040
Maximum Machine Load Difference Z 10 36,94336,2383,314,12136,6711,348,06015,639161,67127,729693,03415
Minimum (Best Value) 26,60424,0142,115,09525,161868,39170910,81325,793573,16415
Maximum (Worst Value) 44,19743,4694,004,94543,6581,586,50315,639173,63630,936695,83310,040
Table 11. Values of the weights of the objective function terms in Problem-4 in eleven different cases.
Table 11. Values of the weights of the objective function terms in Problem-4 in eleven different cases.
Objective Function Term Weight
Case W 1 W 2 W 3 W 4 W 5 W 6 W 7 W 8 W 9 W 10
01111111111
11110000111
21001100111
31110011111
41001111111
51100000111
61010000111
71001000111
81000100111
91111111100
101111111010
Table 12. Average values of the objective function terms in Problem-4 from ten replications in each cases (Cases 0 to 10).
Table 12. Average values of the objective function terms in Problem-4 from ten replications in each cases (Cases 0 to 10).
Objective Function Terms
Case Z 1 Z 2 Z 3 Z 4 Z 5 Z 6 Z 7 Z 8 Z 9 Z 10
024,55023,7101,057,02023,762822,152425203022,909565,394559
124,52423,6841,017,10024,206829,235464215,47622,657561,306366
224,64023,9641,143,06024,021823,195322214,30723,047571,702372
324,89124,1831,053,07924,286847,180375133722,717562,619396
424,78924,3221,127,42524,355835,824579268022,959569,595376
524,50323,4701,195,01424,297877,040537023,06423,073573,483285
624,73724,5781,013,72524,618831,675455014,20922,639561,504308
724,40623,8221,176,45623,839874,850419817,82422,977571,159258
824,54624,4471,088,98124,476815,426421815,15222,872568,343289
924,84223,935998,84523,950811,5698437622,987562,4172047
1024,75623,870958,74123,881804,0549431923,844552,7274202
The setup load is the portion of the total workload Z 9 required to perform setup operations.
Table 13. The mean and standard deviation of the objective function terms in the initial population under RGA and 2SGA.
Table 13. The mean and standard deviation of the objective function terms in the initial population under RGA and 2SGA.
Problem-1Problem-4
ObjectiveMeanStDevPercentageMeanStDevPercentage
TermRGA2SGARGA2SGAImprovement *RGA2SGARGA2SGAImprovement *
Z 1 63173767972412(40, 58)58,51331,2773293748(47, 77)
Z 2 547732211045447(41, 57)57,43530,5243336690(47, 79)
Z 3 30,13818,24361162422(39, 60)4,574,9992,476,978299,64389,360(46, 70)
Z 4 589534831003438(41, 56)57,95730,8463312705(47, 79)
Z 5 18,95410,82934201035(43, 70)2,081,8541,122,475119,66417,273(46, 86)
Z 6 289614911171581(49, 50)21,25010,60747882282(50, 52)
Z 7 6297308427721232(51, 56)248,166116,49740,92915,422(53, 62)
Z 8 50583336894291(34, 67)37,72829,2162621538(23, 79)
Z 9 14,81613,835596550(7, 8)682,856667,03567096442(2, 4)
Z 10 378911971228532(68, 57)19,471594534111183(69, 65)
* The percentage improvement in Mean and StDev (Mean, StDev) in the initial population achieved by 2SGA.
Table 14. Basic features of the problems considered for performance evaluation of the proposed algorithm.
Table 14. Basic features of the problems considered for performance evaluation of the proposed algorithm.
ProblemMJ S j (max) O j (min, max)NAMPJ (min, max) *
425404(8 15)(3, 6)
530604(8, 16)(3, 6)
640804(10, 18)(2, 8)
7501004(10, 20)(2, 8)
* NAMPJ = Number of Alternative Routing per Operation.
Table 15. Algorithm parameters.
Table 15. Algorithm parameters.
ParametersValues
Population Size2000
Tournament Size Factor α 0.005
Crossover Probability0.85
Mutation Probability0.15
Number of generation for the first sage in 2SGA2500
Total number of genration10,000
W 1 , W 2 , , W 10 1.0
Note: Tournament size = α × Population size.
Table 16. Output of the analysis of variance for Problem-4.
Table 16. Output of the analysis of variance for Problem-4.
SourceDFAdj SSAdj MSF-Valuep-Value
   Mutation Probability51,418,299,280283,659,85693.70.000
   Crossover Probability591,944,63418,388,9276.030.000
   Mutation Probability*Crossover Probability2549,082,3351,963,2930.640.901
Error144438,889,3683,047,843
Total1791,998,215,617
DF = Degrees of Freedom; Adj SS = Adjusted sum of square; and Adj MS = Adjusted mean square.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Rooyani, D.; Defersha, F. A Two-Stage Multi-Objective Genetic Algorithm for a Flexible Job Shop Scheduling Problem with Lot Streaming. Algorithms 2022, 15, 246. https://doi.org/10.3390/a15070246

AMA Style

Rooyani D, Defersha F. A Two-Stage Multi-Objective Genetic Algorithm for a Flexible Job Shop Scheduling Problem with Lot Streaming. Algorithms. 2022; 15(7):246. https://doi.org/10.3390/a15070246

Chicago/Turabian Style

Rooyani, Danial, and Fantahun Defersha. 2022. "A Two-Stage Multi-Objective Genetic Algorithm for a Flexible Job Shop Scheduling Problem with Lot Streaming" Algorithms 15, no. 7: 246. https://doi.org/10.3390/a15070246

APA Style

Rooyani, D., & Defersha, F. (2022). A Two-Stage Multi-Objective Genetic Algorithm for a Flexible Job Shop Scheduling Problem with Lot Streaming. Algorithms, 15(7), 246. https://doi.org/10.3390/a15070246

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop