0% found this document useful (0 votes)
43 views

Chapter 6: Scheduling of Flexible Assembly Systems: Phan Nguyen Ky Phuc February 9, 2019

This document summarizes scheduling approaches for three types of flexible assembly systems: 1) Unpaced flow lines with limited buffer sizes that can cause blocking 2) Paced assembly systems with constant conveyor speed and fixed workstation capacities 3) Flexible flow systems with parallel machines, limited buffers, and optional bypassing of workcenters It describes heuristics for generating periodic schedules, including the minimum part set, profile fitting, and weighted profile fitting heuristics to minimize cycle times. An example applies these heuristics to schedule jobs on a four machine system.

Uploaded by

Manh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Chapter 6: Scheduling of Flexible Assembly Systems: Phan Nguyen Ky Phuc February 9, 2019

This document summarizes scheduling approaches for three types of flexible assembly systems: 1) Unpaced flow lines with limited buffer sizes that can cause blocking 2) Paced assembly systems with constant conveyor speed and fixed workstation capacities 3) Flexible flow systems with parallel machines, limited buffers, and optional bypassing of workcenters It describes heuristics for generating periodic schedules, including the minimum part set, profile fitting, and weighted profile fitting heuristics to minimize cycle times. An example applies these heuristics to schedule jobs on a four machine system.

Uploaded by

Manh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Chapter 6: Scheduling of Flexible Assembly Systems

Phan Nguyen Ky Phuc

February 9, 2019

Contents

1 Introduction 1

2 Minimum Part Set 2

2.1 Profile Fitting Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.3 Weight Profile Fitting Heuristic . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Sequencing of Paced Assembly Systems 7

3.1 Grouping and Spacing (GS) heuristic . . . . . . . . . . . . . . . . . . . . . . 7

4 Scheduling of Flexible Flow Systems with Bypass 9

4.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.1 Machine Allocation Phase . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1.2 Sequencing Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Mixed Model Assembly Sequencing at Toyota 16

6 Assigment 17

1 Introduction

In a flexible assembly system

1
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

• There are a limited number of product types

• For each type, the system has to produce a specific quantity.

There are 3 models:

• The first model represents a flow line with a number of work stations in series. The
line is unpaced, i.e., a job can take as much time as needed on any machine. The buffer
size is limited which may cause blocking and starving between two consecutive work
station.

• The second model is a paced assembly system with a conveyor system that moves at a
constant speed. The units that have to be assembled are moved from one workstation
to the next at a fixed speed. Each workstation has its own capacity and constraints.

• The third model is a flexible flow system with limited buffers and bypass. In contrast to
the first two models, there are a number of machines in parallel at each workcenter. A
job may be processed on any one of the parallel machines or it may bypass a workcenter
altogether

Schedules used in flow lines with blocking are often periodic or cyclic. Such schedules are
generated as follows.

• First, a given set of jobs are scheduled in a certain order. This set contains jobs of all
the product types and there may be more than one job of the same product type.

• This set is followed by a second set that is identical to the first one and scheduled in
the same way.

• This process is repeated over and over again

2 Minimum Part Set

Assumption
l be the number of product type
Ni be the quantity of product type i
z be the common greatest divisor of the integer N1 , N2 , ..., Nl
N ∗ represents the smallest set having the same proportions of the different product types
which is often referred as Minimum Part Set (MPS)
 
∗ N1 N1 Nl
N = , , ...,
z z z

06: Scheduling of Flexible Assembly Systems


Page 2
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

pij denote the processing time of job j, j = 1, ..., n on machine i. Cyclic schedules are speci-
fied by the sequence of the n jobs in the M P S

Maximizing system throughput is basically equivalent to minimizing the cycle time of an


MPS in a steady state.
In this case the MPS cycle time can be defined as the time between the first jobs of two
consecutive MPSs entering the system.

2.1 Profile Fitting Heuristic

Algorithm 1 Profile Fitting Heuristic


