• 沒有找到結果。

具實用性及交期導向之IC封裝廠排程演算法則之設計與應用

N/A
N/A
Protected

Academic year: 2021

Share "具實用性及交期導向之IC封裝廠排程演算法則之設計與應用"

Copied!
11
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會補助專題研究計畫成果報告

※※※※※※※※※※※※※※※※※※※※※※※※※

※ 具實用性及交期導向之 IC 封裝廠排程演算法則 ※

※ 之設計與應用 ※

※※※※※※※※※※※※※※※※※※※※※※※※※

計畫類別:R個別型計畫 □整合型計畫

計畫編號:NSC 90-2218-E-009-019-

執行期間:90 年 08 月 01 日至 91 年 07 月 31 日

計畫主持人:彭文理教授

計畫共同主持人:鍾淑馨教授

計畫參與人員: 鄭博化

羅湘君

莊佳蒨

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□ 赴大陸地區出差或研習心得報告一份

□ 出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

執行單位:國立交通大學工業工程管理學系

九十一

十八

(2)

行政院國家科學委員會專題研究計畫成果報告

計畫編號:NSC

90-2218-E-009-19-執行期限:90 年 08 月 01 日至 91 年 07 月 31 日

主持人:彭文理 交通大學工業工程與管理系

共同主持人:鍾淑馨 交通大學工業工程與管理系

計畫參與人員:鄭博化 羅湘君 莊佳蒨 交通大學工業工程與管理系

1. Backgr ound and Motivation

The major four sections for the IC manufacturing include the wafer fabrication, the wafer probing (wafer sorting), the IC packaging, and the final testing. And on time delivery is the major objective of IC packaging factories. Due to the high cost of the manufacturing by using the ceramic process, most of the IC packaging factories use plastic packaging. The manufacturing process of plastic packaging generally contains the following eleven process stages, (1) tapping, (2) lapping (wafer back grinding), (3) die sawing, (4) die bonding, (5) wire bonding, (6) molding, (7) marking, (8) plating, (9) de-flash and trimming, (10) forming, and (11) final testing (Manzione (1990)).

In the IC packaging factory, a group of machines are arranged in parallel at each stage of the process, and jobs in hundreds of product types are to be processed. The processing times of each job at different process stage may not be the same but predetermined. Each job must be processed on any of the parallel machines at each process stage. Therefore, the manufacturing system in the IC packaging factory can be considered as a flexible flow shop. The IC packaging scheduling problem (ICPSP) we investigate is a variation of the flexible

flow-shop problem, and a generalization of the parallel-machine scheduling problem.

In real situations, the ICPSP involves constraints on job clusters, job-cluster dependent processing time, due dates, machine capacity, and sequentially dependent setup time at each of the multiple process stages. Therefore, the ICPSP is considerably more difficult to solve than the classical

parallel-machine scheduling problem

investigated by Ho and Chang (1995), Gabrel (1995), Schutten and Leussink (1996), Cheng and Gen (1997), Ruiz-Torres et al. (1997), Park and Kim (1997), and Lee and Pinedo (1997). The development of an efficient scheduling system is essential in the IC packaging industry, as it improves the efficiency of the production with dynamic orders, and tight due dates restrictions.

2. Pur pose

In the research, we formulate the ICPSP as an IP problem to minimize the total machine workload. The IP model considers the due date restrictions, which includes the processing time and the setup time in the capacity constraints, thus reflects the real situations more accurately than those considered by Salvador (1973), Arthanari (1974), Wittrock (1988), and Sriskandarajah and Sethi (1989). In addition, we propose two efficient solution procedures to solve the

(3)

ICPSP approximately, with efficient job schedules that minimize the total machine

workload. For most factories, wafer sawing

(die sawing), die mounting, and wire bonding are three most critical manufacturing stages among all, and the machine numbers at those stages are enormous. Scheduling those machines under the production environment with many factors mentioned above, has become a rather difficult task for the IC packaging factories. For most cases, the due dates for the jobs are usually settled between the customers and the factories. Therefore, some tardiness (lateness) must be considered to ensure the job completion of the orders. Minimizing the total workload allows the process to fully utilize the system

