Next Article in Journal
Human Factors Analysis of the Improved FRAM Method for Take-Off Quality Lateral Shift
Previous Article in Journal
Time Series Prediction Model of Landslide Displacement Using Mean-Based Low-Rank Autoregressive Tensor Completion
Previous Article in Special Issue
The Research of Complex Product Design Process Model under the Concept of Self-Recovery
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Two-Phase Iterative Mathematical Programming-Based Heuristic for a Flexible Job Shop Scheduling Problem with Transportation

School of Mechanical and Aerospace Engineering, Nanyang Technological University, Singapore 639798, Singapore
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(8), 5215; https://doi.org/10.3390/app13085215
Submission received: 30 March 2023 / Revised: 14 April 2023 / Accepted: 20 April 2023 / Published: 21 April 2023
(This article belongs to the Special Issue Recent Advances in Smart Design and Manufacturing)

Abstract

:
In a flexible job shop problem with transportation (FJSPT), a typical flexible manufacturing system comprises transporters that pick up and deliver jobs for processing at flexible job shops. This problem has grown in importance through the wide use of automated transporters in Industry 4.0. In this article, a two-phase iterative mathematical programming-based heuristic is proposed to minimize makespan using a machine-operation assignment centric decomposition scheme. The first phase approximates the FJSPT through an augmented flexible job shop scheduling problem (FJSP + T) that reduces the solution space while serving as a heuristic in locating good machine-operation assignments. In the second phase, a job shop scheduling problem with transportation (JSPT) network is constructed from these assignments and solved for the makespan. Compared to prior JSPT implementations, the proposed JSPT model considers job pre-emption, which is instrumental in enabling this FJSPT implementation to outperform certain established benchmarks, confirming the importance of considering job pre-emption. Results indicate that the proposed approach is effective, robust, and competitive.

1. Introduction

The increasing utilization of robots in various settings such as Industry 4.0 [1]—namely, smart factories, and intelligent warehouses [2]—and healthcare in tackling COVID-19 [3] have underscored the importance of coordinating production and transportation processes in reducing waste. In contrast to earlier manufacturing environments where items are either transported manually by human labor or human driven vehicles, automation requirements of Industry 4.0 mandate the use of fully automated transporters such as automated guided vehicles (AGVs) for transporting items between various job shops for processing. To satisfy operational demands and to also bridge the gap between practice and theory in smart manufacturing scheduling, algorithms are needed to address both scheduling and routing needs concurrently to meet the aforementioned automation requirements.
A flexible job shop problem with transportation (FJSPT) was first proposed by Deroussi and Norre [4]. It integrates two NP-hard problems: the flexible job shop problem (FJSP) [5,6,7,8] and the vehicle routing problem (VRP) [9]. By synchronizing machine operations and transportation tasks, it addresses the issue of inflexible and underestimated schedules arising from the lack of process flexibility in JSPT [10] and transportation in FJSP.
Due to the NP-hard nature of the problem, heuristics and metaheuristics have dominated FJSPT solution methodologies thus far, under different solution representations. Kumar, Janardhana and Rao [11] extended Babu, et al. [12] by incorporating flexibility of machine assignment through invoking greedy heuristics for machine and transporter assignment within Differential Evolution (DE). Zhang, Manier and Manier [13] hybridized Genetic Algorithms (GA) and Tabu Search (TS), where GA is used for machine and transporter assignment, and TS is used for scheduling improvements. Zhang, Manier and Manier [14] further employed a disjunctive graph representation and applied the Modified Shifting Bottleneck (MSB) heuristic. Deroussi [15] hybridized Particle Swarm Optimization (PSO) with Stochastic Local Search (SLS) to combine the diversification strength of the former with the intensification strength of the latter. Nouri et al. [16] also used a disjunctive graph and solved it using hybridized Neighborhood-based Genetic Algorithms (NGA) and Tabu Search (TS). While heuristics and metaheuristics are inherently fast, they are prone to local optimality. To resolve this, Constraint Programming (CP) [17] and Mixed Integer Linear Programming (MILP) approaches [18] were proposed recently. The proposed MILP model was only used for small-sized instances, while the Late Acceptance Hill Climbing (LAHC) heuristic was used for larger instances.
Recent works have also incorporated new considerations to the FJSPT problem. Li et al. [19] considered additional constraints such as setup time and energy consumption and solved their MILP model using an improved Jaya (IJaya) algorithm. Ren et al. [20] proposed a novel proactive–reactive methodology to jointly dynamically optimize an FMS modeled using MILP, which is solved using a novel PSO algorithm integrated with genetic operators developed to respond to dynamic events for rescheduling.
In this work, an iterative, two-phase MILP-based heuristic is proposed. It comprises MILP models: a FJSP augmented with only intermachine transportation times alongside unlimited transportation resources (FJSP + T) and its derivative job shop scheduling problem with transportation (JSPT). Both are solved for a fixed number of iterations before returning the best solution.
This approach differs from conventional decomposition approaches in two ways:
  • While certain problems of other domains apply feedback to guide the solution search, the FJSP + T model serves as a heuristic to mitigate the lack of it by providing good machine-operation assignments.
  • In conventional approaches, first-phase solutions might sometimes be infeasible for the second phase. Each JSPT network, however, is feasible as the routing network is generated from first-phase results.
The contributions of this work are:
  • The proposed approach does not require a monolithic model before solving. To the best of our knowledge, while similar two-phase approaches have been used in other domains [21,22,23], this is the first time it has been attempted for FJSPT.
  • The proposed JSPT model is a network flow model and considers job pre-emption, which has yet to be considered.
  • The solution methodology structure facilitates the independent usage of both submodels. The JSPT is tailored for scenarios where organizational preferences such as machine-operation assignments have already been fixed [24], while FJSP + T can be used for coarse planning purposes.
This article is organized as follows. The problem description is provisioned in Section 2. The overall two-phase iterative approach along with both FJSP + T, JSPT models are described in Section 3. Section 4 reports the computational experiments’ results. Lastly, conclusions and future perspectives are provided in Section 5.

2. FJSPT (Overall) Problem Description

The following problem description also holds for JSPT, as the JSPT is a specific instance of FJSPT after fixing machine-operation assignments.
A flexible job shop network comprises a loading, unloading station (L/U) serving as a depot for all transporters and warehouses for all jobs and for machine stations that process assigned jobs; they are connected by pre-determined paths plied by identical unit-capacity transporters that transport jobs between machines for processing and L/U for depositing. All resources are available from time zero.
Each job comprises a set of ordered operations that are processed and numbered sequentially according to the processing sequence of each job and across all jobs. Each operation matches a processing step within each job, is assigned a unique machine and is processed non pre-emptively. Henceforth, job and operation are used interchangeably, wherein an operation refers to the job that has just undergone the respective operation within the processing sequence. Each machine can only process one operation at a time. To prevent deadlocks, ample machine buffer space is assumed available for storing jobs.
Transportation times are job independent. All trips are assumed to be non-preemptive and congestion-free. Transporter speed is constant and independent of loading status. All jobs are initially transported from L/U to the respective machines that are used to process their respective first operations and transported back to the L/U after completing their last operation. Transportation trips comprise deadhead and loaded trips. During empty trips, transporters travel empty from machines after depositing jobs to another machine or L/U to pick up jobs. In loaded trips, transporters pickup completed operations, transport them to the next machine within the processing sequence and deposit them for processing in accordance with the machine-operation assignments.

3. A Two-Phase Iterative Solution Methodology

