# An Improved Multiobjective PSO for the Scheduling Problem of Panel Block Construction

Authors: Zhi Yang; Cungen Liu; Xuefeng Wang; Weixin Qian
Journal: Discrete Dynamics in Nature and Society
 (2016)

---

## Abstract

Uncertainty is common in ship construction. However, few studies have focused on scheduling problems under uncertainty in shipbuilding. This paper formulates the scheduling problem of panel block construction as a multiobjective fuzzy flow shop scheduling problem (FSSP) with a fuzzy processing time, a fuzzy due date, and the just-in-time (JIT) concept. An improved multiobjective particle swarm optimization called MOPSO-M is developed to solve the scheduling problem. MOPSO-M utilizes a ranked-order-value rule to convert the continuous position of particles into the discrete permutations of jobs, and an available mapping is employed to obtain the precedence-based permutation of the jobs. In addition, to improve the performance of MOPSO-M, archive maintenance is combined with global best position selection, and mutation and a velocity constriction mechanism are introduced into the algorithm. The feasibility and effectiveness of MOPSO-M are assessed in comparison with general MOPSO and nondominated sorting genetic algorithm-II (NSGA-II).


---

## Body

## 1. Introduction

Large bulk carriers, tankers, and container ships are characterized by large block coefficients and long parallel middle bodies. Consequently, there is a significant demand for panel blocks. To improve the efficiency of panel block construction, most large shipyards establish an assembly line for panel blocks. However, many shipyards in China face the problem that panel block assembly line scheduling often does not work for actual production. The scheduling problem of panel block construction is a type of flow shop scheduling problem (FSSP). Normally, FSSPs consist of determining the sequence for processingn jobs on m machines, where each job is processed on all of the machines in the same order. FSSPs are a type of nondeterministic polynomial-hard (NP-hard) combinational optimization problems. Heuristic or metaheuristic algorithms are considered to be suitable for solving FSSPs.In most cases, FSSPs are considered in deterministic environments where the parameters, including the processing time and due date, are taken as crisp values. Nevertheless, the temporal parameters cannot be evaluated precisely in real-world production because of machine and human factors. This could be the major reason that flow shop scheduling often does not apply to actual production. Thus, it is more reasonable to model FSSPs with imprecise and vague parameters. Approaches to model this type of problem based on the concept of fuzzy sets have been widely studied in recent decades (e.g., Tsujimura et al. [1]; Itoh and Ishii [2]; Wu [3]; Huang et al. [4]). These problems are called fuzzy FSSPs because the imprecise and vague parameters are expressed as fuzzy parameters. In general, fuzzy FSSPs can be classified into three main classes: fuzzy FSSPs with a fuzzy due date, fuzzy FSSPs with a fuzzy processing time, and fuzzy FSSPs with both a fuzzy processing time and a fuzzy due date.Multiple objectives should be taken into account in FSSPs. Multiple objectives increase the complexity of FSSPs but make them more similar to actual production. Many studies have examined multiobjective FSSPs. Sun et al. [5] and Yenisey and Yagmahan [6] provided two independent reviews and reported details about the development of multiobjective FSSPs and methods for solving such problems. However, few studies have been devoted to multiobjective fuzzy FSSPs. Kahraman et al. developed a new artificial immune system (AIS) algorithm to solve a multiobjective fuzzy FSSP with both a fuzzy processing time and a fuzzy due date. The objectives were to minimize the average tardiness and the number of tardy jobs [7]. Engin et al. [8] proposed a scatter search (SS) method to solve a multiobjective fuzzy FSSP that is similar to Kahraman’s method. Nakhaeinejad and Nahavandi integrated the technique for order preference by similarity to an ideal solution (TOPSIS) method with the interactive resolution method to solve a multiobjective fuzzy FSSP with a fuzzy processing time. The objectives were to minimize the completion time, the mean flow time, and the machine idle time [9]. Several studies on multiobjective fuzzy job shop scheduling problems (JSSPs) are applicable because FSSPs are a special case of JSSPs. Sakawa and Kubota [10] employed genetic algorithms to solve a multiobjective fuzzy JSSP with a fuzzy processing time and a fuzzy due date. Xing et al. [11] and González-Rodríguez et al. [12] also used genetic algorithms to solve multiobjective fuzzy JSSPs. Generally, the objectives of multiobjective fuzzy JSSPs include minimizing the maximum fuzzy completion time, minimizing the number of tardy jobs, maximizing the minimum agreement index of the fuzzy due date and fuzzy completion time, and maximizing the average agreement index. These objectives can also be considered in multiobjective fuzzy FSSPs.Multiobjective fuzzy FSSPs can be considered to be similar to a host of actual flow shop production cases. However, other conditions should be applied to some multiobjective fuzzy FSSPs. For example, in an assembly line for panel blocks, the just-in-time (JIT) idea, which requires the necessary products to be produced in the necessary quantities at the necessary times, should be taken into account because panel blocks are intermediate products in hull construction systems. In this paper, we formulate the scheduling problem of panel block construction as a multiobjective fuzzy FSSP with a fuzzy processing time, a fuzzy due date, and the JIT idea. The JIT concept determines the existence of precedence relations among the panel blocks to be constructed as well as the expression of the fuzzy due date. To solve the multiobjective complex FSSP, we propose an improved algorithm called MOPSO-M that introduces mutation and a velocity constriction mechanism to particle swarm optimization (PSO) and implements a hybrid procedure to combine archive maintenance with global best position selection.The remainder of this paper is organized as follows. Section2 describes the scheduling problem of panel block construction. Section 3 introduces operations on fuzzy numbers that are needed to formulate scheduling problems. Section 4 introduces the proposed algorithm for solving the scheduling problem of panel block construction. Computational results are reported in Section 5 and are followed by the conclusions in Section 6.


## 2. Scheduling Problem of Panel Block Construction

### 2.1. Problem Description

Hull construction systems are multilevel production systems. Generally, a ship hull is assembled from dozens of hull blocks. A hull block is composed of several subblocks, most of which are panel blocks. Moreover, every panel block is constructed with steel plants and sections. As shown in Figure1, a typical assembly line for panel blocks that can assemble and weld various types of steel plants and sections usually consists of seven main processes, including baseplate splicing, baseplate welding, longitudinal assembly, longitudinal welding, girders and floors assembly, girders and floors welding, and checking and carting. Each process is implemented at its corresponding station. Every panel block to be constructed must visit the stations one by one.Figure 1
A typical assembly line for panel blocks.During production, the processing time of each process is often affected by uncertainty, imprecision, and vagueness due to both machine and human factors. In this situation, it is more appropriate to estimate both the processing time and the due date while considering the uncertainty. As intermediate products of hull blocks, panel blocks must prioritize the requirements of the hull block assembly because of geometric and processing constraints. The JIT concept includes precedence relations among the panel blocks that are to be constructed. Additionally, the JIT concept defines an uncertain due date as follows: “in principle, due dates are expected to be met, but certain earliness and tardiness limits can be tolerated, and longer ones will have lower values.”Thus, the scheduling of panel block construction focuses on finding proper sequences for processing the required panel blocks on the assembly line with a fuzzy processing time, a fuzzy due date, and precedence relations to attain specific objectives. This problem can be summarized as a multiobjective complex FSSP and is considered and analyzed below.A set of panel blocks to be constructed with precedence relations will be processed sequentially at station 1, station 2, and so on until the final station. The stations are continuously available. At any time, each station can process a maximum of one panel block, and each panel block can be processed at a maximum of one station. Preemption is not allowed; that is, the processing of a panel block at a station cannot be interrupted. All of the panel blocks are available for processing at time zero. The set-up times at the stations are included in the processing time, while the transportation times between the stations are negligible. The fuzzy processing time and fuzzy due date are represented by fuzzy numbers. The notations of the scheduling problem of the panel block construction are as follows:n: number of panel blocks to be constructed,
m: number of stations,
i: index of panel blocks, i
∈
1,2
,
…
,
n,
j: index of stations, j
∈
1,2
,
…
,
m,
p
~
i
,
j: fuzzy processing time of panel block i at station j,
d
~
i: fuzzy due date of panel block i,
C
~
i
,
j: fuzzy completion time of panel block i at station j,
C
~
i: final fuzzy completion time (makespan) of panel block i.


### 2.2. Problem Formulation

