• 沒有找到結果。

An Integer Programming Formulation

4. Solutions for the Aging Test Scheduling Problem

4.2. An Integer Programming Formulation

The mixed integer linear programming (MILP) model for the ATSP with unequal ready times and non-identical job sizes in order to minimize the makespan is formulated in this section and is referred to as Model P. A set of jobs is given to be processed in batches by identical parallel machines. Let the total number of jobs be denoted by N and the number of batches be denoted by B. In this dissertation, however, an individual job cannot be split into different batches due to the inconvenience to practical management that might result. Let machine group M = {mk| k = 1, 2, ..., K}, contain the K parallel batch processing machines. Due to the fact that the unequal ready times and batch dependent processing times are considered, they are associated with job j and have a processing time denoted by pj and a ready time denoted by rj. The batch processing time may vary, depending on the composite jobs. Term ptb is the longest processing time of all the jobs processed simultaneously in the bth batch, and it represents the batch processing time. The batch ready time is also the latest ready times of those composite jobs. Each job has a non-identical job size (sj). A batch can be processed on a machine on the condition that the accumulated size of those jobs in that batch does not exceed the machine’s capacity (a maximum number of pieces can be processed simultaneously on a machine) (S). Each job in its associated batch is a candidate that is processed without preemption on one machine. The aging test scheduling problem is to form batches appropriately as well as to find a schedule for those batches that satisfies the ready time restrictions without violating the machine capacity constraints, while also achieving the objective of minimizing makespan. Initially, it is assumed that each job will be contained

in an individual batch (B N ). However, after the mathematical model is solved, it may be that the better solution might require combining more than one job into one batch.

Hence, by using the proposed MILP model, the number of batches required will be self-evident. Before the MILP model (Model P) is presented, the notations used in the formulation are listed below.

1 if job is assigned to batch on machine , 0 otherwise;

j b mk

bb k

y :  



1 if batch is scheduled following batch on machine , 0 otherwise;

b b mk

z :bk



1 if batch is assigned to machine , 0 otherwise;

b mk

t : the starting time of batch b to be processed on machinebk m ,k

Cmax: the maximum completion time (makespan).

Model P:

 

The bi-functional objective of equation (4-1) of Model P is to minimize the maximum completion time and the number of batches. The former is the main objective for the scheduling problem and the latter is the subsidiary one in order to reduce the complexity of the batch sequence. Therefore, the term is a constant, which is chosen to be a sufficiently small value which cannot affect the makespan. Constraint (4-2) guarantees that each job is assigned to one batch and processed on exactly one machine.

Constraint (4-3) ensures that each batch is either processed once by one machine or not at all. Constraint (4-4) is a contingent constraint. That is, if some jobs are assigned to batch b on machine mk (xjbk=1), then batch b should be assigned to machine mk (zbk=1).

Term Q1 is a constant and is greater than the total number of jobs (N). Constraint (4-5) is the batch size constraint, which requires that the sum of all the pieces of each job

contained in each batch on one machine be simultaneously processed and within the maximum machine capacity. Constraint (4-6) ensures that the processing time of each batch is the longest processing time of all the jobs simultaneously processed in a batch.

Constraint (4-7) is the maximum completion time (makespan) and is always greater than or equal to the sum of the starting and processing times for each batch. Constraint (4-8) indicates that the starting time of each batch is greater than or equal to the ready time of that batch. The ready time of a batch is the latest ready time of all the jobs clustered in a batch. Term Q2 is the chosen constant as it is sufficiently large in value to satisfy

0

ybb k or 1 which is required for constraints (4-9)-(4-14). Constraint (4-9) ensures the satisfaction of the inequality in tbkptbtb k, if batch b precedes batch b( ybb k= 1).

Constraints (4-10)-(4-14) are the precedence constraints provided by Pearn et al. [67].

Constraints (4-10) and (4-11) guarantee that one batch should precede another ( ybb k+yb bk= 1) if two batches are scheduled on the same machine (zbk+zb k2= 0). It should be noted that the precedent relationships ( ybb k) between batches b and bon machine mk may not be limited to direct ones. Constraint (4-12) ensures that the precedence variables ybb k and yb bk should be set to zero (ybb kyb bk 0) if any two batches b and bare not scheduled on the machine mk (zbkzb k0). Constraints (4-13) indicates the situation in which batch b is scheduled on machine mk and batch bis scheduled on another machine (zb k  zbk 1 0) and constraint (4-14) indicates the situation in which batch bis scheduled on machine mk and batch b is scheduled on another machine (zbkzb k 1 0). Constraints (4-15)-(4-17) indicate that xjbk, ybb k, and zbk are binary integer variables. Finally, constraint (4-18) indicates that the makespan is greater than or equal to zero. The total number of variables is

2  1

NBK B K BK and the total number of constraint equations is

 

9 / 2 B K2 3NBK

 

3/ 2 BK N  2B 1, where B is the number of batches.

To demonstrate the applicability of Model P, an illustrative example is considered.

The example involves two parallel batch processing machines (m1 and m2) and seven independent jobs with various sizes and processing times, which are ready for different starting times, as shown in Table 4-1. The seven jobs should be clustered into an appropriate number of batches. Those batches are scheduled on the two identical machines. The batch processing time is not affected by the machine processing it, but is dependent on the batch formation. The maximum number of pieces of one batch in a machine is set at 450 pieces in this example.

Table 4-1 Job sizes, ready times, and processing times of the seven independent jobs.

Job ID size (pieces) ready time processing time

1 50 6 160

2 200 40 120

3 240 8 90

4 180 10 190

5 400 80 290

6 300 30 160

7 150 80 200

Model P is implemented using the software CPLEX OPL 3.5 to solve the seven-job example. For the example investigated, the model contains 225 variables and 736 equations. The MILP model is run on a Pentium IV 3.2GHZ PC to obtain optimal solutions. The four batches, b1, b2, b3, and b4, are actually formed and their batch processing times are 90, 190, 200, and 290, respectively. Job 3 is grouped into b1 and scheduled on Machine 1. Jobs 1, 2, and 4 are grouped into b2 and scheduled on Machine 2. Moreover, jobs 6 and 7 are grouped into b3 which is scheduled on Machine 2 and processed after b2. Job 5 is the only one in b4 and it is scheduled on Machine 1

and processed after b1. The makespan of the example is 430 as shown in Figure 4-3 and the computational time is 1041.3 CPU seconds.

idle time

Figure 4-3An optimal solution for the 7-job example with two aging test machines.