Input:
Given processing time parameters pij
The Minimum Part Set
Process:
1: Step 1: Initial Condition
2: Select the job with the longest total processing time as the first job in the MPS.
3:
4: Step 2: Analysis of Remaining Jobs to be Scheduled
5: For each job that has not yet been scheduled do the following: Consider that job as the
next one in the partial sequence and compute the total non- productive time on all m
machines (machine idle time as well as machine blocking time)
6:
7: Step 3: Selection of the Next Job in Partial Schedule
8: Of all jobs analyzed in Step 2, select the job with the smallest total non- productive time
as the next one in the partial sequence.
9:
10: Step 4:Stopping Criterion
11: If all jobs in the MPS have been scheduled, then STOP.
12: Otherwise, go to Step 2

2.2 Example

Consider an assembly system with four machines and no buffers between the machines.
There are three different product types that have to be produced in equal amounts, i.e.,

N ∗ = (1, 1, 1)

The processing times of the three jobs in the MPS are: The second machine (that is, the
second row of processing times), with zero processing times for all three jobs, functions as a
buffer between the first and third machines
Apply the Profile Fitting Heuristic for the above data

06: Scheduling of Flexible Assembly Systems


Page 3
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Jobs 1 2 3
p1j 0 1 0
p2j 0 0 0
p3j 1 0 1
p4j 1 1 0

Iteration 1
Among 3 jobs, the total processing time of job 1 or 2 is the maximum at 2.
Assume that job 1 will be chosen first.
Job 1 is called the profile job
Xij be the departure time of job j on machine i
With job 1 as profile job: X11 = 0, X21 = 0, X31 = 1, X41 = 2

Figure 1: Gant Chart Of Profile Fitting Heuristic

The current sequence is : 1


For the 2nd position, job 2 and 3 are considered
For job 2:

X12 = max (X11 + p12 , X21 ) = max(0 + 1, 0) = 1


X22 = max (X12 + p22 , X31 ) = max(1 + 0, 1) = 1
X32 = max (X22 + p32 , X41 ) = max(1 + 0, 2) = 2
X42 = (X32 + p42 ) = 2 + 1 = 3
The sum of these idle and blocked times
m
X
Loss = (Xi,j2 − Xi,j1 − pi,j2 )
i=1

For job 2:

Loss = (X12 − X11 − p12 ) + (X22 − X21 − p22 ) + (X32 − X31 − p32 ) + (X42 − X41 − p42 )
= (1 − 0 − 1) + (1 − 0 − 0) + (2 − 1 − 0) + (3 − 2 − 1) = 2

06: Scheduling of Flexible Assembly Systems


Page 4
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

For job 3:

X13 = max (X11 + p13 , X21 ) = max(0 + 0, 0) = 0


X23 = max (X13 + p23 , X31 ) = max(0 + 0, 1) = 1
X33 = max (X23 + p33 , X41 ) = max(1 + 1, 2) = 2
X43 = (X33 + p43 ) = 2 + 0 = 2
The sum of these idle and blocked times

Loss = (X13 − X11 − p13 ) + (X23 − X21 − p23 ) + (X33 − X31 − p33 ) + (X43 − X41 − p43 )
= (0 − 0 − 0) + (1 − 0 − 0) + (2 − 1 − 1) + (2 − 2 − 0) = 1

Since the performance of job 3 is better than job 2. The sequence is 1 → 3


Since job 2 is the last job, the final sequence is 1 → 3 → 2

2.3 Weight Profile Fitting Heuristic

• When measuring the total amount of lost time, it may be appropriate to weight each
inactive time period by a factor that is proportional to the degree of congestion at the
corresponding machine.

• One measure for the degree of congestion of a machine is easy to calculate; simply
determine the total amount of processing to be done on all jobs in an MPS at that
machine.

2.3.1 Example

Consider three machines and an MPS of four jobs. There are no buffers between machines.
The processing times of the four jobs on the three machines are as follows. The workload on

Jobs 1 2 3 4
p1j 2 4 2 3
p2j 4 4 0 2
p3j 2 0 2 0

machine 1 is 11, on machine 2 it is 10 and on machine 3 it is 4. So, time lost on machine 3


is less detrimental than time lost on the other two machines.
In this example the weights for machines 1 and 2 equal are set to 1 and the weight for
machine 3 equal to 0.
Choose job 1 as profile job: : X11 = 2, X21 = 6, X31 = 8
Iteration 1

06: Scheduling of Flexible Assembly Systems


Page 5
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Job 2

X12 = max (X11 + p12 , X21 ) = max(2 + 4, 6) = 6