In this paper, the fuzzy processing time is taken as a triangular fuzzy number and is denoted asp
~
i
,
j
=
p
i
,
j
O
,
p
i
,
j
,
p
i
,
j
P, which includes three parameters: the optimistic value (p
i
,
j
O), the most plausible value (p
i
,
j), and the pessimistic value (p
i
,
j
P). The membership function of the triangular fuzzy processing time is formulated as in the following equation and as shown in Figure 2(a):(1)
μ
p
~
i
,
j
t
=
0
,
t
≤
p
i
,
j
O
,
t
≥
p
i
,
j
P
,
t
-
p
i
,
j
O
p
i
,
j
-
p
i
,
j
O
,
p
i
,
j
O
<
t
≤
p
i
,
j
,
p
i
,
j
P
-
t
p
i
,
j
P
-
p
i
,
j
,
p
i
,
j
<
t
<
p
i
,
j
P
.Figure 2
(a) Membership function of the triangular fuzzy processing time; (b) membership function of the trapezoidal fuzzy due date; (c) agreement index (AI).
(a)
(b)
(c)The fuzzy due date is considered as a trapezoidal fuzzy number. For a trapezoidal fuzzy due date that is denoted asd
~
i
=
d
i
L
,
d
i
E
1
,
d
i
E
2
,
d
i
U, d
i
L and d
i
U are the lower and upper bounds of the fuzzy due date, respectively, and d
i
E
1 and d
i
E
2 represent the expected due date interval d
i
E
1
,
d
i
E
2. The membership function of the trapezoidal fuzzy due date is given by (2) and is shown in Figure 2(b); it represents the degree of satisfaction with respect to the final completion time:(2)
μ
d
~
i
t
=
0
,
t
≤
d
i
L
,
t
≥
d
i
U
,
t
-
d
i
L
d
i
E
1
-
d
i
L
,
d
i
L
<
r
<
d
i
E
1
,
1
,
d
i
E
1
≤
r
≤
d
i
E
2
,
d
i
U
-
t
d
i
U
-
d
i
E
2
,
d
i
E
2
<
r
<
d
i
U
.Letπ
=
π
1
,
π
2
,
…
,
π
n denote a permutation of jobs (i.e., the panel blocks to be constructed). Suppose that the job i is allocated at the kth position of π. The fuzzy completion times of the panel blocks can be calculated using the following formulas:(3)
C
~
π
1
,
1
=
p
~
π
1
,
1
,
(4)
C
~
π
1
,
j
=
C
~
π
1
,
j
-
1
+
p
~
π
1
,
j
,
j
∈
2
,
…
,
m
,
(5)
C
~
π
k
,
1
=
C
~
π
k
-
1
,
1
+
p
~
π
k
,
1
,
k
∈
2
,
…
,
n
,
(6)
C
~
π
k
,
j
=
max
⁡
C
~
π
k
,
j
-
1
,
C
~
π
k
-
1
,
j
+
p
~
π
k
,
j
,
k
∈
2
,
…
,
n
,
j
∈
2
,
…
,
m
,
(7)
C
~
i
=
C
~
π
k
=
C
~
π
k
,
m
.The fuzzy completion time of each panel block has the same structure as the fuzzy processing time. The final fuzzy completion time, which is denoted asC
~
i
=
C
i
O
,
C
i
,
C
i
P, also includes three parameters: the optimistic value (C
i
O), the most plausible value (C
i), and the pessimistic value (C
i
P).The completion time is always expected to meet the due date. The agreement index (AI) of the fuzzy completion time with respect to the fuzzy due date is often used to represent the portion ofC
~
i that meets d
~
i. The AI, which is defined in (8) and is shown in Figure 2(c), indicates the degree of compliance between C
~
i and d
~
i:(8)
AI
i
=
area
C
~
i
∩
d
~
i
area
C
~
i
.The precedence relations between the panel blocks to be constructed can be depicted in matrix form as in (9). This equation can express the precedence relations between two arbitrary panel blocks that are to be constructed:(9)
PR
i
,
k
=
1
,
if  the  completion  of  block
i
must  precede  that  of  block
k
i
≫
k
,
-
1
,
if  the  completion  of  block
i
must
∀
i
,
k
∈
1,2
,
…
,
n
lag  behind  that  of  block
k
i
≪
k
,
i
≠
k
,
0
,
otherwise.To more accurately reflect real-world situations, we formulate the scheduling problem as a three-objective problem that not only minimizes the fuzzy makespan but also maximizes the average agreement index and the minimum agreement index:(10)
minimize
f
1
=
makespan
=
m
a
x
i
=
1,2
,
…
,
n
C
~
i
,
(11)
maximize
f
2
=
A
I
¯
=
1
n
∑
i
=
1
n
A
I
i
,
(12)
maximize
f
3
=
A
I
min
⁡
=
min
i
=
1,2
,
…
,
n
⁡
A
I
i
.In summary, this paper formulates the scheduling problem of panel block construction as a multiobjective fuzzy flow shop scheduling problem with precedence relations.


## 2.1. Problem Description

Hull construction systems are multilevel production systems. Generally, a ship hull is assembled from dozens of hull blocks. A hull block is composed of several subblocks, most of which are panel blocks. Moreover, every panel block is constructed with steel plants and sections. As shown in Figure1, a typical assembly line for panel blocks that can assemble and weld various types of steel plants and sections usually consists of seven main processes, including baseplate splicing, baseplate welding, longitudinal assembly, longitudinal welding, girders and floors assembly, girders and floors welding, and checking and carting. Each process is implemented at its corresponding station. Every panel block to be constructed must visit the stations one by one.Figure 1
A typical assembly line for panel blocks.During production, the processing time of each process is often affected by uncertainty, imprecision, and vagueness due to both machine and human factors. In this situation, it is more appropriate to estimate both the processing time and the due date while considering the uncertainty. As intermediate products of hull blocks, panel blocks must prioritize the requirements of the hull block assembly because of geometric and processing constraints. The JIT concept includes precedence relations among the panel blocks that are to be constructed. Additionally, the JIT concept defines an uncertain due date as follows: “in principle, due dates are expected to be met, but certain earliness and tardiness limits can be tolerated, and longer ones will have lower values.”Thus, the scheduling of panel block construction focuses on finding proper sequences for processing the required panel blocks on the assembly line with a fuzzy processing time, a fuzzy due date, and precedence relations to attain specific objectives. This problem can be summarized as a multiobjective complex FSSP and is considered and analyzed below.A set of panel blocks to be constructed with precedence relations will be processed sequentially at station 1, station 2, and so on until the final station. The stations are continuously available. At any time, each station can process a maximum of one panel block, and each panel block can be processed at a maximum of one station. Preemption is not allowed; that is, the processing of a panel block at a station cannot be interrupted. All of the panel blocks are available for processing at time zero. The set-up times at the stations are included in the processing time, while the transportation times between the stations are negligible. The fuzzy processing time and fuzzy due date are represented by fuzzy numbers. The notations of the scheduling problem of the panel block construction are as follows:n: number of panel blocks to be constructed,
m: number of stations,
i: index of panel blocks, i
∈
1,2
,
…
,
n,
j: index of stations, j
∈
1,2
,
…
,
m,
p
~
i
,
j: fuzzy processing time of panel block i at station j,
d
~
i: fuzzy due date of panel block i,
C
~
i
,
j: fuzzy completion time of panel block i at station j,
C
~
i: final fuzzy completion time (makespan) of panel block i.


## 2.2. Problem Formulation

In this paper, the fuzzy processing time is taken as a triangular fuzzy number and is denoted asp
~
i
,
j
=
p
i
,
j
O
,
p
i
,
j
,
p
i
,
j
P, which includes three parameters: the optimistic value (p
i
,
j
O), the most plausible value (p
i
,
j), and the pessimistic value (p
i
,
j
P). The membership function of the triangular fuzzy processing time is formulated as in the following equation and as shown in Figure 2(a):(1)
μ
p
~
i
,
j
t
=
0
,
t
≤
p
i
,
j
O
,
t
≥
p
i
,
j
P
,
t
-
p
i
,
j
O
p
i
,
j
-
p
i
,
j
O
,
p
i
,
j
O
<
t
≤
p
i
,
j
,
p
i
,
j
P
-
t
p
i
,
j
P
-
p
i
,
j
,
p
i
,
j
<
t
<
p
i
,
j
P
.Figure 2
(a) Membership function of the triangular fuzzy processing time; (b) membership function of the trapezoidal fuzzy due date; (c) agreement index (AI).
(a)
(b)
(c)The fuzzy due date is considered as a trapezoidal fuzzy number. For a trapezoidal fuzzy due date that is denoted asd
~
i
=
d
i
L
,
d
i
E
1
,
d
i
E
2
,
d
i
U, d
i
L and d
i
U are the lower and upper bounds of the fuzzy due date, respectively, and d
i
E
1 and d
i
E
2 represent the expected due date interval d
i
E
1
,
d
i
E
2. The membership function of the trapezoidal fuzzy due date is given by (2) and is shown in Figure 2(b); it represents the degree of satisfaction with respect to the final completion time:(2)
μ
d
~
i
t
=
0
,
t
≤
d
i
L
,
t
≥
d
i
U
,
t
-
d
i
L
d
i
E
1
-
d
i
L
,
d
i
L
<
r
<
d
i
E
1
,
1
,
d
i
E
1
≤
r
≤
d
i
E
2
,
d
i
U
-
t
d
i
U
-
d
i
E
2
,
d
i
E
2
<
r
<
d
i
U
.Letπ
=
π
1
,
π
2
,
…
,
π
n denote a permutation of jobs (i.e., the panel blocks to be constructed). Suppose that the job i is allocated at the kth position of π. The fuzzy completion times of the panel blocks can be calculated using the following formulas:(3)
C
~
π
1
,
1
=
p
~
π
1
,
1
,
(4)
C
~
π
1
,
j
=
C
~
π
1
,
j
-
1
+
p
~
π
1
,
j
,
j
∈
2
,
…
,
m
,
(5)
C
~
π
k
,
1
=
C
~
π
k
-
1
,
1
+
p
~
π
k
,
1
,
k
∈
2
,
…
,
n
,
(6)
C
~
π
k
,
j
=
max
⁡
C
~
π
k
,
j
-
1
,
C
~
π
k
-
1
,
j
+
p
~
π
k
,
j
,
k
∈
2
,
…
,
n
,
j
∈
2
,
…
,
m
,
(7)
C
~
i
=
C
~
π
k
=
C
~
π
k
,
m
.The fuzzy completion time of each panel block has the same structure as the fuzzy processing time. The final fuzzy completion time, which is denoted asC
~
i
=
C
i
O
,
C
i
,
C
i
P, also includes three parameters: the optimistic value (C
i
O), the most plausible value (C
i), and the pessimistic value (C
i
P).The completion time is always expected to meet the due date. The agreement index (AI) of the fuzzy completion time with respect to the fuzzy due date is often used to represent the portion ofC
~
i that meets d
~
i. The AI, which is defined in (8) and is shown in Figure 2(c), indicates the degree of compliance between C
~
i and d
~
i:(8)
AI
i
=
area
C
~
i
∩
d
~
i
area
C
~
i
.The precedence relations between the panel blocks to be constructed can be depicted in matrix form as in (9). This equation can express the precedence relations between two arbitrary panel blocks that are to be constructed:(9)
PR
i
,
k
=
1
,
if  the  completion  of  block
i
must  precede  that  of  block
k
i
≫
k
,
-
1
,
if  the  completion  of  block
i
must
∀
i
,
k
∈
1,2
,
…
,
n
lag  behind  that  of  block
k
i
≪
k
,
i
≠
k
,
0
,
otherwise.To more accurately reflect real-world situations, we formulate the scheduling problem as a three-objective problem that not only minimizes the fuzzy makespan but also maximizes the average agreement index and the minimum agreement index:(10)
minimize
f
1
=
makespan
=
m
a
x
i
=
1,2
,
…
,
n
C
~
i
,
(11)
maximize
f
2
=
A
I
¯
=
1
n
∑
i
=
1
n
A
I
i
,
(12)
maximize
f
3
=
A
I
min
⁡
=
min
i
=
1,2
,
…
,
n
⁡
A
I
i
.In summary, this paper formulates the scheduling problem of panel block construction as a multiobjective fuzzy flow shop scheduling problem with precedence relations.


