Professional Documents
Culture Documents
Using Max-Plus Algebra in Yhe Flow Shop Scheduling
Using Max-Plus Algebra in Yhe Flow Shop Scheduling
3, August 2009 83
Abstract ⎯In this paper, it is discussed notion of max- with n job 2 machines in [10]. In this paper, we discuss
plus algebra and their properties. A model of flow shop flow shop production process and modify the model such
production system and analyze the dynamical behavior of that we get both a regular scheduling and a minimal
the system for scheduling problems are derived by means of
makespan.
max-plus algebra. The solutions of these problems are that
the optimal sequence of jobs and the regular scheduling are The model of the system by using max-plus algebra
obtained. approach is derived; this approach will have an
advantage. The system will be linear and non linear in
Keywords⎯ Max - Plus Algebra, flow shop, scheduling. conventional algebra [6]. The linearity makes the
analysis on the behavior of system easy. Further in the
I. INTRODUCTION following section, a brief introduction to max-plus
Institut Teknologi Sepuluh Nopember, Surabaya, 60111, Indonesia. i = 1,2,…,m and j = 1,2,…,n.
84 IPTEK, The Journal of Technology and Science, Vol. 20, No. 3, August 2009
It is shown that there is an analogy between ⊕ and has circuit mean: 4+2 5+3
= 4. It is shown that
1
= 1; = 3;
+ and, ⊗ and × . Therefore we choose the symbols ⊕ 1 2 2
the maximum circuit mean equals 4. This circuit is
and ⊗ . And multiplication of two matrices in max-plus
(2,3),(3,2) and this one is the critical circuit of grap
algebra is similar to multiplication of two matrices in
G(A).
conventional algebra, i.e. two operations multiplication
The graph G(A) is strongly connected. Some notion
and addition in the conventional algebra and
that have discussed have been implemented in the
"maximization ( ⊕ )" and "addition ( ⊗ )" in the max-plus
toolbox [9]. The interpretation of the eigenvalue and the
algebra as replacement of respectively addition and corresponding eigenvector of Example 1 as follows: Let
multiplication that are used in the conventional algebra. be given three activities (nodes of graph G(A)), that ones
With these symbols, the description of state space of a periodically operated. Each node has its own kind of
system be given by equations as follow: activity. It is assumed that an activity at certain node can
x (k + 1) = A ⊗ x (k ) ⊕ B ⊗ u (k + 1) (1)
y( k ) = C ⊗ x ( k )
only start when all preceding nodes have finished their
activities and send the results of these activities along the
with the size of the matrices in equation (1) satisfies
arcs to the current node. Thus, the arc corresponding to
addition and multiplication of matrices.
ai,j can be interpreted as an output for node j and
Like conventional algebra, an eigenvalue and a
simultaneously as input for node i. Suppose that this
corresponding eigenvector of a square matrix A of size n
node i starts its activity as soon as all preceding nodes
x n also exists in max-plus algebra, i.e. if we give the
have sent their results to node i. So an activity only can
equation
starts its activity at (k+1)-th time if all preceding
A⊗x =λ⊗x.
activities have finished their activities and sent their
In this case vector x ∈ Rmaxn and scalar λ ∈ R are
results at k-th time. Element ai,j of matrix A represents
respectively called an eigenvector and a corresponding the sum of the activity time of node j and the travelling
eigenvalue of the matrix A with vector x ≠ (ε,L, ε ) ' . time from node j to node i. If element ai,j = ε, then the
The sign ′ represents transpose. An algorithm to compute activity i does not depend on the activity j. If xi (k) is the
an eigenvalue and a corresponding eigenvector of a earliest epoch at which node i become active for the k-th
square matrix A can be found in [5]. time with i =1, 2, 3, then the evolution of the system of
Example 1: Let be a matrix Example 1 is given by difference equation of 1st-orde
⎛ 1 2 ε ⎞ it follows that, ⎛ 1 2 ε ⎞ ⎛ 0 ⎞ ⎛ 4 ⎞ ⎛0⎞ x (k+1) = A ⊗ x(k), k = 0, 1, 2, … (2)
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
A = ⎜ 4 ε 3 ⎟, ⎜ 4 ε 3⎟ ⊗ ⎜ 2⎟ = ⎜ 6⎟ = 4 ⊗ ⎜ 2⎟ If it is chosen x(0) as the eigenvector of matrix A, then
⎜ε 5 ε ⎟ ⎜ε 5 ε ⎟ ⎜ 3⎟ ⎜ 7 ⎟ ⎜ 3⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ system (2) will operate as periodic with periodicity
It is shown that the eigenvalue and corresponding equals the eigenvalue λ=4. This follows the equation:
eigenvector of matrix A are respectively λ = 4 and x = (0 x(k+1) = A ⊗ x(k)
2 3)T. Let be given matrix A ∈ Rnmax ×n
, a directed graph of = λ⊗(k+1) ⊗ x(0), k = 0, 1, 2, … (3)
matrix A is denoted by G(A) = (E,V). Graph G(A) has n and we get the regular activities sequence x(k) :
nodes (vertices), the set of all nodes of graph G(A) is ⎛ 0 ⎞ ⎛ 4 ⎞ ⎛ 8 ⎞ ⎛12 ⎞ ⎛16 ⎞ ⎛ 20 ⎞ ⎛ 24 ⎞
⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟
denoted by V. An arc (edge) from node j to i occurs if ai,j ⎜ 2 ⎟, ⎜ 6 ⎟, ⎜10 ⎟, ⎜14 ⎟, ⎜18 ⎟, ⎜ 22 ⎟, ⎜ 26 ⎟ L
⎜ 3 ⎟ ⎜ 7 ⎟ ⎜ 11⎟ ⎜15 ⎟ ⎜19 ⎟ ⎜ 23 ⎟ ⎜ 27 ⎟
≠ ε, this arc is denoted by (j,i). The set of all arcs of graph ⎝ ⎠⎝ ⎠⎝ ⎠⎝ ⎠⎝ ⎠⎝ ⎠⎝ ⎠
G(A) is denoted by E. The weight of arc (j,i) is value of For nonnegative number M > 0, let be a matrix
ai,j, this one is denoted by w(j,i) = ai,j. If ai,j = ε, then arc Am ∈ Rmax
nxn
for 0 < m < M and x(m) ∈ Rmax n
for -M < m < -1,
(j,i) does not exist. A sequence of arc (i1,i2), (i2,i3),…, (il- then the difference equation of Mth-order will be written
1,il) of a graph is called a path. A path is called elementer M
as follows: x (k ) = ⊕ A m ⊗ x(k − m), k ≥ 0 . (4)
if it nodes has only one incoming and one outgoing arc. m=0
A circuit is a close elementer path, i.e.: The Equation (2) is a difference equation of 1st-orde
(i1,i2), (i2,i3),…, (il-1,il). The weight of a path p = (i1,i2), and A0 = ε. A difference equation of Mth-orde with A0 ≠
(i2,i3),…, (il-1,il) is denoted by | p |w with ε can be transformed into a difference equation of 1st-
(
| p | w = a i 2 , i1 + a i 3 , i 2 + L + a i l , i l−1 . ) order that is given by Equation (2), as follows
~ ~ ~
X ( k + 1) = A ⊗ X ( k ), k ≥ 0, (5)
The length of a path p is the sum of arc in the path p and with
it is denoted by | p |l . The average weight of a path p is ⎛ A *0 ⊗ A 1 A *0 ⊗ A 2 L L A *0 ⊗ A M ⎞⎟
⎜
the weight of path p divided by the length of path p, i.e. ⎜
~ ⎜
E ε L L ε ⎟
⎟
(6)
| p |w
=
(
a i ,i + a i ,i + L + a i ,i
2 1 3 2 l l −1
). A=⎜
⎜
ε E O L ε ⎟
⎟
M M O O M
| p |l l −1 ⎜
⎜
⎟
⎟
⎝ ε ε L E ε ⎠
Circuit mean is the average weight of a circuit. Any n −1
and , (7)
circuit with maximum circuit mean is called critical A0* = ⊕A
i =0
⊗i
0
circuit. A graph is called strongly connected graph if a Matrix E is identity matrix. This can be found in [2].
path exists for every node i to every node j. If graph
G(A) is strongly connected, then the matrix A is called III. SCHEDULING OF FELLOW SHOP
irreducible.
Fig. 1 is graph G(A) of Example 1. There are three In this section, how a Max-Plus model of flow shop
circuits, i.e. (1,1); (1,2),(2,1) and (2,3),(3,2). Each circuit production system is derived. It would be discussed
IPTEK, The Journal of Technology and Science, Vol. 20, No. 3, August 2009 85
thoroughly. Such a model is given a flow shop So we can write xil (k+1) as
production of n job {Ji} that will be scheduled on m xij(k+1)= max{yi(k),rij(k),pmn(k+1)+xmn(k+1),pil+xil(k+1)
machines {Mk} with 1< i < n and k = 1, 2. Each job must or in the Max-Plus Algebra as
be processed exactly at a time in each machine by means xij (k + 1) = yi (k ) ⊕ rij (k ) ⊕ pmn (k + 1) ⊗ (8)
of the same machine ordering. Permutation flow shop is xmn (k + 1) ⊕ pil ⊗ xil (k + 1)
a special class of flow shop by which each job would Release time in each 1-machine and 2-machine
have the same processing order in each machine. represented
Assuming is no set-up time between job operations. A y1 (k ) = max{x11 (k ) + p11 , x13 (k ) + p13 , L
dynamical model of flow shop production is constructed L , x1( n−1) (k ) + p1( n−1) }
in [10] and an example is given. It is shown that the y2 (k ) = max{x22 (k ) + p22 , x2, 4 (k ) + p34 , L
model has a regular scheduling. But it is not an optimal L, x2 n (k ) + p1n }
scheduling due to the makespan that is greater than the or in the Max-Plus Algebra as
minimal one. Therefore, in this paper, the model is ⎧ y1 = x11 ⊗ p11 ⊕ x13 ⊗ p13 ⊕ L
modified in such a way that it has a regular scheduling ⎪ (9)
⎪ L ⊕ x1( n −1) (k ) ⊗ p1( n −1)
and minimal makespan. Firstly, it begins with analyzing ⎨ y = x ⊗ p ⊕ x ⊗ p ⊕L
⎪ 2 22 22 24 24
some important factors of the model to decide when ⎪⎩ L ⊕ x2 n (k ) ⊗ p2 n
starting job processing of each cyclic production. Then, and from Equation (8) and (9) the modified model can be
the analyses of flow job as a cycle of (periodic) written as follows:
production and, a job notion will be replaced by an X (k + 1) = Y (k ) ⊕ R(k ) ⊕ A0 ⊗ X (k + 1)
operation to make clearer job ordering. Thus, giving a Y (k + 1) = A2 ⊗ X (k + 1)
(10)
flow shop of 2 job, 2 machines, job J1 in machine M1 and With ⎛ y ( 0) ⎞ ⎛ 0 ⎞
y(0) = ⎜⎜ 1 ⎟⎟ = ⎜⎜ ⎟⎟
J1 in M2 respectively will be called first and second ⎝ y 2 ( 0) ⎠ ⎝ 0 ⎠
operation. Therefore, the ordering of the same job J1 and
processed in the different machine M1 and M2 more ⎧ 0 for k = 0
clearly. If xij (k+1) represents starting time of j-th ⎪k
second job and the next job, the initial time of ready Example 2 Let be given flow shop production system
resources is the sum of period time and processing time that contains two jobs J1 and J2 scheduled in two
of all preceding jobs operation, i.e. r (k ) = ⊗k λ p
machines M1 and M2 with time processing is given by
ij i ⊗ mn
i =1 n∈Pj
m∈M
Table 1.
with λi = λ represents period time (the eigenvalue of By using Equation (11) and transforming this one into
transition matrix of the model before modified [10]) ; Equation (12), we get the modified model as follows:
the set of all preceding j operation is denoted by Pj and ⎛ x11 (k + 1) ⎞ ⎛ 2 3 ε ε ⎞ ⎛ x11 (k ) ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
M represents a machine. Therefore Pmn represents ⎜ x13 (k + 1) ⎟ ⎜ 2 3 ε ε ⎟ ⎜ x13 (k ) ⎟
⎜ x (k + 1) ⎟ = ⎜ ε ε 5 6 ⎟ ⊗ ⎜ x ( k ) ⎟ ⊕
processing time of operation n in machine m with ⎜ 22 ⎟ ⎜ ⎟ ⎜ 22 ⎟
⎜ x (k + 1) ⎟ ⎜ ε ε 5 6 ⎟ ⎜ x ( k ) ⎟
⎝ 24 ⎠ ⎝144244 3⎠ ⎝ 24 ⎠
preceding process n is processing j in machine i. A1
The completion time of all preceding operation of j
⎛ ε ε ε ε ⎞ ⎛ x11 (k + 1) ⎞ ⎛ r11 (k ) ⎞
operation, includes: ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ 2 ε ε ε ⎟ ⎜ x13 (k + 1) ⎟ ⎜ r13 (k ) ⎟
Processed operations in each machine of (k+1)-th period. ⊗ ⊕
⎜ 2 ε ε ε ⎟ ⎜ x ( k + 1) ⎟ ⎜ ε ⎟
If Pj is set of all preceding j operation of corresponding ⎜ ⎟ ⎜ 22 ⎟ ⎜ ⎟
⎜ ε 3 5 ε ⎟ ⎜ x ( k + 1) ⎟ ⎜ ε ⎟
⎝144244 3⎠ ⎝ 24 ⎠ ⎝1 3⎠
job, then for n∈ Pj and m ∈ M, completion time of all A0
424
R(k )
M2 5 6 M2 2 7 13 18 24 29
[3] C. Cassandras and S. Lafortune, 1999, Introduction to Discrete (max,+)-and Bipartite (min,max,+)-Systems, Discrete Event
Event Systems, Kluwer Academic Publisher. Dynamic Systems: Theory and Applications, 10(4):369-389.
[4] Subiono, 2000, On Classes of Min-max-plus Systems and Their [6] Subiono, 2000, Operator Linier dalam Aljabar Max Plus dan
Application, PhD Thesis, Delft University of Technology, the Terapannya, Proceeding Seminar Nasional Matematika: Peran
Netherlands. Matematika Memasuki Milenium III, ITS, Surabaya.
[5] Subiono and J. van der Woude, 2000, Power Algorithms for