X22 = max (X12 + p22 , X31 ) = max(6 + 4, 8) = 10
X32 = X22 + p32 = 10 + 0 = 10

Loss = (X12 − X11 − p12 ) + (X22 − X21 − p22 )


= (6 − 2 − 4) + (10 − 6 − 4) = 0

Job 3

X13 = max (X11 + p13 , X21 ) = max(2 + 2, 6) = 6


X23 = max (X21 + p23 , X31 ) = max(6 + 0, 8) = 8
X33 = X23 + p33 = 8 + 2 = 10

Loss = (X13 − X11 − p13 ) + (X23 − X21 − p23 )


= (6 − 2 − 2) + (8 − 6 − 0) = 4

Job 4

X14 = max (X11 + p14 , X21 ) = max(2 + 3, 6) = 6


X24 = max (X21 + p24 , X31 ) = max(6 + 2, 8) = 8
X34 = X24 + p34 = 8 + 0 = 8

Loss = (X14 − X11 − p14 ) + (X24 − X21 − p24 )


= (6 − 2 − 3) + (8 − 6 − 2) = 1
So job 2 is selected. The sequence is 1 → 2
Iteration 2
Job 3

X13 = max (X12 + p13 , X22 ) = max(6 + 2, 10) = 10


X23 = max (X22 + p23 , X32 ) = max(10 + 0, 10) = 10
X33 = X23 + p33 = 10 + 2 = 12

Loss = (X13 − X12 − p13 ) + (X23 − X22 − p23 )


= (10 − 6 − 2) + (10 − 10 − 0) = 2

06: Scheduling of Flexible Assembly Systems


Page 6
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Job 4

X14 = max (X12 + p14 , X22 ) = max(6 + 3, 10) = 10


X24 = max (X22 + p24 , X32 ) = max(10 + 2, 10) = 12
X34 = X24 + p34 = 12 + 0 = 12

Loss = (X14 − X12 − p14 ) + (X24 − X22 − p24 )


= (10 − 6 − 3) + (12 − 10 − 2) = 1
So job 4 is selected. The sequence is 1 → 2 → 4
The last job is job 3. The final sequence is 1 → 2 → 4 → 3

3 Sequencing of Paced Assembly Systems

• In a paced assembly line, a conveyor system moves the jobs (e.g., cars) from one
workstation to the next at a constant speed.

• The jobs maintain a fixed distance from one another. If the assembly at a particular
station is done manually, the workers walk alongside the moving line while performing
their operation

• After its completion, they walk back towards that point in the line that corresponds
to the beginning of their station or section.

• An important characteristic of a paced assembly system is its unit cycle time, which
is defined as the time between two successive jobs coming off the line.

• The unit cycle time is the reciprocal of the production rate. Paced assembly systems
are very common in the automotive industry.

3.1 Grouping and Spacing (GS) heuristic

The GS heuristic consists of four phases.

1. Determining the total number of jobs to be scheduled.

2. Grouping jobs with regard to operations that have high setup-costs.

3. Ordering of the subgroups taking shipping dates into account.

4. Spacing jobs within subgroups taking capacity constrained operations into account.

Example

06: Scheduling of Flexible Assembly Systems


Page 7
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

• Consider a single machine and n jobs.

• All the processing times are equal to 1 (since the assembly line moves at a constant
speed).

• Job j has a due date dj and a weight wj .

• Job j has l parameters aj1 , aj2 , ..., ajl .

• If job j is followed by job k and aj1 6= ak1 then a setup cost cjk is incurred, which is a
function of aj1 and ak1 .

• If both jobs j and k have aj2 = ak2 = 1 and they are spaced l positions apart, a penalty
ψ2 (l) is incurred, which is decreasing in l.

• If job j is completed after its due date, a weighted tardiness penalty is incurred. The
objective is to minimize the total cost, including the setup costs, spacing costs and
tardiness costs.

Assume that there are 10 jobs as follows


Each job has unit processing time. Job j has two parameters aj1 and aj2 .

Jobs 1 2 3 4 5 6 7 8 9 10
aj1 1 1 1 3 3 3 5 5 5 5
aj2 0 1 1 0 1 1 1 0 0 0
dj ∞ 2 ∞ ∞ ∞ ∞ 6 ∞ ∞ ∞
wj 0 4 0 0 0 0 4 0 0 0