## 3. Operations on Fuzzy Numbers

Equations (4)–(6) and (10) show that some operations on fuzzy numbers are essential to the formulation of the scheduling problem. These operations involve the addition operation, the max operation, and the ranking method for two or more fuzzy numbers.According to the extension principle of Zadeh, the membership function of the addition operation (+) for two fuzzy numbers is given by(13)
μ
A
~
+
B
~
z
=
sup
z
=
x
+
y
⁡
min
⁡
μ
A
~
x
,
μ
B
~
y
.For two triangular fuzzy numbers A
~
=
a
1
,
a
2
,
a
3 and B
~
=
b
1
,
b
2
,
b
3,(14)
A
~
+
B
~
=
a
1
+
b
1
,
a
2
+
b
2
,
a
3
+
b
3
.The membership function of the max operation (∨) for two fuzzy numbers is defined as(15)
μ
A
~
∨
B
~
z
=
sup
z
=
x
∨
y
⁡
min
⁡
μ
A
~
x
,
μ
B
~
y
.However, based on the extension principle, the fuzzy number that is obtained as the result of the max operation (∨) for two triangular fuzzy numbers is not always a triangular structure. Two approximations for the max operation, which were proposed by Sakawa and Mori [13] and Lei [14], are widely used in fuzzy processing time studies. Sakawa’s criterion states that the approximate max is a triple composed of A
~ and B
~; according to Lei’s criterion, the approximate max is either A
~ or B
~. The two criteria are given below.Sakawa’s criterion is(16)
max
⁡
A
~
,
B
~
=
A
~
∨
B
~
≃
a
1
∨
b
1
,
a
2
∨
b
2
,
a
3
∨
b
3
.Lei’s criterion is as follows:(17)
if
A
~
>
B
~
,
then
max
⁡
A
~
,
B
~
=
A
~
∨
B
~
≃
A
~
;
else
A
~
∨
B
~
≃
B
~
.As shown in (10) and (17), obtaining the fuzzy makespan and approximating the fuzzy max using Lei’s criterion both require a ranking method for fuzzy numbers. This paper uses the following three criteria to rank triangular fuzzy numbers [10].Criterion 1.
The greatest associate ordinary number(18)
C
1
A
~
=
a
1
+
2
a
2
+
a
3
4is used as the first criterion to rank the triangular fuzzy numbers.Criterion 2.
IfC
1 does not rank the fuzzy numbers, then the best maximal presumption(19)
C
2
A
~
=
a
2is chosen as the second criterion.Criterion 3.
IfC
1 and C
2 do not rank the fuzzy numbers, then the difference of the spreads(20)
C
3
A
~
=
a
3
-
a
1is utilized as the third criterion. The three criteria allow almost all triangular fuzzy numbers to be ranked. For example, if C
1
A
~
>
C
1
B
~, then A
~
>
B
~; if C
1
A
~
=
C
1
B
~ and C
2
A
~
>
C
2
B
~, then A
~
>
B
~; if  C
1
A
~
=
C
1
B
~, C
2
A
~
=
C
2
B
~, and C
3
A
~
=
C
3
B
~, then A
~
>
B
~.Lei’s criterion employs the three criteria that are described above to obtain the approximate max, while Sakawa’s criterion forms the approximate max by comparing three pairs of special points. Lei’s criterion provides a better approximation to the real max than Sakawa’s criterion [14]. Accordingly, we employ Lei’s criterion to approximate the fuzzy max in this paper.


## 4. MOPSO-M for the Scheduling Problem

### 4.1. PSO Algorithm

Particle swarm optimization is a population-based stochastic optimization technique that was proposed by Kennedy and Eberhart [15]. In PSO, each potential solution is treated as a particle that possesses two attributes: position and velocity. Each particle flies in the search space (i.e., the solution space) at a certain velocity, which is dynamically adjusted according to the flying experiences of it and its companions. In a D-dimensional search space, the velocity of every particle is updated in accordance with the following equation:(21)
V
q
k
+
1
=
ω
V
q
k
+
r
1
c
1
X
q
p
b
e
s
t
k
-
X
q
k
+
r
2
c
2
X
g
b
e
s
t
k
-
X
q
k
,where V
q
k
=
v
q
,
1
(
k
)
,
v
q
,
2
(
k
)
,
…
,
v
q
,
D
(
k
) and X
q
k
=
x
q
,
1
(
k
)
,
x
q
,
2
(
k
)
,
…
,
x
q
,
D
(
k
) represent the velocity and position of the qth particle at the kth iteration, respectively, X
q
p
b
e
s
t
k
=
x
q
,
1
p
b
e
s
t
(
k
)
,
x
q
,
2
p
b
e
s
t
(
k
)
,
…
,
x
q
,
D
p
b
e
s
t
(
k
) denotes the best previous position of the qth particle, X
g
b
e
s
t
k
=
x
1
g
b
e
s
t
(
k
)
,
x
2
g
b
e
s
t
(
k
)
,
…
,
x
D
g
b
e
s
t
(
k
) represents the global best position that has been detected in the swarm, ω is the inertia weight that controls the impact of the current velocity on the new velocity, c
1 and c
2 are learning factors that represent the relative influences of the self-cognition and social-interaction, respectively, and r
1 and r
2 are uniform random numbers in the interval 0,1. In this paper, we consider a modified version of PSO that was proposed by Clerc and Kennedy [16], which incorporates a parameter χ that is known as the constriction factor. The velocity of every particle is updated through the following equation:(22)
V
q
k
+
1
=
χ
V
q
k
+
r
1
c
1
X
q
p
b
e
s
t
k
-
X
q
k
+
r
2
c
2
X
g
b
e
s
t
k
-
X
q
k
,where χ
=
2
/
2
-
φ
-
φ
2
-
4
φ, φ
=
c
1
+
c
2, φ
>
4. The main role of the constriction factor is to alleviate the swarm explosion effect and ensure convergence of the PSO. The position of every particle is updated as(23)
X
q
k
+
1
=
X
q
k
+
V
q
k
+
1
.It is clear that the velocity and position of every particle are updated continuously and that the PSO is suited to a continuous solution space.Due to its advantages, including its simplicity, easy implementation, and low computational cost, PSO has been used in a wide variety of optimization problems. Several researchers have extended PSO for scheduling problems that are set in discrete spaces. Liao et al. developed a PSO algorithm for FSSPs with three incommensurable objectives. They also attempted to incorporate a local search scheme into the proposed algorithm [17]. Rahimi-Vahed and Mirghorbani [18] utilized a PSO algorithm in a bicriteria FSSP. Sha and Hung Lin [19] provided a PSO-based multiobjective algorithm for FSSPs. Applications of PSO have also been reported in the area of fuzzy scheduling problems. Lei [20] proposed a Pareto archive PSO algorithm for multiobjective JSSPs with both fuzzy processing times and fuzzy due dates. Niu et al. [21] redefined and modified PSO by introducing genetic operators, and Li and Pan [22] hybridized PSO with a tabu search (TS) to solve FSSPs with fuzzy processing times. The major issue in successfully applying PSO to scheduling problems is to develop an effective problem mapping and solution generation mechanism [23].


### 4.2. The Proposed Algorithm

This paper proposes a multiobjective algorithm (we call it MOPSO-M) to solve the scheduling problem of panel block construction that possesses fuzzy processing times, fuzzy due dates, precedence relations, and multiple objectives. As a multiobjective algorithm, MOPSO-M is developed based on the concept of Pareto optimality as described below.For a multiobjective optimization problem withT decision variables and L objectives,(24)
minimize
F
X
=
f
1
X
,
f
2
X
,
…
,
f
L
X
,where X
∈
Θ
∈
R
T, Θ is the search space, and F
X
∈
R
L. A solution X
0
∈
Θ is said to dominate another solution X
1
∈
Θ, which is represented as X
0
≻
X
1, if and only if f
l
X
0
≤
f
l
X
1
∀
l
∈
1,2
,
…
,
L, f
l
X
0
<
f
l
X
1
∃
l
∈
1,2
,
…
,
L. X
0 is said to be nondominated regarding a given set if X
0 is not dominated by any solution in the set. X
0 is said to be a Pareto optimal solution if and only if ¬
∃
X
1
∈
Θ
:
X
1
≻
X
0.The proposed algorithm is described in detail below.


#### 4.2.1. Solution Representation

Finding a suitable mapping between the position of the particles and the job sequence is crucial to the application of PSO to FSSPs. In MOPSO-M, a ranked-order-value (ROV) rule [24] that is based on a random key representation is utilized to convert the continuous positions of particles to the discrete permutations of jobs. In particular, for a position X
q
=
x
q
,
1
,
x
q
,
2
,
…
,
x
q
,
n, the position values from smallest to largest are mapped to rank values from 1 to n, which generates a permutation of jobs π
=
π
1
,
π
2
,
…
,
π
n. If there are two or more identical position values, the one with the smaller dimension has priority to be mapped to the rank value. Table 1 presents a simple example that illustrates the ROV rule. Note that the ROV rule is more available for a flow shop scheduling problem with a relatively large number of jobs (e.g., n
=
10, 20, or larger), for in such cases the problem that different positions of the particles map to the same permutations of jobs is pretty rare and has little or no adverse effect on the effectiveness of the optimization algorithms.Table 1
Example of the mapping between the position of the particle and the permutation of jobs.
Dimension number (d)
1
2
3
4
Position value (x
q
,
d)
0.138
1.542
2.306
1.542
Rank value
1
2
4
3
Note:n
=
4, X
q
=
0.138,1.542,2.036,1.542, and π
=
1,2
,
4,3.In MOPSO-M, the precedence relations among the required panel blocks are not handled based on the particle position but on the permutation of jobs. To obtain the precedence-based permutationπ
P
R, an available mapping is constructed using a five-step process:(1)
Initializeπ
P
R
=, π
=
π
1
,
π
2
,
…
,
π
n.
(2)
Letd
=
1.
(3)
Identity thedth dimension value of π, which is represented by π
d; if the job that precedes π
d has not yet been added to π
P
R, then go to (
4
); else, go to (
5
).
(4)
Letd
=
d
+
1; go to (
3
).
(5)
Addπ
d to π
P
R and take it as the last dimension value; delete π
d from π; if π
=, then output π
P
R; else, go to (
2
).Table2 shows an example that uses the mapping to obtain the precedence-based permutation.Table 2
Example of the mapping for obtaining the precedence-based permutation.
Initialization
Precedence
Process of mapping
π
P
R
=,
P
R
4,2
=
1,
(1)  d
=
1, π
1
=
1, π
P
R
=
[
1
], π
=
2,4
,
3
π
=
1,2
,
4,3
P
R
2,4
=
-
1,
(2)  d
=
1, π
1
=
2, go to 4, π
P
R
=
[
1
]
4
≫
2
(3)  d
=
2, π
2
=
4, π
P
R
=
[
1,4
], π
=
2,3
(4)  d
=
1, π
1
=
2, π
P
R
=
[
1,4
,
2
], π
=
3
(5)  d
=
1, π
1
=
3, π
P
R
=
[
1,4
,
2,3
], π
=,
Outputπ
P
R
=
[
1,4
,
2,3
]


