0% found this document useful (0 votes)
3 views20 pages

Ijor 2012 046343

This study introduces a particle swarm optimization (PSO) algorithm to address a bi-level multi-objective job-shop scheduling problem based on the theory of constraints (TOC). The proposed PSO-based procedure simplifies the solution process by simultaneously addressing the objectives of both levels, focusing on minimizing idle time at bottleneck machines while optimizing other performance measures. The effectiveness of the approach is demonstrated through numerical examples and comparisons with a commercial optimizer, showcasing its practical application in real-world scenarios.

Uploaded by

lingyunsuper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views20 pages

Ijor 2012 046343

This study introduces a particle swarm optimization (PSO) algorithm to address a bi-level multi-objective job-shop scheduling problem based on the theory of constraints (TOC). The proposed PSO-based procedure simplifies the solution process by simultaneously addressing the objectives of both levels, focusing on minimizing idle time at bottleneck machines while optimizing other performance measures. The effectiveness of the approach is demonstrated through numerical examples and comparisons with a commercial optimizer, showcasing its practical application in real-world scenarios.

Uploaded by

lingyunsuper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

50 Int. J. Operational Research, Vol. 14, No.

1, 2012

A PSO-based procedure for a bi-level multi-objective


TOC-based job-shop scheduling problem

Chompoonoot Kasemset*
Faculty of Engineering,
Department of Industrial Engineering,
Chiang Mai University,
239 Huay Kaew Road,
Suthep, Muang, Chiang Mai 50200, Thailand
Fax: +665 394 4185
E-mail: chompook@gmail.com
*Corresponding author

Voratas Kachitvichyanukul
Industrial and Manufacturing Engineering,
Asian Institute of Technology,
P.O. Box 4,
Klong Luang, Pathumthani 12120, Thailand
E-mail: voratas@ait.ac.th

Abstract: This study presents an application of particle swarm optimisation


(PSO) algorithm for a bi-level multi-objective job-shop scheduling problem.
The bi-level decision-making requirement stems from the concept of theory of
constraints. At the first level, the decision is made by concentrating on
minimising idle time on the system bottleneck. The second-level decision is
made to plan other machines while maintaining the maximum use of the
bottleneck and gaining improvements in other performance measures. This
paper proposed a PSO-based procedure for solving the bi-level programming
problem. The proposed procedure simplifies the solution method by
simultaneously providing solutions for the objective of both levels. In addition,
during the schedule generation process, the job-shop case applied in this study
also considers the machine set-up time, transfer lot size and product demands
to make the model more realistic. The numerical examples are given to
demonstrate how this approach works. The results from this procedure are
compared with the solutions obtained by a commercial optimiser, the LINGO
10 software package. This proposed PSO is implemented in C# programming
language in order to obtain the final solution within the short
computational time.

Keywords: PSO; particle swarm optimisation; TOC; theory of constraints; job-


shop scheduling; bi-level programming; multi-objective.

Reference to this paper should be made as follows: Kasemset, C. and


Kachitvichyanukul, V. (2012) ‘A PSO-based procedure for a bi-level multi-
objective TOC-based job-shop scheduling problem’, Int. J. Operational
Research, Vol. 14, No. 1, pp.50–69.

Copyright © 2012 Inderscience Enterprises Ltd.


A PSO-based procedure for a bi-level multi-objective TOC-based JSP 51

Biographical notes: Chompoonoot Kasemset is a Lecturer in the Department


of Industrial Engineering, Faculty of Engineering, Chiang Mai University,
Chiang Mai, Thailand. She received a DEng in Industrial Engineering and
Management, School of Engineering and Technology at Asian Institute of
Technology in 2009. Her research interests include operation management,
applied operation research and simulation in production and operation
management. Her special field is theory of constraints.

Voratas Kachitvichyanukul is a Professor in Industrial and Manufacturing


Engineering, School of Engineering and Technology, Asian Institute of
Technology, Thailand. He has extensive experiences in modelling and
simulation of manufacturing systems. His teaching and research interests
include evolutionary algorithms for combinatorial optimisation, simulation,
planning and scheduling, high-performance computing and applied operations
research with special emphasis on industrial systems.

1 Introduction

Particle swarm optimisation (PSO) is a population-based search method introduced in


Kennedy and Eberhart (1995) which was motivated by the group organism behaviour
such as bee swarm, fish school and bird flock. During the search, each individual particle
learns and adapts its behaviour based on its own experience and shared experience among
particles in a swarm. Thus, they can move to better regions of the problem space. Many
different variants of the PSO algorithm were proposed and a version with multiple social
learning terms named GLNPSO was proposed in Pongchairerks and Kachitvichyanukul
(2005, 2009a).
PSO has been widely applied successfully to solve many industrial problems. Some
recent examples found in the literature include: three variants of vehicle routing problem
in Ai and Kachitvichyanukul (2009a,b,c); multiple levels warehouse design problem in
Önüt et al. (2008); inventory classification problem in Tsai and Yeh (2008); a no-wait
flow shop scheduling problem in Pan et al. (2008), Sha and Hsu (2006), Lei (2008), Lian
et al. (2006), Xia and Wu (2005) and Zhang et al. (2009a); job-shop scheduling problem
(JSP) with multi-purpose machines in Pongchairerks and Kachitvichyanukul (2009b);
general JSP in Pongchairerks and Kachitvichyanukul (2009c) that allowed the parameters
of PSO to self-adapt using GLNPSO with two-level structure and multi-objective JSP via
two-stage PSO (2S-PSO) in Pratchayaborirak and Kachitvichyanukul (2011).
The published applications of PSO are predominantly focused on single- and
multiple-objective optimisation, in contrast, there is only few research working on multi-
level programming problems. Recently, Zhang et al. (2009b) and Kuo and Huang (2009)
applied PSO for solving bi-level linear programming problem.
This paper applies PSO to solve bi-level linear programming problem in a job-shop.
Instead of solving this problem by the two-step solution process as proposed in Kasemset
and Kachitvichyanukul (2009a), this paper presents a PSO-based procedure that
simplifies the solution process while the two-level objectives still retained their different
priorities. This proposed procedure is a new approach that applies PSO to solve the
bi-level JSP.
The main contribution of this research is a PSO-based procedure that satisfies two
goals. The first goal is to simplify the solution procedure for the bi-level programming
52 C. Kasemset and V. Kachitvichyanukul

