• Tidak ada hasil yang ditemukan

Markovian analysis

Dalam dokumen This page intentionally left blank (Halaman 149-155)

Algorithm 6.1 Incremental genetic algorithm

7.2. Performance evaluation problem

7.2.1. Markovian analysis

Metaheuristics and Performance Evaluation Models 147

stochastic model, the criterion depends on a great number of random values. In the next section, we propose models for performance evaluation: a Markovian model and a Monte Carlo simulation model. The first model allows us to compute the exact value of a criterion in expectation whereas the second one provides an estimation.

Then, we propose methods for the scheduling problem and combinations (Figure 7.3) between a performance evaluation model and an optimization method (more often metaheuristics).

Performance evaluation

model method

solution(s)

performance criterion Optimization

Figure 7.3. Combination between an optimization method and a performance evaluation model

148 Flexibility and Robustness in Scheduling

to avoid the use of a dedicated software, we have generalized the method proposed by [CUN 73] for the two machine flow-shop problem with unlimited buffer to the m machine flow-shop problem. This generalization will allow us to deal with larger size problems than with QNAP2, but it will also be limited in terms of number of jobs and number of machines (which is natural in Markovian analysis).

In this part, we propose to use Markovian analysis to compute the exact value of the expectation of the makespan for the problems:

Fmpi,j∼ exp

μi,jE Cmax

 unlimited buffers

Fmbi= 0, pi,j∼ exp

μi,jE Cmax

 no buffer

Fmbi, pi,j∼ exp

μi,jE Cmax

 limited buffers

In the following, we assume that the n jobs are numbered according to the lexicographical sequencex = (1, 2, 3, . . . , j, j + 1, . . . , n) and the processing time of job Tj, j = 1, . . . , n by machine Mi, i = 1, . . . , m follows an exponential distribution with rateμi,j. Random variables are assumed to be independent.

A job can block a machine:

– when there is no buffer between two machines, the job completed by the first of the two machines blocks it if the second one is processing another job;

– when there is a limited buffer between two machines, the job completed by the first of the two machines blocks it if the buffer is full.

In order to use the Chapman-Kolmogorov equations, we need to represent the states of the system and all the previous states of a given state. A state of the system is represented by am length vector:

→k =

k1, k2, . . . , km



with the following relations:

n + 1≥ |k1| ≥ · · · ≥ |ki| ≥ |ki+1| ≥ · · · ≥ |km| ≥ 1 (7.1) 0≤ |ki| − |ki+1| ≤ bi+1+ 1, i = 1, . . . , m− 1 (7.2)

|ki− ki+1| < 2|ki|, i = 1, . . . , m − 1 (7.3) ki+ ki+1>−2|ki|, i = 1, . . . , m − 1 (7.4) andbi≥ 0 is the capacity of the buffer before machine i (i = 2, . . . , m) (b1=∞).

Metaheuristics and Performance Evaluation Models 149

The absolute value|ki| represents:

– either a job number:

- the job number that is being processed by machineMi(ifki≥ 1), - the job number that is blocked by machineMi(ifki≤ −1), - the job number that machineMi(ifki= ki−1≥ 1) waits for.

– or the fact that all the jobs have been processed by machineMi,i = 1, . . . , m (ki= n + 1).

More precisely,|ki| represents a job:

1) Ifk1≥ 1 and k1< n + 1, then machine M1is processing jobTk1.

2) Ifki≥ 1 and ki< ki−1, then machineMiis processing jobTki,i = 2, . . . , m.

3) Ifki ≥ 1 and ki = ki−1, then machineMiis idle and is waiting for jobTki, i = 2, . . . , m (Tkiis the next job to be processed by machineMi).

4) Ifki ≤ −1, then job T|ki|blocks machineMi (the buffer of machineMi+1 is full (bi+1> 0) or machine Mi+1is busy (bi+1 = 0)).

We consider two particular cases:

−−→