#### 4.2.2. Outline of MOPSO-M

In order to improve the search capability of MOPSO-M, we apply the mechanism that was introduced in SMPSO [25] for further bounding the accumulated velocity of each variable d (in each particle) using the following velocity constriction equation:(25)
v
q
,
d
k
+
1
=
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
,
-
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
∀
d
∈
1,2
,
…
,
D
,
v
q
,
d
k
+
1
,
otherwise,where d
e
l
t
a
d
=
(
u
p
p
e
r
_
l
i
m
i
t
d
-
l
o
w
e
r
_
l
i
m
i
t
d
)
/
2. In summary, the velocity of every particle is calculated by (22), and the resulting velocity is then constrained by (25). The position of every particle is updated through (23).In MOPSO-M, an external archive (A
r) is used to store the nondominated solutions that are produced during the search process. A
r is updated at every iteration, and X
g
b
e
s
t of the particles are selected from the nondominated solutions in A
r. The algorithm may get stuck in local optima if the members of A
r lack diversity. This motivates the introduction of mutation to potentially produce new nondominated solutions and to provide new members for A
r. Mutation operator has been usually used in MOSPO. SMPSO applies a polynomial mutation to the 15% of the particles [25]. OMOPSO utilizes a combination of uniform and nonuniform mutation to the particle swarm [26]. PAPSO performs mutation on archive members [20]. In MOPSO-M, the mutation operators, including SWAP, INSERT, and INVERSE, are applied to the copy of the solutions at every iteration to generate neighboring solutions and to improve the performance of the neighborhood search. The above three operators are described below.SWAP. Randomly select two different elements from a sequence and then swap them.INSERT. Randomly choose two different elements from a sequence and then insert the back one before the front one.INVERSE. Invert the subsequence between two different random positions of a sequence.MOPSO-M is outlined as follows.(1)
I
t
e
r
a
t
i
o
n
=
0: initialize a population of P
s particles; obtain π
0
P
R with respect to each solution; evaluate the objective vector of each solution and store the nondominated individuals of S
0 (i.e., the set of solutions) in A
r
0; determine X
p
b
e
s
t
0 and X
g
b
e
s
t
0 for each particle.
(2)
I
t
e
r
a
t
i
o
n
=
k
+
1: update V
k
+
1 and X
k
+
1 of each particle using (22), (25), and (23); obtain π
k
+
1
P
R with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1, and store them in set N
d
k
+
1.
(3)
Copy the members ofS
k
+
1 to S
k
+
1
C; perform mutation on the members of S
k
+
1
C and produce neighboring solutions; rename S
k
+
1
C to S
k
+
1
M; obtain π
k
+
1
P
R
M with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1
M, and store them in set N
d
k
+
1
M.
(4)
MaintainA
r
k
+
1 and select X
g
b
e
s
t
k
+
1 for every particle; X
q
p
b
e
s
t
k
+
1 is updated with X
q
k if X
q
k
≻
X
q
p
b
e
s
t
k.
(5)
If the terminal condition is met, then output the optimal solutions and the optimal objective vectors; else, leti
t
e
r
a
t
i
o
n
←
i
t
e
r
a
t
i
o
n
+
1 and go to (
2
).The procedure of archive maintenance andX
g
b
e
s
t selection is detailed in Section 4.2.3. The mutation operators, including SWAP, INSERT, and INVERSE, are randomly implemented on the members of S
k
+
1
C.


#### 4.2.3. Archive Maintenance andX
g
b
e
s
t Selection

The number of nondominated solutions inA
r is limited by the predetermined maximum archive size s
M. When the actual size of A
r, which is denoted as s
A, reaches s
M, A
r must decide which solution should be replaced by a new nondominated solution. The crowding distance, which is defined as a density-estimation metric [27], is usually used to select which solution to replace and to promote the diversity of the stored solutions in multiobjective PSO (e.g., Nebro et al. [25]; Raquel and Naval Jr. [28]). Generally, when A
r is full, the solution that has the smallest crowding distance is preferably replaced.Archive maintenance andX
g
b
e
s
t selection are two important procedures in the PSO-based multiobjective algorithm. MOPSO-M combines these two procedures by referring to Lei’s method [20]. The hybrid procedure of archive maintenance and X
g
b
e
s
t selection is presented below.(1)
Assign all members ofA
r
k to A
r
k
+
1; let X
q
g
b
e
s
t
k
←
X
q
g
b
e
s
t
k
+
1.
(2)
For each solutionX
N
k
+
1
∈
N
d
k
+
1 or N
d
k
+
1
M, if it is dominated by any member of A
r
k
+
1, then exclude it from the archive; else, first insert it into A
r
k
+
1 and take it as a new member; go to (
3
) or (
4
).
(3)
For each new memberX
N
k
+
1, if it dominates some members of A
r
k
+
1, then remove the dominated members from the archive and substitute X
N
k
+
1 for the X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
D
k
+
1
,
X
N
k
+
1
≻
X
D
k
+
1
∈
A
r
k
+
1.
(4)
For each new memberX
N
k
+
1, if it does not dominate any member of A
r
k
+
1, then one has the following:
(4.1)
Ifs
A
=
s
M, remove member X
C
k
+
1 with the smallest crowding distance; if X
N
k
+
1
≠
X
C
k
+
1, then replace X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
C
k
+
1 with X
N
k
+
1; else, remove X
N
k
+
1 from A
r
k
+
1.
(4.2)
Ifs
A
<
s
M, one has the following:
(4.2.1)
Computeu
=
min
e
=
1,2
,
…
,
s
A
⁡
N
X
e
k
+
1, ∀
X
e
k
+
1
∈
A
r
k
+
1, where N
X
e
k
+
1 represents the number of particles whose value of X
g
b
e
s
t
k
+
1 is X
e
k
+
1
;
N
X
N
k
+
1
=
0; if u
>
g (g is an integer, and g
∈
0.025
P
s
,
0.05
P
s), then let u
←
g.
(4.2.2)
LetH
=
X
e
k
+
1
∣
N
X
e
k
+
1
>
u, C
=
H, f
=
0.
(4.2.3)
Select the solutionX
e
k
+
1
∈
H that is nearest to X
N
k
+
1; substitute X
N
k
+
1 for the new X
g
b
e
s
t
k
+
1 of one particle whose current X
g
b
e
s
t
k
+
1 is X
e
k
+
1; let H
←
H
∖
X
e
k
+
1; let N
X
N
k
+
1
←
N
X
N
k
+
1
+
1; let f
←
f
+
1;
ifN
X
N
k
+
1
<
u and f
<
C, repeat (4.2.3); if N
X
N
k
+
1
<
u and f
=
C, go to (4.2.2); if N
X
N
k
+
1
=
u, go to the end.This hybrid procedure ensures that each archive member serves asX
g
b
e
s
t of at least one particle. Thus, all of the members, especially the new individuals, can participate in the search process and guide particles towards new regions of the search space. The implementation of the hybrid procedure, the introduction of mutation, and the application of the velocity constriction mechanism of SMPSO are expected to make the optimal solutions that are generated by MOPSO-M better approximate the Pareto optimal solutions.


## 4.1. PSO Algorithm

Particle swarm optimization is a population-based stochastic optimization technique that was proposed by Kennedy and Eberhart [15]. In PSO, each potential solution is treated as a particle that possesses two attributes: position and velocity. Each particle flies in the search space (i.e., the solution space) at a certain velocity, which is dynamically adjusted according to the flying experiences of it and its companions. In a D-dimensional search space, the velocity of every particle is updated in accordance with the following equation:(21)
V
q
k
+
1
=
ω
V
q
k
+
r
1
c
1
X
q
p
b
e
s
t
k
-
X
q
k
+
r
2
c
2
X
g
b
e
s
t
k
-
X
q
k
,where V
q
k
=
v
q
,
1
(
k
)
,
v
q
,
2
(
k
)
,
…
,
v
q
,
D
(
k
) and X
q
k
=
x
q
,
1
(
k
)
,
x
q
,
2
(
k
)
,
…
,
x
q
,
D
(
k
) represent the velocity and position of the qth particle at the kth iteration, respectively, X
q
p
b
e
s
t
k
=
x
q
,
1
p
b
e
s
t
(
k
)
,
x
q
,
2
p
b
e
s
t
(
k
)
,
…
,
x
q
,
D
p
b
e
s
t
(
k
) denotes the best previous position of the qth particle, X
g
b
e
s
t
k
=
x
1
g
b
e
s
t
(
k
)
,
x
2
g
b
e
s
t
(
k
)
,
…
,
x
D
g
b
e
s
t
(
k
) represents the global best position that has been detected in the swarm, ω is the inertia weight that controls the impact of the current velocity on the new velocity, c
1 and c
2 are learning factors that represent the relative influences of the self-cognition and social-interaction, respectively, and r
1 and r
2 are uniform random numbers in the interval 0,1. In this paper, we consider a modified version of PSO that was proposed by Clerc and Kennedy [16], which incorporates a parameter χ that is known as the constriction factor. The velocity of every particle is updated through the following equation:(22)
V
q
k
+
1
=
χ
V
q
k
+
r
1
c
1
X
q
p
b
e
s
t
k
-
X
q
k
+
r
2
c
2
X
g
b
e
s
t
k
-
X
q
k
,where χ
=
2
/
2
-
φ
-
φ
2
-
4
φ, φ
=
c
1
+
c
2, φ
>
4. The main role of the constriction factor is to alleviate the swarm explosion effect and ensure convergence of the PSO. The position of every particle is updated as(23)
X
q
k
+
1
=
X
q
k
+
V
q
k
+
1
.It is clear that the velocity and position of every particle are updated continuously and that the PSO is suited to a continuous solution space.Due to its advantages, including its simplicity, easy implementation, and low computational cost, PSO has been used in a wide variety of optimization problems. Several researchers have extended PSO for scheduling problems that are set in discrete spaces. Liao et al. developed a PSO algorithm for FSSPs with three incommensurable objectives. They also attempted to incorporate a local search scheme into the proposed algorithm [17]. Rahimi-Vahed and Mirghorbani [18] utilized a PSO algorithm in a bicriteria FSSP. Sha and Hung Lin [19] provided a PSO-based multiobjective algorithm for FSSPs. Applications of PSO have also been reported in the area of fuzzy scheduling problems. Lei [20] proposed a Pareto archive PSO algorithm for multiobjective JSSPs with both fuzzy processing times and fuzzy due dates. Niu et al. [21] redefined and modified PSO by introducing genetic operators, and Li and Pan [22] hybridized PSO with a tabu search (TS) to solve FSSPs with fuzzy processing times. The major issue in successfully applying PSO to scheduling problems is to develop an effective problem mapping and solution generation mechanism [23].


