HOME JOURNALS CONTACT

Information Technology Journal

Year: 2008 | Volume: 7 | Issue: 4 | Page No.: 580-589
DOI: 10.3923/itj.2008.580.589
Minimizing Maximum Tardiness in Single Computer Numerical Control Machine Scheduling with Tool Changes
Ming- Cheng Lo, Jen-Shiang Chen and Yi-Chien Chen

Abstract: This study considers the problem of scheduling a set of jobs on a single Computer Numerical Control (CNC) machine where the cutting tool is subject to wear, aiming to minimize the maximum tardiness. Four mixed binary integer programming models were developed to solve this problem optimally. To solve large-sized problems, two heuristics were also developed. This study presents the computational results to demonstrate the efficiency of the models and the effectiveness of the heuristics.

Fulltext PDF Fulltext HTML

How to cite this article
Ming- Cheng Lo, Jen-Shiang Chen and Yi-Chien Chen, 2008. Minimizing Maximum Tardiness in Single Computer Numerical Control Machine Scheduling with Tool Changes. Information Technology Journal, 7: 580-589.

Keywords: Scheduling, heuristics, availability constraints, tool changes, integer programming and single CNC machine

INTRODUCTION

When scheduling jobs on single machine, engineers have always assumed that the machine is continuously available. In practice, however, the machine may be shut down for various reasons, e.g., for preventive maintenance or tool changes. Preventive maintenance is often discussed in literature, but tool changes are discussed less often. For preventive maintenance activities, related literature includes (Lee, 1996; Schmidt, 1988, 2000; Sanlaville and Schmidt, 1998; Graves and Lee, 1999; Blazewicz et al., 2000; Liao and Chen, 2003; Cassady and Kutanoglu, 2003).

Fluctuations in market demands over recent decades imply that manufacturing strategy has switched from high-volume production of narrow product lines to medium-to low-volume batches of many different products. Computer Numerical Control (CNC) is a programmable automation tool that efficiently accommodates product variations and small batch production. Tool change is essential issue in CNC tool management. Previous literature on tool management has addressed this issue, but assumed that the change is due only to the part mix. In practice, however, most tool changes are caused by tool wear (Akturk et al., 2003). This study considers the problem of scheduling a set of jobs on a single CNC machine where the cutting tool is subject to wear.

Liao and Chen (2003) studied a single machine scheduling problem requiring periodic maintenance in a complete schedule. Their study attempted to minimize the maximum tardiness. However, they assumed that each maintenance activity is fixed and known in advance. That is, they studied scheduling with multiple maintenance intervals and fixed time periods between consecutive maintenance activities.

Qi et al. (1999) studied scheduling with multiple maintenance intervals and variable time between consecutive maintenance activities. Their study attempted to minimize total job completion time. Their model is similar to scheduling with tool changes problem as several tool changes can occur over a given time period and the time between tool changes (while bounded by the tool life) can vary. Qi et al. (1999) showed that their proposed problem was strongly NP-hard and presented three heuristics and a branch and bound algorithm to solve the problem. Akturk et al. (2003) studied the same problem for scheduling with tool changes to minimize total completion time. They provided a mixed Binary Integer Programming (BIP) model for the exact solution of the problem and proposed seven heuristics based on simple dispatch rules and generic search. Akturk et al. (2004) considered the same problem as did and briefly described the problem and discussed its properties, complexity and solution. They provided theoretical worst-case bounds on the performance of the Shortest Processing Time first (SPT) list-scheduling heuristic and also demonstrated its empirical behavior.

This study considers a single CNC machine scheduling problem in which processing is interrupted due to tool wear and tool changes and in doing so, attempts to minimize the maximum tardiness. The scheduling problem has multiple maintenance intervals and varying times between consecutive maintenance activities.

PROBLEM DESCRIPTION AND NOTATION DEFINITION

The notation used throughout the study is defined as:

Symbol definition
Ji : Job number i
J[k] : The job placed at the kth position
Bq : Batch number q

Input parameters
M : A very large positive number
n : Number of jobs for processing at time zero
pi : The processing time of Ji
di : The due date of Ji
TL : Tool life
TC : Tool change time