capacity, thus increases the overall

productions.

3. Researching Theor y 3.1 Fr amewor k

First, let the manufacturing environment consists of a set of processing stages, and all jobs must be processed through the P stages and completes the necessary operations

within every stage. We also define Mp =

{m ,p1 m , ...,p2 mpK} as the machine group at

the p-th stage and containing a set of KP

identical machines. We note that the cluster R0 includes J0 = J01 + J 02 + ⋅⋅⋅ + J 0P jobs in

each process stage. Because the cluster R0

is to denote the idle status of the Kp parallel

machines of each stage, the number of the

cluster R0 in each stage are equal to the

number of the parallel machines in each stage. Let Wp = {Wp1, Wp2, ... , WpK} be the

predetermined machine capacity at the p-th stage expressed in terms of processing time

units. And then, we define R = {R0, R1,

R2, ... , RI} as the I + 1 clusters of jobs to be

processed with each job cluster Ri = {rij | j =

1, 2, ... , Ji} containing Ji jobs. Since each job

rij must be processed through a set of

manufacturing process consists of p-stage, rij

= {rijp | p = 1, 2, P} denote the job rijp

processed on the p-th stage. Let nij be the

lot size (number of dies) of job rij.

pip : the unit processing time for each die for

each job rijp in cluster Ri (rijp ∈ Ri) on

machine m , pk

p ii'

s : the sequentially dependent setup time

between any two consecutive jobs rijp (∈Ri)