## 4.2. The Proposed Algorithm

This paper proposes a multiobjective algorithm (we call it MOPSO-M) to solve the scheduling problem of panel block construction that possesses fuzzy processing times, fuzzy due dates, precedence relations, and multiple objectives. As a multiobjective algorithm, MOPSO-M is developed based on the concept of Pareto optimality as described below.For a multiobjective optimization problem withT decision variables and L objectives,(24)
minimize
F
X
=
f
1
X
,
f
2
X
,
…
,
f
L
X
,where X
∈
Θ
∈
R
T, Θ is the search space, and F
X
∈
R
L. A solution X
0
∈
Θ is said to dominate another solution X
1
∈
Θ, which is represented as X
0
≻
X
1, if and only if f
l
X
0
≤
f
l
X
1
∀
l
∈
1,2
,
…
,
L, f
l
X
0
<
f
l
X
1
∃
l
∈
1,2
,
…
,
L. X
0 is said to be nondominated regarding a given set if X
0 is not dominated by any solution in the set. X
0 is said to be a Pareto optimal solution if and only if ¬
∃
X
1
∈
Θ
:
X
1
≻
X
0.The proposed algorithm is described in detail below.


### 4.2.1. Solution Representation

Finding a suitable mapping between the position of the particles and the job sequence is crucial to the application of PSO to FSSPs. In MOPSO-M, a ranked-order-value (ROV) rule [24] that is based on a random key representation is utilized to convert the continuous positions of particles to the discrete permutations of jobs. In particular, for a position X
q
=
x
q
,
1
,
x
q
,
2
,
…
,
x
q
,
n, the position values from smallest to largest are mapped to rank values from 1 to n, which generates a permutation of jobs π
=
π
1
,
π
2
,
…
,
π
n. If there are two or more identical position values, the one with the smaller dimension has priority to be mapped to the rank value. Table 1 presents a simple example that illustrates the ROV rule. Note that the ROV rule is more available for a flow shop scheduling problem with a relatively large number of jobs (e.g., n
=
10, 20, or larger), for in such cases the problem that different positions of the particles map to the same permutations of jobs is pretty rare and has little or no adverse effect on the effectiveness of the optimization algorithms.Table 1
Example of the mapping between the position of the particle and the permutation of jobs.
Dimension number (d)
1
2
3
4
Position value (x
q
,
d)
0.138
1.542
2.306
1.542
Rank value
1
2
4
3
Note:n
=
4, X
q
=
0.138,1.542,2.036,1.542, and π
=
1,2
,
4,3.In MOPSO-M, the precedence relations among the required panel blocks are not handled based on the particle position but on the permutation of jobs. To obtain the precedence-based permutationπ
P
R, an available mapping is constructed using a five-step process:(1)
Initializeπ
P
R
=, π
=
π
1
,
π
2
,
…
,
π
n.
(2)
Letd
=
1.
(3)
Identity thedth dimension value of π, which is represented by π
d; if the job that precedes π
d has not yet been added to π
P
R, then go to (
4
); else, go to (
5
).
(4)
Letd
=
d
+
1; go to (
3
).
(5)
Addπ
d to π
P
R and take it as the last dimension value; delete π
d from π; if π
=, then output π
P
R; else, go to (
2
).Table2 shows an example that uses the mapping to obtain the precedence-based permutation.Table 2
Example of the mapping for obtaining the precedence-based permutation.
Initialization
Precedence
Process of mapping
π
P
R
=,
P
R
4,2
=
1,
(1)  d
=
1, π
1
=
1, π
P
R
=
[
1
], π
=
2,4
,
3
π
=
1,2
,
4,3
P
R
2,4
=
-
1,
(2)  d
=
1, π
1
=
2, go to 4, π
P
R
=
[
1
]
4
≫
2
(3)  d
=
2, π
2
=
4, π
P
R
=
[
1,4
], π
=
2,3
(4)  d
=
1, π
1
=
2, π
P
R
=
[
1,4
,
2
], π
=
3
(5)  d
=
1, π
1
=
3, π
P
R
=
[
1,4
,
2,3
], π
=,
Outputπ
P
R
=
[
1,4
,
2,3
]


### 4.2.2. Outline of MOPSO-M

In order to improve the search capability of MOPSO-M, we apply the mechanism that was introduced in SMPSO [25] for further bounding the accumulated velocity of each variable d (in each particle) using the following velocity constriction equation:(25)
v
q
,
d
k
+
1
=
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
,
-
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
∀
d
∈
1,2
,
…
,
D
,
v
q
,
d
k
+
1
,
otherwise,where d
e
l
t
a
d
=
(
u
p
p
e
r
_
l
i
m
i
t
d
-
l
o
w
e
r
_
l
i
m
i
t
d
)
/
2. In summary, the velocity of every particle is calculated by (22), and the resulting velocity is then constrained by (25). The position of every particle is updated through (23).In MOPSO-M, an external archive (A
r) is used to store the nondominated solutions that are produced during the search process. A
r is updated at every iteration, and X
g
b
e
s
t of the particles are selected from the nondominated solutions in A
r. The algorithm may get stuck in local optima if the members of A
r lack diversity. This motivates the introduction of mutation to potentially produce new nondominated solutions and to provide new members for A
r. Mutation operator has been usually used in MOSPO. SMPSO applies a polynomial mutation to the 15% of the particles [25]. OMOPSO utilizes a combination of uniform and nonuniform mutation to the particle swarm [26]. PAPSO performs mutation on archive members [20]. In MOPSO-M, the mutation operators, including SWAP, INSERT, and INVERSE, are applied to the copy of the solutions at every iteration to generate neighboring solutions and to improve the performance of the neighborhood search. The above three operators are described below.SWAP. Randomly select two different elements from a sequence and then swap them.INSERT. Randomly choose two different elements from a sequence and then insert the back one before the front one.INVERSE. Invert the subsequence between two different random positions of a sequence.MOPSO-M is outlined as follows.(1)
I
t
e
r
a
t
i
o
n
=
0: initialize a population of P
s particles; obtain π
0
P
R with respect to each solution; evaluate the objective vector of each solution and store the nondominated individuals of S
0 (i.e., the set of solutions) in A
r
0; determine X
p
b
e
s
t
0 and X
g
b
e
s
t
0 for each particle.
(2)
I
t
e
r
a
t
i
o
n
=
k
+
1: update V
k
+
1 and X
k
+
1 of each particle using (22), (25), and (23); obtain π
k
+
1
P
R with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1, and store them in set N
d
k
+
1.
(3)
Copy the members ofS
k
+
1 to S
k
+
1
C; perform mutation on the members of S
k
+
1
C and produce neighboring solutions; rename S
k
+
1
C to S
k
+
1
M; obtain π
k
+
1
P
R
M with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1
M, and store them in set N
d
k
+
1
M.
(4)
MaintainA
r
k
+
1 and select X
g
b
e
s
t
k
+
1 for every particle; X
q
p
b
e
s
t
k
+
1 is updated with X
q
k if X
q
k
≻
X
q
p
b
e
s
t
k.
(5)
If the terminal condition is met, then output the optimal solutions and the optimal objective vectors; else, leti
t
e
r
a
t
i
o
n
←
i
t
e
r
a
t
i
o
n
+
1 and go to (
2
).The procedure of archive maintenance andX
g
b
e
s
t selection is detailed in Section 4.2.3. The mutation operators, including SWAP, INSERT, and INVERSE, are randomly implemented on the members of S
k
+
1
C.


### 4.2.3. Archive Maintenance andX
g
b
e
s
t Selection