k(1)= (1, 1, . . . , 1) with ki= 1,∀i = 1, . . . , m represents the initial state of the system. The jobT1is processed by the first machine and the other machines are idle.

−−→

k(N) = (n + 1, n + 1, . . . , n + 1, n) with ki = n + 1,∀i = 1, . . . , m − 1 and km = n represents the state where job Tn is processed by machineMmand other machines are idle (they have processed all the jobs).

LetN be the number of states of the system.

In a closed queuing network composed ofm stations and processing a constant numberj of customer, the number of states is:

m−1

j+m−1

When the capacity of the buffers is unlimited,N is given by the formula:

N =

n j=1

m−1

j+m−1

150 Flexibility and Robustness in Scheduling

In a two machine flow-shop without buffer,N is given by formula:

N = 3n− 1

In a two machine flow-shop with a buffer of capacityb between the two machines, N is given by the formula:

N = (b + 3)n− (b + 1)(b + 2)/2

EXAMPLE.– Let there be a six machine flow-shop with 12 jobs. Table 7.2 gives the buffer capacity.

Machine M2 M3 M4 M5 M6

Buffer capacity 1 2 0 2 3 Table 7.2. Buffer capacity

The state−→

k = (13,−12, 9, 8, 8, 5) is represented in Figure 7.4:

k1= 13 means that all the jobs have been processed by machine M1. –k2=−12 means that job T12blocks machineM2.

k3= 9 means that job T9is being processed by machineM3.

k4 = k5 = 8 means that machine M4is processing jobT8and machineM5is idle, waiting for jobT8.

k6= 5 means that machine M6is processing jobT5.

7 6 11 10

blocked

12 9 8 5

Figure 7.4.−→

k = (13, −12, 9, 8, 8, 5)

As the jobs are processed in lexicographical sequence, job numbers in the buffers can be deduced:

– jobsT10andT11wait in the buffer beforeM3; – jobsT6andT7wait in the buffer beforeM6. To study the states preceding state−→

k , we introduce the vector −→a (−→

k , i) defined by:

1) −→a (−→

k , i) = (k1, . . . , ki−1, ki− 1, ki+1, . . . , km) if (|ki−1| < bi + ki+ 1 or i = 1) and (ki> 0). Job Tki−1is processed by machineMi.

Metaheuristics and Performance Evaluation Models 151

2) −→a (−→

k , i) = (k1, . . . , ki−1,|ki|, ki+1, . . . , km) if ki < 0. Job Tki is processed by machineMi.

3) −→a (−→

k , i) = (k1, . . . ,−(ki− 1), . . . , −(ki−1− 1), ki− 1, ki+1, . . . , km) in the other cases, wherei = max{maxl=1,...,i−1{l/kl < 0}, maxl=2,...,i−1{l/|kl−1| = bl+ kl+ 1}, 1} and Miis:

- the first upper machine which is blocked, - or the first upper machine with a non-full buffer, - or by default the first machine of the flow-shop.

JobTki−1 is processed by machineMi and one or more jobs is blocked on the upper machines.

The set of vectors −→a (−→

k , i),∀i = 1, . . . , m includes all the previous states of−→ k . This set may contain vectors with no significance for our problem: they do not verify relation (7.1), (7.2), (7.3) or (7.4).

EXAMPLE.–

→k = (13,−12, 9, 8, 8, 5)

→a (−→

k , 1) = (12,−12, 9, 8, 8, 5) (case 1)

→a (−→

k , 2) = (13, 12, 9, 8, 8, 5) (case 2)

→a (−→

k , 3) = (13, 13, 8, 8, 8, 5) (case 3)

→a (−→

k , 4) = (13, 13,−8, 7, 8, 5) (case 3)

→a (−→

k , 5) = (13,−12, 9, 8, 7, 5) (case 1)

→a (−→

k , 6) = (13,−12, 9, 8, 8, 4) (case 1)

In this example, vectors −→a (−→

k , 2), −→a (−→

k , 5) and −→a (−→

k , 6) are previous states of state−→