problem since the characteristic of this problem is to make the decision that consists of
the objective of the leader at its first level and the objective of the follower at the
second level.
The second goal is to incorporate the concept of theory of constraints (TOC) in the
step that decodes a particle into an active schedule. The proposed PSO-based procedure is
different from the basic PSO used in a classical JSP in that a specific factor called
‘earliest start time’ is considered. This factor is calculated when the transfer lot concept is
applied. The advantage of applying transfer lot is to allow processes or operations to
overlap and reduce the waiting time on machines and increase the utilisation of all
machines and overall system. Furthermore, the machine’s set-up time and product
demands are also considered to make the procedure more practical in real situation.
The organisation of this paper is as follows. Preliminaries are addressed in Section 2.
The bi-level multi-objective TOC-based JSP is explained in Section 3. The proposed
PSO-based procedure is introduced in Section 4. In Section 5, the applications of the
PSO-based procedure are illustrated with two JSPs along with some discussions.
Discussions are explained in Section 6. Finally, conclusions are presented in Section 7.

2 Preliminaries

2.1 Particle swarm optimisation


Kennedy and Eberhart (1995) proposed PSO which simulates social behaviour of birds
flocking or fish schooling. During the search, each individual particles learn and adapt
their behaviour based on their own experience and shared experience among particles in a
swarm. Hence, they could move to better regions of the problem space.
PSO is a population-based method, like genetic algorithm (GA), but it does not have
genetic operators (crossover and mutation). A particle inside the swarm is similar to a
chromosome in a population of the GA. The particle representation is the starting process
of PSO. Many representation schemes are described in Cheng et al. (1996) and among
them two techniques are addressed here: operation-based and random keys
representations.
Operation-based representation is one technique that any permutation of the
chromosome from this method always yields a feasible schedule for JSP. This
representation encodes a schedule as a sequence of operations and each gene stands for
one operation. For an n jobs and m machines problem, a chromosome contains n u m
genes. Each job appears on the chromosome exactly m times. Each repeating gene refers
to a unique operation which is context dependent.
Random keys representation encodes a solution with random numbers. These values
are used as sort keys to decode the schedule. The representation of particle is illustrated
in the following section.
In PSO, particles are able to:
1 exchange information with its neighbours
2 memorise a previous position
3 use information to make a decision.
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 53

The PSO method utilises a population of candidate solutions to search for a near optimal
solution. Firstly, the swarm is randomly initialised as particles with n u m dimension.
Each particle flies through the solution space with its own assigned velocity. During
iteration, each particle’s velocity is stochastically accelerated towards its previous best
position which is called pbest (personal best), and the best position of the swarm which is
called gbest (global best). The adjustment towards pbest and gbest is conceptually the
sharing of experiences among the particles. The exchanged experience allows the
particles to move towards better solutions.
In the basic PSO algorithm, each iteration step mainly consists of only two set of
updating equations: velocity as in Equation (1) and position as in Equation (2)

vid wvid  c p u pid  xid  cg u p gd  xid (1)

xid xid  vid (2)

The velocity equation consists of three elements:


1 its velocity
2 its cognitive behaviour
3 its social behaviour.
The basic PSO used in this research was described in Ai and Kachitvichyanukul (2007).

2.2 Previous study of PSO-based solution methods for JSP


The JSP is one problem that many researchers applied PSO to find solution. JSP can be
described as follows. There are a set of jobs and a set of machines and each job consists
of a series of operations, and each operation with fixed processing time is processed by a
certain machine. The key task is to schedule the jobs on the machines with the objective
to optimise the pre-define objective.
Any schedule of JSP is subjected to two sets of constraints:
1 The precedence of operations on each job must be respected.
2 Once a machine starts processing an operation it cannot be interrupted, and each
machine can process at most one operation at a time. Any feasible solution to all
constraints is called a schedule.
Many research works applied PSO to find solutions for JSP. A 2S-PSO for multi-
objective JSP was proposed in Pratchayaborirak and Kachitvichyanukul (2007). The
random keys representation was adopted as a particle representation and the m-repetition
of job numbers permutation was used as a decoding method. The 2S-PSO executed in
two stages. There were four swarms in the first stage which were serially executed by
using the same objective function. Following by the second stage, equal number of
particles was randomly selected from the four swarms in the previous stage to form a
single swarm to generate the final solution.
Two research works, Xia and Wu (2005) and Zhang et al. (2009a), proposed hybrid
optimisation approaches for flexible JSP which is an extension of the classical JSP that
54 C. Kasemset and V. Kachitvichyanukul