The number of nondominated solutions inA
r is limited by the predetermined maximum archive size s
M. When the actual size of A
r, which is denoted as s
A, reaches s
M, A
r must decide which solution should be replaced by a new nondominated solution. The crowding distance, which is defined as a density-estimation metric [27], is usually used to select which solution to replace and to promote the diversity of the stored solutions in multiobjective PSO (e.g., Nebro et al. [25]; Raquel and Naval Jr. [28]). Generally, when A
r is full, the solution that has the smallest crowding distance is preferably replaced.Archive maintenance andX
g
b
e
s
t selection are two important procedures in the PSO-based multiobjective algorithm. MOPSO-M combines these two procedures by referring to Lei’s method [20]. The hybrid procedure of archive maintenance and X
g
b
e
s
t selection is presented below.(1)
Assign all members ofA
r
k to A
r
k
+
1; let X
q
g
b
e
s
t
k
←
X
q
g
b
e
s
t
k
+
1.
(2)
For each solutionX
N
k
+
1
∈
N
d
k
+
1 or N
d
k
+
1
M, if it is dominated by any member of A
r
k
+
1, then exclude it from the archive; else, first insert it into A
r
k
+
1 and take it as a new member; go to (
3
) or (
4
).
(3)
For each new memberX
N
k
+
1, if it dominates some members of A
r
k
+
1, then remove the dominated members from the archive and substitute X
N
k
+
1 for the X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
D
k
+
1
,
X
N
k
+
1
≻
X
D
k
+
1
∈
A
r
k
+
1.
(4)
For each new memberX
N
k
+
1, if it does not dominate any member of A
r
k
+
1, then one has the following:
(4.1)
Ifs
A
=
s
M, remove member X
C
k
+
1 with the smallest crowding distance; if X
N
k
+
1
≠
X
C
k
+
1, then replace X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
C
k
+
1 with X
N
k
+
1; else, remove X
N
k
+
1 from A
r
k
+
1.
(4.2)
Ifs
A
<
s
M, one has the following:
(4.2.1)
Computeu
=
min
e
=
1,2
,
…
,
s
A
⁡
N
X
e
k
+
1, ∀
X
e
k
+
1
∈
A
r
k
+
1, where N
X
e
k
+
1 represents the number of particles whose value of X
g
b
e
s
t
k
+
1 is X
e
k
+
1
;
N
X
N
k
+
1
=
0; if u
>
g (g is an integer, and g
∈
0.025
P
s
,
0.05
P
s), then let u
←
g.
(4.2.2)
LetH
=
X
e
k
+
1
∣
N
X
e
k
+
1
>
u, C
=
H, f
=
0.
(4.2.3)
Select the solutionX
e
k
+
1
∈
H that is nearest to X
N
k
+
1; substitute X
N
k
+
1 for the new X
g
b
e
s
t
k
+
1 of one particle whose current X
g
b
e
s
t
k
+
1 is X
e
k
+
1; let H
←
H
∖
X
e
k
+
1; let N
X
N
k
+
1
←
N
X
N
k
+
1
+
1; let f
←
f
+
1;
ifN
X
N
k
+
1
<
u and f
<
C, repeat (4.2.3); if N
X
N
k
+
1
<
u and f
=
C, go to (4.2.2); if N
X
N
k
+
1
=
u, go to the end.This hybrid procedure ensures that each archive member serves asX
g
b
e
s
t of at least one particle. Thus, all of the members, especially the new individuals, can participate in the search process and guide particles towards new regions of the search space. The implementation of the hybrid procedure, the introduction of mutation, and the application of the velocity constriction mechanism of SMPSO are expected to make the optimal solutions that are generated by MOPSO-M better approximate the Pareto optimal solutions.


## 4.2.1. Solution Representation

Finding a suitable mapping between the position of the particles and the job sequence is crucial to the application of PSO to FSSPs. In MOPSO-M, a ranked-order-value (ROV) rule [24] that is based on a random key representation is utilized to convert the continuous positions of particles to the discrete permutations of jobs. In particular, for a position X
q
=
x
q
,
1
,
x
q
,
2
,
…
,
x
q
,
n, the position values from smallest to largest are mapped to rank values from 1 to n, which generates a permutation of jobs π
=
π
1
,
π
2
,
…
,
π
n. If there are two or more identical position values, the one with the smaller dimension has priority to be mapped to the rank value. Table 1 presents a simple example that illustrates the ROV rule. Note that the ROV rule is more available for a flow shop scheduling problem with a relatively large number of jobs (e.g., n
=
10, 20, or larger), for in such cases the problem that different positions of the particles map to the same permutations of jobs is pretty rare and has little or no adverse effect on the effectiveness of the optimization algorithms.Table 1
Example of the mapping between the position of the particle and the permutation of jobs.
Dimension number (d)
1
2
3
4
Position value (x
q
,
d)
0.138
1.542
2.306
1.542
Rank value
1
2
4
3
Note:n
=
4, X
q
=
0.138,1.542,2.036,1.542, and π
=
1,2
,
4,3.In MOPSO-M, the precedence relations among the required panel blocks are not handled based on the particle position but on the permutation of jobs. To obtain the precedence-based permutationπ
P
R, an available mapping is constructed using a five-step process:(1)
Initializeπ
P
R
=, π
=
π
1
,
π
2
,
…
,
π
n.
(2)
Letd
=
1.
(3)
Identity thedth dimension value of π, which is represented by π
d; if the job that precedes π
d has not yet been added to π
P
R, then go to (
4
); else, go to (
5
).
(4)
Letd
=
d
+
1; go to (
3
).
(5)
Addπ
d to π
P
R and take it as the last dimension value; delete π
d from π; if π
=, then output π
P
R; else, go to (
2
).Table2 shows an example that uses the mapping to obtain the precedence-based permutation.Table 2
Example of the mapping for obtaining the precedence-based permutation.
Initialization
Precedence
Process of mapping
π
P
R
=,
P
R
4,2
=
1,
(1)  d
=
1, π
1
=
1, π
P
R
=
[
1
], π
=
2,4
,
3
π
=
1,2
,
4,3
P
R
2,4
=
-
1,
(2)  d
=
1, π
1
=
2, go to 4, π
P
R
=
[
1
]
4
≫
2
(3)  d
=
2, π
2
=
4, π
P
R
=
[
1,4
], π
=
2,3
(4)  d
=
1, π
1
=
2, π
P
R
=
[
1,4
,
2
], π
=
3
(5)  d
=
1, π
1
=
3, π
P
R
=
[
1,4
,
2,3
], π
=,
Outputπ
P
R
=
[
1,4
,
2,3
]


## 4.2.2. Outline of MOPSO-M

In order to improve the search capability of MOPSO-M, we apply the mechanism that was introduced in SMPSO [25] for further bounding the accumulated velocity of each variable d (in each particle) using the following velocity constriction equation:(25)
v
q
,
d
k
+
1
=
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
,
-
delta
d
,
if
v
q
,
d
k
+
1
>
delta
d
∀
d
∈
1,2
,
…
,
D
,
v
q
,
d
k
+
1
,
otherwise,where d
e
l
t
a
d
=
(
u
p
p
e
r
_
l
i
m
i
t
d
-
l
o
w
e
r
_
l
i
m
i
t
d
)
/
2. In summary, the velocity of every particle is calculated by (22), and the resulting velocity is then constrained by (25). The position of every particle is updated through (23).In MOPSO-M, an external archive (A
r) is used to store the nondominated solutions that are produced during the search process. A
r is updated at every iteration, and X
g
b
e
s
t of the particles are selected from the nondominated solutions in A
r. The algorithm may get stuck in local optima if the members of A
r lack diversity. This motivates the introduction of mutation to potentially produce new nondominated solutions and to provide new members for A
r. Mutation operator has been usually used in MOSPO. SMPSO applies a polynomial mutation to the 15% of the particles [25]. OMOPSO utilizes a combination of uniform and nonuniform mutation to the particle swarm [26]. PAPSO performs mutation on archive members [20]. In MOPSO-M, the mutation operators, including SWAP, INSERT, and INVERSE, are applied to the copy of the solutions at every iteration to generate neighboring solutions and to improve the performance of the neighborhood search. The above three operators are described below.SWAP. Randomly select two different elements from a sequence and then swap them.INSERT. Randomly choose two different elements from a sequence and then insert the back one before the front one.INVERSE. Invert the subsequence between two different random positions of a sequence.MOPSO-M is outlined as follows.(1)
I
t
e
r
a
t
i
o
n
=
0: initialize a population of P
s particles; obtain π
0
P
R with respect to each solution; evaluate the objective vector of each solution and store the nondominated individuals of S
0 (i.e., the set of solutions) in A
r
0; determine X
p
b
e
s
t
0 and X
g
b
e
s
t
0 for each particle.
(2)
I
t
e
r
a
t
i
o
n
=
k
+
1: update V
k
+
1 and X
k
+
1 of each particle using (22), (25), and (23); obtain π
k
+
1
P
R with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1, and store them in set N
d
k
+
1.
(3)
Copy the members ofS
k
+
1 to S
k
+
1
C; perform mutation on the members of S
k
+
1
C and produce neighboring solutions; rename S
k
+
1
C to S
k
+
1
M; obtain π
k
+
1
P
R
M with respect to each solution; evaluate the objective vector of each solution, find the nondominated individuals of S
k
+
1
M, and store them in set N
d
k
+
1
M.
(4)
MaintainA
r
k
+
1 and select X
g
b
e
s
t
k
+
1 for every particle; X
q
p
b
e
s
t
k
+
1 is updated with X
q
k if X
q
k
≻
X
q
p
b
e
s
t
k.
(5)
If the terminal condition is met, then output the optimal solutions and the optimal objective vectors; else, leti
t
e
r
a
t
i
o
n
←
i
t
e
r
a
t
i
o
n
+
1 and go to (
2
).The procedure of archive maintenance andX
g
b
e
s
t selection is detailed in Section 4.2.3. The mutation operators, including SWAP, INSERT, and INVERSE, are randomly implemented on the members of S
k
+
1
C.


## 4.2.3. Archive Maintenance andX
g
b
e
s
t Selection