Decision variables
b : The number of batches required for processing n jobs (only for the heuristics)
hj : The starting time of the job in the sequence position j (only for Model 1)
fj : The finish time of the job in the sequence position j (only for Model 1)
si : The earliest start time of Ji (only for Model 2)
Ci : Completion time of Ji (only for Models 1 and 2)
bj : The total batch processing time, in which the last job in the sequence position j and the immediately following position j the tool change must be taken; that is, if kj = 1, then bj denotes the time between the completion time of the batch in which the last job is in the sequence position j and the completion time of the previous tool change. Otherwise, if kj = 0 then bj = 0 (only for Models 3 and 4)
ej : The elapsed time between the completion time of the last new tool change and the completion time of the job in sequence position j (only for Model 4)
kj : 1 if tool is replaced immediately following position j 0 otherwise (only for Models 3 and 4)
rj : The remaining time between the completion time of the job placed in the sequence position j and the latest starting time of the next tool change (only for Model 3)
Ti : Tardiness of Ji; where Ti = max{0, Ci-di}
Tmax : Maxj{Tj}
xij : 1 if Ji is scheduled at position j; 0 otherwise (only for Models 1, 3 and 4)
zij : 1 if Ji precedes Jj (not necessarily immediately); 0 otherwise (only for Model 2)

Assume that n independent jobs J1, J2, …, Jn are to be processed on a single CNC machine. All jobs are available at time zero and no pre-emption is allowed. The job processing times are constant and known a priori. Only one tool with a known, constant life and an unlimited availability is required. When an active tool wears out, it is replaced with a new one; the time needed for this tool change is also known and constant. The machine must stop and change tool after continuously working for a period of time. The maximum allowed continuously working time of the machine is TL and the tool change time is TC. The relation TL≥pi (i = 1, 2, …, n) is assumed since otherwise no feasible schedule is available.

Minimizing the maximum tardiness a basic objective studied in the scheduling literature (French, 1982). The EDD (Earliest Due Date) dispatching rule is well-known to produce an optimal schedule in the single machine case if the tool life is considered infinitely long (i.e., no tool change occurs). However, the structure of the problem changes dramatically when tool changes are introduced. The performance of the EDD rule depends on the value of TC. Notably, the EDD rule here assigns jobs to successive tools in non-decreasing order of their due dates and change tools when no current tool can perform a job.

If the jobs are considered as sharing the same tool as a batch, then a schedule can be viewed as a series of batches of jobs separated by tool changes (Fig. 1). Notably, the batch lengths may vary, because tools are changed when the current tool cannot handle the next job in the sequence. The batch length only shows the portion of the tool which has been used.

Theorem 1: The problem of single CNC machine scheduling with tool changes and the maximum tardiness as the criterion is strongly NP-hard.

Proof: Clearly the problem is strongly NP-hard since a problem that minimizes the maximum tardiness subjectto multiple unavailability intervals and fixed start maintenance time is strongly NP-hard (Liao and Chen, 2003).

Fig. 1: Representation of a schedule as batch of jobs

INTEGER PROGRAMMING MODELS

Mathematical programming formulation is a natural way to solve machine scheduling problems (Rinnooy Kan, 1976). Most mathematical programming formulations of scheduling problems involve mixed Binary Integer Programming (BIP) in which some variables are binary and the others are continuous. The new development of mixed BIP techniques, along with the substantial progress in computer capacity, strongly impacts mixed BIP scheduling models. In this section, four mixed BIP models are provided for solving the proposed problem. These four models include Models 1-4.

Model 1: All n jobs processed in the symbol are assumed to be J1, J2, …, Jn. The tool life TL is assumed to exceed the processing time of any job. Consequently, a maximum of (n-1) tool changes can occur in the planning horizon. Suppose the (n-1) tool changes in the symbol are Jn+1, Jn+2, …, J2n-1. Models 1 and 2 are based on the concept of (n-1) tool changes can occur.

The binary variable xij used by Model 1 is restricted and specifies the order in which the machine processes jobs. Model 1 employs one-job-one-position to describe the single CNC machine scheduling with tool changes.