allows and operation to be processed by any machine from a given set. This kind of
problem presents two difficulties:
1 To assign each operation to a machine.
2 To schedule operations in order to optimise the pre-defined objective. The hybrid
approach applied PSO to assign operations on machines and adopted simulated
annealing algorithm to schedule operations on each machine and improve the quality
of the solution.
Addressed in Sha and Hsu (2006), a hybrid PSO was proposed to solve JSP by modifying
the particle position representation based on a preference list-based representation. The
particle movement is based on a swap operator and particle velocity is based on a tabu list
concept. In their procedure, Giffler and Thompson’s heuristics was used to decode a
particle position into a schedule and tabu search was applied to improve the
solution quality.
Pareto concept and PSO were combined to solve multi-objective JSP called PAPSO
in Lei (2008). PAPSO was developed by combining the global best position selection
with the crowding measure-based archive maintenance to find solutions. Nguyen and
Kachitvichyanukul (2010) proposed multi-objective PSO via mixed population of
particles that utilise different movement strategies in search of the Pareto front.
A new variant of PSO called GLNPSO was proposed in Pongchairerks and
Kachitvichyanukul (2005, 2009a). It was an extension of the standard PSO that used
multiple social topologies in its evolutionary process. Also, a two-level PSO named PT–
JSP–PSO was introduced in Pongchairerks and Kachitvichyanukul (2009c). It was
composed of PT–PSO as a top level and JSP–PSO as a bottom level. PT–PSO fine-tuned
and assigned the parameter value to JSP–PSO. Then, JSP–PSO is used to generate
solutions to JSPs.
Most research in JSP and PSO concentrated on multi-objective models, whereas, few
works are found that dealt with PSO and multi-level programming.
Zhang et al. (2009b) solved strategic bidding problem formulated in bi-level form,
using PSO-based algorithm. This algorithm was designed to solve bi-level problem by
using the combination particles from both leader level and follower level during the
PSO process.
Kuo and Huang (2009) proposed to use PSO for solving bi-level problem in
centralised supply chain planning system. Particles in this procedure were encoding to
represent the higher solution together with the lower solution in order to design the PSO
procedure to incorporate bi-level concept.
Since there were only few researches that utilised PSO for multi-level programming
problem, this study aims to apply PSO to solve a bi-level and multi-objective JSP under
TOC policy. In this procedure, the particle is moved by considering two fitness values as
first- and second-level objectives. The proposed procedure is explained in detail in
Section 3.

3 Previous work: a bi-level multi-objective TOC-based JSP

A bi-level programming is a tool for modelling decentralised decisions consists of the


objective(s) of the leader at its first level and that of the follower at the second level.
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 55

A more recent reference for general formulation of bi-level decision models can be found
in Colson et al. (2005).
This concept matches with TOC concept from Goldratt and Cox (1986). In TOC,
machines are classified in two types: a bottleneck and a non-bottleneck. Planning and
scheduling based on TOC concentrate on the system bottleneck as the first priority
because it can limit the capacity of the overall system. The other resources must then be
managed to support the bottleneck. The effectiveness of TOC was addressed in many
research works (Kasemset and Kachitvichyanukul, 2005, 2007, 2008; Schaefers et al.,
2004; Watson and Patti, 2008).
The bi-level multi-objective TOC-based JSP from Kasemset and Kachitvichyanukul
(2009b) is modified and addressed here. In this model, the first-level decision aims to
minimise idle time on bottleneck machines and the second-level decision is made by
simultaneously considering three performance measures which includes the maximum
completion time (Cmax), the maximum tardiness (Tmax) and the maximum earliness (Emax).
The objective function of the second level is defined as a single weighted aggregative
function of the three criteria. The model explanation is addressed as follows.

3.1 Model formulation: bi-level multi-objective mathematical model for TOC-


based job-shop scheduling
The bi-level multi-objective TOC-based JSP from Kasemset and Kachitvichyanukul
(2009b) is modified and addressed here with the following changes:
1 The second-level objective is the weighted aggregated value of multi-objective of
Cmax, Tmax and Emax.
2 No additional constraint set to fix the job sequence on the bottleneck machine. These
are not required when PSO is applied and can be ignored.

3.1.1 Mathematical model


Indices:
i, iƍ = Job i = 1, 2, …, n
j, jƍ = Machine j = 1, 2, …, m
b = Bottleneck machine b = 1, 2, …, B
Decision variable:
Xij = Start time of job i on machine j
­1, if job i is processed before i ' on machine j
Yii ' j ®
¯0, otherwise

Parameter:
Ui = Demand unit for job i
sij = Set-up time of job i on machine j
pij = Process time per unit of job i on machine j
56 C. Kasemset and V. Kachitvichyanukul

ti = Transfer lot size of job i