Figure 1 illustrates the above-mentioned approach: the first phase solves the FJSP + T, a FJSP augmented with only intermachine transportation times alongside unlimited transporters [25] for good machine-operation assignments that are next used to generate and solve its corresponding JSPT instance. The incorporation of transportation constricts the solution space and guides the solution process to generate assignments that result in FJSP + T instances that closely approximate its respective derived JSPT instances.
Conventional decomposition methods add infeasibility cuts based on the second subproblem. In this work, machine-operation assignments generated by the FJSP + T are eliminated by adding cover cuts. It is not necessary to solve the FJSP + T to optimality, as it is only used for generating good assignments.
The JSPT problem is always feasible, as it is constructed from the FJSP + T solution. Thus, to expedite solving, instead of solving it for each iteration, an objective cut constraint bounded by the current best makespan decremented by one is added. This renders JSPTs that do not generate better solutions infeasible, and thus they are left unsolved. Each JSPT instance generates a corresponding solution instance of the original FJSPT. After a predefined number of iterations, the best solution across all JSPT instances is returned as the overall solution.
Algorithm 1 shows the pseudo-code of the two-phase solution methodology.
Algorithm 1: General scheme of two-phase iterative approach
Input: solution set, s o l ,
Input: iteration counter, i t e r 1 , 1 i t e r i t e r m a x
Input: Objective value of best solution, o b j b e s t , , s o l b e s t s o l
Output: Best solution, s o l b e s t , s o l b e s t s o l
Output: objective value of best solution, o b j b e s t
Output: Current solution, s o l i t e r , s o l i t e r s o l ,   1 i t e r i t e r m a x
Output: objective value of current solution, o b j i t e r , 1 i t e r i t e r m a x
repeat
   Solve the FJSP + T and obtain U i k for each i I j , k M i : U i k = 1
   Add (cover) cut ( i , k ) U i k N 1 to FJSP + T
   Construct basic JSPT network
   Enhance and cluster basic JSPT network
   Formulate current JSPT problem
   If i t e r 2 :
   Add objective cut, C m a x o b j b e s t 1 to current JSPT problem
      Solve the JSPT problem
      If problem is infeasible:
         s o l i t e r
      else
             if o b j i t e r < o b j b e s t :
                 s o l b e s t s o l i t e r
                 s o l s o l s o l i t e r
                 i t e r i t e r + 1
until i t e r = i t e r m a x
return s o l b e s t , o b j b e s t

3.1. The FJSP + T Problem

The FJSP + T model that was first proposed by Karimi et al. [25] considers transportation within the FJSP by incorporating the intermachine and machine-L/U distances under the assumption of infinite transporters, resulting in no delay in transportation.
Here, a simplified model is proposed through augmenting the widely cited sequence-based FJSP model of Özgüven, Özbakır and Yavuz [26] with transportation constraints. As Karimi et al. [25] introduces a dummy node to model the L/U, it possesses additional arc variables, which increases problem complexity. Unlike Karimi et al. [25], the proposed model focuses solely on provisioning good feasible assignments for use in the subsequent phase. Machine sequencing is neglected and will often change during the solving of the associated JSPT, as it is interlinked to the transporter routing and sequencing.

FJSP + T Problem Formulation

The following simplifications are made to reduce solution complexity:
  • Only intermachine transportation timings are augmented, neglecting L/U-machine distances.
  • All jobs are assumed to be already located at the corresponding machines, which are used to process their first operations after assignment and are stored at the buffers of each assigned machine after job completion.
  • The notation used by FJSP + T is listed in Table 1.
M i n   C m a x
C m a x C i k , j J , i I j , k M i
C m a x k M i C i k , j J , i I j
S i k + C i k U i k × F , j J , i I , k M i
C i k S i k + p i k 1 U i k × F , j J , i I j , k M i
S i k C h k Z i h k × F , j , j J , i I j , h I j , k M i M h
S h k C i k 1 Z i h k × F , j J , i h , i , h I j , k M i M h
k M i M h Z i h k 1 , j , j J , i I j , h I j
l M i S i l k M i 1 C i 1 k , j J , i I j , 2 i I j
l M i S i l C i 1 k , j J , i I j , 2 i I j , k M i 1
k M i U i k = 1 , i I
C i + 1 l S i + 1 l + p i + 1 l × k M i Y i , i + 1 , k , l , j J , i , i + 1 I j , l M i + 1
C i k S i + 1 k 1 Y i , i + 1 , k , k × F , j J , i , i + 1 I j , k M i M i + 1
C i k + t k l S i + 1 l + 1 Y i , i + 1 , k , l × F , j J , i , i + 1 I j , k M i , l M i + 1 : k l
Y i , i + 1 , k , l U i k , j J , i , i + 1 I j , k M i , l M i + 1 : k l
Y i , i + 1 , k , l U i + 1 l , j J , i , i + 1 I j , k M i , l M i + 1 : k l
Y i , i + 1 , k , l U i k + U i + 1 l 1 , j J , i , i + 1 I j , k M i , l M i + 1 : k l
k M i l M i + 1 Y i , i + 1 , k , l = 1 , j J , i , i + 1 I j
k M i Y i , i + 1 , k , l = m M i + 2 Y i + 1 , i + 2 , l , m , j J , i , i + 1 , i + 2 I j , l M i + 1
C m a x 0
C i k , S i k 0 , j J , i I , k M i
U i k 0,1 , i I , k M i
Y i , i + 1 , k , l 0,1 , j J , i , i + 1 I j , k M i , l M i + 1
Z i h k 0,1 , j J , i h , i , h I j , k M i M h
Makespan (1) is primarily used as the objective function. Detailed explanations for Constraints (2)–(11) describing the FJSP model can be obtained from Özgüven, Özbakır and Yavuz [26]. Constraint (12) ensures the correct completion time of the assigned operation Cik; Constraint (13) ensures that for any two consecutive operations i, i + 1 of a particular job j, i , i + 1 I j that are processed by the same machine k M i , i + 1 is processed immediately after i is completed. Constraint (14) computes the start time of i + 1 when consecutive operations i, i + 1 of a particular job j, i , i + 1 I j , are processed by two different machines k M i , l M i + 1 ; Constraints (15)–(17) link Yi,i+1,k,l to Uik and Ui+1l, Constraint (18) ensures that only one pair of machines k M i , l M i + 1 is selected for processing. Constraint (19) is similar to conventional flow conservation constraints. Constraints (20) to (24) restrict and define the nature of the decision variables.

3.2. The JSPT Subproblem

Within the JSPT, the transporter routes are interdependent with machine operations due to the job precedence considerations. Unlike conventional VRPs where routes are independent of each other—making it only necessary to re-evaluate the feasibility and objective function contributions of the respective modified routes—a change in a particular transporter route affects other existing (transporter) routes, possibly leading to (temporal) infeasibility. In addition, when a machine is assigned to perform multiple operations from different jobs, a slight change in (operation) sequencing within the said machine often renders existing assigned transporter routes temporally infeasible, leading to a re-computation of the entire JSPT. These mandated extensive checks often render the implementation of heuristics tedious.
To circumvent the above shortcomings, the task execution is implicitly determined through a network flow-based model, where the routing of load flows and vehicle flows determines the transporter assignment, sequencing, and machine sequencing concurrently. Logic cuts for flows and temporal (precedence) constraints are added for improving tractability.
This new JSPT formulation adapts the approach in Cortés, Matamala and Contardo [27] in modelling trans-shipment points and that in Rais, Alvelos and Carvalho [28] in modelling the transporter and job flows.

3.2.1. JSPT Network Construction

The JSPT network is constructed using node duplication; a machine is duplicated as many times as the number of operations it has been assigned to process by FJSP + T. This ensures unique machine-operation assignments. Each duplicate machine is further split into a pair of d and p nodes for depositing and picking up operations, respectively. As jobs outnumber transporters, the L/U is visited multiple times. Hence, dedicated dummy p and d nodes are assigned to each job by duplicating L/U for picking up unprocessed jobs and depositing completed jobs, respectively. The L/U is duplicated by splitting into nodes L(O) and U(E) for dispatching and collecting transporters, respectively.
All machines in the network are initially singletons. Consecutive duplicates of the same machine are grouped for model simplification. Henceforth, unless otherwise stated, singleton and group refer to singleton machines and machine groups, respectively. Figure 2 illustrates the grouping of duplicate machines (as indicated by the dashed box) with the sum of individual processing times equal to that of the machine group and the removal of extraneous arcs necessary for simplification.
As duplicate machines of the same origin might be used to process operations of different jobs, it is necessary to prevent overlapping in processing. Of particular interest is the case involving job pre-emption. Figure 3 considers a machine with two jobs, j , j J : j j ; job pre-emption occurs when top job j is temporarily unloaded after completing certain operations, followed by the loading of the bottom job j , processing, completion of one or more operations of j and unloading of j , before j is reloaded for processing its remaining operations.
For explanatory purposes, Fattahi01 from Fattahi, Mehrabad and Jolai [29]—cited as SFJST01 by Homayouni and Fontes [18]—is used to describe the JSPT network construction process. Though this example comprises only two jobs, its underlying principle extends to instances comprising three or more jobs.
L(O) is numbered 0, while U(E) is tagged with the largest number. Jobs are arranged from top to bottom, with the first job taking the top position. Dummy p and d nodes are those labelled with either ‘Xp’ or ‘Xd’, respectively, with ‘X’ referring to the overall numbering after duplication. Machine (or operation) nodes are identified using labels of the form ‘A/B/C’, alongside concurrent ‘d’ and ‘p’ labels at the bottom, where ‘A’ is the newly assigned operation number (or machine) number, ‘B’ is the original overall operation number used in FJSP + T, and ‘C’ is the original FJSP + T machine number.
The top cluster of Figure 4 comprises the three sub-networks that are used to construct the initial singleton JSPT network in the middle of Figure 4. The initial singleton JSPT network depicted in the middle of the figure is an aggregation of all three sub-networks located at the top of Figure 4. The first sub-network (A) comprises O-p arcs, d-E arcs for transporter conservation, intramachine d-p arcs to mirror waiting of transporters at respective stations, and intermachine p-d arcs within each job to mirror transportation of jobs (load flows). The second (B) and the third (C) sub-networks comprise d-p arcs to mirror empty transporters traveling to pick up other jobs after depositing their respective jobs (transporter flows). As shown in the bottom network, after grouping, extraneous arcs are removed, resulting in a simpler network.