Minimize
Tmax
(1)

(2)

(3)

(4)


; where, int (y) denote the greatest integer less than or equal y
(5)

xij = 0 i = n + 1, n + 2, …, 2n-1;
j = 1, 2, …, 2 (i-n)-1

(6)

xij = 0 i = n + 1, n + 2, …, 2n-2;
j = i + 1, i + 2, …, 2n-1
(7)

(8)


j = 2, 3, …, 2n-1
(9)

fj≤hj+1 j = 1, 2, …, 2n-2
(10)

fj-1≤TL+M (1-xn+1,j)
j = 2, 3, …, n + 1
(11)

fj-1-fj’≤TL + M (2-xij-xi-1,j’)
i = n + 2, n + 3, …, 2n-1;
j = 2 (i-n), 2 (i-n) + 1, …, i;
j’ = 2 (i-n-1), 2 (i-n-1) + 1, …, i-1
and j>j’
 
(12)

fj≤Ci + M (1-xij) i = 1, 2, …, n;
j = 1, 2, …, 2n-1
(13)

Ci-di≤Tmax i = 1, 2, …, n
(14)

Tmax ≥ 0; hj ≥ 0, fj ≥ 0
j = 1, 2, …, 2n-1; Ci ≥ 0
i = 1, 2, …, n; xij is binary
i, j = 1, 2, …, 2n-1
(15)

Constraint (1) describes the objective function, constraint sets (2) to (5) state in which each job is uniquely scheduled in a position for processing. Constraint sets (6) and (7) show that the situation of the tool changes must not be placed in any particular position. Constraints sets (8) and (9) are essentially definitional, while constraints (10) enforce the precedence relationships. Additionally, constraint sets (11) to (13) give the tool change starting and finishing times. Constraint set (14) defines the tardiness of jobs. Finally, the non-negativity and binary restrictions on Tmax, hj, fj and Ci and xij, respectively, are specified in (15).