If two consecutive jobs j and k have aj1 6= ak1 , then a setup cost cjk = |aj1 − ak1 | is incurred.
If two jobs j and k have aj2 = ak2 = 1 and they are spaced l positions apart (i.e., there are
l − 1 jobs scheduled in between) a penalty cost ψ2 (l) = max(3 − l, 0) is incurred.
Some jobs have due dates. If job j, with due date dj , is completed after its due date, a
penalty wj Tj is incurred.
From the data it is clear that there are three groups with regard to the operation with setup
costs (e.g., there may be three colors: color 1, color 3, and color 5). The objective is to find
the sequence with the minimum total cost
There are three groups: Group A consists of jobs 1, 2, and 3, group B consists of jobs 4, 5,
and 6, and group C consists of jobs 7, 8, 9, and 10. The best order with regard to setup
costs would be A,B,C. However, group C contains a job with due date 6 that would not
be completed in time if the groups are ordered that way. Since the tardiness penalty is
somewhat high, it may be better to order the groups A,C,B, because in this way job 7 can
be completed in time. So the result of the third phase of the GS heuristic is that the groups
are ordered in the sequence A,C,B.
The last phase of the GS heuristic considers the capacity constrained operations which are

06: Scheduling of Flexible Assembly Systems


Page 8
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

embodied in attribute 2 of this model. The jobs with attribute 2 equal to 1 have to be
spaced out as much as possible. It can be verified that the following sequence minimizes the
penalties with regard to the capacity constrained operation: Group A in the order 2, 1, 3,
followed by Group C in the order 8,7,9,10, and Group B in the order 5,4,6. The sequence
of attribute 2 values is then 1, 0, 1, 0, 1, 0, 0, 1, 0, 1. The total cost with regards to the
capacity constrained operation is 3.
Thus, the total cost associated with this sequence is 6 + 3 = 9 (6 because of setup cost and
3 because of the capacity constrained operation).

4 Scheduling of Flexible Flow Systems with Bypass

Figure 2: Flexible Flow Line With ByPass

The Flexible Flow Line Loading (FFLL) algorithm

1. The machine allocation phase.

2. The sequencing phase.

3. The release timing phase.

Machine Allocation Phase

• Machine allocation phase assigns each job to a particular machine in each bank of
machines.

• In order to obtain nearly balanced workloads for the machines at a bank, the Longest
Processing Time first (LPT) heuristic is used.

• In this heuristic all the jobs are, for the time being, assumed to be available at the
same time and are allocated one at a time to the next available machine in decreasing
order of their processing times

Sequencing Phase

06: Scheduling of Flexible Assembly Systems


Page 9
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

• Determines the order in which the jobs of the MPS are released into the system

• The FFLL algorithm uses a so-called Dynamic Balancing heuristic for sequencing an
MPS.

• This heuristic is based on the intuition that jobs tend to queue up in the buffer of a
machine when a large workload is sent to that machine in a short period of time.

• This occurs when there is an interval in the loading sequence that contains many jobs
with long processing times allocated to one machine.

Let n be the number of jobs in an MPS and m the number of machines in the entire system.
Let pij denote the processing time of job j on machine i. Note that pij = 0 for all but one
machine in a bank.
Pn
Let Wi denote the workload in an MPS that is assigned to machine i: Wi = j=1 pij
Let W denote the total workload of an MPS W = m
P
i=1 Wi
Let Jk denote the set of jobs loaded into the system up to and including job k
Let αik represent the fraction of the total workload of machine i that has entered the system
by the time job k is loaded
X pij
αik =
j∈J
Wi
k

The Dynamic Balancing procedure attempts to keep the α1k , α2k , ..., αmk as close to one
another as possible, i.e., as close to an ideal target αk∗ , that is defined as
X pj
αk∗ =
j∈J
W
k

where m
X
pj = pij
j=1

Let oik denote a measure of overload at machine i due to job k entering the system, defined
as
Wi
oik = pik − pk
W
Let Oik denote the cumulative overload on machine i due to jobs in the sequence up to and
including job k !
X X
Oik = oij = pij − αk∗ Wi
j∈Jk j∈Jk