3.2.2. JSPT Problem Formulation

The notation used by JSPT is listed in Table 2.
The following arc sets are introduced for notational brevity:
  • ς 1 = r p , r + 1 d Λ , r P i c k j s , r + 1 D e p j s , j J
  • ς 2 a = r d , r p Λ : r Q s ( j ) , j J
  • ς 2 b = r d , r p : r = ρ j z 1 , r = ρ j z ρ j z , ρ j z ρ j , j J
  • ς 3 = ς 2 a ς 2 b
  • ς 4 = r d , r p Λ : r D e p j s , r P i c k j s , j , j J : j j
  • ς 5 = O , r p Λ , r Q s ( j ) ρ j ρ j , j J
ς 1 comprises p-d arcs within jobs that start from a singleton or the last station of a group and terminates at the succeeding singleton or the first station of the succeeding group.
ς 2 a comprises d-p arcs across all singletons.
ς 2 b comprises ordered pairs of d and p nodes, which denotes the first machine and last machine of the group, respectively.
ς 4 comprises d-p arcs across any pair of different jobs that start from a singleton or that start from the first station of a group of a particular job and terminates at the singleton or the last station of the another group of another job.
ς 5 comprises arcs starting from O, ending at p nodes of either a single station or the last station of a particular cluster.
In addition, two sets of nodes are defined for notational brevity in the following sections:
  • For each singleton and the last station of each machine group  l Q s j ρ j ρ j within each job j J , let Κ be the set of nodes connected to the p node of l, comprising O, or any of the d nodes of the dummy or processing stations from other jobs (sans its d node):
    Κ = O j J : j j D e p j
  • For each singleton and the first station of each machine group  m Q s j ρ j 1 within each job j J , let Μ be the set of p nodes connected to the d node of l, comprising any of the p nodes of the dummy or processing stations from other jobs (sans its p node):
    Μ = j J : j j P i c k j
Makespan, C m a x , is used as the objective function of JSPT as each JSPT is an instance of the overall FJSPT.
M i n C m a x
Constraint (26) enforces binary restrictions for all arcs, and Constraint (27) ensures visits to each p and d node of each p-d arc belonging to ς 1 . Figure 5 illustrates an enforcement of binary restrictions.
ω k l 1 , k , l ς 1 ς 2 ς 3 ς 4 ς 5 : ς 1 = r p , r + 1 d Λ , r P i c k j , j J ς 2 = r d , r p Λ : i Q j , j J ς 3 = M a x j , E Λ , j J ς 4 = r d , r p Λ : i Q j , i P i c k j , j , j J : j j ς 5 = O , r p Λ , r P i c k j , j J
ω l m = 1 , l , m : r p , r + 1 d : r P i c k j s , j J
Constraints (28) and (29) apply to d and p nodes, respectively. The constituents of each node set forming directed arcs heading into and emanating from the node of interest depend on its respective node type.
k Ψ ( l ) ω k l p = ω l p m , j J , l P i c k j , m = l + 1 d
Each l and its corresponding Ψ l are defined as follows:
  • l = M i n j Ψ l = Κ
  • l Q s ( j ) ρ j ρ j Ψ l = Κ l d
  • l ρ j \ ρ j 1 Ψ l = l d
Within (28), items (1) and (2) cater to trans-shipment and waiting; (3) specifically caters to waiting at the respective machine group.
ω k l d = k Ψ + l ω l d m , j J , m D e p j , k = l 1 d
Each l and its corresponding Ψ + l are defined as follows:
  • l = M a x j Ψ + l = Μ
  • l Q s j ρ j 1 Ψ + l = Μ l p
  • l ρ j \ ρ j 1 Ψ + l = l p
Within Constraint (29), items (4) and (5) cater to trans-shipment and waiting; item (6) specifically caters to waiting at the respective machine group.
Constraints (30) and (31) ensure feasibility by enforcing that for the initial visit from O, at least one dummy p node is visited, and the number of visited p nodes is capped by the available transporters.
l j ϵ J M i n j ω O l 1
l j ϵ J P i c k j ω O l V
Constraint (32) states that at least one transporter returns to E after depositing its completed job.
l j ϵ J M a x j ω l E 1
Constraint (33) caps the number of transporters returning to E.
l j ϵ J M a x j ω l E V
Constraint (34) ensures conservation of L/U transporter.
l j ϵ J M a x j ω l E = l j ϵ J P i c k j ω O l
Constraint (35) ensures that if a transporter travels from k to l, then T k l = t k l . Constraint (36) ensures that within any group, the overall processing completion time or the total waiting time of a transporter is at least equal to the total processing time of all stations.
T k l = t k l × ω k l , k , l ς 1 ς 2 a ς 4 ς 5
T k d l p ω k d k p × m ρ j z P m , j J , ρ j z ρ j , k = ρ j z 1 , l = ρ j z ρ j z
Constraint (37) forces transporter arrival before departure. Henceforth, for brevity, is used as a mathematical operator to replace , in constraint pairs. Constraints (38) and (39) ensure timing consistency through equality for transfer ( ς 1 ) , transhipment ( ς 4 ) , and waiting ( ς 2 a ς 2 b ) . Constraint (40) calculates completion time. Constraint (41) synchronizes machines within machine groups. Constraints (42) and (43) synchronizes transportation and processing. Constraints (44) and (45) enforce timing consistency through equality for each waiting transporter. Constraint (46) is active when a transporter travels from O to a dummy p node. Constraint (47) binds arrival time to be at least the distance from O to each p node.
A k D k , j J , k P i c k j s p D e p j s d
D k + T k l A l G 1 ω k l , k , l ς 1 , ς 2 a ς 4
D k d + T k d l p A l p G 1 ω k d k p , k , l ς 2 b
C k = S k + p k , j J , k Q j
C k S k + 1 , j J , ρ j z ρ j : k ρ j z \ ρ j z ρ j z
A l d S l , j J , l Q s ( j ) ρ j 1
D l p C l , j J , l Q s ( j ) ρ j ρ j
D l d S l G ( 1 ω l d l p ) , j J , l Q s ( j ) ρ j 1
A l p C l G ( 1 ω l d l p ) , j J , l Q s ( j ) ρ j ρ j
A l G 1 ω O l , l j ϵ J M i n j
A l T k l , k , l ς 5
Constraints (48) and (49) sequence the processing of duplicate machines belonging to different jobs; Constraint (50) selects one out of two processing sequences for a pair of duplicate machines.
C a S b + G 1 α a b , a , b χ k , l z
S a C b G α a b , a , b χ k , l z
α a b + α b a = 1 , a , b χ k , l z

Trans-Shipment Logic Cuts

Constraint (51) models the mutual exclusivity between trans-shipment and waiting for singletons and machine groups.
m Μ ω l d m + k Κ ω k l p + 2 ω l d l p = 2 , j J , l , l ς 2
Constraint (52) ensures that the total d node outflow is equal to the total the p node inflow of each singleton machine and machine group. If trans-shipment occurs, both flows must be present.
m Μ ω l d m = k Κ ω k l p , j J , l , l ς 2

Non-Overlapping Processing Cuts