ri = Ready time of job i
Di = Due date of job i
Wk = Weight of each criteria
Objective:
B ª n º
Minimise ¦ ««¬max
b 1
i ,b ^ X ib  sib  U i pib `  ¦
i 1
sib  U i pib »
»¼
(3)

where Xib solves


Minimise W1 F1  W2 F2  W3 F3 (4)

and
F1: maximum completion time (Cmax) maxi,j{Xij + sij + Uipij}
F2: maximum tardiness (Tmax) maxi,j{0, (Xij + sij + Uipij)  Di}
F3: maximum earliness (Emax) maxi,j{0, Di  (Xij + sij + Uipij)}
Subject to

X ij  sij  ti pij d X ij c i (5)

X ij  sij  U i pij d X icj  M 1  Yiicj ½°


¾ j (6)
X icj  sicj  U ic picj d X ij  MYiicj °
¿
X ij t ri i (7)

­°0, if pij  pij c ½


° i
I ijj c ® ¾ (8)
j , j c
¯° pij  pij c U i  sij  sij c , if pij t pij c °¿

X ij c t X ij  sij  pij ti  I ijjc (9)

X ij , I ijj c t 0 (10)

Yiicj is binary variable (11)

The first-level objective, Equation (3), is to minimise idle time on the bottleneck that is
equal to the completion time of the bottleneck minus the total processing time required on
the bottleneck. The subscript ‘b’ refers to the bottleneck machine. This objective attempts
to maximise the bottleneck utilisation. The second-level objective, Equation (4), is to
minimise the aggregated value of Cmax, Tmax and Emax by weighting technique. Both
objectives are subject to Equation (5), precedence constraints and Equation (6), machine
conflict constraints. Equation (7) is the job ready time constraint. Equation (8) is the total
delay time between transfer lot and it is zero when the processing time of preceding
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 57

process is less than succeeding process. Equation (9) is the restriction on the earliest
starting time when the concept of transfer lot is applied. Non-negativity constraints and
binary constraints are shown in Equations (10) and (11), respectively.

3.2 Solving JSP by a two-step approach based on TOC policy


From Kasemset and Kachitvichyanukul (2009a), a two-step approach was proposed to
solve JSP based on TOC policy. The procedure is divided into two steps. The first step
starts with the creation of an initial job schedule. The aim of this step is to minimise idle
time on the bottleneck which follows the concept of bottleneck exploitation by
maximising the bottleneck utilisation. The result from the first step is the job sequence on
the bottleneck(s) that minimise the idle time. The second step generates the final schedule
by improving other performance measures while maintaining the maximum used of the
bottleneck utilisation as the additional set of constraints used to maintain the bottleneck’s
job sequence. The second step is designed based on the bottleneck subordination concept
that tries to plan other non-bottleneck resources to support the bottleneck.

4 The proposed PSO-based procedure

PSO is applied to solve the bi-level multi-objective TOC-based JSP. The three main
components of the PSO-based procedure include:
1 encoding and decoding scheme
2 schedule representation
3 fitness value evaluation and updating.

4.1 Encoding and decoding scheme


The particle representation used in this research is based on the random key
representation as implemented successfully in the PSO algorithm for JSP addressed in
Pratchayaborirak and Kachitvichyanukul (2011). In this case, the illustrative example
problem with three jobs and five machines (3 × 5 JSP) is used to illustrate the coding
scheme. The job information is shown in Table 1(a)–(c).

4.1.1 Encoding
Encoding is a procedure to transfer a problem as a number of finite strings. In this
research, each dimension of the particle refers to a job number. Each value inside
the particle is randomly generated as a uniform random number in range [0, 1]. The
dimension of each particle equals to the number of jobs multiplied by the number of
machines. In this example, there are three jobs and five machines; thus, the particle for
this example has the dimension equals to 15 as shown in Figure 1.
58 C. Kasemset and V. Kachitvichyanukul

Table 1 Process steps and detail for products 1–3 (3 x 5 JSP)

Process step Machine Set-up time (min) Process time (min)


(a) Product 1
1 A 25 4
2 B 10 8
3 C 0 5
4 F 30 6
5 G 15 3
(b) Product 2
1 F 30 6
2 B 10 8
3 C 0 5
4 G 15 3
5 A 25 4
(c) Product 3
1 A 25 5
2 G 10 8
3 C 0 5
4 F 30 6
5 B 25 4

Figure 1 Values in a particle after encoding procedure

4.1.2 Decoding
Decoding is a process of transferring a particle contained a vector of real numbers into a
schedule. In this research, the m-repetition of job numbers permutation which was first
introduced in Bierwirth (1995) is applied along with sorting list rule. Firstly, the
continuous numbers inside a particle will be sorted and the permutation of five repetition
of three jobs will be applied. The particle in Figure 1 is decoded and shown in Figure 2.
After that, the operation-based approach from Cheng et al. (1996) is used to generate
a schedule. The advantage of this approach is that any permutation of this representation
always leads to a feasible schedule. Nevertheless, it is possible that some different
representations of particles could possibly lead to the same schedule. The particle as
shown in Figure 1 is used, corresponding to the small size of JSP which is already
mentioned (see Figure 3).
The decoded particle is then mapped into a schedule by taking the first operation from
the list, the second, etc. During the schedule generation, each operation is allocated to a
required machine in the best available processing time without delaying other scheduled
operation.
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 59

Figure 2 Values in a particle after decoding procedure

Figure 3 The operation-based representation of a particle

4.2 Schedule generating with transfer lot application


When the decoded particle is transformed to a schedule, the start time of job i on machine
j (Xij) is selected from the maximum value among:
1 ready time of job i (ri): following Equation (7)
2 finish time of previous job on machine j (Xij): following Equation (6)
3 earliest start time of job i on machine j: following Equations (8) and (9).
The third term, earliest start time, is used to allow start times of successive operations to
overlap based on the concept of transfer lot. The example is shown in Table 2.
From Table 2, Xij is selected from the maximum value between three factors as
mention earlier. As the first process step can start at the beginning of the time (r1 = 0), so
X1A = 0. This means that the first step of the first job can be processed at the beginning of
the time. Considering the second step, X1B, among three factors the earliest start time is
the maximum value, so X1B is set at 29. Same as the second step, in the third step, X1C
is set at 4,557. For the fourth and fifth step, X1F and X1G are set at 9,030 and 18,065,
respectively, because the maximum values are obtained from the machine
available times.

4.3 Fitness value evaluation and updating


After each particle is decoded into a schedule, two fitness values are calculated:
1 The first fitness value is the bottleneck idle time (Ib) as Equation (3).
2 The second fitness value is the aggregated value of Cmax, Tmax and Emax by weighting
technique (Ft) as Equation (4).
60 C. Kasemset and V. Kachitvichyanukul

To select gbest, the first fitness value is first considered. If there are many particles with
the same minimum value of the first fitness values, the second fitness value will then be
considered. This step is uniquely designed for handling the problem that is formulated as
bi-level decision-making concept (see Table 3 for the explanation).
As in Table 3, considering ten particles when basic PSO with single fitness value is
used as:
1 Ib: the fitness value of particle nos. 2 and 5 are selected to be gbest.
2 Ft: the fitness value of particle no. 10 is selected to be gbest.
When proposed method is used, PSO-based procedure for bi-level problem, the two
fitness values of particle no. 2 are selected to be gbest. It is clear that in this case when Ib
is first considered, particle nos. 2 and 5 are selected as they have minimal Ib value. Ft
value as a second fitness value is then considered. From the result of this step, only
particle no. 2 is selected to be gbest.
The movement of particles will stop when the number of iterations is met. The final
schedule from this proposed method is the schedule that has the minimum value of
bottleneck idle time with small value of the weighted sum of Cmax, Tmax and Emax. The
proposed PSO-based procedure is shown in Figure 4.
Table 2 Calculation example for Xij (for i = 1)

Process Time needed Ready Earliest Machine Start time


step Machine (sij + Ui × pij) time (ri)
I ijj c start time available (Xij)
1 A 6,025 0 0 0 0 0
2 B 12,010 0 0 29 0 29
3 C 7,500 0 4,510 4,557 0 4,557
4 F 9,030 0 0 4,562 9,030 9,030
5 G 4,515 0 4,515 13,581 18,065 18,065

Table 3 PSO with bi-level concept

Particle no. First fitness value (Ib) Second fitness value (Ft) gbest
1 11,321 51,267 Basic PSO with Ib = Particle
2 7,583 49,736 Nos. 2 and 5
3 17,967 63,000
4 43,200 75,866 Basic PSO with Ft = Particle
5 7,583 51,292 No. 10
6 16,142 57,354
7 14,290 58,527 Proposed method = Particle
8 17,967 63,000 No. 2
9 15,702 56,914
10 15,337 48,781
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 61

Figure 4 Proposed PSO-based procedure (see online version for colours)

5 Illustrative examples

In this research, two numerical examples are presented, JSP with three jobs and five
machines (3 × 5 JSP) and JSP with ten jobs and ten machines (10 × 10 JSP) to illustrate
how this approach works. Results from both cases are compared with the results obtained
by the two-step approach with optimiser LINGO 10 software package.
The PSO parameters used in this study are given in Table 4. The PSO algorithm is
implemented in C# language on a computer with Intel®Core™2 Duo CPU, T7100 and
1.80 GHz with 2 GB of RAM. Ten replications are used for each problem.
In both examples, the weight values of each performance parameter in the second
fitness value are simply set as equally as one (W1 = W2 = W3 = 1).

5.1 Small case: 3 × 5 JSP


Consider a job-shop with five different machines producing three different types of
products. Each job-type must be processed in a specific machine sequence. The machine
sequences for products, average operation times and set-up times are shown in
Table 1(a)–(c).
Demands of all products are 1,500 units and the due dates are the same for all
products as 30,000 min. The job-shop operates continuously for 7 days and 24 hr per day.
Given that station B is identified to be the system bottleneck.
62 C. Kasemset and V. Kachitvichyanukul

5.1.1 Result comparison


Table 5 shows the comparison of all performance measures between the schedule from
the proposed PSO-application and the schedule from the optimiser. Both methods
generate schedules that give the same value for Ib (29 min), Cmax (31,577 min) and Tmax
(1,577 min). Only Emax is different as 0 min from the optimiser and 1,410 min from the
proposed PSO.
From Table 5, the differences between both schedules are the start time of the second
job on machines A and F. The start time of second job on machine A when the proposed
PSO is applied (at 22,565th minute) is earlier than when the optimiser is used (at
23,975th minute) and this leads to the difference in Emax.
Since the 3 × 5 JSP is small-size problem, the optimal solution can be found via PSO
within ten replications. However, when the size of problem is increased, PSO may be
used to obtain the near optimal solution in the short computational time as in the
following case.

5.2 Large case: 10 × 10 JSP


The details of this problem can be found in Kasemset (2009). In this case, the problem
size is a 10 × 10 job-shop. The monthly demand of all jobs in this case is fixed at 400
units. The due date of all jobs is 43,200 and transfer lot size is 100 units.
Given that machine numbers 2, 7 and 9 are identified to be the system bottlenecks,
the job schedule should be made by maximising the used of these machines in the
bottleneck subordination step and other machines should be managed to support these
machine as well.
Table 4 Parameters used in the proposed PSO for test problems

Parameter Value
Cp, Cg 1.6
wmax, wmin 0.9, 0.6
No. of iteration 1,000
No. of particle 100
th
Rstart 150

Riter 100
Rratio 0.80
Note: The second stage of the 2S-PSO from Pratchayaborirak (2007).

Table 5 Result comparison between optimiser and the proposed PSO (3 × 5 JSP)

Performance measure (min)


Tool Ib Cmax Tmax Emax
Optimiser 29 31,577 1,577 0
Proposed PSO 29 31,577 1,577 1,410
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 63

Because of the size of this problem, optimiser cannot be used to find the final solution via
two-step approach. Thus, the proposed PSO-based procedure is adopted to find the
solution.

5.2.1 Result comparison


The parameters used in this proposed PSO-based procedure are set as in Table 4. Thirty
runs are tested and the results of gbest 1 (Bn, minimum bottleneck’s idle time) and gbest 2
(Ft, minimum weighted sum value of three parameters) are shown in Table 6.
The data in Table 6 is used to construct the scatter diagram as in Figure 5 and it
shows that there is no correlation between Bn and Ft so the accepted solution should be
the schedule with the minimum Bn and Ft as given in point C1 in Figure 5. The schedule
at point C1 gives minimum Bn at 22,470 min and Ft at 52,813 min. Although the
minimum Bn is preferred, point C2 can be one alternative solution because at this point
the value of Ft is the minimum while the difference in Bn compared with the minimum Bn
at C1 is not so significant. As mentioned in the previous problem, following the key
concept of TOC, the minimum of Bn should be the focus so C1 should be selected as the
final solution.
Table 6 Result from the proposed PSO (10 × 10 JSP)

gbest 1: Bn gbest 2: Ft gbest 1: Bn gbest 2: Ft


Replication No. (min) (min) Replication No. (min) (min)
1 25,828 52,230 16 29,013 57,846
2 29,211 52,404 17 27,726 52,938
3 24,381 55,413 18 25,207 53,631
4 29,233 57,651 19 28,494 50,043
5 26,464 50,816 20 29,707 54,126
6 25,949 51,188 21 25,186 51,997
7 28,614 52,012 22 23,560 (C2) 49,821 (C2)
8 24,078 57,934 23 28,154 55,433
9 26,331 51,955 24 27,453 55,240
10 31,816 56,745 25 27,509 53,937
11 23,692 52,025 26 23,992 52,219
12 29,021 50,711 27 27,233 52,358
13 28,314 54,115 28 22,470 (C1) 52,813 (C1)
14 27,137 54,034 29 26,659 55,957
15 28,073 53,041 30 28,625 53,743
Minimum 22,470 49,821 Maximum 31,816 57,934
Average 26,971 53,479.2 SD 2,188.032 2,241.351
64 C. Kasemset and V. Kachitvichyanukul

When the results from the proposed PSO-based procedure for solving bi-level
programming are compared with the results from single objective as weighted sum of
three factors (Ft) in Table 7:
1 Minimising only Ft cannot help in improving Bn. The difference in Bn range is
significant when compared the result from both methods.
2 The proposed PSO-based procedure provides the improved value in Bn at the same
time Ft range is not significantly different when compared with the other method.
When the solution time is considered, the proposed PSO-based procedure can provide
acceptable solutions in reasonable time (see Table 8). If the optimiser, LINGO 10, is used
to solve the test problems by two-step approach, the final solution cannot be obtained in
finite time.

Figure 5 Scatter diagrams of Bn and Ft (10 × 10 JSP) (see online version for colours)

Table 7 Result from 10 × 10 JSP (min)

10 × 10
Factor Bn Ft
Bn and Ft
Minimum 22,470 49,821
Average 26,971 53,479.2
Maximum 31,816 57,934
SD 2,188.032 2,241.351
Ft
Minimum 42,781 47,622
Average 52,801.3 47,622
Maximum 59,287 47,622
SD 4,934.368 0
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 65

Table 8 Time used comparison of 10 × 10 JSP

Two-step approach with LINGO 10


PSO-based
Method method First step Second step
10 × 10 (tri-bottleneck) ~50–60 sec >8 hr without final solution Cannot be processed
Note: Intel®Core™2 Duo CPU, T7100 and 1.80 GHz with 2 GB of RAM.

6 Discussions

The differences in the values of Cmax and Emax are caused by the decoding procedure of
the proposed PSO algorithm. When the start time of each job on each machine (Xij) is
calculated, Xij is obtained by considering three factors as mention in Section 4.2. Among
those three factors, the maximum value among them will be used to derive Xij. If the
maximum value is the job ready time or the machine ready time, the selected value will
not make any difference in Cmax and Emax. In contrast, if the maximum value is the
earliest start time from the application of transfer lot, it may have the effect of reducing
the Cmax and increasing Emax.
Since this procedure is only the first attempt to apply PSO for solving bi-level JSPs,
the schedule representation of PSO in this proposed procedure that applied the transfer lot
concept makes it difficult to improve the value of Emax as mention earlier. Thus, other
techniques of multi-objective programming can be considered to improve this point or
some local search technique may be added.
In the small problem, 3 × 5 JSP, only ten replications are used because the optimal
solution of the small-size problem can be easily found at the initial replication of the test
and the solutions are the same for all replications. There is no need to conduct the
experiment with too many replications for small problems. More replications may be
required for larger size job-shop.

7 Conclusions

This research proposes a PSO-based procedure for a bi-level multi-objective TOC-based


JSP. The proposed procedure aims to adopt PSO in bi-level and multi-objective problems
simultaneously. The proposed procedure simplifies the solution process while the
schedule from this method satisfies two different priority objectives: the first-level
objective is to minimise the idle time on the system bottlenecks and the second-level
objective is multiple objective formulation as to minimise the weighted aggregated sum
of Cmax, Tmax and Emax.
The proposed PSO uses two fitness values: Bn (bottleneck idle time) and Ft (weighted
sum of Cmax, Tmax and Emax). Bn is used as the first priority to move particles and Ft is
considered only when particles have the same minimum Bn. The result from the proposed
PSO is compared with the result from the optimiser, LINGO 10.
The proposed PSO-based procedure has some unique characteristics:
1 Two fitness values are used to represent two-level objectives. The first fitness value
is used only for particle’s moving during PSO process as the first priority. Also, the
66 C. Kasemset and V. Kachitvichyanukul

second fitness value is used afterwards when the final decision is made as the second
priority.
2 The schedule representation is made by considering additional factors:
i the earliest start time that comes from the concept of transfer lot following TOC
concept
ii machine set-up time
iii product demands.
The particular characteristics of this method give the final schedule with the following
features:
1 The final schedule gain the maximum used of bottleneck. At the same time,
non-bottleneck is planned to gain improvement of Cmax, Tmax and Emax while the
used of bottleneck is retained at maximum.
2 The waiting time of each machine is reduced via the adoption of transfer lot. This
results in the reduction of system’s completion time.
3 The machine set-up time and product demands are considered and make this
schedule more practical for real-world job-shop.
Numerical examples are presented for two cases: small case 3 × 5 JSP and larger
case 10 × 10 JSP. Compared with the results from the optimiser (LINGO 10), and the
results from numerical examples indicate that:
1 From the 3 × 5 JSP case, the final schedule from this method gives the different
result in Emax. The value of Emax from this method is worse than those obtained by
the optimiser.
2 When the proposed PSO is applied with two fitness values, Bn is minimised while the
value of Ft is not significantly different when compared with the value of Ft when
minimising only Ft is adopted.
3 Minimising only Ft cannot help in improving Bn so the proposed method can be
applied to take the advantage as addressed previously.
The result from this study shows the following advantages of this proposed method:
1 This method provides an alternative approach to solve the bi-level multi-objective
JSP based on TOC concept by applying PSO. The proposed PSO facilitates the way
to solve JSP with bi-level decisions.
2 The proposed PSO procedure is practical in the real situation compared with other
methods that deal with JSPs because it considers transfer lot, machine set-up time
and product demand.
3 The proposed PSO can be applied to larger size of JSP since the final schedule can
be obtained much faster than solution time by optimisers.
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 67

There are some important observations when this procedure is applied with larger
size JSPs:
1 When the proposed PSO-based procedure is applied, the second-level objective
adopted in this research is a summation of three performance measures by weighting
technique that is a simple technique in multi-objective programming. Thus, this
technique can be replaced by other multi-objective techniques to generate alternative
solutions. The different multi-objective techniques can give the different values of Ft
and this can affect the final schedule.
2 As the bi-level programming considers two objective levels, the solution quality may
not be fully improved in the second-level objective if the first-level objective is given
priority.
In addition, to improve the quality of the final solutions, advanced technique such as
Pareto concept or adaptive PSO can be considered for future works.

Acknowledgements

The authors also thank the anonymous reviewers for the valuable comments and
suggestions on the preparation of this paper.

References
Ai, T.J. and Kachitvichyanukul, V. (2007) ‘Dispersion and velocity indices for observing dynamic
behavior of particle swarm optimization’, IEEE Congress on Evolutionary Computation 2007,
Singapore, 25–28 September 2007, pp.3264–3271.
Ai, T.J. and Kachitvichyanukul, V. (2009a) ‘A particle swarm optimization for the vehicle routing
problem with simultaneous pickup and delivery’, Computers and Operations Research,
Vol. 36, pp.1693–1702.
Ai, T.J. and Kachitvichyanukul, V. (2009b) ‘A particle swarm optimisation for vehicle routing
problem with time windows’, Int. J. Operational Research, Vol. 6, No. 4, pp.519–537.
Ai, T.J. and Kachitvichyanukul, V. (2009c) ‘Particle swarm optimization and two solution
representations for solving the capacitated vehicle routing problem’, Computers and Industrial
Engineering, Vol. 56, No. 1, pp.380–387.
Bierwirth, C. (1995) ‘A generalized permutation approach to job shop scheduling with genetic
algorithms’, OR-Spektrum Special Issue: Applied Local Search, Vol. 17, No. 213, pp.87–92.
Cheng, R., Gen, M. and Tsujimura, Y. (1996) ‘A tutorial survey of job-shop scheduling problems
using genetic algorithms – I. Representation’, Computers and Industrial Engineering, Vol. 30,
No. 4, pp.983–997.
Colson, B., Marcotte, P. and Savard, G. (2005) ‘Bi-level programming: a survey’, 4OR:
A Quarterly Journal of Operations Research, Vol. 3, No. 2, pp.87–107.
Goldratt, E.M. and Cox, J. (1986) The Goal: A Process of Ongoing Improvement. Massachusetts:
North River Press.
Kasemset, C. (2009) ‘TOC based job-shop scheduling’, Doctoral Dissertation, Asian Institute of
Technology, Bangkok.
Kasemset, C. and Kachitvichyanukul, V. (2005) ‘Simulation-based tool for implementing theory of
constraints’, Proceeding of the 6th APIEMS Conference, Manila, Philippines, 4–7 December
2005, article 4426.
68 C. Kasemset and V. Kachitvichyanukul

Kasemset, C. and Kachitvichyanukul, V. (2007) ‘Simulation-based procedure for bottleneck


identification’, Proceeding of AsiaSim 2007, Asia Simulation Conference 2007, Seoul, Korea,
10–12 October 2007. Berlin: Springer, pp.47–55.
Kasemset, C. and Kachitvichyanukul, V. (2008) ‘Simulation-based procedure for implementing
theory of constraints: extension for cases with multiple bottlenecks’, Proceeding of the 9th
APIEMS Conference, Bali, Indonesia, 3–5 December 2008, pp.1811–1819.
Kasemset, C. and Kachitvichyanukul, V. (2009a) ‘A two-step approach for job-shop scheduling
based on TOC policy’, Proceeding of the 20th National Conference of Australian Society for
Operations Research and the 5th International Intelligent Logistics System Conference,
Brisbane, Australia, 27–30 September 2009.
Kasemset, C. and Kachitvichyanukul, V. (2009b) ‘Bi-level multi-objective mathematical model for
job-shop scheduling: the application of theory of constraints’, Int. J. Production Research,
Vol. 48, No. 20, pp.6137–6154.
Kennedy, J. and Eberhart, R.C. (1995) ‘Particle swarm optimization’, Proceedings of IEEE
International Conference on Neural Networks, Vol. 4, pp.1942–1948.
Kuo, R.J. and Huang, C.C. (2009) ‘Application of particle swarm optimization algorithm for
solving bi-level linear programming problem’, Computers and Mathematics with Applications,
Vol. 58, pp.678–685.
Lei, D. (2008) ‘A Pareto archive particle swarm optimization for multi-objective job shop
scheduling’, Computers and Industrial Engineering, Vol. 54, No. 4, pp.960–971.
Lian, Z., Jiao, B. and Gu, X. (2006) ‘A similar particle swarm optimization algorithm for job-shop
scheduling to minimize makespan’, Applied Mathematics and Computation, Vol. 183, No. 2,
pp.1008–1017.
Nguyen, S. and Kachitvichyanukul, V. (2010) ‘Movement strategies for multi-objective particle
swarm optimization’, Int. J. Applied Metaheuristic Computing, Vol. 1, No. 3, 59–79.
Önüt, S., Tuzkaya, U.R. and Do÷aç B. (2008) ‘A particle swarm optimization algorithm for the
multiple-level warehouse layout design problem’, Computers and Industrial Engineering,
Vol. 54, No. 4, pp.783–799.
Pan, Q.K., Tasgetiren, M.F. and Liang, Y.C. (2008) ‘A discrete particle swarm optimization
algorithm for the no-wait flowshop scheduling problem’, Computers and Operations
Research, Vol. 35, No. 9, pp.2807–2839.
Pongchairerks, P. and Kachitvichyanukul, V. (2005) ‘Non-homogenous particle swarm
optimization with multiple social structures’, Proceedings of the International Conference on
Simulation and Modeling 2005, Bangkok, Thailand, pp.132–136.
Pongchairerks, P. and Kachitvichyanukul, V. (2009a) ‘Particle swarm optimization algorithm with
multiple social learning structures’, Int. J. Operational Research, Vol. 6, No. 2, pp.176–194.
Pongchairerks, P. and Kachitvichyanukul, V. (2009b) ‘A particle swarm optimization
algorithm on job-shop scheduling problems with multi-purpose machines’, Asia-Pacific
Journal of Operational Research (APJOR), Vol. 26, No. 2, pp.161–184, DOI: 10.1142/
S0217595909002158.
Pongchairerks, P. and Kachitvichyanukul, V. (2009c) ‘A two-level particle swarm optimization
algorithm on job-shop scheduling problems’, Int. J. Operational Research, Vol. 4, No. 4,
pp.390–411.
Pratchayaborirak, T. (2007) ‘A two-stage particle swarm algorithm for multi-objective job shop
scheduling problems’, Master Research Study No. ISE-07-08, Asian Institute of Technology,
Bangkok.
Pratchayaborirak, T. and Kachitvichyanukul, V. (2007) ‘A two-stage particle swarm optimization
for multi-objective job shop scheduling problems’, Proceeding of the 8th APIEMS 2007
Conference, Taiwan, 9–12 December 2007.
Pratchayaborirak, T. and Kachitvichyanukul, V. (2011) ‘A two-stage PSO algorithm for job
shop scheduling problem’, Int. J. Management Science and Engineering Management, Vol. 6,
No. 2, pp.84–93.
A PSO-based procedure for a bi-level multi-objective TOC-based JSP 69

Schaefers, J., Aggoune, R., Becker, F. and Fabbri, R. (2004) ‘TOC-based planning and scheduling
model’, Int. J. Production Research, Vol. 42, No. 13, pp.2639–2649.
Sha, D.Y. and Hsu, C.Y. (2006) ‘A hybrid particle swarm optimization for job shop scheduling
problem’, Computers and Industrial Engineering, Vol. 51, No. 4, pp.791–808.
Tsai, C.Y. and Yeh, S.W. (2008) ‘A multiple objective particle swarm optimization approach for
inventory classification’, Int. J. Production Economics, Vol. 114, No. 1, pp.656–666.
Watson, K.J. and Patti, A. (2008) ‘A comparison of JIT and TOC buffering philosophies on system
performance with unplanned machine downtime’, Int. J. Production Research, Vol. 46, No. 7,
pp.1869–1885.
Xia, W. and Wu, Z. (2005) ‘An effective hybrid optimization approach for multi-objective flexible
job-shop scheduling problems’, Computers and Industrial Engineering, Vol. 48, No. 2,
pp.409–425.
Zhang, G., Shao, X., Li, P. and Gao, L. (2009a) ‘An effective hybrid particle swarm optimization
algorithm for multi-objective flexible job-shop scheduling problem’, Computers and
Industrial Engineering, Vol. 56, No. 4, pp.1309–1318.
Zhang, G., Zhang, G., Gao, Y. and Lu, J. (2009b) ‘A bilevel optimization model and PSO-based
algorithm in day-ahead electricity markets’, Proceedings of the 2009 IEEE International
Conference on Systems, Man, and Cybernetics, San Antio, TX, USA, October 2009,
pp.611–616.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy