Ijor 2012 046343
Ijor 2012 046343
1, 2012
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
1 Introduction
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
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)
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.
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.
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
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 , I ijj c t 0 (10)
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.
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.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
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
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)
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
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).
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)
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.
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)
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
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
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
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.