Constraint (53) states that if machine a finishes processing before machine b starts, all subsequent machines after b can only start after machine a finishes.
α a b α a c , a , b , c λ k , l , m z
Constraint (54) states that if machine c finishes processing before machine a starts, all subsequent machines before c finish processing before machine a starts.
α c a α b a , a , b , c λ k , l , m z
Constraint (55) ensures that α a b and α b c implies α a c .
α a b + α b c α a c + 1 , a , b , c ϑ k , l , m z
Constraint (56) ensures that
  • At most, one permutation of all processing sequences is chosen for duplicate machines belonging to three different jobs.
  • At most, one combination of processing sequence is chosen for duplicate machines, of which one belongs to one job and the other two belong to another job:
    y δ w α y 2 , j ϑ k , l , m z R λ k , l , m z
Constraint (57) ensures that processing sequence β l , k , m z is factored in for consideration and supplements (b) of (56).
α l k + α k m 2 , k , l , m λ k , l , m z
To accelerate the solution process, α decision variables are clustered into groups of three and associated with a ξ decision variable, which represents a processing sequence. Through selecting a sequence, three α decision variables are fixed simultaneously, thus accelerating the solution process. Clustering is carried out for three duplicate machine stations (each belonging to different jobs) and three duplicate machine stations where one machine and another pair belong to two different jobs, respectively.
Constraint (58) enforce equality when a selected processing sequence of three duplicate machines is selected.
y ϕ w α y 3 1 ξ w G , w ϑ k , l , m z R λ k , l , m z
Γ decision variables further clusters ξ variables into groups of three. Through selecting a Γ decision variable, one of three possible sequences is selected, setting one of the ξ variables under it to 1.
Constraint (59) aggregates possible processing sequences belonging to a particular machine group.
Γ w = y ψ w ξ y , w ϑ k , l , m z R λ k , l , m z
Constraint (60) ensures that for machine groups where one machine and the other pair belong to different jobs, only one processing sequence is selected for each machine group.
Γ a b c = 1 , a , b , c λ k , l , m z
Constraint (61) ensures that for each machine group where all three duplicate machines belong to different jobs, only one processing sequence is selected.
Γ a b c + Γ a c b = 1 , a , b , c ϑ k , l , m z : a < b < c

Decision Variable Restriction Constraints

Constraints (62) to (67) restrict and define the nature of the decision variables.
C m a x 0
A k , D k 0 , k M \ ρ j ρ j 1 ρ j ρ j
C k , S k 0 , k j ϵ J Q j
T k l 0 , k , l ς 1 ς 2 a ς 4 ς 5
α a b 0,1 , a , b χ k , l z
ξ w 0,1 , w β k , l , m z

4. Results and Discussion

The experiments were conducted using three sets of problem instances. The first set comprises ten test instances proposed by Deroussi and Norre [4]. The second set comprises 57 instances proposed by Kumar, Janardhana and Rao [11] that were adapted from Bilge and Ulusoy [10]. The last is from Fattahi, Mehrabad and Jolai [29] and adapted by Homayouni and Fontes [18]. All test instances involve two transporters.
Like Homayouni and Fontes [18], each instance is characterized by the number of machines, M, the number of jobs, J, the number of operations, O, and the average number of alternate machines assignable to an operation. Percentage makespan standard deviation, σ , is also used as a measure of methodology robustness for all test instances. Each test instance is run over 20 runs. Each run of a particular test instance comprises 30 iterations, unless otherwise stated. The percentage makespan deviation is used to measure the spread of the solution. It is calculated as follows:
B e s t   M a k e s p a n M e a n   M a k e s p a n M a k e s p a n   d e v i a t i o n × 100 %
The time of each run required to find the best solution is averaged to obtain its average time, T ¯ , in seconds.
As it is possible for the best solution to appear at different iterations for different runs, the average iteration by which the best solution appears, I t e r b e s t , is used as a measure of efficiency and is obtained by averaging the iteration count across all runs. For each test instance, the time per iteration per run averaged across all runs is given by T i t e r / r u n .
For all test instances, LAHC proposed by Homayouni and Fontes [18] is run under two settings of its history list length parameter, namely 1000 and 100, obtaining two results for each test instance. This is indicated by the number in the parenthesis attached to the LAHC columns in the tables used for performance comparison of various solution methodologies.
The MILP models are coded in Pyomo [30,31], which is used to invoke Gurobi [32] on a 3.70 GHz Intel® Xeon® E5-1630 CPU (Intel, Santa Clara, CA, USA) with 16 GB RAM.

4.1. Data Set 1 Benchmarking Instances

Table 3 shows the performance comparisons against those by the MILP model and LAHC heuristic of Homayouni and Fontes [18] and Genetic Algorithm and Tabu Search heuristic (GATS) of Zhang, Manier and Manier [13] and MSB of Zhang, Manier and Manier [14].
The two-phase heuristic obtained six of the optimal solutions provided by the MILP model of Homayouni and Fontes [18] while providing solutions that are at least as good as those by LAHC or GATS or MSB.
While the two-phase heuristic does not dominate in terms of solution quality, it is more robust than LAHC, as evidenced by having zero-percentage makespan standard deviation.
As mentioned in Homayouni and Fontes [18], the MILP model solution time is directly dependent on the number of operations of each instance. This is also observed in the two-phase heuristic—which employs the solver to solve each of the two MILP subproblems—where fjsp7 and fjsp10 require the most time and where fjsp10 is ran for 100 iterations.
The processor used for this work is slightly slower than that used by Homayouni and Fontes [18], as seen from the CPU marks reported in PassMark® CPU marks [33]. Comparing both the MILP model timings and that of the two-phase heuristic for instances attaining optimality, it is observed that the latter is much faster than the former. This supports the usage of the decomposition approach as opposed to the monolithic approach.

4.2. Data Set 2 Benchmarking Instances

All test instances are divided into two groups using the ratio of average intermachine distances to the average processing time over all operations in each test instance: the first group having a ratio greater than 0.25, and the latter group’s ratio being less than or equal to 0.25.
Adhering to the nomenclature of Homayouni and Fontes [18], all instances are referred to as ‘EX_JLR’, with ‘J’ referring to the job set number, ‘L’ as the machine layout number, and ‘R’ as the multiplier factor, which only applies to the second group, halving intermachine distances. In addition, when ‘R’ is 0 and 1, the respective processing time is doubled and tripled, respectively.
Homayouni and Fontes [18] delineated the inconsistencies of 25 instances (from job sets 3, 6, and 10) of Kumar, Janardhana and Rao [11], rendering them unusable for benchmarking.
Like data set 1, as mentioned in Homayouni and Fontes [18], the problem difficulty is directly dependent on the number of operations of each instance. For this data set, however, the average intermachine distances to the average processing time ratio also plays a role in determining the problem difficulty. Similar to Homayouni and Fontes [18], experimental results point to those with ratios greater than 0.25 being computationally harder.

4.2.1. Instances with Ratio Less Than 0.25

Table 4 shows the performance comparisons against those by the MILP model and LAHC heuristic of Homayouni and Fontes [18] and the DE of Kumar, Janardhana and Rao [11].
The two-phase heuristic matches 17 out of 19 optimal solutions obtained by the MILP model. EX_940 is superior to its LAHC and DE counterparts.
For five instances (EX_710, EX_720, EX_730, EX_740, EX_741), the two-phase heuristic obtained superior solutions to those of LAHC. The generated solutions for EX_710, EX_720, EX_730, and EX_740 are shown in Figure 6, Figure 7, Figure 8 and Figure 9 respectively. The superior solutions obtained for EX_730 and EX_740 is attributable to job pre-emption.
In EX_730, Job 7 is transported from L/U to M1 by V1 and stays in M1 until it has completed all processing. Upon arriving at M4 at 8 time units, its first and second operations (J7_O1, J7_O2) are processed consecutively until 48 time units, then pre-empted, unloaded, and placed in the buffer. This pre-emption is caused by Job 3, which has arrived from M4 at 44 time units and is placed in the buffer and only starts processing its second operation from 48 up until 60 time units. Job 7 (J7_O3) is then reloaded immediately for processing from 60 up until 82 time units.
In EX_740, Job 4 is transported from L/U to M2 by V1 and stays in M2 until it has completed all processing. Upon arriving at M4 at 18 time units, its first operation (J4_O1) is processed consecutively until 46 time units, then pre-empted, unloaded, and placed in the buffer. This pre-emption is caused by Job 8 and Job 1. Job 8 arrives from L/U at 46 units and only starts processing its second operation immediately until 82 time units and is transported away to M4 for further processing. Following this, the second operation of Job 1 (J1_O2), which has arrived at M2 at 65 time units and was placed in the buffer, starts processing from 82 to 92 time units. Finally, Job 4 (J4_O2) is then reloaded immediately for processing from 92 to 104 time units.
The two-phase heuristic is more robust than LAHC for most instances, as evidenced by having percentage makespan standard deviation values that are mostly zero in value or are lower than its LAHC counterpart, except for in two instances.
As mentioned for data set 1, comparing both the MILP model timings and that of the two-phase heuristic for instances hitting optimality, it is observed that the latter is much faster than the former. This supports the usage of the decomposition approach as opposed to solving the problem monolithically. Furthermore, this is highlighted by the two-phase heuristic locating the optimal solution of EX_241, EX_441, EX_930 while LAHC is unable to do so. Compared to the MILP model, EX_441 is able to achieve this at a miniscule timing (63.43 s versus 12,727 s).