The Dynamic Balancing heuristic attempts to minimize


n X
X m
max (Oik , 0)
k=1 i=1

06: Scheduling of Flexible Assembly Systems


Page 10
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

The release time


Assume that the starting and completion times at the bottleneck machine are fixed.

• First, consider the machines that are upstream of the bottleneck machine and delay the
processing of all jobs on each of these machines, as much as possible, without altering
the job sequences.

• The delays are thus determined by the starting times at the bottle neck machine.

• Second, consider the machines that are positioned downstream from the bottleneck
machine. Process all jobs on these machines as early as possible, again without altering
job sequences.

• These modifications in release times tend to reduce the number of jobs waiting for
processing, thus reducing required buffer space.

4.1 Example

Consider a flexible flow shop with three stages. At stages 1 and 3 there are two machines in
parallel. At stage 2, there is a single machine. There are five jobs in an MPS. Let p0hj denote
the processing time of job j at stage h, h = 1, 2, 3.

Jobs 1 2 3 4 5
p01j 6 3 1 3 5
p02j 3 2 1 3 2
p03j 4 5 6 3 4

4.1.1 Machine Allocation Phase

Name 2 machines at stage 1 as: machine 1, and machine 2.


Name the machine at stage 2 as: machine 3
Name 2 machines at stage 3 as: machine 4 and machine 5
Using Longest Processing Time first
Stage 1
Job 1 → machine 1. The finishing time of machine 1 is 6
Job 5 → machine 2. The finishing time of machine 1 is 5
Job 2→ machine 2. The finishing time of machine 2 is 5+3=8
Job 4→ machine 1. The finishing time of machine 1 is 6+3=9
Job 3→ machine 2. The finishing time of machine 1 is 8+1=9
Machine 1: 1,4

06: Scheduling of Flexible Assembly Systems


Page 11
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Machine 2: 5,2,3
Stage 2
Machine 3: 1,2,3,4,5
Stage 3
Job 3 → machine 4. The finishing time of machine 1 is 6
Job 2 → machine 5. The finishing time of machine 1 is 5
Job 1 → machine 5. The finishing time of machine 2 is 5+4=9
Job 5 → machine 4. The finishing time of machine 1 is 6+4=10
Job 4 → machine 5. The finishing time of machine 1 is 9+3=12
Machine 4: 3,5
Machine 5: 1,2,4

4.1.2 Sequencing Phase

pij denotes the processing time of job j on machine i.


Wi be the workload of machine i
pj workload imposed on the entire system due to job j
oik denote a measure of overload at machine i due to job k entering the system The workload

Jobs 1 2 3 4 5 Wj
Machine 1 p1j 6 0 0 3 0 9
Machine 2 p2j 0 3 1 0 5 9
Machine 3 p3j 3 2 1 3 2 11
Machine 4 p4j 4 5 0 3 0 12
Machine 5 p5i 0 0 6 0 4 10
Pj 13 10 8 9 11

vector Wi is (9, 9, 11, 12, 10) and the entire workload W is 51.The pj vector is (13, 10, 8, 9, 11).
Based on these numbers, all values of oik can be determined, e.g.,

o11 = 6 − 13 × 9/51 = +3.71


o21 = 0 − 13 × 9/51 = −2.29
o31 = 3 − 13 × 11/51 = +0.20
o41 = 4 − 13 × 12/51 = +0.94
o51 = 0 − 13 × 10/51 = −2.55

06: Scheduling of Flexible Assembly Systems


Page 12
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Computing the entire oik matrix yields:


 
+3.71 −1.76 −1.41 +1.41 −1.94
−2.29 +1.23 −0.41 −1.59 +3.06
 
 
+0.20 −0.16 −0.73 +1.06 −0.37
 
+0.94 +2.64 −1.88 +0.88 −2.59
 
 
−2.55 −1.96 +4.43 −1.76 +1.84

Since the Dynamic Balancing heuristic attempts to minimize


n X
X m
max (Oik , 0)
k=1 i=1

Rewrite the above matrix


 
+3.71 0 0 +1.41 0
 0 +1.23 0 0
+3.06
 
 
+0.20 0 0 +1.06 0 
 
+0.94 +2.64 0 +0.88 0 
 

0 0 +4.43 0 +1.84

