ISSN 2319-8133 (Online)
(An International Research Journal), www.compmath-journal.org
Fuzzy Branch and Bound Solution for a Flow-shop Scheduling Problem
N. Selvamalar 1 and V. Vinoba 2
1 Research Scholar,
RMK College of Engg. and Tech, Puduvoyal, INDIA.
2 Research Guide,
K N Govt. Arts College (Autonomous), Thanjavur, INDIA.
(Received on: March 13, Accepted: March 21, 2017) ABSTRACT
In practical situations, the processing times are not known exactly i.e., they are not crisp. They lie in an interval. A fuzzy number is essentially a generalized interval which can represent these processing times naturally. In the literature, Triangular and trapezoidal fuzzy numbers are used in
1,7to solve fuzzy flow-shop scheduling problems. In this work, octagonal fuzzy numbers are used to represent those vague job processing times in flow-shop production systems. The branch and bound algorithm of Ignall and Scharge which is modified to fuzzy scenario
7is used to solve the m jobs and n machines problem. The Fuzzy makespan and fuzzy mean flow times are then calculated for making decisions which can be used for further analysis. Examples are illustrated to explain the approach.
MSC 2010 No.:90C70,97M40.
Keywords: Flow-shop scheduling, Branch and bound, Octagonal fuzzy numbers, Ranking methods.
1. INTRODUCTION
Scheduling problems occurring in real life applications generally are flow-shop
scheduling problems. Each job has the same routing through machines and the sequence of
operations is fixed in a flow-shop. Branch- and- bound algorithms are the mostly used optimal
technique to solve such type of problems excluding heuristic methods. Branch and bound
technique is an Integer programming solving technique and it was first applied to scheduling
problems by Lomnicki, Ignall and Scharge in 1965. Several branch and bound technique are
developed by Brooks and White in 1965, Brown and Lomnicki in 1966, McMahon and Burton
in 1967, Bestwig and Hasting in 1976,Potts in 1980, Carlier and Pinson in 1989, Applegate and Cook in 1991 and Brucker , Jurisch and Sievers in 1994.
2. FUZZY FLOW-SHOP SCHEDULING
In the most studies concerned with the scheduling problems, processing times were taken as certain and fixed value. But in the real world application, information is often ambiguous, vague and imprecise. Several techniques are proposed for managing uncertainty.
To solve vague situations in real problems, the first systemic approach related to fuzzy set theory was successfully applied in many areas such as in scheduling problems. In recent studies, scheduling problems were fuzzified by using the concept of fuzzy due date and processing times. Dumitru and Luban (1982) investigated the application of fuzzy mathematical programming model on the problem of the production scheduling.
Especially from the beginning of the 1990s fuzzy logic applications on the scheduling problems are increased. Han et al.(1994); Ishibuchi et al.(1994 a,b); Ishii et al. (1992) and Murata et al.(1997) used fuzzy due-date in their studies. Adamapoulos and Pappis (1996);
Kuroda and Wang (1996);Hong et al.(1995); Hong and Chuang (1996); Ishibuchi et al. (1995), McCahon and Lee (1990,1992); Izzettin Temiz 4 et al.(1994); Murata et al.(1996), Stanfield et al. (1996) fuzzified scheduling problems by using fuzzy processing times. Moreover Cheng et al. (1994); Dubois et al. (1995); Ishii and Tada (1995); Watanabe et al. (1992) used fuzzy precedence relations in scheduling problems.
3. OCTAGONAL FUZZY NUMBERS (OFN)
Definition.3.1: An Octagonal fuzzy number denoted by A ~
is defined to be the ordered quadruple A ~ l 1 ( r ), s 1 ( t ), s 2 ( t ), l 2 ( r ) , for r 0 , k , and t k , where
(i) l 1 ( r ) is a bounded left continuous non decreasing function over 0 , 1 , 0 1 k (ii) s 1 ( t ) is a bounded left continuous non decreasing function over k , 2 , k 2
(iii) s 2 ( t ) is a bounded left continuous non increasing function over k , 2 , k 2
(iv) l 2 ( r ) is a bounded left continuous non increasing function over 0 , 1 , 0 1 k Remark.3.1: If 1 , then the above –defined number is called a normal octagonal fuzzy number.
Definition.3.2: A fuzzy number A ~
is a normal octagonal fuzzy number denoted by
a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 where a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 are real numbers and its membership function ~ ( x )
A is given below.
8 8 7
7 8
8
7 6
6 5
5 6
6
5 4
4 3
3 4
3
3 2
2 1
1 2
1
1
~
0
) 1 ( 1
) 1 ( 0
) (
a x for
a x a a for
a x k a
a x a for k
a x a a for
a x k a
k
a x a for
a x a a for
a a k x
k
a x a for k
a x a a for
a a k x
a x for
A x
where 0<k<1.According to the above definition, the normal octagonal fuzzy number A ~ is the ordered quadruple l 1 ( r ), s 1 ( t ), s 2 ( t ), l 2 ( r ) for r [ k 0 , ], and t [k , 1 ] where
1 2
1 1 ( )
a a
a k r r
l ,
3 4
3
1 ( ) ( 1 )
a a
a k t k t
s ,
5 6
6
2
( ) ( 1 )
a a
t k a
k t
s and
7 8
8 2
( )
a a
r k a r
l .
Definition3.3: If A ~
is an octagonal fuzzy number , then the α-cut of A ~
is defined as
~ ( )
~ ]
[ A x A x
) 1 , [ )
( ), (
) , 0 [ )
( ), (
2 1
2 1
k for s
s
k for
l l
Using the interval arithmetic given by Kaufmann A 5 , the addition, subtraction and multiplication of two octagonal fuzzy number using their α-cuts , are as follows.
a) α-cut of an octagonal fuzzy number: The α-cut of a normal octagonal fuzzy number )
, , , , , , ,
~ (
8 7 6 5 4 3 2
1 a a a a a a a
a
A given by Definition 3.3 is
] 1 , ( )
1 ( ,
) 1 (
] , 0 [ )
( ,
) (
~ ] [
5 6 6
3 4 3
7 8 8
1 2 1
k for a k a
a k a k a
a k
k for
a k a
a a k a
a A
b) Addition of octagonal fuzzy numbers: let A ~ a 1 , a 2 , a 3 , a 4 , a 5 , a 6 , a 7 , a 8 and
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
~ b b b b b b b b
B be two normal octagonal fuzzy numbers. To find the sum of the fuzzy numbers A ~ and B ~
, we add the α-cuts of A ~ and B ~
using interval arithmetic as
] 1 , ( )
1 ( , ) 1 (
) 1 (
, ) 1 (
] , 0 [ )
( , ) ( )
( , ) (
~ ] [
~ ] [
5 6 6
3 4 3
5 6 6
3 4 3
7 8 8 1 2 1 7 8 8 1 2 1
k for b k b b k b k b b k a k a a k a k a a k
k for b
k b b b k b b a k a a a k a a B A
c) Subtraction of octagonal fuzzy numbers: let ~ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
a a a a a a a a
A and
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
~ b b b b b b b b
B be two normal octagonal fuzzy numbers. To find the difference of the fuzzy numbers A ~ and B ~
, we subtract the α-cuts of A ~ and B ~ using interval arithmetic as A ~ B ~ q L , q R where
)) (
( )) (
( )), (
( )) (
(
)), (
( )) (
( )), (
( )) (
( min
7 8 8
7 8 8
1 2 1
7 8 8
7 8 8
1 2 1
1 2 1
1 2 1
b k b b a k a a b k b b a k a
a
b k b b a k a
a b k b b a k a
a q
L
] , 0 [
)) (
( ) (
)), (
( ) (
)), (
( ) ( )),
( (
) ( max
7 8 8
7 8 8
1 2 1
7 8 8
7 8 8
1 2 1
1 2 1
1 2 1
k for
b k b
b a k a
a b k b
b a k a
a
b k b
b a k a
a b k b
b a k a
a q R
and
)) 1 (
( ) 1 (
)), 1 (
( ) 1 (
)), 1 (
( )) 1 (
( )), 1 (
( )) 1 (
( min
5 6 6
5 6 6
3 4 3
5 6 6
5 6 6
3 4 3
3 4 3
3 4 3
b k b b k a k a a k b k b b k a k a a k
b k b b k a k a a k b k b b k a k a a k
q
L
] 1 , (
)) 1 (
( ) 1 (
)), 1 (
( ) 1 (
)), 1 (
( )) 1 (
( )), 1 (
( )) 1 (
( max
5 6 6
5 6 6
3 4 3
5 6 6
5 6 6
3 4 3
3 4 3
3 4 3
k for
b k b b k a k a a k b k b b k a k a a k
b k b b k a k a a k b k b b k a k a a k
q
R
d) Multiplication of octagonal fuzzy numbers: let ~ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
a a a a a a a a
A and
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8
~ b b b b b b b b
B be two normal octagonal fuzzy numbers.To find the product of the fuzzy numbers A ~ and B ~
, we multiply the α-cuts of A ~ and B ~
using interval arithmetic as A B ~ q L , q R
~ * where
)) ( ))(
( (
)), ( ))(
( (
)), ( ))(
( ( )), ( ))(
( ( min
7 8 8 7 8 8
1 2 1 7 8 8
7 8 8 1 2 1
1 2 1 1 2 1
b k b b a k a a b k b b a k a a
b k b b a k a a b k b b a k a a q
L
] , 0 [
)) ( ))(
( ( )), ( ))(
( (
)), ( ))(
( ( )), ( ))(
( ( max
7 8 8 7 8 8 1 2 1 7 8 8
7 8 8 1 2 1
1 2 1 1 2 1
k for
b k b b a k a a b k b b a k a a
b k b b a k a a b k b b a k a a q
R
and
)) 1 (
))(
1 ( ( )), 1 (
))(
1 ( (
)), 1 (
))(
1 ( ( )), 1 (
( )) 1 (
( min
5 6 6
5 6 6
3 4 3
5 6 6
5 6 6
3 4 3
3 4 3
3 4 3
b k b b k
a k a a k
b k b b k
a k a a k
b k b b k
a k a a k
b k b b k
a k a a k
q
L
] 1 , (
)) 1 (
))(
1 ( ( )), 1 (
))(
1 ( (
)), 1 (
( )) 1 (
( )), 1 (
( )) 1 (
( max
5 6 6
5 6 6
3 4 3
5 6 6
5 6 6
3 4 3
3 4 3
3 4 3
k for
b k b b k
a k a a k
b k b b k
a k a a k
b k b b k
a k a a k
b k b b k
a k a a k
q
R
3.1. Ranking of Octagonal fuzzy numbers
The comparison of octagonal fuzzy numbers is found in 6 . Definition3.1.1: A measure of fuzzy number A ~
is a function M : ( I ) which assigns a non-negative real number ~ )
(
A
M that expresses the measure of A ~
.
dt t s t s dr r l r l A
M
k s k
oct
( ( ) ( ))
2 )) 1 ( ) ( 2 ( ) 1
( ~ 1 2 2 where 0 1 .
Remark.3.1.1: The measure of an octagonal fuzzy number is obtained by the average of the two fuzzy side areas, left side area and right side area, from the membership function to α axis.
Definition 3.1.2: Let A ~
be a normal octagonal fuzzy number. The value ~ ) ( A M oct , called the measure of A ~
is calculated as follows:
dt t s t s dr
r l r l A
M
k s k
oct
( ( ) ( ))
2 )) 1 ( ) ( 2 ( ) 1
( ~ 1 2 2 where 0<k<1.
( 1 ) ( 3 . 1 . 1 )
4 1
6 5 4 3 8
7 2
1
a a a k a a a a k
a
is the Generalised Mean Value(GMV) of the octagonal fuzzy number.
Remark: If k=0.5 ,
( 3 . 1 . 2 )
8 ) 1
( ~
1 2 3 4 5 6 7 80
A a a a a a a a a
M
oct
4. FUZZY BRANCH AND BOUND ALGORITHM FOR N JOBS AND 3 WORKSTATIONS
Ignall and Scharge’s branch and bound algorithm 3 for a general three machine flow- shop problem is considered. The problem is represented as a tree where each node has a possibility to emanate into a partial sequence. To determine the best partial sequence node, the lower bounds (LB) of all the partial sequences are calculated and the node with the lowest lower bound is chosen. The procedure is continued till the least lower bound is found.After obtaining an order where all the jobs are scheduled, the nodes having the upper lower bounds than the completion time of this schedule are fathomed. The tree is fathomed when no more branching is possible.
To fuzzify the algorithm, the fuzzy processing times are used and their lower bounds are also expressed as fuzzy numbers and a comparison of these fuzzy numbers are done by finding the measure found in equation (3.1.1) by Malini 6 . Only makespan M ~ and mean
flowtime M F ~ T are used as the performance criteria in this work , while the symbol ‘’
indicates fuzzy. In the computation process , addition and maximum operations are fuzzy operations.
The fuzzy lower bounds on the fuzzy makespan of all schedules beginning with the
sequence S r are calculated using
( 4 . 1 )
) ~ ( ) ( ) (
~ 3
,
~ ) ( min )
~ ( ) ( ) ( ) (
~ 2
,
~ ) )
~ ( ( min )
~ ( ) ( ) ( ) (
~ 1
~ max
3
3 2
3 2 1
i S r
S i i S r
i S i
i S r
r
p S
T C
p p
S T C
p p p
S T C S
B L
r r r r r
Where p ij
~ is the fuzzy processing time of the i th job in the j th machine.
S r is the set of (n-r) jobs yet to be assigned to the machines.
)
~ ( S r
K T
C is the fuzzy completion time of the last job in the sequence S r at the machine K.
(+) refers to fuzzy addition.
After fuzzy lower bound values for nodes are calculated, branching is done from the lowest bound to form new nodes for all unscheduled jobs. This process is continued till all the jobs are scheduled.
4.1 An Illustrative Example
An illustrative example using octagonal processing times is the following four jobs, three machines scheduling problem:
Job Machine1 Machine2 Machine3
1 (12,13,14,15,17,18,19,20) (14,15,16,17,19,20,21,22) (8,9,10,11,13,14,15,16) 2 (10,11,12,13,15,16,17,18) (6,7,8,9,11,12,13,14) (7,8,9,10,12,13,14,15) 3 (9,10,11,12,14,15,16,17) (16,17,18,19,21,22,23,24) (11,12,13,14,16,17,18,19) 4 (15,16,17,18,20,21,22,23) (11,12,13,14,16,17,18,19) (15,16,17,18,20,21,22,23)
Throughout this illustration, we have taken the value of k=0.5 for octagonal numbers.Using the equation (4.1),the first level of fuzzy lower bounds are calculated as:
For machine 1,
)]
42 , 40 , 38 , 36 , 32 , 30 , 28 , 26 ( ), 43 , 41 , 39 , 37 , 33 , 31 , 29 , 27 (
), 29 , 27 , 25 , 23 , 19 , 17 , 15 , 13 min[(
) )(
58 , 55 , 52 , 49 , 43 , 40 , 37 , 34 )(
)(
20 , 19 , 18 , 17 , 15 , 14 , 13 , 12 ( ) 1
~ (
1
B L
For Machine 2,
)]
23 , 22 , 21 , 20 , 18 , 17 , 16 , 15 ( ), 19 , 18 , 17 , 16 , 14 , 13 , 12 , 11 (
), 15 , 14 , 13 , 12 , 10 , 9 , 8 , 7 min[(
) )(
57 , 54 , 51 , 48 , 42 , 39 , 36 , 33 )(
)(
42 , 40 , 38 , 36 , 32 , 30 , 28 , 26 ( ) 1
~ (
2
B L
For machine3,
L B ~ ( 1 ) 3 ( 34 , 37 , 40 , 43 , 49 , 52 , 55 , 58 )( )( 33 , 36 , 39 , 42 , 48 , 51 , 54 , 57 )
To find the minimum of the fuzzy numbers, the generalized mean value(GMV) of
these numbers are calculated and the fuzzy number with the smallest GMV is considered the
smallest. If two fuzzy numbers have the same GMV’s, to break the tie ,the spread is calculated
for each fuzzy number as given in 2 and the number with the smaller spread is adjudged
smallest.
) 115 , 109 , 103 , 97 , 85 , 79 , 73 , 67 (
) 115 , 109 , 103 , 97 , 85 , 79 , 73 , 67 ( ), 114 , 108 , 102 , 96 , 84 , 78 , 72 , 66 ( , ) 107 , 101 , 95 , 89 , 77 , 71 , 65 , 59 ( max
) 1
~ ( , ) 1
~ ( , ) 1
~ ( max ) 1
~ (
3 2
1
L B L B L B
B L
Since max(83,90,91)=91 using the GMV of the fuzzy numbers.
Similarly,
) 116 , 110 , 104 , 98 , 86 , 80 , 74 , 68 ( ) 2
~ ( B L
) 114 , 108 , 102 , 96 , 84 , 78 , 72 , 66 ( ) 3
~ ( B L
) 115 , 109 , 103 , 97 , 85 , 7379 , 69 ( ) 4
~ ( B L
Now, to determine which node to branch from, we have to find the minimum of )
4
~ ( ), 3
~ ( ), 2
~ ( ), 1
~ (
B L B L B L B
L , using the GMV’s.
~ ( 1 ), ~ ( 2 ), ~ ( 3 ), ~ ( 4 ) ~ ( 3 )
min L B L B L B L B L B , since it has the lowest GMV.
The new completion times to be calculated as the new partial sequences would be either (3,1) or (3,2) or (3,4).
Calculating the new completion times of the partial sequence S r if S r =(3,1)
Job Machine1 Machine2 Machine3
3 (9,10,11,12,14,15,16,17) (25,27,29,31,35,37,39,41) (36,39,42,45,51,54,57,60) 1 (21,23,25,27,31,33,35,37) (39,42,45,48,54,57,60,63) (47,51,55,59,67,71,75,79)
If S r =(3,2)
Job Machine1 Machine2 Machine3
3 (9,10,11,12,14,15,16,17) (25,27,29,31,35,37,39,41) (36,39,42,45,51,54,57,60) 2 (19,21,23,25,29,31,33,35) (31,34,37,40,46,49,52,55) (43,47,51,55,6367,71,75)
If S r =(3,4)
Job Machine1 Machine2 Machine3
3 (9,10,11,12,14,15,16,17) (25,27,29,31,35,37,39,41) (36,39,42,45,51,54,57,60) 4 (24,26,28,30,34,36,38,40) (36,39,42,45,51,54,57,60) (51,55,59,63,71,75,79,83)
The fuzzy completion time of the last job in the sequence S r at the machine1, machine 2 and machine 3, ~ ( )
S r
K T
C is given by
S
r(3,1) (3,2) (3,4)
1( r )
CT S (21,23,25,27,31,33,35,37) (19,21,23,25,29,31,33,35) (24,26,28,30,34,36,38,40)
2( r )
CT S (39,42,45,48,54,57,60,63) (31,34,37,40,46,49,52,55) (36,39,42,45,51,54,57,60)
3( r )
CT S (47,51,55,59,67,71,75,79) (43,47,51,55,6367,71,75) (51,55,59,63,71,75,79,83)
Using the new completion times, the fuzzy lower bounds are calculated for the partial
sequences as
(3,1) max (59, 65, 71, 77,89,95,101,107), (63, 69, 75,81,93,99,105,111), (69, 75,81,87,99,105,111,117) (69, 75,81,87,99,105,111,117)
LB
(3, 2) max (68, 74,80,86,98,104,110,116), (64, 70, 76,82,94,100,106,112), (66, 72, 78,84,96,102,108,114) (68, 74,80,86,98,104,110,116)
LB
(3, 4) max (59, 65, 71, 77,89,95,101,107) , (63, 69, 75,81,93,99,105,111), (66, 72, 78,84,96,102,108,114) (66, 72, 78,84,96,102,108,114)
LB
The nodes branching from node 4 will be investigated further because the minimum of the lower bounds based on GMV is (66,72,78,84,96,102,108,114).
The partial sequence is either 3-4-1 or 3-4-2.
Again the new completion times are calculated for the partial sequences and proceeding as above,
S
r(3,4,1) (3,4,2)
1( r )
CT S (36,39,42,45,51,54,57,60) (34,37,40,43,49,52,55,58)
2( r )
CT S (50,54,58,62,70,74,78,82) (42,46,50,54,62,66,70,74)
3( r )
CT S (59,64,69,74,84,89,94,99) (58,63,68,73,83,88,93,98)
The fuzzy lower bounds are
(3, 4,1) max (59, 65, 71, 77,89,95,101,107), (63, 69, 75,81,93,99,105,111), (66, 72, 78,84,96,102,108,114) (66, 72, 78,84,96,102,108,114)
LB
(3, 4, 2) max (68, 74,80,86,98,104,110,116), (64, 70, 76,82,94,100,106,112), (66, 72, 78,84,96,102,108,114) (68, 74,80,86,98,104,110,116)
LB
Finding the minimum of the lower bounds based on their GMV’s, the sequence which gives the lowest bound for the entire makespan is 3-4-1-2 with the fuzzy lower bound (66,72,78,84,96,102,108,114).
3-4-1-2 is the optimum schedule.
Since the times are fuzzy, the fuzzy makespan must be calculated as the maximum of the job completion times C i 3 or max i 3
i
M C where each C i 3 in 3-workstations case, is calculated as
3 3
1
( ) ( ) p
i ij ij
j
C q
.For fuzzy waiting time for workstation 3 , use 3 3 ~ 2 )
~ (
~
i k
i C C
q ,
here (-) refers to fuzzy subtraction.
The fuzzy makespan of the sequence is:
~ ( 61 , 65 , 71 , 77 , 139 , 201 , 281 , 343 )
~ max
3
ii
C
M
) 75 . 184 , 75 . 156 , 50 . 132 , 75 . 91 , 25 . 64 , 75 . 59 , 25 . 55 , 25 . 51 4 (
) ~
~ (
4
1