4.2.2. Instances with Ratio Greater Than 0.25

Due to the above-mentioned complexity inherent to this class of instances, to facilitate a more thorough search, each run of a particular test instance is allocated 60 iterations. For this set of instances, the average processing time is far lower than that of the average intermachine distance. Hence, for temporal savings, it is more likely for a job to have several consecutive operations processed within the same machine, as compared to different machines. This is because the usage of different machines for a job is highly likely to incur extra waiting time for transporters alongside traveling time, which is far greater than the respective processing times of machines subtending the transportation route.
From the above reasoning, it is likely for good machine-operation assignments to be present within the solution space, where continual operations are allocated to the same machine. To this end, a surrogate objective is proposed to replace the original objective of minimizing makespan:
M i n η C m a x l M i + 1 : l = k k M i i : i I j 1 , j J Y i , i + 1 , k , l
The augmented negative summation of Y i , i + 1 , k , l terms guide the search towards maximising the number of consecutive operations assigned to be processed within the same machine. There are, however, an exorbitant quantity of possible assignments along with the need to minimize makespan. Both are addressed by
  • Incorporating the makespan within the objective to ensure the minimization of the makespan.
  • Weighting the makespan with noise, η , which is a random number in the interval [0.05, 0.25] in increments of 0.01 to expedite the search process through diversification.
Table 5 shows the performance comparisons against those by the MILP model and LAHC of Homayouni and Fontes [18] and the DE of Kumar, Janardhana and Rao [11].
Out of ten optimal solutions obtained by the MILP model, the two-phase heuristic was able to obtain six of them. Compared to LAHC and PDE, the two-phase heuristic was able to locate the optimal solution of EX_52. Of the remaining four MILP optimal solutions, the results of the two-phase heuristic were close to those of LAHC and PDE. For the remaining eighteen instances, nine instances obtained solutions that were as good as the incumbent best solution amongst LAHC and PDE. Eight of the remaining nine instances provisioned solutions that are at least as good as the remaining solutions by LAHC or PDE.
The two-phase heuristic is more robust than LAHC for most instances, as evidenced by having percentage makespan standard deviation values that are mostly zero in value or are lower than its LAHC counterpart, except for two instances.

4.3. Data Set 3 Benchmarking Instances

Table 6 reports the performance comparisons against those by the MILP model and LAHC of Homayouni and Fontes [18].
The two-phase heuristic matched all the optimal solutions of all ‘SFJST’ instances obtained by the MILP model and LAHC, and it solved them in a much shorter time. This is attributable to the decomposition approach. In particular, the first-stage FJSP + T approximation managed to locate good machine-operation assignments.
Out of ten ‘MFJST’ instances, the two-phase heuristic matched all six optimal solutions of the MILP model (MFJST01 to MFJST06), the two solutions obtained by LAHC (MFJST07 and MFJST08). Most importantly, for the two largest instances, MFJST09 and MFJST10, it generated solutions superior to those by LAHC. For MFJST07 to MFJST09, the two-phase heuristic obtains matching solutions in a much shorter time. In particular, for MFJST07 and MFJST08, the solution timing is around one-third of that of LAHC.
The improvement in solution quality for MJSPT10 is a trade-off for increased solution timing, attributable to the direct use of solvers. The increase in problem size impacts the complexity of the instance. From Table 6, it is observed that the number of nodes within each JSPT network for MFJST09 and MFJST10 increases sharply as compared to its ‘MFJST’ counterparts. Additional nodes translate into extra routes for selection between nodes across jobs within the JSPT, thus increasing problem complexity.

4.4. Discussion

Overall, the two-phase heuristic outperforms the MILP model of Homayouni and Fontes [18], while providing solutions that are at least as good as those by LAHC or GATS or MSB for most instances. This is most evident in the test cases of Section 4.2.1 and Section 4.3. Although the two-phase heuristic does not dominate in terms of solution quality and speed, it is more robust than LAHC, as evidenced by having zero or lesser percentage makespan standard deviations for most test cases.
Compared to the MILP model of Homayouni and Fontes [18], better or equally good solutions were obtained within a shorter time for some instances, supporting the use of decomposition to first generate machine-operation assignments. The importance of pre-emption is reflected in Section 4.2.1 where better schedules are generated for certain test instances, whereby the ratio of average loaded travelling time to the average processing time is less than 0.25.

5. Conclusions

This work introduced a novel perspective to solve the flexible job shop scheduling problem with transportation in flexible manufacturing systems; an approximate problem (FJSP + T) was first solved to provide good machine-operation assignments before endeavoring to solve the respective JSPT instances for makespan. The proposed machine-operation assignment-centric approach was adopted, as the assignments were the primary determinants of makespan, while machine scheduling, vehicle routing, and scheduling were direct derivatives of them. Through employing node duplication for the JSPT, job pre-emption was introduced to ensure completeness in modelling production and transportation processes. Most importantly, job pre-emption has proven to be effective in reducing makespan.
While the proposed approach might not provision the best results for all test instances, it generated competitive results that are at least on par with those of its predecessors. Most importantly, the proposed two-phase framework—which centered on good machine-operation assignments and detailed modelling of production and transportation processes—was validated by outperforming LAHC for eight indicative test instances, where optimal solutions were absent. Future work includes improving the performance of the individual subproblems through the application of heuristics, metaheuristics or matheuristics for solving larger test instances and extending the current model to consider collision-free routes for further practicality and realism.

Author Contributions

Conceptualization, C.H.L.; methodology, C.H.L.; software, C.H.L.; validation, C.H.L.; formal analysis, C.H.L.; investigation, C.H.L.; resources, C.H.L. and S.K.M.; data curation, C.H.L.; writing—original draft preparation, C.H.L.; writing—review and editing, C.H.L. and S.K.M.; visualization, C.H.L.; supervision, S.K.M.; project administration, S.K.M.; funding acquisition, S.K.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by an AcRF Tier 1 grant (RG186/18) from the Ministry of Education, Singapore.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Acknowledgments