The number of nondominated solutions inA
r is limited by the predetermined maximum archive size s
M. When the actual size of A
r, which is denoted as s
A, reaches s
M, A
r must decide which solution should be replaced by a new nondominated solution. The crowding distance, which is defined as a density-estimation metric [27], is usually used to select which solution to replace and to promote the diversity of the stored solutions in multiobjective PSO (e.g., Nebro et al. [25]; Raquel and Naval Jr. [28]). Generally, when A
r is full, the solution that has the smallest crowding distance is preferably replaced.Archive maintenance andX
g
b
e
s
t selection are two important procedures in the PSO-based multiobjective algorithm. MOPSO-M combines these two procedures by referring to Lei’s method [20]. The hybrid procedure of archive maintenance and X
g
b
e
s
t selection is presented below.(1)
Assign all members ofA
r
k to A
r
k
+
1; let X
q
g
b
e
s
t
k
←
X
q
g
b
e
s
t
k
+
1.
(2)
For each solutionX
N
k
+
1
∈
N
d
k
+
1 or N
d
k
+
1
M, if it is dominated by any member of A
r
k
+
1, then exclude it from the archive; else, first insert it into A
r
k
+
1 and take it as a new member; go to (
3
) or (
4
).
(3)
For each new memberX
N
k
+
1, if it dominates some members of A
r
k
+
1, then remove the dominated members from the archive and substitute X
N
k
+
1 for the X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
D
k
+
1
,
X
N
k
+
1
≻
X
D
k
+
1
∈
A
r
k
+
1.
(4)
For each new memberX
N
k
+
1, if it does not dominate any member of A
r
k
+
1, then one has the following:
(4.1)
Ifs
A
=
s
M, remove member X
C
k
+
1 with the smallest crowding distance; if X
N
k
+
1
≠
X
C
k
+
1, then replace X
g
b
e
s
t
k
+
1 of all of the particles in the set q
∣
X
q
g
b
e
s
t
k
+
1
=
X
C
k
+
1 with X
N
k
+
1; else, remove X
N
k
+
1 from A
r
k
+
1.
(4.2)
Ifs
A
<
s
M, one has the following:
(4.2.1)
Computeu
=
min
e
=
1,2
,
…
,
s
A
⁡
N
X
e
k
+
1, ∀
X
e
k
+
1
∈
A
r
k
+
1, where N
X
e
k
+
1 represents the number of particles whose value of X
g
b
e
s
t
k
+
1 is X
e
k
+
1
;
N
X
N
k
+
1
=
0; if u
>
g (g is an integer, and g
∈
0.025
P
s
,
0.05
P
s), then let u
←
g.
(4.2.2)
LetH
=
X
e
k
+
1
∣
N
X
e
k
+
1
>
u, C
=
H, f
=
0.
(4.2.3)
Select the solutionX
e
k
+
1
∈
H that is nearest to X
N
k
+
1; substitute X
N
k
+
1 for the new X
g
b
e
s
t
k
+
1 of one particle whose current X
g
b
e
s
t
k
+
1 is X
e
k
+
1; let H
←
H
∖
X
e
k
+
1; let N
X
N
k
+
1
←
N
X
N
k
+
1
+
1; let f
←
f
+
1;
ifN
X
N
k
+
1
<
u and f
<
C, repeat (4.2.3); if N
X
N
k
+
1
<
u and f
=
C, go to (4.2.2); if N
X
N
k
+
1
=
u, go to the end.This hybrid procedure ensures that each archive member serves asX
g
b
e
s
t of at least one particle. Thus, all of the members, especially the new individuals, can participate in the search process and guide particles towards new regions of the search space. The implementation of the hybrid procedure, the introduction of mutation, and the application of the velocity constriction mechanism of SMPSO are expected to make the optimal solutions that are generated by MOPSO-M better approximate the Pareto optimal solutions.


## 5. Computational Results