and ri'j'p (∈Ri') from different job clusters

on each machine m .pk

xijpk : the variable indicating whether the job

rijp is scheduled on machine m of the p-thpk

stage, with xijpk = 1 if job rijp is scheduled to

be processed on machine m of the p-thpk

stage, and xijpk = 0 otherwise.

tijpk : the starting time for job rijp to be

processed on machine m of the p-th stage,pk

where tijpkis between the time windows (bij1,

eijP) of job rij.

(bij1, eijP) : the service time windows,

bij1 : the earliest starting time to process job

rij1 of the first process

eijP : the latest starting time to process job rijP

of the last process. eijP =dij nijpiP.

Let yiji'j'pk be the precedence variable,

whereyiji'j'pk should be set to 1 if the two

jobs rijp and ri'j'p are scheduled on machine pk

m and job rijp precedes job ri'j'p (not

(4)

otherwise. Further, let ziji'j'pk be the

direct-precedence variable, where ziji'j'pk

should be set to 1 if the two jobs rijp and ri'j'p

scheduled on machine mpk and job rijp

precedes job ri'j'p directly, and where

pk j i ij

z ' ' = 0 otherwise.

3.2 Integer Progr amming For mulation To find a schedule for the jobs which minimizes the total machine workload without violating the machine capacity and the service time windows constraints, we consider the following integer programming model shown by Table 1.

3.3 Multi-Stage Sequential Savings Algor ithm

The MSSS algorithm for the ICPSP is essentially based on the well-known savings procedure of Clark and Wright (1964) for the

vehicle routing problem, with some

modifications. Each process stage, therefore, can be treated as a parallel-machine scheduling problem. Consequently, one solution strategy we may take is to solve

each single-stage ICPSP problem

sequentially to obtain the stage solutions, then combine them into a complete ICPSP solution.

The MSSS algorithm is

proceeding as follows.

First,

apply

the

sequential-savings

procedure

to

obtain

stage 1 solution. We

then

use

the

job

completion

times

obtained from stage 1

solution as the ready

times b

ijp

for the jobs to

be processed at stage 2,

and solve the ICPSP for

stage 2. Repeat this

step until we obtain all

the P stage solutions.

All the P stage solutions,

are then combined to

form a complete ICPSP

solution. Variations of

the MSSS algorithm

may be considered by

setting

various

due

dates for each stage

sequentially, then solve

for the resulting single

stage

ICPSP

to

generating

multiple

solutions. The best

among all combined

solutions

then

is

selected as the solution

for the ICPSP.

The Sequential-Savings

algorithm,

initially,

calculates the savings of

all pairs of jobs and

creates a list by sorting

the

savings

in

(5)

descending order of

their magnitudes. The

algorithm then selects

the first feasible pair of

jobs from the top of the

list to start a new

schedule (initialization

of the first schedule).

We note that a selected

pair of jobs is feasible

and will be added to the

machine schedule if it

does not violate the

machine

capacity

constraints

and

the

starting time windows

constraints. Starting

from the top of the

savings

list,

the

Sequential-Savings

algorithm expands the

schedule by finding the

first feasible pair of jobs

on the list then adding it

to either one of the two

ends of the schedule.

If the current schedule

cannot be expanded,

choose the first feasible

pair of jobs from the top

of the list to start

another new schedule.

Repeat such steps until

all jobs are scheduled.

The savings,

SAij i'j'p

,

which we considered in

the MSSS algorithm is

defined

as

p i i p i ip p j ij i' ' s s ' s ' SA = U + U -

,

for all pairs of jobs

rijp

and

r i'j'p

, where

sii'p

represents the setup

time between any two

consecutive

jobs

)

( i

ijp R

r

and

r i'j'p (∈Ri')

from

different

job

clusters

on

each

machine

mkp

,

the

notation U denotes the

machine is in idle status,

and

sUip

(

sUi'p

)

represents the setup

time to prepare an idle

machine to process job

) ( ijp

ijp r' '

r

. We write a

C

++

program to proceed

with the steps of the

(6)

Sequential-Savings

algorithm. Considering

the short run time it

takes, and the single

solution obtained, the

MSSS algorithm can

effectively

solve

large-scale ICPSP, and

is considered efficient.

3.4 Multi-Stage Par allel Inser tion Algor ithm

The multi-stage parallel-insertion

algorithm (MSPI) can effectively handle large-scale problems. The MSPI algorithm for the ICPSP is essentially based on the parallel-insertion procedure presented by Potvin and Rousseau’s (1993) for the vehicle routing problem with time windows, with some modifications. Note that the IC packaging process consists of multiple manufacturing stages, each process stage therefore can be treated as a parallel-machine scheduling problem. Consequently, one solution strategy we may take is to solve

each single-stage ICPSP problem

sequentially to obtain the stage solutions, then combine them into a complete ICPSP solution.

The MSPI algorithm is

proceeding as follows.

First,

apply

the

parallel-insertion

procedure

to

obtain

stage 1 solution. We

then

use

the

job

completion

times

obtained from stage 1

solution as the ready

times b

ijp

for the jobs to

be processed at stage 2,

and solve the ICPSP for

stage 2. Repeat this

step until we obtain

solutions for all K

stages. All K stage

solutions,

are

then

combined to form a

complete

ICPSP

solution. Variations of

the MSPI algorithm

may be considered by

setting various possible

due dates for each stage

sequentially, then solve

for the resulting single

stage

ICPSP

to

generating

multiple

solutions. The best

among all combined

solutions

then

is

selected as the solution

for the ICPSP.

At the initialization step,

the

parallel-insertion

procedure constructs a

(7)

set

of

machine

schedules

simultaneously.

The

procedure

uses

a

generalized

regret

measure

over

all

schedules to select the

best unscheduled job,

which can foresee the

difficulty of inserting

jobs

into

machine

schedules. Let PS

pk

be

the partial schedule of

machine

mpk

at

process stage p, where

) u , ... , u , u , ... , (u PSpk = pk0 pk(n−1) pkn pkL P 1,..., p , K ..., 1, k 0, u upk0 = pkL = = p =

where u

pkn

is the n-th

job

scheduled

on

machine

mpk

at the

process stage p, and u

pk0

and

u

pkL

represent

pseudo jobs. For each

unscheduled

job

r

ijp

assigned to machine

pk

m

, we first compute

its insertion cost on

each position of the

partial schedule of each

machine at the process

stage p.

At process stage p,

) u , r , (u ëpk pk(n−1) ijp pkn

represents

the

additional setup time

occurred if job r

ijp

is

inserted between the (n

- 1)th and n-th positions

of the partial schedule

PS

pk

. In some cases,

job insertion may cause

the postponement of

starting processing time

of jobs already on the

partial schedule. If the

postponement is against

the starting service time

windows

constraint,

) u , r , (u ëpk pk(n−1) ijp pkn

is

set to be an arbitrary

large value.

) u , r , (upk(n 1) ijp pkn pk − ë

=

p ) I(u ) I(u p ) iI(u p i ) I(upk(n 1) s pkn s pk(n 1) pkn s + −

where u

pk(n-1)

and u

pkn

(8)

jobs on partial schedule

PS

pk

before job r

ijp

is

inserted, I(u

pkn

) is the

function that returns the

product type of the job

being scheduled on the

n-th position of partial

schedule PS

pk

.

Let

) u , r , (u ë*pk pk(n*1) ijp pkn*

d

enote

the

lowest

insertion cost due to the

insertion of job r

ijp

into

the

partial

schedule

PS

pk

.

)] u , r , (u [ min ) u , r , (u pk pk(n1) ijp pkn l 1,..., n * pkn ijp 1) * pk(n pk * − = − = ë ë

However, we may not

choose next inserted job

r

ijp

with

lowest

) (r

ë*pk ijp

,

since

insertion problem may

occur for jobs with

larger insertion cost.

To quantify the future

insertion difficulties for

a job on each machine,

the generalized regret

measure

σ

(r

ijp

) of job r

ijp

is defined. The regret

measure looks ahead

what can be lost later, if

a given job is not

immediately

inserted

into its best alternative

machine at the process

stage

p,

which

summaries

the

differences of insertion

cost between the best

alternative machine and

all

other

alternative

machines.

Hence,

unscheduled jobs with

larger regret value must

be inserted in higher

priority, since these

jobs are more difficult

to find feasible insertion

position

among

all

machines.

In

the

parallel

insertion

algorithm, instead of

using

ë*pk(rijp)

, the

candidate inserted job

* ijp

r

is selected with

largest

regret

value

σ

(r

ijp

).

)] (r [ max ) (r ijp r * ijp ijp σ = ó ∑ = σ ≠ ' − − * ' ' * * pk pk pk ijp 1) (n pk pk * pkn ijp 1) pk(n pk * ijp) [ (u ,r ,u )- (u ,r ,u )] (r ë ë

(9)

where

)] u , r , (u [ë min ) u , r , (u ë *pk pk(n*1) ijp pkn* p K 1,..., k * n ' pk ijp 1) * (n ' pk ' pk * − = − =

and

insert

* ijp r

between

upk'(n*1)

and

* n ' pk u

. At each process

stage, the steps of

algorithm are described

in the following:

(Step 1) At each process stage, obtain

the partial schedules for all machines

using the largest criterion to select a

jobs r

ijp

, which causes an idle

machine

mpk

to spend the largest setup

time to prepare for the processing of

job r

ijp

.

(Step 2) The following three sub-steps

are

proceeded

to

execute

the

scheduling procedures until all the jobs

are scheduled.

(a) For each unscheduled lot, first

compute its best feasible insertion

position by

ë*pk (upk(n*1),rijp,upkn*)

at

each machine’s partial schedule

PS

pk

.

(b) Compute the regret value

σ

(r

ijp

) for

each job. Choose the next inserted

job

*

ijp

r

with largest

σ

(r

ijp

) among

all unscheduled jobs.

(c) The best lot

*

ijp

r

is inserted into the

lowest insertion cost position of the

machine determined by

ë (r* )

ijp pk

*

.

We

implement

the

MSPI algorithm using

the C

++

programming

language to execute the

Parallel-Insertion

procedure at each of the

P stages.

4. Achievements

In this study, we formulated ICPSP as an integer programming model the presented an efficient solution procedure, called the Multi-Stage Parallel Insertion algorithm, to solve the ICPSP case, which minimizes the total machine workload.

Major achievements:

1. Develop the integer programming model for the ICPSP with the total machine workload minimized. And write C++ programming language code to generate the IP model.

2. Use integer programming software

(Cplex) to illustrate the applicability of the linear integer programming model, and derive the optimal solution for ICPSP. Transfer the ICPSP the ICPSP into

vehicle routing problem with

time-window(VRPTW)network problem. 3. Develop multi-stage sequential savings

algorithm (MSSS) to solve the ICPSP approximately and effectively handle large-scale problems.

4. Develop multi-stage parallel-insertion algorithm (MSPI) to solve the ICPSP approximately and effectively handle large-scale problems.

(10)

References

[1] Arthanari, T. S. (1974). On some

problems of sequencing and grouping. PhD thesis, Indian Statistical Institute, Calcutta.

[2] Cheng, R. and Gen, M. (1997). Parallel machine scheduling problem using memetic algorithms. Computers and Industrial Engineering, 33(3-4), 761-764.

[3] Gabrel, V. (1995). Scheduling jobs within time windows on identical parallel machines: new model and

algorithms. European Journal of

Operational Research, 83, 320-329.

[4] Ho, J. C. and Chang, Y. L. (1995). Minimizing the number of tardy jobs for m parallel machines. European Journal of Operational Research, 84, 343-355. [5] Lee, Y. H. and Pinedo, M. (1997).

Scheduling jobs on parallel machines with sequence-dependent setup times.

European Journal of Operational

Research, 100, 464-474.

[6] Manzione, L. T. (1990). Plastic

Packaging of Microelectronic Devices.

Technical Report, AT&T Bell

Laboratories.

[7] Ovacik, I. M. and Uzsoy, R. (1996). Decomposition methods for scheduling semiconductor testing facilities. The

International Journal of Flexible

Manufacturing Systems, 8, 357-388. [8] Park, M. W. and Kim, Y. D. (1997).

Search heuristics for a parallel machine scheduling problem with ready time and due dates. Computers and Industrial Engineering, 33(3-4), 793-796.

[9] Potvin, J. Y. and Rousseau, J. M. (1993). A Parallel route building algorithm for the vehicle routing and scheduling problem with time windows. European Journal of Operational Research, 66, 19-26.

[10] Salvador, M. S. (1973). A solution of a special class of flow-shop scheduling

problems. Proceedings of the

Symposium on the Theory of

Scheduling and its Applications, 83-91, Springer-Verlag, Berlin.

[11] Schutten, J. M. J. and Leussink, R. A. M. (1996). Parallel machine scheduling with release dates, due dates and family setup times. International Journal of Production Economics, 46-47, 119-125. [12] Sriskandarajah, C. and Sethi, S. P.

(1989). Scheduling algorithms for

flexible flowshop: worst and average case performance. European Journal of Operational Research, 43, 143-160. [13] Wittrock, R. J. (1988). An adaptable

scheduling algorithm for flexible flow lines. Operations Research, 36, 445-453.

(11)

Table 1 The IP model for ICPSP minimize ∑ ∑ ∑ ∑ + ∑ ∑ ∑ ∑ = = = = = = = = L } ) ( { 1 0 1 0 1 ' 0 1 ' ' ' ' l K 1 k I i J j I i J j iip I i J j ijijpk ip ij ijpk i i ' i s z p n x subject to ∑ = = p K k ijpk p j i x 1 , , all for 1, (1) ∑ = = 0 1 0 J j jpk p,k x 1, for all (2) p,k s z p n x pk I i J j I i J j iip I i J j ijijpk ip ij ijpk i i ' i all for , W ) ( ≤ ∑ ∑ + ∑ ∑ ∑ ∑ = =0 1 = =0 1 '=0 =1 ' ' ' ' (3) all for 1, 2) ( Q ) ( y y x x - i, j, p,k pk j i ijpk p ijpk j i pk j i ij ' ' + ' ' − + ' ' ≥ (4) , all for 1, 2) ( Q ) (yiji'j'pk +yi'j'ijpk + p xijpk+xi'j'pk-i j, p,k (5) j, p,k i x x y

yijijpk ij ijpk ) Qp( ijpk i jpk ) 0, for all ,

( ' ' + ' ' − + ' ' ≤ (6) all for 0, 1) ( Q ) ( yiji'j'pk +yi'j'ijpkp xi'j'pkxijpk+ ≤ i, j, p,k (7) j, p,k i x x y y pk j i ijpk p ijpk j i pk j i ij ) Q ( 1) 0, for all , ( ' ' + ' ' − − ' ' + ≤ (8) p,k j i z yiji'j'pkiji'j'pk , for all , , (9) i,j,p,k z I i J j ijijpk i all for 1, ≤ ∑ ∑ =1 =1 ' ' ' ' (10) i,j,p,k z I i J j ijijpk i all for 1, ≤ ∑ ∑ =1 =1 ' ' ' ' (11) p,k z x I i J j ijpk r r ijijpk i j i ij all for 1, = ∑ ∑ − ∑ = =0 1 ≠ '' ' ' (12) k p j i y t s p n

tijpk+ ij ip+ ii'pi'j'pk+Qp( iji'j'pk-1)≤0, for all , , , (13) k p j i -z y t s p n

tijpk+ ij ip+ ii'pi'j'pk+Qp( iji'j'pk+ iji'j'pk 2)≤0, for all , , , (14) k p j i ,...,P , p -z y t p n

ti'j'(p1)k'+ i'j' i'(p1) i'j'pk+Qp( iji'j'pk+ iji'j'pk2)≤0, for =23 and all , , , (15) k p j i -z -y -z y -z y pk j i ij pk j i ij p pk j i ij pk j i ij p pk j iji pk j i ij** + ** Q ( * * + ** 2)Q ( ' ' ' ' 1)≥2,for all , , , (16) , all and 1, ..., 2, 1, and 1,2,..., for ), 1 G2 1 G1 -x -x i I p P- jk t x p n

tijpk+ ij ip ijpkij(p+1)k' + p( ijpk)+ p( ij(p+1)k' = = (17)

∑ ∑ = = = = P p K k ijpk j I i P x p 1 1 all and 1,2,..., for , (18) k p j i x b

tijpkij1 ijpk, for all , , , (19)

k p j, i x e

tijpk ijP ijpk, for all , , (20)

j, p,k i

xijpk{0,1}, forall , (21)

p,k j i yiji'j'pk{0,1}, forall , , (22) p,k j i ziji'j'pk{0,1}, forall , , (23)

數據

Table 1 The IP model for ICPSP minimize      ∑ ∑ ∑ ∑ + ∑ ∑ ∑ ∑ = = = = = = = =L{( ) }10101'01''''lK1kIiJjIiJjiipIiJjijijpkipijijpkii'izspnx subject to ∑ = =K pk ijpk pjix1,,  all   for    1, (1) ∑ = = 0 1 0Jj jpk p,kx1,    for   all     (2) p,ksz pnx pkI i

參考文獻

相關文件

Conventional TED: Selected Area diffraction (SAD): requires the Selected Area diffraction (SAD): requires the insertion of an aperture in the image plane of objective. insertion of

In this paper, we evaluate whether adaptive penalty selection procedure proposed in Shen and Ye (2002) leads to a consistent model selector or just reduce the overfitting of

[r]

[r]

Although we have obtained the global and superlinear convergence properties of Algorithm 3.1 under mild conditions, this does not mean that Algorithm 3.1 is practi- cally efficient,

微算機原理與應用 第6

Therefore, in this research, we propose an influent learning model to improve learning efficiency of learners in virtual classroom.. In this model, teacher prepares

• An algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output.. • An algorithm is