The research of the first author is supported by the Ministry of Education, Singapore, under AcRF Tier 1 grant RG186/18.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Executive Summary World Robotics 2021—Industrial Robots. Available online: https://ifr.org/img/worldrobotics/Executive_Summary_WR_Industrial_Robots_2021.pdf (accessed on 7 July 2021).
  2. Vox. How Robots Are Transforming Amazon Warehouse Jobs—For Better and Worse. Available online: https://www.vox.com/recode/2019/12/11/20982652/robots-amazon-warehouse-jobs-automation (accessed on 9 October 2021).
  3. Executive Summary World Robotics 2021—Service Robots. Available online: https://ifr.org/img/worldrobotics/Executive_Summary_WR_Service_Robots_2021.pdf (accessed on 7 July 2021).
  4. Deroussi, L.; Norre, S. Simultaneous Scheduling of Machines and Vehicles for the Flexible Job Shop Problem. In Proceedings of the International Conference on Metaheuristics and Nature Inspired Computing, Djerba, Tunisia, 27–31 October 2010; pp. 1–2. [Google Scholar]
  5. Garey, M.R.; Johnson, D.S.; Sethi, R. The Complexity of Flowshop and Jobshop Scheduling. Math. Oper. Res. 1976, 1, 117–129. [Google Scholar] [CrossRef]
  6. Gao, K.; Yang, F.; Zhou, M.; Pan, Q.; Suganthan, P.N. Flexible Job-Shop Rescheduling for New Job Insertion by Using Discrete Jaya Algorithm. IEEE Trans. Cybern. 2019, 49, 1944–1955. [Google Scholar] [CrossRef]
  7. Gao, K.; Cao, Z.; Zhang, L.; Chen, Z.; Han, Y.; Pan, Q. A review on swarm intelligence and evolutionary algorithms for solving flexible job shop scheduling problems. IEEE/CAA J. Autom. Sin. 2019, 6, 904–916. [Google Scholar] [CrossRef]
  8. An, Y.; Chen, X.; Gao, K.; Zhang, L.; Li, Y.; Zhao, Z. A hybrid multi-objective evolutionary algorithm for solving an adaptive flexible job-shop rescheduling problem with real-time order acceptance and condition-based preventive maintenance. Expert Syst. Appl. 2023, 212, 118711. [Google Scholar] [CrossRef]
  9. Lenstra, J.K.; Kan, A.H. Complexity of Vehicle Routing and Scheduling Problems. Networks 1981, 11, 221–227. [Google Scholar] [CrossRef]
  10. Bilge, Ü.; Ulusoy, G. A Time Window Approach to Simultaneous Scheduling of Machines and Material Handling System in an FMS. Oper Res. 1995, 43, 1058–1070. [Google Scholar] [CrossRef]
  11. Kumar, M.V.S.; Janardhana, R.; Rao, C.S.P. Simultaneous Scheduling of Machines and Vehicles in an FMS Environment with Alternative Routing. Int. J. Adv. Manuf. Technol. 2011, 53, 339–351. [Google Scholar] [CrossRef]
  12. Babu, A.G.; Jerald, J.; Haq, A.N.; Luxmi, V.M.; Vigneswaralu, T.P. Scheduling of Machines and Automated Guided Vehicles in FMS Using Differential Evolution. Int. J. Prod. Res. 2010, 48, 4683–4699. [Google Scholar] [CrossRef]
  13. Zhang, Q.; Manier, H.; Manier, M.-A. A Genetic Algorithm with Tabu Search Procedure for Flexible Job Shop Scheduling with Transportation Constraints and Bounded Processing Times. Comput. Oper. Res. 2012, 39, 1713–1723. [Google Scholar] [CrossRef]
  14. Zhang, Q.; Manier, H.; Manier, M.-A. A Modified Shifting Bottleneck Heuristic and Disjunctive Graph for Job Shop Scheduling Problems with Transportation Constraints. Int. J. Prod. Res. 2014, 52, 985–1002. [Google Scholar] [CrossRef]
  15. Deroussi, L. A Hybrid PSO Applied to the Flexible Job Shop with Transport. In Swarm Intelligence Based Optimization, Proceedings of the First International Conference, ICSIBO 2014, Mulhouse, France, 13–14 May 2014; Springer: Cham, Switzerland, 2014; pp. 115–122. [Google Scholar]
  16. Nouri, H.E.; Driss, O.B.; Ghédira, K. Simultaneous Scheduling of Machines and Transport Robots in Flexible Job Shop Environment Using Hybrid Metaheuristics Based on Clustered Holonic Multiagent Model. Comput. Ind. Eng. 2016, 102, 488–501. [Google Scholar] [CrossRef]
  17. Ham, A. Transfer-Robot Task Scheduling in Flexible Job Shop. J. Intell. Manuf. 2020, 31, 1783–1793. [Google Scholar] [CrossRef]
  18. Homayouni, S.M.; Fontes, D.B.M.M. Production and Transport Scheduling in Flexible Job Shop Manufacturing Systems. J. Glob. Optim. 2021, 79, 463–502. [Google Scholar] [CrossRef]
  19. Li, J.; Deng, J.; Li, C.; Han, Y.; Tian, J.; Zhang, B.; Wang, C. An improved Jaya algorithm for solving the flexible job shop scheduling problem with transportation and setup times. KBS 2020, 200, 106032. [Google Scholar] [CrossRef]
  20. Ren, W.; Yan, Y.; Hu, Y.; Guan, Y. Joint optimisation for dynamic flexible job-shop scheduling problem with transportation time and resource constraints. Int. J. Prod. Res. 2021, 60, 5675–5696. [Google Scholar] [CrossRef]
  21. Elahipanah, M.; Desaulniers, G.; Lacasse-Guay, È. A Two-Phase Mathematical-Programming Heuristic for Flexible Assignment of Activities and Tasks to Work Shifts. J. Sched. 2013, 16, 443–460. [Google Scholar] [CrossRef]
  22. Absi, N.; Archetti, C.; Dauzère-Pérès, S.; Feillet, D. A Two-Phase Iterative Heuristic Approach for the Production Routing Problem. Transp. Sci. 2015, 49, 784–795. [Google Scholar] [CrossRef]
  23. Ríos-Solís, Y.A.; Ibarra-Rojas, O.J.; Cabo, M.; Possani, E. A Heuristic Based on Mathematical Programming for a Lot-Sizing and Scheduling Problem in Mold-Injection Production. Eur. J. Oper. Res. 2020, 284, 861–873. [Google Scholar] [CrossRef]
  24. Ball, M.O. Heuristics Based on Mathematical Programming. Surv. Oper. Res. Manag. Sci. 2011, 16, 21–38. [Google Scholar] [CrossRef]
  25. Karimi, S.; Ardalan, Z.; Naderi, B.; Mohammadi, M. Scheduling Flexible Job-Shops with Transportation Times: Mathematical Models and a Hybrid Imperialist Competitive Algorithm. Appl. Math. Model. 2017, 41, 667–682. [Google Scholar] [CrossRef]
  26. Özgüven, C.; Özbakır, L.; Yavuz, Y. Mathematical Models for Job-Shop Scheduling Problems with Routing and Process Plan Flexibility. Appl. Math. Model. 2010, 34, 1539–1548. [Google Scholar] [CrossRef]
  27. Cortés, C.E.; Matamala, M.; Contardo, C. The Pickup and Delivery Problem with Transfers: Formulation and a Branch-and-Cut Solution Method. Eur. J. Oper. Res. 2010, 200, 711–724. [Google Scholar] [CrossRef]
  28. Rais, A.; Alvelos, F.; Carvalho, M.S. New Mixed Integer-Programming Model for the Pickup-and-Delivery Problem with Transshipment. Eur. J. Oper. Res. 2014, 235, 530–539. [Google Scholar] [CrossRef]
  29. Fattahi, P.; Mehrabad, M.S.; Jolai, F. Mathematical Modeling and Heuristic Approaches to Flexible Job Shop Scheduling Problems. J. Intell. Manuf. 2007, 18, 331–342. [Google Scholar] [CrossRef]
  30. Hart, W.E.; Watson, J.; Woodruff, D.L. Pyomo: Modeling and Solving Mathematical Programs in Python. Math. Program. Comput. 2011, 3, 219–260. [Google Scholar] [CrossRef]
  31. Hart, W.E.; Laird, C.D.; Watson, J.; Woodruff, D.L.; Hackebeil, G.A.; Nicholson, B.L.; Siirola, J.D. Pyomo–Optimization Modeling in Python; Springer: Berlin, Germany, 2017; Volume 67, p. 277. [Google Scholar]
  32. Gurobi. Gurobi Optimizer Reference Manual. Available online: www.gurobi.com (accessed on 10 October 2022).
  33. CPU Benchmarks. Intel Xeon E5-1630 v4 @ 3.70GHz vs. Intel Core i7-6700 @ 3.40GHz. Available online: https://www.cpubenchmark.net/compare/Intel-Xeon-E5-1630-v4-vs-Intel-i7-6700/2827vs2598 (accessed on 10 October 2021).