k . They are represented by Figures 7.5, 7.6 and 7.7. Vectors −→a (−→

k , 1), −→a (−→ k , 3) and −→a (−→

k , 4) do not correspond to states of the system (relation (7.1), (7.2), (7.3) or (7.4) is not verified):

– In −→a (−→

k , 1), machine M1 is processing jobT12, the next machine cannot be blocked by jobT12(relation (7.3) is not verified).

– In −→a (−→

k , 3), machine M3is processing jobT8 and jobsT12,T11,T10 andT9

wait in the buffer before the machine. The buffer capacity is exceeded (relation (7.2) is not verified).

– In −→a (−→

k , 4), machine M4is processing jobT7, but machineM5is processing jobT8and the lexicographical sequence is not respected (relation (7.1) is not verified).

152 Flexibility and Robustness in Scheduling

10 8

11 9

12 7 6 5

Figure 7.5. −→a (−→

k , 2) = (13, 12, 9, 8, 8, 5)

6 5

12 11 10 9 8 7

blocked

Figure 7.6. −→a (−→

k , 5) = (13, −12, 9, 8, 7, 5)

5 4

6

12 11 10 9 8 7

blocked

Figure 7.7. −→a (−→

k , 6) = (13, −12, 9, 8, 8, 4)

Let

τ (−→ k , i) =

⎧⎪

⎪⎨

⎪⎪

0 ifki= ki−1orki< 0 or ki = n + 1 or−→

k is not a state of the system μki,i otherwise

τ (−→

k , i) is the processing rate of job Tkifor machineMi, ifTkiis being processed by machineMi. It is equal to zero in the following cases:

−→

k does not represent a state of the system. Relation (7.1), (7.2), (7.3) or (7.4) is not verified;

−→

k represents a state of the system but:

- ifki= ki−1, then machineMiis not processing jobTkibut is waiting for it, - ifki< 0, then job T|ki|blocks machineMi,

- ifki= n + 1, then there is no job being processed by machine Mias all jobs have already been processed.

With the notations, the following theorem is proposed and proved [GOU 05]:

THEOREM 7.1.– In a m-machine permutation flow-shop, under the following assumptions:

– there is a buffer of capacitybiin front of machineMi (bi ≥ 0, ∀i = 2, . . . , m, b1=∞),

– the buffers are managed by the FIFO rule,

Metaheuristics and Performance Evaluation Models 153

– the n jobs are processed according to the lexicographical sequence:

S = (1, 2, . . . , j, j + 1, . . . , n),

– the job processing times are independent and exponentially distributed: the processing time of jobTj, (j = 1, . . . , n) for machine Mi, (i = 1, . . . , m) follows an exponential distribution function with rateμi,j.

The expected makespanE(Cmax) is computed using the formula:

E Cmax

=−μn,mβ−−→

k(N) where

α−−→

k(1)

= 1/μ1,1 (7.5)

β(−−→

k(1)) =−1/μ21,1 (7.6)

α(−→ k ) =

m

i=1α−→a (−→ k , i)

τ−→a (−→ k , i), i

m

i=1τ (−→

k , i) (7.7)

β(−→

k ) = −α(−→ k ) +m

i=1β−→a (−→ k , i)

τ−→a (−→ k , i), i

m

i=1τ (−→

k , i) (7.8)

NOTE.– The expected makespan for any other sequenceS can be directly obtained from the expression ofE(Cmax) simply by interchanging the appropriate subscripts.

Table 7.3 shows existing works concerning Markovian models for the stochastic flow-shop with exponentially distributed processing times.

flow-shop unlimited buffer limited buffer or no buffer

FIFO FIFO

2 machines [CUN 73] [GOU 01]

m machines [GOU 03] [GOU 05]

Table 7.3. Existing works on the evaluation of E(Cmax) for a flow-shop with exponentially distributed processing times

Dalam dokumen This page intentionally left blank (Halaman 149-155)