Since the vector of job 4 :(1.41, 0, 1.06, 0.88, 0) has the sum is smallest 3.35
Job 4 is at the 1st position in the sequence. Now job 4 is already scheduled, oik is updated.
Iteration 2
The load αik at each machine is updated through by add the processing pik

Jobs 1 2 3 5
Machine 1 p1j 9 3 3 3
Machine 2 p2j 0 3 1 5
Machine 3 p3j 6 5 4 5
Machine 4 p4j 7 8 3 3
Machine 5 p5i 0 0 6 4
Pj 22 19 17 20

Based on these numbers, all values of oik can be determined, e.g.,

o11 = 9 − 22 × 9/51 = +5.11


o21 = 0 − 22 × 9/51 = −3.88
o31 = 6 − 22 × 11/51 = +1.26
o41 = 7 − 22 × 12/51 = +1.82
o51 = 0 − 22 × 10/51 = −4.13

06: Scheduling of Flexible Assembly Systems


Page 13
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Computing the entire oik matrix yields:


 
+5.11 −0.35 0 −0.53
−3.88 −0.35 −2.00 +1.47
 
 
+1.25 +0.90 +0.33 +0.69
 
+1.82 +3.53 −1.00 −1.71
 

−4.31 −3.73 +2.67 +0.08

Since the Dynamic Balancing heuristic attempts to minimize


n X
X m
max (Oik , 0)
k=1 i=1

Rewrite the above matrix


 
+5.11 0 0 0
 0 0 0 +1.47
 
 
+1.25 +0.90 +0.33 +0.69
 
+1.82 +3.53 0 0 
 

0 0 +2.67 +0.08

Since the vector of job 5 :(0, +1.47, +0.69, 0, +0.08) has the sum is smallest 2.23
Job 5 is at the 2nd position in the sequence. Now job 5 is already scheduled, oik is updated.
Iteration 3
Job schedule : 4 → 5
The load αik at each machine is updated through by add the processing pik of job 5

Jobs 1 2 3
Machine 1 p1j 9 3 3
Machine 2 p2j 5 8 6
Machine 3 p3j 8 7 6
Machine 4 p4j 7 8 3
Machine 5 p5i 4 4 10
Pj 33 30 28

Based on these numbers, all values of oik can be determined, e.g.,

o11 = 9 − 33 × 9/51 = +3.18


o21 = 5 − 33 × 9/51 = −0.82
o31 = 8 − 33 × 11/51 = +0.88
o41 = 7 − 33 × 12/51 = −0.76
o51 = 4 − 3 × 10/51 = −2.47

06: Scheduling of Flexible Assembly Systems


Page 14
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Computing the entire oik matrix yields:


 
+3.18 −2.29 −1.94
−0.82 +2.71 1.06 
 
 
+0.88 +0.53 −0.04
 
−0.76 +0.94 −3.59
 
 
−2.47 −1.88 +4.51

Since the Dynamic Balancing heuristic attempts to minimize


n X
X m
max (Oik , 0)
k=1 i=1

Rewrite the above matrix  


+3.18 0 0
 0 +2.71 1.06 
 
 
+0.88 +0.53 0 
 
 0 +0.94 0 
 

0 0 +4.51
Since the vector of job 1 :(+3.18, 0, +0.88, 0, 0) has the sum is smallest 4.06
Job 1 is at the 3rd position in the sequence. Now job 1 is already scheduled, oik is updated.
Iteration 4
Job schedule: 4 → 5 → 1
The load αik at each machine is updated through by add the processing pik of job 1
Based on these numbers, all values of oik can be determined, e.g.,

Jobs 2 3
Machine 1 p1j 9 9
Machine 2 p2j 8 6
Machine 3 p3j 10 9
Machine 4 p4j 12 7
Machine 5 p5i 4 10
Pj 43 41

o11 = 9 − 43 × 9/51 = +1.41


o21 = 8 − 43 × 9/51 = +0.41
o31 = 10 − 43 × 11/51 = +0.72
o41 = 12 − 43 × 12/51 = +1.88
o51 = 4 − 43 × 10/51 = −4.43

06: Scheduling of Flexible Assembly Systems


Page 15
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Computing the entire oik matrix yields:


 
+1.41 +1.76
+0.41 −1.23
 
 
+0.72 +0.16
 
