Tata Letak Fasilitas Manufaktur
D0394 Perancangan Sistem
Manufaktur
Kuliah Ke XXI - XXII
QAP Formulation
• Define,
rij = rate of item movement between departments i and j
drs = distance between locations r and s
xir = 1, if department i is assigned to location r; 0,
otherwise
d =0
11
1
2
3
4
5
6
1 du
1 du
d12 = 1
d13 = 2
d14 = 1
d15 = 2
d16 = 3
QAP Formulation
• Define,
rij = rate of item movement between departments i and j
drs = distance between locations r and s
n
n
n
xir = 1, ifn department
i is assigned
to
location
r; 0,items move
•
z
=
total
distance
min z rij d rs xir x js
otherwise
i 1 j 1 r 1 s 1
• objective has quadratic form
n
st:
x
r 1
n
x
i 1
ir
ir
1
1
xir 0,1
, i 1, , n
, r 1, , n
i , r
• constraints are assignment
contraints
– every dept. to one location
– every location one dept.
• Quadratic Assignment Problem
Solution Representation
• Represent a solution to the facility layout problem
as a permutation vector a
– a = (a(1), a(2), …, a(n))
• Element a(i) represents the location to which
department i is assigned
– a(3) = 5 implies that department 3 is assigned to
location 5
Solution Representation
• Represent a solution as a permutation vector a
– Element a(i) represents the location to which
department i is assigned
a = (2, 4, 5, 3, 1, 6)
– Example:
1
2
3
4
5
6
location sites
layout design
Solution Representation
• Represent a solution as a permutation vector a
– Element a(i) represents the location to which
department i is assigned
a = (2, 4, 5, 3, 1, 6)
– Example:
1
2
3
5
1
4
4
5
6
2
3
6
location sites
layout design
Solution Evaluation
• Assume that the direction of flow is unimportant
– So weight between departments i and j is wij = rij + rji
• Assume distance matrix is symmetric
• Total flow cost is
n 1
C a
n
wij d a i , a j
i 1 j i 1
Solution Evaluation
• Assume that the direction of flow is unimportant
– So weight between departments i and j is wij = rij + rji
• Assume distance matrix is symmetric
• Total flow cost is n 1 n
C a
wij d a i , a j
i 1 j i 1
a = (2, 4, 5, 3, 1, 6); C(a) = 114
Flow matrix (rij)
From/To
1
2
3
4
5
6
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
2
3
0
1
0
4
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
5
1
4
2
3
6
Solution Evaluation
• Given a, the total cost for department k is given by
pk a wik d a i , a k wkj d a k , a j
1i k
k j n
n
pk a wkj d a k , a j
with wkk 0
j 1
• What is the cost if the locations of departments u and v are exchanged?
(a represents the new layout)
Cuv a C a C a
n 1
Cuv a
n
n 1
n
w d a i , a j w d a i , a j
i 1 j i 1
ij
i 1 j i 1
ij
Pairwise Exchange
n
n
Cuv a wiu d a i , a u wiv d a i , a v wuv d a u , a v
i 1
i 1
n
n
wiu d a i , a u wiv d a i , a v wuv d a u , a v
i 1
i 1
n
n
Cuv a wiu d a i , a u wiv d a i , a v wuv d a u , a v
i 1
i 1
wiu d a i , a v wiv d a i , a u wuv d a u , a v
i v
i u
n
Cuv a wiu wiv d a i , a u d a i , a v 2 wuv d a u , a v
i 1
Pairwise Exchange
Exchange departments 2 and 4
a = (2, 3, 5, 4, 1, 6)
a = (2, 4, 5, 3, 1, 6)
5
1
4
5
1
2
2
3
6
4
3
6
C(a) = 114
C24(a) = 10
C(a ) = 104
Pairwise Exchange
• If a least total cost assignment, a*, is found,
then if any two departments are exchanged
Cuv(a*) 0.
– Necessary condition for a least total cost
assignment
– Not sufficient, in general, since k-way
interchanges (k > 2) may improve the solution
Solution Generation
• Construction Heuristics
– Begin with the basic problem data and build up a solution in
an iterative manner
• General Procedure
– Let, a(i) = 0 if department i has not been assigned to a location
– Let, a(F) be the set of locations assigned to departments in set F
0. While F< n
1. select i F
A specification implementation requires
2. select r a(F)
particular rules for performing these steps
3. a(i) r
4. F F {i}
5. End
Construction Heuristics
• Many reasonable rules are possible for steps 1 and
2. Consider,
– Random department selection in step 1
– Minimize additional total cost for partial solution in
step 2
• Partial solution is (F, a(F)) with cost C(a(F))
• If we augment the partial solution by assigning department k to
location r, we obtain an increase in cost as follows
pk a F r
wkj d r , a j
j F
Construction Heuristics
• Specific Procedure
1. Randomly select i {1,2,…,n}
2. a(i) 1
3. While F< n
4. Randomly select i F
5. pi(a(F) k}) = min {pi(a(F) r}) r a(F)}
6. a(i) k
7. F F {i}
8. End
• Could repeat several times and pick best solution
• Many variations on this basic procedure
Construction Heuristics
• Example
–
–
From/To
1
Randomly select department 3 2
3
Assign to location 1; a(3) = 1 4
5
6
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
3
2
3
0
1
0
4
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
–
–
–
From/To
1
Randomly select department 3 2
3
Assign to location 1; a(3) = 1 4
5
Randomly select department 4 6
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
3
2
3
0
1
0
4
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
–
–
–
From/To
1
Randomly select department 3 2
3
Assign to location 1; a(3) = 1
4
Randomly select department 4 5
6
•
•
•
•
•
w43d21 = (2)(1) = 2
w43d31 = (2)(2) = 4
w43d41 = (2)(1) = 2
w43d51 = (2)(2) = 4
w43d61 = (2)(3) = 6
– Assign to location 2; a(4) = 2
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
3
2
3
0
1
0
4
4
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
–
–
–
From/To
1
Assign 3 to location 1; a(3) = 1 2
Assign 4 to location 2; a(4) = 2 34
Randomly select department 2 5
6
•
•
•
•
w42d32 + w32d31 = 2+8 = 10
w42d42 + w32d41 = 4+4 = 8
w42d52 + w32d51 = 2+8 = 10
w42d62 + w32d61 = 4+12 = 14
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
– Assign to location 4; a(2) = 4
2
3
2
3
0
1
0
4
4
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
–
–
–
–
Assign 3 to location 1; a(3) = 1
Assign 4 to location 2; a(4) = 2
Assign 2 to location 4; a(2) = 4
Randomly select department 5
• w25d34 + w45d32 + w35d31 = 16
• w25d54 + w45d52 + w35d51 = 12
• w25d64 + w45d62 + w35d61 = 22
From/To
1
2
3
4
5
6
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
2
3
0
1
0
4
3
4
2
5
– Assign to location 5; a(5) = 5
4
2
1
1
0
2
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
–
–
–
–
–
From/To
1
=1 2
3
=2 4
= 4 56
Assign 3 to location 1; a(3)
Assign 4 to location 2; a(4)
Assign 2 to location 4; a(2)
Assign 5 to location 5; a(5) = 5
Randomly select department 1
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
2
3
0
1
0
4
3
4
2
5
• w51d35 + w21d34 + w41d32 + w31d31 = 34
• w51d65 + w21d64 + w41d62 + w31d61 = 34
– Assign to location 3; a(1) = 3
4
2
1
1
0
2
1
1
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Example
From/To
1
= 2
3
= 45
6
– Assign 3 to location 1; a(3)
1
– Assign 4 to location 2; a(4)
2
– Assign 2 to location 4; a(2) =
4
– Assign 5 to location 5; a(5) =
5
– Assign 1 to location 3; a(1) =
3
– Assign 6 to location 6; a(6) =
6
1
0
1
4
0
3
2
2
3
0
1
1
2
3
3
2
3
0
1
0
4
4
2
1
1
0
2
1
3
4
1
2
5
6
5
1
0
2
4
0
5
6
2
5
2
1
5
0
Construction Heuristics
• Observations
– Many different variations of the construction procedure
– Clearly the initial location has an effect as does the
department sequence
– Intuitively, you want large weights near the center and
small weights near the outside
• Difficult to formalize as a general algorithm
– Example
• 5 & 6 largest weights; 2 & 3 close to
6; 1 close to 3
• a = (3, 4, 6, 1, 2, 5)
• C(a) = 92
4
5
1
2
6
3
Solution Quality
• How good is the solution?
• Lower Bound
– Order location pairs by increasing distance, d
• Preferred locations
– Order weights by decreasing flow volume, w
• Highest activities
–
–
–
–
–
“Assign” largest weights to preferred locations
LB = d w
d = (1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3)
w = (10, 8, 6, 6, 6, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2)
LB = 10(1) + 8(1) + 6(1) + … + 2(3) + 2(3) = 88
Improvement Heuristics
• Modify a given solution so that the total cost is
reduced
• Pairwise interchange
– Select two departments and interchange their locations
– General Procedure
0. a a0
1. Select a pair of facilities (u, v)
2. Evaluate Cuv(a)
3. Decide whether or not to make the interchange
4. Decide whether or not to continue
– A specific implementation requires rules for performing
each of the steps
Improvement Heuristics
• Many reasonable rules exist for these steps.
Consider,
– Enumeration of all pairs in step 1 and 4
– Make exchange if Cuv(a) > 0
– Alternatively, make exchange between u and v
such that Cuv(a) is the largest value for a given
u.
Steepest Descent Pairwise
Interchange
a a0
done false
While (not.done)
done true
max 0
For i = 1 to n-1
For j = i+1 to n
If (Cij(a) > max) then
max Cij(a)
ui
vj
done false
Endif
Endfor
Endfor
If (max > 0) then
temp a(u)
a(u) a(v)
a(v)
temp
Endif
Endwhile
Improvement Heuristics
• Pairwise Interchange has several difficulties
– May be “trapped” in bad solution
• Departments 5 and 6 have a large flow between
them so if they get trapped on the outside, any
exchange that moves one and not the other will have
a negative Cuv(a) so it is never made
5
4
4
1
5
1
SDPI
initial solution
6
2
3
good solution
2
6
3
VNZ Heuristic
TFCi wij d a i , a j
j i
• Order departments by TFCi : TFC[1] TFC[2] …
TFC[n]
• Phase 1
– Set m = M1 = [1] and M2 = [2]
– Order list of departments i by non-increasing Cim(a).
Proceed through list making each switch provided Cis(a ) >
0 (where a is updated assignment vector as switches are
made) Repeat for m = M2
• Phase 2
– Evaluate Cij(a ) for each dept. pair 1 and 2, 1 and 3, …, M-1
and M. Exchange i and j if cost is reduced.
– Continue until every pair has been examined without making a
change or each pair has been examined twice.
Improvement Heuristics
• Initial (starting) solution is important -- try
several!
• Could consider k-wise interchanges
– Computational burden increases greatly
• “Good” starting solution not necessary
– In general, more effort should be expended in the
improvement phase
– Quickly, generate a large variety of starting solutions
and then try to improve them
© Copyright 2026 Paperzz