Because the scheduling problem of panel block construction is usually complex and requires higher quality optimal solutions, a serviceable algorithm with stronger optimization capability is needed. In this study, real-time production data are used to test the performance of the proposed algorithm. The real-time data of the fuzzy processing time and fuzzy due date of two sets of panel blocks to be constructed (10 × 7 and 20 × 7 fuzzy FSSPs) come from a large shipyard in Shanghai, China, and are shown in Tables8 and 10. The most plausible value (p
i
,
j) of the fuzzy processing time is determined as the mean value of the historical processing times of the same or very similar panel blocks. The optimistic value (p
i
,
j
O) and the pessimistic value (p
i
,
j
P) are often randomly obtained from δ
11
P
i
,
j
,
δ
12
P
i
,
j and δ
21
P
i
,
j
,
δ
22
P
i
,
j, respectively [29]. In this paper, δ
11, δ
12, δ
21, and δ
22 are set to 0.85, 0.90, 1.10, and 1.25, respectively, based on historical data and the advice of experienced workers. The fuzzy due date of each panel block is provided by the hull block assembly shop, which is the demand side. Additionally, precedence relations among the panel blocks are provided by the hull block assembly shop and are presented in Tables 9 and 11.MOPSO-M is compared with the general MOPSO (without proposed modifications) and nondominated sorting genetic algorithm-II (NSGA-II). Each algorithm uses the ROV representation rule. The parameter settings of the three algorithms are shown in Table3. All of these algorithms are implemented in MATLAB 8.1.Table 3
Main parameter settings of the three algorithms.
MOPSO-M
General MOPSO
NSGA-II
P
s
=
60
P
s
=
60
P
s
=
60
s
M
=
15
s
M
=
15
s
M
=
15
F
e
=
30000
F
e
=
30000
F
e
=
30000
c
1
=
2.05
,
c
2
=
2.25
c
1
=
2.05
p
c
=
0.80
p
m
C
=
1
c
2
=
2.25
p
m
=
0.05
Notes:P
s denotes the population scale; F
e represents function evaluations; p
c and p
m denote the crossover probability and the mutation probability, respectively.For evaluating the performance of the algorithms, we consider three quality indicators: unary additive epsilon indicator (I
ε
+
1) [30], hypervolume indicator (H
V), and coverage indicator (C) [31].TheI
ε
+
1 indicator, which is defined in (26), equals the minimum factor ε such that any objective vector in an obtained front (OF) is ε-dominated by at least one objective vector in Pareto optimal front (P
F
∗):(26)
I
ε
+
1
OF
=
inf
ε
∈
R
⁡
∀
Z
2
∈
PF
∗
∃
Z
1
∈
OF
:
Z
1
≻
ε
+
Z
2
,where Z
1
≻
ε
+
Z
2 if and only if ∀
1
≤
l
≤
L
:
z
l
1
<
ε
+
z
l
2
Z
1
=
z
1
1
,
…
,
z
L
1 and Z
2
=
z
1
2
,
…
,
z
L
2 are two objective vectors of a minimization problem. Because the P
F
∗ for each aforementioned fuzzy FSSP is not known, a reference front constituted by gathering all obtained fronts of all algorithms is used in this paper.As far as the HV indicator is concerned, it measures the volume, in the objective space, covered by the obtained front. Mathematically, for objective vectorZ
t
∈
O
F, a hypercube v
t is constructed with a reference point R and the objective vector Z
t as the diagonal corners of the hypercube [32]. The vector of worst objective function values is usually used as the reference point. The HV indicator is calculated as the volume of the union of all hypercubes:(27)
HV
=
volume
⋃
t
=
1
OF
v
t
.TheC indicator is a binary indicator. Let E
A and E
B represent two sets of approximate Pareto optimal solutions that are generated by algorithm A and algorithm B, respectively. C
E
A
,
E
B, which is defined in (28), measures the fraction of the members of E
B that are dominated by members of E
A, reflecting the dominance relation between the two sets:(28)
C
E
A
,
E
B
=
X
B
∈
E
B
∣
∃
X
A
∈
E
A
,
X
A
≻
X
B
E
B
.The C indicator maps the ordered pair E
A
,
E
B to the interval [
0,1
]. C
E
A
,
E
B
=
1 indicates that all of the solutions in E
B are dominated by individuals in E
A, while C
E
A
,
E
B
=
0 implies that none of the solutions in E
B are dominated by members of E
A.In the performance evaluation experiment, each algorithm is independently run 30 times for each fuzzy FSSP. The median and interquartile range (IQR) of theI
ε
+
1 and HV indicators are reported in Table 4. In the calculation of the two indicators, the objective values are normalized into values in the interval [
1,2
]. For the I
ε
+
1 indicator, the lower the value the better the obtained front, while, for the HV indicator, the lower the value the better the obtained front. Thus, depending on the data contained in Table 4, we see that MOPSO-M achieves the best values for both the I
ε
+
1 and HV indicators in both the fuzzy FSSPs. Table 5 summarizes the results of statistical pairwise comparisons by applying Wilcoxon test to the I
ε
+
1 and HV values. These results suggest that MOPSO-M obtains better fronts than general MOPSO and NSGA-II with statistical confidence, regarding the two indicators in both the fuzzy FSSPs. More information can be obtained from the box plots in Figure 3, for the box plots visualize the distributions of the I
ε
+
1 and HV values. Attending to this figure, we can also observe the fact that MOPSO-M outperforms the other two algorithms concerning the two indicators.Table 4
Median and IQR of theI
ε
+
1 and HV indicators.
MOPSO-M
General MOPSO
NSGA-II
Median
IQR
Median
IQR
Median
IQR
I
ε
+
1
10
×
7
1.34
e
-
02
1.04
e
-
02
1.20
e
-
01
9.66
e
-
02
1.20
e
-
01
3.26
e
-
01
20
×
7
1.87
e
-
01
1.11
e
-
01
1.00
e
-
00
1.13
e
-
01
9.11
e
-
01
2.67
e
-
01
HV
10
×
7
9.78
e
-
01
6.54
e
-
03
9.26
e
-
01
4.57
e
-
02
9.15
e
-
01
2.93
e
-
01
20
×
7
7.76
e
-
01
1.65
e
-
01
7.84
e
-
02
1.13
e
-
01
1.12
e
-
01
1.58
e
-
01Table 5
Results of the Wilcoxon rank-sum test for theI
ε
+
1 and HV indicators.
General MOPSO
NSGA-II
10
×
7
20
×
7
10
×
7
20
×
7
I
ε
+
1
MOPSO-M
87.5 (2.45
e
-
08)
102.5 (5.87
e
-
08)
41.5 (5.77
e
-
10)
90 (3.93
e
-
08)
HV
MOPSO-M
800 (1.19
e
-
07)
807 (4.78
e
-
09)
871 (1.95
e
-
13)
840 (5.43
e
-
11)
Notes: for theI
ε
+
1 indicator, we apply wilcox. test (I
ε
+
1 (MOPSO-M), I
ε
+
1 (general MOPSO or NSGA-II), and alternative = “less”) in R. For the HV indicator, we apply wilcox. test (HV (MOPSO-M), HV (general MOPSO or NSGA-II), and alternative = “greater”). Values in ( ) are the p values for the test statistics.Figure 3
Box plots of theI
ε
+
1 and HV indicators obtained by MOPSO-M, MOPSO, and NSGA-II in the two fuzzy FSSPs.We turn now to theC indicator. Let A
1, A
2, and A
3 denote MOPSO-M, MOPSO, and NSGA-II, respectively, and E
A
i
(
i
=
1,2
,
3
) denote the set constituted by gathering all nondominated solutions that are produced by A
i (i
=
1,2
,
3) in 30 independent runs. Table 6 lists the results of the C indicator, and Figure 4 shows the distribution of the corresponding objective vectors of the solutions in E
A
i. Here the makespan which is assumed to be a triangular fuzzy number is defuzzified using (18). For the smaller-scale 10 × 7 fuzzy FSSP with simpler precedence relations, MOPSO-M exhibits better average performance than the general MOPSO and NSGA-II. All of the optimal solutions of MOPSO and NSGA-II are covered by those of MOPSO-M, and the number of optimal solutions of MOPSO-M is 20% greater than those of the other two algorithms. For the larger-scale 20 × 7 fuzzy FSSP with more complex precedence relations, MOPSO-M is significantly superior to the other two algorithms. Its superiority is manifested in two ways:(1)
MOPSO-M generates more optimal solutions.
(2)
All of the optimal solutions of NSGA-II and the most optimal solutions of general MOPSO are dominated by those of MOPSO-M, while none of the optimal solutions of MOPSO-M are dominated by those of the other two algorithms.Table 6
Results of theC indicator.
1
0
×
7
20
×
7
10
×
7
20
×
7
C
E
A
1
,
E
A
2
0.000
0.571
E
A
1
6
25
C
E
A
2
,
E
A
1
0.000
0.000
E
A
2
5
21
C
E
A
1
,
E
A
3
0.000
1.000
E
A
3
5
16
C
E
A
3
,
E
A
1
0.000
0.000
Notes:E
A
i denotes the number of optimal solutions generated by algorithm Ai in 30 independent runs.Figure 4
Distribution of optimal objective vectors generated by MOPSO-M, MOPSO, and NSGA-II in the performance evaluation experiment. (a) 10 × 7 fuzzy FSSP; (b) 20 × 7 fuzzy FSSP.
(a)
(b)In summary, the results of theI
ε
+
1, HV, and C indicators demonstrate that MOPSO-M outperforms the general MOPSO and NSGA-II in solving the scheduling problem of panel block construction in terms of the quality of the optimal solutions. The outperformance can clearly be attributed to the implementation of the hybrid procedure, the introduction of mutation, and the application of the velocity constriction mechanism of SMPSO.The optimal objective vectors and the corresponding optimal solutions that are generated by MOPSO are more reliable for use in determining a sequence for processing required panel blocks on the assembly line to attain specific objectives. For example, for the 20 × 7 fuzzy FSSP, whose optimal objective vectors that are generated by MOPSO are shown in Figure4(b), the weighted sum of the nondimensional objective values is utilized to determine the processing sequence. The objective values are nondimensionalized using the following equation:(29)
w
s
,
t
=
f
t
max
⁡
-
f
s
,
t
f
t
max
⁡
-
f
t
min
⁡
,
t
=
1
,
f
s
,
t
-
f
t
min
⁡
f
t
max
⁡
-
f
t
min
⁡
,
t
=
2,3
,where w
s
,
t is the tth nondimensional objective value of the sth optimal solution, f
s
,
t is the tth objective value of the sth optimal solution, f
t
m
a
x
=
m
a
x
f
1
,
t
,
f
2
,
t
,
…
,
f
25
,
t, and f
t
m
i
n
=
m
i
n
f
1
,
t
,
f
2
,
t
,
…
,
f
25
,
t. The weighted sum of the nondimensional objective values can be calculated by(30)
W
s
=
∑
t
=
1
3
α
t
w
s
t
,where ∑
t
=
1
3
α
t
=
1, 0
≤
α
t
≤
1. The optimal solution with the maximum value of  W
s can be used as the processing sequence. Three examples of determining the processing sequence are shown in Table 7.Table 7
Three examples of determining the processing sequence for the20
×
7 fuzzy FSSP using MOPSO-M.
Index
α
j
Optimal objective vectors
Optimal solutions (processing sequence)
α
1
α
2
α
3
f
1
f
2
f
3
1
0.55
0.30
0.15
4931.50
0.898
0.090
3-2-7-4-1-9-12-10-5-17-15-19-16-6-8-11-14-20-13-18
2
0.40
0.30
0.30
4954.00
0.974
0.723
3-2-7-1-4-9-10-5-12-17-15-19-6-16-13-8-11-14-20-18
3
0.30
0.35
0.35
4969.25
0.990
0.889
3-1-2-7-4-9-10-5-12-17-15-19-6-13-16-8-11-14-20-18Table 8
Fuzzy processing time and fuzzy due date of the10
×
7 fuzzy FSSP.
i
P
~
i
,
1
P
~
i
,
2
P
~
i
,
3
P
~
i
,
4
P
~
i
,
5
P
~
i
,
6
P
~
i
,
7
d
~
i
1
115 136 153
189 220 273
120 133 159
126 144 170
139 157 186
212 244 285
105 124 150
900 1300 1900 2300
2
88 101 112
132 152 173
87 97 109
84 98 109
103 116 144
139 158 185
68 79 97
700 800 900 1000
3
121 134 160
205 228 255
122 139 167
140 159 182
143 159 196
204 240 264
108 123 135
800 1000 1600 2000
4
86 100 114
146 162 196
82 94 107
95 107 128
95 112 123
139 160 187
66 75 86
1000 1400 2200 2500
5
116 137 152
190 224 251
119 133 151
134 157 179
143 165 188
197 226 276
105 123 140
1800 2200 2900 3200
6
83 92 112
150 176 195
75 89 97
97 108 121
95 108 134
141 160 195
77 87 104
1000 1800 2300 2500
7
121 134 163
212 244 268
122 141 168
126 148 169
128 149 180
216 248 308
100 118 136
1100 1400 1600 1800
8
92 107 122
158 176 215
86 99 114
87 103 126
106 120 138
139 160 186
68 76 88
2000 2200 2700 3000
9
124 139 174
194 220 246
122 141 167
128 147 163
127 150 186
199 226 253
105 118 140
2000 2400 2700 3500
10
118 137 168
208 236 281
117 136 166
139 156 190
142 159 199
203 236 276
99 116 140
2000 2300 2800 3500Table 9
Precedence relations among the 10 panel blocks to be constructed.
i
k
P
R
i
,
k
P
R
k
,
i
Graphical representation
1
7
1
-
1
1
≫
7
5
9
1
-
1
5
≫
9Table 10
Fuzzy processing time and fuzzy due date of the 20 × 7 fuzzy FSSP.
i
P
~
i
,
1
P
~
i
,
2
P
~
i
,
3
P
~
i
,
4
P
~
i
,
5
P
~
i
,
6
P
~
i
,
7
d
~
i
1
121 139 174
206 240 271
118 131 161
124 146 182
143 166 199
204 240 300
111 125 145
1000 1300 2000 2500
2
88 98 112
134 156 190
77 86 105
89 104 118
103 116 145
144 166 196
74 87 106
800 1200 1700 2000
3
81 90 105
162 180 218
93 104 122
91 105 125
92 105 116
131 150 177
70 82 101
700 800 1000 1100
4
119 132 160
205 238 264
123 137 155
132 152 186
132 155 177
211 248 310
113 125 139
1500 1800 2200 2300
5
81 91 104
146 168 197
75 89 105
99 117 146
89 101 118
144 160 195
73 81 97
2000 2300 3000 3500
6
124 143 157
206 232 285
123 137 159
136 159 179
130 153 180
200 222 255
99 113 127
1600 2300 3800 4700
7
90 100 116
143 162 185
87 98 121
94 105 118
101 119 135
155 180 216
71 83 100
1000 1200 2300 2500
8
128 144 164
194 228 262
120 135 165
135 155 184
152 169 208
211 234 257
101 116 142
3500 4000 4600 4800
9
121 139 153
213 242 300
117 130 144
138 157 190
142 159 193
191 220 271
103 120 142
1500 1800 2500 2800
10
87 97 122
150 172 191
87 97 110
103 114 143
106 120 135
139 164 200
72 80 94
2000 2200 2700 3000
11
83 96 114
141 166 189
88 104 117
102 117 144
100 111 123
139 154 183
69 77 90
3700 4000 4600 5000
12
128 150 185
200 232 255
111 128 151
137 156 192
139 163 194
220 250 295
101 113 138
2000 2800 3800 4000
13
88 102 120
153 176 206
73 86 106
89 100 118
100 115 141
134 154 174
68 80 98
2000 2800 4000 4500
14
82 95 112
155 172 198
84 95 117
96 113 139
99 112 133
136 158 198
73 83 102
3900 4200 4800 5200
15
131 145 168
214 238 283
117 138 173
125 146 175
135 154 171
200 230 265
104 116 138
2200 2800 3400 3700
16
126 145 182
197 224 260
120 139 168
138 163 190
146 167 186
225 250 290
96 113 137
2500 3000 4400 5000
17
116 133 156
221 248 273
114 127 147
131 146 181
144 162 178
197 232 274
110 124 140
2500 2800 3300 3500
18
78 90 104
153 178 201
88 102 117
94 107 133
90 104 128
150 172 189
73 82 93
3500 4000 5000 5500
19
84 95 113
139 156 176
78 87 104
94 108 119
95 111 130
153 178 210
72 80 89
2600 3000 3800 4000
20
118 137 153
210 236 283
127 141 157
124 144 159
149 169 196
216 248 298
99 117 145
3900 4300 5300 5600Table 11
Precedence relations among the 20 panel blocks to be constructed.
i
k
P
R
i
,
k
P
R
k
,
i
Graphical representation
1
9
1
−1
1
≫
9
3
5
1
−1
3
≫
5
5
13
1
−1
10
≫
5
8
11
1
−1
5
≫
13
10
5
1
−1
13
≫
18
10
17
1
−1
10
≫
17
11
14
1
−1
8
≫
11
12
16
1
−1
11
≫
14
13
18
1
−1
14
≫
20
14
20
1
−1
12
≫
16
15
19
1
−1
15
≫
19
Notes: someP
R
i
,
k values that rely on transitive relations (e.g., P
R
10,18) are not reported in this table.


## 6. Conclusions

In this study, we introduce a typical assembly line for panel blocks in a shipyard. To accurately represent actual production, we formulate the scheduling problem of panel block construction as a multiobjective fuzzy FSSP with a fuzzy processing time, a fuzzy due date, and precedence relations between the panel blocks. An effective multiobjective particle swarm optimization called MOPSO-M is proposed and applied to the scheduling problem. Computational results that are based on real-time shipbuilding production data indicate that MOPSO-M outperforms the general MOPSO and NSGA-II in terms of the quality of the optimal solutions. The combination of archive maintenance withX
g
b
e
s
t selection, the introduction of mutation, and the application of the velocity constriction mechanism of SMPSO greatly increase the optimization capability of MOPSO-M. Further research is required to analyze more complex problems, such as noncompletely hybrid assembly lines in shipyards, which have more complicated constraints.



---

*Source: 5413520-2016-06-14.xml*