Figure 1. High level schematic of two-phase iterative methodology.
Figure 1. High level schematic of two-phase iterative methodology.
Applsci 13 05215 g001
Figure 2. Pre-grouping of machine stations just after network construction (top) and post-grouping (alongside removal of extraneous arcs) for model simplification (bottom).
Figure 2. Pre-grouping of machine stations just after network construction (top) and post-grouping (alongside removal of extraneous arcs) for model simplification (bottom).
Applsci 13 05215 g002
Figure 3. Instance of job pre-emption.
Figure 3. Instance of job pre-emption.
Applsci 13 05215 g003
Figure 4. JSPT network constructed from FJSP + T machine-operation assignments. (A) comprises O-p arcs, d-E arcs for transporter conservation, intramachine d-p arcs to mirror waiting of transporters at respective stations, and intermachine p-d arcs within each job to mirror transportation of jobs (load flows). (B,C) comprise d-p arcs to mirror empty transporters traveling to pick up other jobs after depositing their respective jobs (transporter flows).
Figure 4. JSPT network constructed from FJSP + T machine-operation assignments. (A) comprises O-p arcs, d-E arcs for transporter conservation, intramachine d-p arcs to mirror waiting of transporters at respective stations, and intermachine p-d arcs within each job to mirror transportation of jobs (load flows). (B,C) comprise d-p arcs to mirror empty transporters traveling to pick up other jobs after depositing their respective jobs (transporter flows).
Applsci 13 05215 g004
Figure 5. All possible p-d arcs combinations within each job between machine groups and machine groups (1 and 2), machine groups and singletons (2 and 3, 4 and 5), and inter-singletons (3 and 4).
Figure 5. All possible p-d arcs combinations within each job between machine groups and machine groups (1 and 2), machine groups and singletons (2 and 3, 4 and 5), and inter-singletons (3 and 4).
Applsci 13 05215 g005
Figure 6. Gantt chart for improved solution of EX_710 instance from Kumar, Janardhana and Rao [11].
Figure 6. Gantt chart for improved solution of EX_710 instance from Kumar, Janardhana and Rao [11].
Applsci 13 05215 g006
Figure 7. Gantt chart for improved solution of EX_720 instance from Kumar, Janardhana and Rao [11].
Figure 7. Gantt chart for improved solution of EX_720 instance from Kumar, Janardhana and Rao [11].
Applsci 13 05215 g007
Figure 8. Gantt chart for improved solution of EX_730 instance from Kumar, Janardhana and Rao [11].
Figure 8. Gantt chart for improved solution of EX_730 instance from Kumar, Janardhana and Rao [11].
Applsci 13 05215 g008
Figure 9. Gantt chart for improved solution of EX_740 instance from Kumar, Janardhana and Rao [11].
Figure 9. Gantt chart for improved solution of EX_740 instance from Kumar, Janardhana and Rao [11].
Applsci 13 05215 g009
Table 1. Notation used by FJSP + T.
Table 1. Notation used by FJSP + T.
Sets
JSet of jobs.
NSet of operations, N = i J n j , where nj is the number of operations of job j, j J .
NjSet of operations of jobs indexed before job j. N j = 1 j 1 n j , total number of operations of jobs indexed before job j, where nj is total number of operations in a job j. By definition, N 1 = 0
I I = 1 , 2 , , N , index set of all operations, where overall, first operation is first operation of the first job, and the overall last operation is the last operation of last job.
IjSet of indices in I associated with job j in J.
MSet of (original) machines.
MiSet of (original) machines that are capable of processing operation i.
Parameters
pikProcessing time of operation i when processed by machine k, k M i .
tklDistance between any two machines k and l, k , l M i .
FA large number used to bound FJSP + T constraints.
Variables
CmaxMakespan.
CikCompletion time of operation i when processed by machine k, k M i .
SikStart time of operation i when processed by machine k, k M i .
Uik1, when machine k is selected to process operation i, k M i .
0, otherwise.
Yi,i+1,k,l1, when consecutive operations i, i + 1 of a particular job j, i , i + 1 I j are processed using machines k and l, respectively, k , l M i .
0, otherwise.
Zihk1, operation i precedes operation h when processed by machine k, k M i M h .
0, otherwise.
Table 2. Notation used by JSPT.
Table 2. Notation used by JSPT.
Sets
Λ Set of arcs
Ω Set of nodes
JSet of jobs
V Set of transporters
N’Set of stations, N = i J n j , where nj’ is the number of stations of job j, j J
NjSet of stations indexed before job j, N j = 1 j 1 n j , total number of stations of the jobs indexed before job j where nj is total number of stations in a particular job j. By definition, N 1 = 0
I’ I = { 1 , 2 , , N } , index set of all stations
Ij I j = { N j + 1 , N j + 2 , N j + n j } , set of indices in I’ associated with job j in J
ODuplicated loading and unloading area
EDuplicate of O
M i n j Dummy p node for job j, j J ,   m i n I j
Q j Set of duplicate machines
M a x j Dummy d node for job j, j J , m a x I j
M j M j = M i n j Q j M a x j
M Set of all stations, M = j ϵ J M j
m p p node(s) of any set of stations m M
m d d node(s) of any set of stations m M
P i c k j Union of p nodes for job j, j J ,   P i c k j = M i n j Q j p
D e p j Union of d nodes for job j, j J ,   D e p j = M a x j Q j d
Ψ ( l ) Set of nodes connected to l M , forming arcs that directed towards l ,   Ψ l = u : u , l Λ : l u
Ψ + ( l ) Set of nodes connected to l M forming arcs that directed away l ,   Ψ + l = v : l , v Λ : l v
ρ j z Ordered (grouped) set of n consecutive duplicate machine ki, ki+1, … ki+n−1 within job j, k i , k i + 1 , k i + n 1 Q j :   j ϵ J ,  i I j   ,   k i < k i + 1 < k i + n 1 ,   M o r i g k i , k i + 1 , k i + n 1 = z , z M
ρ j Set of all ordered sets of ρ j z of job j J ,   ρ j = ρ j z
σ j Set of singletons within job j J ,   σ j = M j \ ρ j
ρ j n z nth element of ρ j z
ρ j n Set of nth elements within each ρ j z   of   ρ j ,   ρ j n = ρ j n z
ρ j z Length of respective ρ j z within ρ j .
Q s ( j ) Set of singleton machines within job j J ,   Q s ( j ) = Q j \ ρ j
P i c k j s Union of p nodes comprising singletons and last station of each cluster within job j J ,   P i c k j s = P i c k j \ ρ j ρ j ρ j
D e p j s Union of d nodes comprising singletons and first station of each cluster within job j J ,   D e p j s = D e p j \ ρ j ρ j 1
M d u p k Set of machine stations duplicated from the original station k, k M
M o r i g l Original machine obtained from inverse mapping of duplicated machine, l Q j : j J
ϑ k , l , m z Set containing permutations of elements, k Q j , l Q j , m Q j , j , j , j J : j j j , M o r i g k , l , m = z , z M
ϑ k , l , m z R ϑ k , l , m z : k < l , k < m
χ k 1 , k n z Ordered set of duplicate machines 1 i n k i from different jobs j 1 , j 2 , j n J : j 1 j 2 , j n , k i Q j i , 1 i n , M o r i g 1 i n k i = z , z M
λ k , l , m z Set of duplicate machine stations k, l, m: j , j J : j j , k Q j , l , m Q j , l < m ,   M o r i g k , l , m = z , z M
β k 1 , k n z Ordered set of duplicate machines 1 i n k i j ϵ J Q j where, k j , completes processing before the next machine, k j + 1 , starts, 1 j n 1 , M o r i g 1 i n k i = z , z M
ϕ k , l , m k l , l m , k m
δ k , l , m k l , l m , m k
ψ k , l , m k , l , m , l , k , m , l , m , k
Parameters
pkProcessing time of duplicate machine k, k M
tklDistance between any two stations k and l, k M
GA large number used to bound JSPT constraints
Variables
CmaxMakespan
A k Arrival time of transporter at node k, k M \ ρ j ρ j 1 ρ j ρ j
D k Departure time of transporter from node k, k M \ ρ j ρ j 1 ρ j ρ j
CkCompletion time of operation processed by machine k, k j ϵ J Q j
SkStart time of operation processed by machine k, k j ϵ J Q j
T k l Translated timing from t k l . If a transporter travels from k to l, then T k l = t k l . Otherwise, T k l = 0 .
α k l 1, if machine k of job j, j J ,   k Q j , finishes processing before machine l of another job j’, j J ,   l Q j starts processing, M o r i g k = M o r i g l
0, otherwise
ξ w 1, w β k , l , m z
0, otherwise
Table 3. Performance comparison of two-phase heuristic with existing approaches on Deroussi and Norre [4] test instances.
Table 3. Performance comparison of two-phase heuristic with existing approaches on Deroussi and Norre [4] test instances.
Characteristics2-PhaseMILPLAHC (1000)LAHC (100)MSBGATS
InstanceMJOANodesCMAXσ % T ¯ Titer/runIterbestCMAXTCMAXσ % T ¯ CMAXσ % T ¯ CMAXCMAX
fjsp1871923513608.280.8531345541381.7161381.32.7146144
fjsp2861522911403.680.84114171141.49.21141.12.3118118
fjsp3861623012000.840.12212041201.2161201.12.4124124
fjsp4851923111803.180.1521142811142.5221181.33124124
fjsp585132259400.970.06594294069402.19494
fjsp686182321380183.265138421381.1181420.92.7144144
fjsp788192371120272.914.89811098521122.2151141.62.7122122
fjsp8862023417806.64.0511781321780.6211780.93.1180181
fjsp98517229146011.41.1413144431441.5161441.42.6146150
fjsp10862123517402363.956017413971740.9281741.43.3178178
Table 4. Performance comparison of two-phase heuristic with existing approaches on Kumar, Janardhana and Rao [11] test instances with ratio less than 0.25.
Table 4. Performance comparison of two-phase heuristic with existing approaches on Kumar, Janardhana and Rao [11] test instances with ratio less than 0.25.
Characteristics2-PhaseMILPLAHC (1000)LAHC (100)PDE-1PDE-2
InstanceMJOANodesCMAXσ % T ¯ Titer/runIterbestCMAXTCMAXσ % T ¯ CMAXσ % T ¯ CMAXCMAX
EX_11045133259400.181.5519437942.239.3942.283.69694
EX_2104615329105016.444.05410412061041.6111.21061.234.3104104
EX_410451933192029.273.948922.2528922.114.89292
EX_51045133257700.410.25177287707.87703.67777
EX_71048193371021.0355.234.27131031.7811.41041.763.7103103
EX_81046203341410.2852.874.06131411.57201421.764142142
EX_9104517329118032.424.05811818251181.5119.21211.325.5
EX_12045133259102.42.0629124911.7110.49313.59693
EX_220461532910204.264.0411029791021.33111030.883.6
EX_420451933188012.374.043886526882.4227.2882.164.48891
EX_52045133257600.270.251761376067603.57676
EX_720481933798023.044.165991.5712.81002.033.3100100
EX_82046203341380.5724.834.0661382.0321.41382.173.8138140
EX_9204517329116035.784.04911625351161.68181181.274.5
EX_13045133259200.781.6619231921.535.5921.933.49292
EX_230461532910208.424.03210212901021.4811.91031.522.7102102
EX_430451933189011.824.033894723892.6425902.34.29291
EX_53045133257700.270.19177117706.6770.343.47777
EX_7304819337100015.434.1631011.5813.21011.673.5101102
EX_830462033413904.274.0611391.4320.31392.333.9141141
EX_930451732911708.374.0921176241181.4613.21192.034.5
EX_140451332597011.771.5499789972.046.9972.933.39999
EX_241461532915304.364.041153731541.3413.51541.374154157
EX_44145193311311.0763.434.051613112,7271341.4528.61341.674.5135134
EX_541451332511300.220.8211131511308.21130.233.5113113
EX_74048193371040.9657.924.43121052.0717.91052.313.6107107
EX_74148193371491.4144.884.31101501.5314.71511.383.6151150
EX_84046203341440.2852.944.06131441.226.41471.544147144
EX_94045173291201.9650.554.051311932561211.1613.71222.275.7
Table 5. Performance comparison of two-phase heuristic with existing approaches on Kumar, Janardhana and Rao [11] test instances with ratio greater than 0.25.
Table 5. Performance comparison of two-phase heuristic with existing approaches on Kumar, Janardhana and Rao [11] test instances with ratio greater than 0.25.
Characteristics2-PhaseMILPLAHC (1000)LAHC (100)PDE-1PDE-2
InstanceMJOANodesCMAXσ % T ¯ Titer/runIterbestCMAXTCMAXσ % T ¯ CMAXσ % T ¯ CMAXCMAX
EX_1145133257004.681.3310701619700.710.2702.263.67474
EX_2146153297406.621.964742.3811.8742.383.77777
EX_4145193317203.062.02272026.7721.894.67373
EX_51451332561012.291.721159872592.149.3591.653.26161
EX_71481933781035.335.586811.822.6811.674.28181
EX_814620334951.8457.562.0628941.5938.3952.454.89394
EX_9145173298206.461.846821.7720.7821.374.48282
EX_12451332556046.911.453856267563.5411.8563.053.85959
EX_22461532963014.781.9686118,899621.6425.6631.963.66263
EX_424519331565.2750.93226562.7427.4591.914.66060
EX_52451332547053.721.683647274482.458.9482.063.35050
EX_724819337631.4383.532.6330622.2715.5634.184.26364
EX_824620334831.1446.184.0412821.3232.8841.5558383
EX_92451732972037.243.2216693744692.2421.7701.664.37171
EX_1345133256203.621.24862108620.9611.3621.033.76464
EX_23461532967077.921.9740671.3712.5671.513.66767
EX_43451933162010.613.644611.6228.1622.724.66664
EX_534513325531.0468.141.824052614522.49521.73.55252
EX_734819337662.8826.082.996663.2113.9663.1546869
EX_83462033486059.84.0515851.7135.2871.584.88484
EX_93451732974035.261.8421732.3819.3731.794.37474
EX_1445133257804.211.21978920781.0710.4781.283.88080
EX_24461532984027.192.0913841.9916.8841.943.68787
EX_44451933180028.22.0214801.1427.8802.164.98383
EX_54451332564028.41.6322641273642.6312.5642.893.37070
EX_744819337972.4781.296.0314942.1422.3952.24.1100100
EX_8446203341062.03106.534.49231022.1540.61062.154.9107105
EX_9445173299100.641.791871.5622.1871.84.39090
Table 6. Performance comparison of two-phase heuristic with existing approaches on Fattahi, Mehrabad and Jolai [29] test instances.
Table 6. Performance comparison of two-phase heuristic with existing approaches on Fattahi, Mehrabad and Jolai [29] test instances.
Characteristics2-PhaseMILPLAHC (1000)LAHC (100)
InstanceMJOANodesCMAXσ % T ¯ Titer/runIterbestCMAXTCMAXσ % T ¯ CMAXσ % T ¯
SFJST012242107000.040.021700.27001.27001.2
SFJST022241.51011100.020.00211110.211101.311101.4
SFJST032361.71422300.040.0212230.322301.522301.5
SFJST042361.71435900.050.0213590.335901.535901.4
SFJST0523621412300.110.1211230.412301.312301.4
SFJST063391.71732400.090.1313240.432401.932401.9
SFJST0753921740900.070.0814090.440901.940901.8
SFJST0843921726900.160.1912690.62690526902
SFJST0933921722000.120.2512200.422002.422001.9
SFJST1054121.72253100.150.115310.553104.653102.4
MFJST0165152.22748501.821.08248564850.169.94850.52.7
MFJST0275152.62746301.412.291463144630.8612.54630.832.5
MFJST0376182.73248208.3942482594821.0230.94822.42.8
MFJST0477212.73757605.454.09157632775760.8545.55761.873.4
MFJST0577212.63753208.394.0425326945322.1547.35322.543.5
MFJST0678242.64265205.784.12165234,7966522.4137.26521.984
MFJST0778322.450898034.0330.2218983.58109.49072.755.8
MFJST0889362.456900052.0630.6219003.85149.19183.746.7
MFJST09811442.36810980281.8254.68311201.46202.111812.648.6
MFJST10812482.37412300.65996.2375.721212381.87232.413102.619.5
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Lim, C.H.; Moon, S.K. A Two-Phase Iterative Mathematical Programming-Based Heuristic for a Flexible Job Shop Scheduling Problem with Transportation. Appl. Sci. 2023, 13, 5215. https://doi.org/10.3390/app13085215

AMA Style

Lim CH, Moon SK. A Two-Phase Iterative Mathematical Programming-Based Heuristic for a Flexible Job Shop Scheduling Problem with Transportation. Applied Sciences. 2023; 13(8):5215. https://doi.org/10.3390/app13085215

Chicago/Turabian Style

Lim, Che Han, and Seung Ki Moon. 2023. "A Two-Phase Iterative Mathematical Programming-Based Heuristic for a Flexible Job Shop Scheduling Problem with Transportation" Applied Sciences 13, no. 8: 5215. https://doi.org/10.3390/app13085215

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