Model 2: This model uses the binary variable zij to express the ‘either-or` relationship for the non-interference restrictions. Moreover, Model 2 describes the single machine problems using the concept of non-interference.

Minimize Tmax
(16)

S. t. si + pi = Ci i = 1, 2, …, n
si + TC = Ci
(17)

i = n + 1, n + 2, …, 2n-1
(18)

Ci-di≤Tmax i = 1, 2, …, n
(19)


Ci≤sj + M (1-zij)
1≤i<j≤2n-1
(20)


Cj≤si + M zij 1≤i<j≤2n-1
(21)

sn+1≤TL
(22)

si≤Ci-1 + TL
i = n + 2, n + 3, …, 2n-1
(23)

Tmax ≥ 0; si ≥ 0, Ci ≥ 0
i = 1, 2, …, 2n-1;
zij is binary 1≤i<j≤2n-1
(24)

Constraint sets (17) and (18) define the completion time of job, while constraint (16) defines the total tardiness. Constraint set (19) defines the tardiness of jobs. Moreover, constraint sets (20) and (21) meet the requirement that only one job can be processed at any time, that is, either Ci≤sj or Cj≤si will hold. Incorporating binary variable zij and a very large positive number M, Eq. 20 and 21 together ensure that one of these two constraints holds while the other is eliminated. Furthermore, constraint sets (22) and (23) state the maintenance interval. Finally, constraint set (24) specifies the non-negativity of Ci, si and Tmax and establishes the binary restrictions for zij.

Model 3: A new binary variable kj is defined to be equal to 1 if the tool is replaced after position j and 0 otherwise. The variable rj tracks the remaining time between the completion time of the job placed in the sequence position j and the latest starting time of the next tool change. Model 3 uses one-job-one-position with n positions to describe single CNC machine problems.

Minimize Tmax
(25)

(26)

(27)

(28)



j = 2, 3, …, n
(29)



j = 2, 3, …, n
(30)


j = 1, 2, …, n-1
(31)


j = 1, 2, …, n
(32)


j = 1, 2, …, n
(33)


Tmax≥0; rj ≥ 0, fj ≥ 0
bj ≥ 0
j = 1, 2, …, n;
j = 1, 2, …, n-1
(34)
  xij is binary i = 1, 2, …, n; j = 1, 2, …, n
  kj is binary j = 1, 2, …, n-1

Constraint (25) describes the objective function, constraint sets (26) and (27) state in which each job is uniquely scheduled in a position for processing. Constraint (28) records the remaining life time of the tool which processes the job in the first position. Additionally, constraint sets (29) and (30) meet the requirement that the range of rj, that is, either

will hold. Incorporating binary variable kj-1 and a very large positive number M, Eq. 29 and 30 together ensure that one of these two constraints holds while the other is eliminated. Moreover, constraint sets (31) to (33) define the bj, fj and Tmax, respectively. Finally, constraint set (34) specifies the non-negativity of Tmax, rj, fj and bj and establishes the binary restrictions for xij and kj.

Model 4: Model 4 utilizes the variable ej instead of rj as used in Model 3. The variable ej tracks the time elapsed between the completion time of the last new tool change and the completion time of the job in sequence position j.

Minimize Tmax
(35)

(36)

(37)

(38)



j = 2, 3, …, n
(39)



j = 2, 3, …, n
(40)

ej≤TL j = 2, 3, …, n
(41)

bj≥ej-M (1-kj)
j = 1, 2, …, n-1
(42)


j = 2, 3, …, n
(43)


j = 2, 3, …, n
(44)

Tmax ≥ 0; ej ≥ 0, fj ≥ 0, j = 1, 2, …, n;
bj ≥ 0 j = 1, 2, …, n-1;
xij is binary


i = 1, 2, …, n; j = 1, 2, …, n;
kj is binary
j = 1, 2, …, n-1;
(45)

Constraint (35) describes the objective function, constraint sets (36) and (37) state in which each job is uniquely scheduled in a position for processing. Constraint (38) records the elapsed time of the tool which processes the job in the first position. Additionally, constraint sets (39) and (40) meet the requirement that the range of ej, that is, either

will hold. Incorporation binary variable kj-1 and a very large positive number M, Eq. 39 and 40 together ensure that one of these two constraints holds while the other is eliminated. Furthermore, constraint set (41) states the restriction of the tool life. Constraint sets (42) to (44) define the bj, fj and Tmax, respectively. Finally, constraint set (45) specifies the non-negativity of Tmax, ej, fj and bj and establishes the binary restrictions for xij and kj.

Table 1: The size of integer programming model

COMPARISONS OF THE PROPOSED MODELS

Size complexity denotes the size of a problem in terms of binary variables, constraints and continuous (real) variables as a function of n, the number of jobs, in the problem. Table 1 shows the size complexity of each of the four integer programming models.

French (1982) stated that the speed with which integer programming problems can be solved depends on the number of variables and constraints in the problem, where the most influential factor is the number of binary variables. If two formulations have the same number of binary variables (Wilson, 1989; Liao and You, 1992) demonstrated that the next most influential element is the number of constraints. As Table 1 shows, Model 4 has the same number of binary and continuous variables as that of Model 3, but has n-1 more constraints. Model 1 has 2n2-2 more number of binary variables than Model 2, the former has (-1/2) n2 + (15/2) n +more constraints and n more continuous variables. Models 3 and 4 are superior to Models 1 and 2 in terms of number of binary variables, constraints and continuous variables. Consequently, Model 3 is theoretically the best, followed in order by Model 4, Model 2 and Model 1.

THE PROPOSED HEURISTICS

Although the integer programming approach can solve the problem being considered, large problems are difficult to solve without considerable computational efforts. Therefore, this study proposes two heuristic algorithms. Some properties of the optimal schedule of the proposed problem are first introduced.

Theorem 2: (Optimal sequence in the same batch) For two adjacent jobs in the same batch, an optimal schedule exists for which the job with the smaller due date is placed before the other job.

Proof: The result follows immediately from the EDD order.

Let b denote the number of batches required for processing all jobs. Bq denotes batch number q, where q = 1, 2, …, b. The batch number is also the batch-forming sequence.

Theorem 3: (Feasible interchanging) Assume that Tk is the maximum tardiness of a schedule, where Tk>0 (i.e., Ck>dk) and Jk is in Bq. Bq is not the first batch in the schedule. Denote by Jj a job in the batch preceding Bq. Let BTk and BTj be the total processing time of the batch which contains Jk and Jj, respectively. If BTj-pj + pk≤TL and BTk-pk+pj≤TL, then a feasible schedule can be obtained by interchanging Jk with Jj.

Proof: The proof is straightforward.

To reduce the maximum tardiness of a schedule, two jobs placed in two batches can be interchanged.

Theorem 4: (Interchange with preceding job) Suppose that Tk is the maximum tardiness of a schedule, where Tk>0 (i.e., Ck>dk) and Jk is in Bq. Bq is not the first batch in the schedule. Denote by Jj a job in the batch preceding Bq. Suppose that Ji is not placed in Bq and between Jj and Jk. In a feasible schedule, if the following two conditions can be satisfied simultaneously, then a smaller Tmax value can be obtained by interchanging Jk with Jj.

(i) Ck≤dj, or Ck>dj and dk≤dj, or Cj>dj and Ck≤Cj,
(i) Ci + pk-pj≤di, or Ci + pk-pj-di≤Ck-dk, or Ci>di and pk≤pj

Proof: See Fig. 2, from Theorem 2 both jobs Jk and Jj are assumed to be feasibly interchangeable. Let schedule S = (PSS, Jj, PS1, Ji, PS2, Jk, PSF), where PSS, PS1, PS2 and PSF are partial schedules. Let S’ be obtained from S by interchanging Jj with Jk, that is, S’ = (PSS, Jk, PS3, Ji, PS4, Jj, PSF), where PS3 and PS4 are also partial schedules. Denote by Tr (S) and Tr (S’) the tardiness of Jr in schedule S and S’, respectively (Fig. 2). Then the tardiness of Tk (S), Tj (S), Ti (S), Tk (S’), Tj (S’) and Ti (S’) are

Tk (S) = max{Ck-dk, 0}
Tj (S) = max{Cj-dj, 0}
Ti (S) = max{Ci-di, 0}
Tk (S’) = max{Cj + pk-pj-dk, 0}
Tj (S’) = max{Ck-dj, 0}
Ti (S’) = max{Ci + pk-pj-di, 0}

To reduce the value of Tmax = Tk (S), the following three cases must be satisfied simultaneously: (1) Tk (S’)≤Tk (S); (2) Tj (S’)≤Tk (S) or Tj (S’)≤Tj (S); (3) Ti (S’)≤Tk (S) or Ti (S’)≤Ti (S). These three cases can be further discussed in detail as follows.

Case 1: Tk (S’)≤Tk (S).

Obviously, Tk (S’)≤Tk (S) must hold.

Case 2: Tj (S’)≤Tk (S) or Tj (S’)≤Tj (S).

Fig. 2: Illustration of interchange with preceding job

To satisfy Tj (S’) = max{Ck-dj, 0}≤Tk (S) = max{Ck-dk, 0}, the following two conditions must be satisfied.

(i) Ck≤dj, or (ii) Ck>dj and dk≤dj
(46)

Then, to satisfy Tj (S’) = max{Ck-dj, 0}≤Tj (S) = max{Cj-dj, 0}, the following two conditions must also be satisfied.

(i) Ck≤dj, or (ii) Ck>dj, Cj>dj,
and Ck≤Cj.
(47)

Case 3: Ti (S’)≤Tk (S) or Ti (S’)≤Ti (S).

To meet Ti (S’) = max{Ci + pk-pj-di, 0}≤Tk (S) = max{Ck-dk, 0}, the following two conditions must be met.

(i) Ci + pk-pj≤di, or (ii) Ci + pk-pj>di
and Ci + pk-pj-di≤Ck-dk
(48)

Then, to meet Ti (S’) = max{Ci + pk-pj-di, 0} ≤Ti (S) = max{Ci-di, 0}, the following two conditions must also be met.

(i) Ci + pk-pj≤di, or (ii) Ci + pk-pj>di, Ci>di
and pk≤pj.
(49)

In summary the conditions (46-49) and the theorem is proved.

Corollary 1: As described in Theorem 4, if Ji does not exist, that is, Jk is in Bq and Jj placed the last position of the batch Bq-1. If the first condition (i) (that is, Ck≤dj, or Ck>dj and dk≤dj, or Cj>dj and Ck≤Cj) can be satisfied, then a smaller Tmax value can be obtained by interchanging Jk with Jj.

Proof: The proof is straightforward.

Based on the above properties, two heuristic algorithms are proposed. These two heuristics are Heuristic H1 and Heuristic H2. Both heuristics utilize a two-phase method. Phase I focuses on forming batches and Phase II focuses on improving the maximum tardiness. J[k] denotes the job placed at the kth position and p[k], d[k], C[k] and T[k] are defined accordingly.

Heuristic H1: Phase I of Heuristic H1 first employs the EDD rule to sequence all jobs and then follows this sequence to form batches. The steps of Heuristic H1 are outlined as follows:

Phase I
Step 1 = Sequence all jobs according to EDD rule. Set b = 1, Bb = φ, k = 1, TP = p[k] and U = {J[1], J[2], …, J[n]}.
Step 2 = Delete J[k] from U and append J[k] to Bb.
Step 3 = If k = n, then stop.
Step 4 = If TP = TL, then set b = b + 1 and TP = 0.
Step 5 = Set k = k + 1 and TP = TP + p[k].
Step 6 = If TP>TL, then set b = b + 1 and TP = p[k].
Step 7 = Go to Step 2.

Phase II
Step 8 = Denote by σπ the resulting complete schedule, which is composed of the schedule in all batches and the necessary maintenance periods from Phase I.
Step 9 = If Ti = 0 for all i, stop; otherwise, find Jk in Bq with Tmax (if a tie exists, break it arbitrarily).
Step 10 = If Bq is the first batch, stop.
Step 11 = Denote by Jj a job in the batch preceding Bq. Apply Theorem 3 to determine whether any interchange of Jk and Jj is feasible. Let SFI be the set of jobs which can feasibly interchange with Jk. If SFI = φ, stop.
Step 12 = Apply Theorem 4 and Corollary 1 to determine whether any interchange of Jk and each job in SFI are advantageous. Let Sadv be the set of jobs which are advantageous to interchange with Jk. If Sadv = φ, stop.
Step 13 = List the possible schedules according to Sadv and employ Theorem 2 to reset the jobs in each batch in EDD order for each schedule. Determine the maximal tardiness for each schedule. Let σ`π be the schedule in which one job is the most advantageous to interchange with Jk (If a tie exists, break it arbitrarily). Replace σπ with σ`π and return to Step 9.

The steps are now elaborated in detail. Clearly that the smallest number of tool changes is obtained in Phase I. Step 8 of Phase II constructs an initial schedule, where jobs are sequenced in the EDD and the tool changes are included. Steps 9 and 10 check whether to stop the algorithm. Step 11 applies Theorem 3 to determine where the interchange of any two jobs is feasible. Step 12 adopts Theorem 4 and Corollary 1 to determine whether any interchange is advantageous. Step 13 obtains the most advantageous interchange.

To calculate the time complexity of Heuristic H1, carry out the bin-packing technique in Phase I in O (nlogn). The complexity of Steps 9 and 10 are O (n). Steps 11 and 12 require . Step 2.6 needs O (nlogn). Thus, the overall time complexity of the proposed heuristic is

Heuristic H2: Phase I of Heuristic H2 first employs the EDD rule to sequence all jobs and then follows this sequence under the minimum number of batches to form batches. The steps of Heuristic H2 are outlined as follows:

Phase I
Step 14 = Sequence all jobs according to the EDD rule. Set b = 1, Bb = φ and U = {J[1], J[2], …, J[n]}.
Step 15 = Set u = min{i | J[i] ∈ U}, v = max{i | J[i] ∈ U}, k = u, TP = p[k].
Step 16 = Delete J[k] from U and append J[k] to Bb.
Step 17 = If U = φ, then stop.
Step 18 = If TP = TL, then set b = b +1 and go to Step 15.
Step 19 = Set k = k + 1 and TP = TP + p[k].
Step 20 = If TP≤TL, then go to Step 16.
Step 21 = If k ≠ v, then TP = TP-p[k] and go to Step 19. Otherwise, set b = b +1 and go to Step 15.

Phase II

Phase II of Heuristic H2 is the same as Phase II of Heuristic H1.

Clearly, Phase I produces the smallest number of tool changes. To calculate the time complexity of Heuristic H2, carry out the modified bin-packing technique in Phase I in O (n2logn). Thus, the time complexity of the Heuristic H2 is

COMPUTATIONAL EXPERIMENT

The test problems were divided into two sets, where one consisting of problems for which optimal solutions were known by solving the four optimization models in a reasonable time and the other containing problems for which optimal solutions were not known.

The numerical values of the problem parameters were generated according to the following scheme. For each test problem, the job processing times were randomly generated from a discrete uniform distribution between 5 and 15. The due dates were generated as a function of due date range, R and the tardiness factor, τ. Let T denote the sum of the processing times of all jobs. The due dates of the jobs were from a uniform distribution of integers between T (1-τ-R/2) and T (1-τ + R/2). In the experiment, τ was set at 0.2 and 0.6; R assumed the values of 0.2 and 0.6; TL was set at 10 and 18; TC assumed the values of 2 and 4, respectively.

Problems with known optimal solutions: The first set of problems was solved using the above four optimization models. The models were tested using a computer program coded in the ILOG OPL language. Problem parameters and four total models were generated and solved with ILOG CPLEX on an Intel P4/2.67GHz with 512MB SDRAM. The experiment was conducted using three different problem sizes, namely n = 6, 7 and 12. For each problem size, ten replications were produced for each combination of τ, R, TL and TC. Table 2 reports on the average computation time for each model in solving the associated problems.

Table 2: Computational results for problems with known optimal solutions

The effectiveness of the two heuristic algorithms is measured by the percentage error defined as:

where, Tmax (heu) is the maximum tardiness obtained by the heuristic algorithm and Tmax (opt) is the optimal Tmax of the schedule. Table 2 also summaries the performance of the two heuristic algorithms on the average percentage error. Table 2 yields the following observations.

For the four models, the computation time increases with increasing number of jobs. Additionally, the relationship between the efficiency of the proposed models and τ is not significant. The average CPU time of Models 3 and 4 decreases with increasing TL and decreasing TC. The efficiency of Models 3 and 4 increases with increasing R, while the efficiency of Models 1 and 2 decreases with increasing R. For the proposed problem, Model 1 is the best optimization model in average CPU time, followed by Models 2, 3 and 4. The real data testing results for the models differ from the results of the theoretical analysis.

For the two heuristics, Table 2 shows that problems with smaller τ values generate smaller average percentage errors and spend less computation time. Also, problems with larger TL value and smaller TC value were found to produce smaller average percentage error. Moreover, the average percentage error increases as the number of jobs increases. Heuristic H1 spends less computation time than Heuristic H2. Heuristic H2 is better than Heuristic H1 in terms of average percentage error.

Problems with unknown optimal solutions: Since optimal solutions were unknown for these problems, the relative performance is denoted by Tmax (H2) /Tmax (H1), where Tmax (H2) and Tmax (H1) are the maximum tardiness values found by Heuristics H2 and H1, respectively. If Heuristic H2 produces a better solution than that Heuristic H1, then its relative performance is less than 1. Table 3 shows the average relative performance values and average percentage error.

Heuristic H2 outperforms Heuristic H1 in terms of average relative performance. The average relative performance Tmax (H2)/Tmax (H1) is 0.8495 with a maximum of 0.9215. Heuristic H1 spends less computation time than Heuristic H2. Additionally, computation time increases with increasing τ.

Table 3: Computational results of the proposed heuristics with Problems with unknown optimal solutions

CONCLUSIONS

This investigation studied the single CNC machine scheduling problem of minimizing the maximum tardiness with taking account of tool changes. Four mixed BIP models to obtain the optimal solution. These four mixed BIP models are Models 1, 2, 3 and 4. Model 1 is the best optimization model in average CPU time, followed by Models 2, 3 and 4. Two efficient heuristics, Heuristics H1 and H2, were proposed to provide the near-optimal solution for the problem. Performance of the heuristics was evaluated by comparing its solution with the optimal solution derived by the developed mixed BIP models. Several properties associated with the problem have also been investigated and implemented in the algorithm. Heuristic H1 spends less computation time than Heuristic H2. Heuristic H2 is better than Heuristic H1 in terms of average percentage error. The computational results show that the mixed BIP models are inefficient, especially Models 3 and 4. The two heuristic algorithms can improve the maximum tardiness of jobs in terms of percentage error. The heuristics were shown to spend much less computation time than the mixed BIP models. Therefore, the heuristic is applicable for large-sized problems, while the mixed BIP models can only be used for small-sized problems.

Future research should address problems with different shop environments, including flow-shop and job-shop. Problems with other performance measures, including mean tardiness and multi-criteria measures, should also be studied.

ACKNOWLEDGMENT

The author would like to thank the National Science Council of the Republic of China, Taiwan for financially supporting this research under Contract No. NSC93-2213-E-269-003.

REFERENCES

  • Akturk, M.S., J.B. Ghosh and E.D. Gunes, 2003. Scheduling with tool changes to minimize total completion time: A study of heuristics and their performance. Nav. Res. Logistics, 50: 15-30.
    CrossRef    Direct Link    


  • Akturk, M.S., J.B. Ghosh and E.D. Gunes, 2004. Scheduling with tool changes to minimize total completion time: Basic results and SPT performance. Eur. J. Operat. Res., 157: 784-790.
    CrossRef    Direct Link    


  • Blazewicz, J., M. Drozdowski, P. Formanowicz, W. Kubiak and G. Schmidt, 2000. Scheduling preemptable tasks on parallel processors with limited availability. Parallel Comput., 26: 1195-1211.
    CrossRef    Direct Link    


  • Cassady, C.R. and E. Kutanoglu, 2003. Minimizing job tardiness using integrated preventive maintenance planning and production scheduling. IIE. Trans., 35: 503-513.
    CrossRef    Direct Link    


  • French, S., 1982. Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop. Ellis Horwood, Chichester.


  • Graves, G.H. and C.Y. Lee, 1999. Scheduling maintenance and semiresumable jobs on a single machine. Nav. Res. Logistics, 46: 845-863.
    Direct Link    


  • Lee, C.Y., 1996. Machine scheduling with an availability constraint. J. Global Optim., 9: 395-416.
    CrossRef    Direct Link    


  • Liao, C.L. and C.T. You, 1992. Improved formulation for the job-shop scheduling problem. J. Operat. Res. Soc., 43: 1047-1054.
    Direct Link    


  • Liao, C.L. and W.J. Chen, 2003. Single-machine scheduling with periodic maintenance and nonresumable jobs. Comput. Operat. Res., 30: 1335-1347.
    CrossRef    Direct Link    


  • Qi, X., T. Chen and F. Tu, 1999. Scheduling the maintenance on a single machine. J. Operat. Res. Soc., 50: 1071-1078.
    Direct Link    


  • Rinnooy Kan, A.G., 1976. Machine Scheduling Problems: Classification, Complexity and Computations. Martinus Nijhoff, The Hague, Holland.


  • Sanlaville, E. and G. Schmidt, 1998. Machine sche duling with availability constraints. Acta Inform., 35: 795-811.


  • Schmidt, G., 1988. Scheduling independent tasks with deadlines on semi-identical processors. J. Operat. Res. Soc., 39: 271-277.
    CrossRef    Direct Link    


  • Schmidt, G., 2000. Scheduling with limited machine availability. Eur. J. Operat. Res., 121: 1-15.
    CrossRef    Direct Link    


  • Wilson, J.M., 1989. Alternative formulations of a flow-shop scheduling problem. J. Operat. Res. Soc., 40: 395-399.
    CrossRef    Direct Link    

  • © Science Alert. All Rights Reserved