+1.88 −2.64
 

−4.43 +1.96

Since the Dynamic Balancing heuristic attempts to minimize


n X
X m
max (Oik , 0)
k=1 i=1

Rewrite the above matrix  


+1.41 +1.76
+0.41 0 
 
 
+0.72 +0.16
 
+1.88 0 
 

0 +1.96
Since the vector of job 3 :(+1.76, 0, +0.16, 0, +1.96) has the sum is smallest 3.88
Job 3 is at the 4th position in the sequence. Now job 4 is already scheduled, oik is updated.
The final job is job 2 at position 5th.
The final schedule is 4 → 5 → 1 → 3 → 2

5 Mixed Model Assembly Sequencing at Toyota

Among the major car manufacturers Toyota has been always one of the more innovative ones
as far as manufacturing and assembly is concerned. Toyota operates according to the Just
In Time (JIT) principle. To make the JIT operation run smoothly, it is important that the
consumption rates of all the parts at each station are kept as regular as possible. Toyota’s
most important goal in the operation of its mixed model assembly lines is to keep the rates
of consumption of all parts more or less constant. In other words, the quantity of each part
used per hour must be maintained as regular as possible.
Annotation

• N denotes the total number of cars to be sequenced.

• l denote the number of different models


Pl
• Nj , j = 1...l be the number of model type i and N = i=1 Ni

06: Scheduling of Flexible Assembly Systems


Page 16
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

• ν denote the number of different types of parts needed by all workstations for the
assembly of the N cars

• bij , i = 1, ..., ν, j = 1, ..., l, denote the number of parts of type i needed for the assembly
of one unit of model j.

• Ri denote the total number of parts of type i required for the assembly of all N cars

• Xk be the vector of the total number of part needed in the assembly of the first k units
in the sequence.

• xik the total number of parts of type i needed in the assembly of the first k units in
the sequence.

• Xk = (x1k , x2k , ..., xνk )T


Ri
• N
the average number of part i required for the assembly of a car
kRi
• N
the average number of part i required for the assembly of k cars

To keep the rate of consumption of part i as regular as possible, the variable xik should be
kRi
as close as possible to the value N
. In other words, the difference between the two vectors
must be as small as possible  
kR1 kR2 kRν
, , ...,
N N N
and
(x1k , x2k , ..., xνk )

The first vector plays the role of the target or goal, while the second vector represents the
actual numbers of parts needed for the assembly of the first k units in the given sequence.
v
u ν  2
uX kRi
∆k = t − xik
i=1
N

The model j is selected to put to the k + 1 position if it creates


 the minimum difference
(k+1)R1 (k+1)R2 (k+1)Rν
between the new vector Xk+1 and N
, N , ..., N
Vector Xk+1 if the job j is added into the sequence is given by

Xk+1 = Xk + (b1j , b2j , ..., bνj )T

6 Assigment

Q1 Consider the model with 4 machines and an MPS of 4 jobs. (a) Apply the unweighted

06: Scheduling of Flexible Assembly Systems


Page 17
Ho Chi Minh City International University Scheduling
Industrial Systems Engineering Department Lecturer: Phan Nguyen Ky Phuc

Job 1 2 3 4
p1j 6 4 6 8
p2j 2 10 4 6
p3j 4 8 0 2
p4j 8 2 6 6

PF heuristic to find a cyclic schedule. Choose job 1 as the initial job and compute the MPS
cycle time.
(b) Apply again the unweighted PF heuristic. Choose job 2 as the initial job and compute
the MPS cycle time.
(c) Find the optimal schedule.
Q2 Consider the same problem as in the previous exercise.
(a) Apply a weighted PF heuristic to find a cyclic schedule. Choose the weights associated
with machines 1, 2, 3, 4 as 2, 2, 1, 2, respectively. Select job 1 as the initial job.
(b) Apply again a weighted PF heuristic but now with weights 3,3,1,3. Select again job 1 as
the initial job. (c) Repeat again (a) and (b) but select job 2 as the initial job.
(d) Compare the impact of the weights on the heuristic’s performance with the impact of
the selection of the first job on the performance.

06: Scheduling of Flexible Assembly Systems


Page 18

You might also like