Optimal scheduling for a single machine to ... - Semantic Scholar

Report 4 Downloads 101 Views
Applied Mathematics and Computation 167 (2005) 1430–1450 www.elsevier.com/locate/amc

Optimal scheduling for a single machine to minimize the sum of maximum earliness and tardiness considering idle insert R. Tavakkoli-Moghaddam a, G. Moslehi b, M. Vasei a, A. Azaron c,* a

Department of Industrial Engineering, Faculty of Engineering, University of Tehran, Iran b Department of Industrial Engineering, Isfahan University of Technology, Iran c Department of Artificial Complex Systems Engineering, Graduate School of Engineering, Hiroshima University, Kagamiyama 1-4-1, Higashi-Hiroshima, Hiroshima 739-8527, Japan

Abstract This paper presents the optimal scheduling in a single machine by considering idle insert. The objective function is to minimize the sum of maximum earliness and tardiness. This scheduling problem can be applied in different production systems such as just in time (JIT) systems. Special case of common due date is presented and the associated optimal solution is reported. In general case of a single machine scheduling, a number of effective lemmas regarding idle insert (n/1/OI/ETmax) are also developed. In order to show the efficiency of the proposed algorithm, 1020 problems with different job sizes, ranging from 7 to 1000 jobs, are generated at random and then the idle insert algorithm is applied to solve these problems.  2004 Elsevier Inc. All rights reserved. Keywords: Scheduling; Single machine; Maximum earliness; Maximum tardiness; Idle insert

*

Corresponding author. E-mail address: [email protected] (A. Azaron).

0096-3003/$ - see front matter  2004 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2004.08.022

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1431

1. Introduction Production planning is an important activity in a manufacturing and/or service firm. The aim of production planning is to find optimal usage from resources of a firm depending on the suitability of schedule. In modern manufacturing systems, sequencing and scheduling play an important role requiring a special attention. Nowadays, only one objective or criterion is not good enough to make a decision. However a multi-objective or criteria decision making (MODM or MCDM) is needed. Thus, a great deal of researchers proposed many algorithms to solve such difficult problems. A typical model for a single machine scheduling problem consists of the same ready times for all jobs. It is also assumed that all jobs have sequence-independent setup times, thus setup time is combined and designated as the processing time. Besides, idle insert is not allowable for each job and each machine. These assumptions exist in most papers related to this matter [1,2]. Various objective functions exist in the literature survey for a single machine scheduling problem with the above assumptions. Any of these functions presents a typical objective and makes an attempt for achieving objectives. Most of these objective functions are introduced in terms of earliness and tardiness of jobs. Earliest due date (EDD) order is used for minimizing the maximum difference between the due date and the completion time of jobs (Lmax) as well as the maximum tardiness (Tmax) [1,2]. In most cases, the sum or mean of tardiness of all jobs is considered as a criterion to determine job sequencing. The mean criterion of tardiness is presented by T and in overall, traditional optimization methods like branch and bound (B&B) and dynamic programming (DP) are used for minimizing T [1,3]. These methods are usually very timely and suitable for small number of jobs. These methods are generally inefficient for solving large-scale problems. Emmons [4] has introduced essential conditions to find an optimal solution of T in a single machine problem after proving some theorems. Sen and Borah [5] have reduced the set of feasible solutions in order to find the optimal solution using EmmonsÕ theorems. They obtained the optimal solution for 30-jobs problems by the B&B method. Holsenback and Russell [6] have introduced a heuristic method for minimizing T according to EmmonsÕ theorems. This heuristic method has been considered as a base for further researches. Panwalker et al. [7] have proposed a heuristic algorithm, Ben-Daya and Al-Fawzan [3] has introduced an efficient method based on simulated annealing (SA) and Islam and Oksioglu [8] have proposed a method based on tabu search (TS) in order to minimize T . These authors have compared their methods with Holsenback and Russell algorithm [6]. Most researchers have been interested in a multi-objective function for sequencing and scheduling problems to adapt and satisfy managersÕ requirements. One of the most important objectives is to minimize the sum (or

1432

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

weighted sum) of the earliness and tardiness of jobs. This matter is conformity to just-in-time (JIT) systems [9,10]. Tardiness and earliness causes penalties in losing customers and increasing inventory cost respectively. Thus, none of these penalties are desirable. Most researchers are interested in various forms and with various assumptions for the due dates of jobs, allowing idle insert, and weighting of earliness and tardiness [11–13]. Ow and Morton [9] have first introduced this problem by assuming the difference between earliness and tardiness costs. They have also introduced an effective theorem for preceding and succeeding of jobs to each other. According to this theorem, some priority rules have been introduced in order to solve the problem, using a heuristic method. James and Buchanan [14] have proposed a tabu search (TS) method for this problem using the results of Ow and Morton. Zegordi et al. [10] used simulated annealing (SA) method for minimizing the weighted sum of earliness and tardiness of jobs. There would be large values of earliness or tardiness for some jobs in results obtained from minimizing the sum (or weighted sum) of earliness and tardiness. Thus, this problem causes some difficulties in production systems. To identify this problem, consider a state that all jobs done on machines exit from a firm as batches built-up many parts. If all jobs of a batch produce on time but a job has tardiness, then other jobs of batch must wait. Thus, their on time production is not an advantage. In such situation, if jobs are carried out early date, they need some spaces and increase the inventory level. However, if there is earliness or tardiness, then their associated values should be almost the same for all jobs. In other word, if a job in a batch has earliness, then other jobs of batch will have earliness. Likewise, if a job has tardiness, then other jobs will have tardiness. Thus, the interval time between earliness and tardiness must be approximately zero. This aim is fulfilled by minimizing the sum of the maximum earliness and tardiness. Another application of this objective function is the part feeding in an assembly line by a machine. In other word, the assembly line needs jobs in a known due date. If a job has much earliness or tardiness, then other jobs will not be used resulting imbalance in the assembly line. Thus, the objective is to minimize the sum of the maximum earliness and tardiness in such a way that the above-mentioned difficulty reduces. This objective function forces jobs not to be early and/or tardy. In the case of existing any earliness or tardiness, their values are approximately the same for jobs and large earliness and tardiness are not existed. This objective is associated with JIT production systems. The objective function value would be equal to zero in the optimal state. If whatever earliness and tardiness exist, then the value of the objective function will be bigger than zero. In this case, the objective function tries to be reduced and this can be one of the main objectives in JIT production systems. For better understanding of the subject, consider the following example (Table 1):

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1433

Table 1 Input data for a typical example Job Processing time Due date

1

2

3

4

5

18 40

16 30

14 40

11 55

12 25

By solving the above example, the optimal sequence of 5–2–3–4–1 is obtained in which the sum of earliness and tardiness is equal to 50. However, the sum of the maximum earliness and maximum tardiness of the above sequence is equal to 44. In other word, the interval between values of the maximum earliness and maximum tardiness is equal to 44 time units. Whereas, the minimum of the maximum earliness and maximum tardiness of aforementioned problem with sequence 5–2–3–1–4 is equal to 33 in which about 25% of the interval is reduced. The sum of earliness and tardiness of this sequence is equal to 53. Amin-Nayeri and Moslehi [15] studied a single-machine scheduling problem to find an optimal sequence of jobs, in which the objective function is to minimize the maximum earliness and tardiness. In this paper, some assumptions for the original and traditional model as well as the absence of idle insert for a job and a machine have been considered. Since ETmax (sum of maximum earliness and tardiness) is an irregular criterion, then it is possible to eliminate the assumption of unallowable idle insert and to define a new problem. In the new problem, a search is carried out for finding the optimal sequence holding idle insert. This problem is presented as n/1/I/ETmax. If the objective function is to minimize the sum of the maximum earliness and maximum tardiness with allowing idle insert, then the objective is to find the best value of idle insert in a known sequence for improving the objective function. In this paper, an optimal algorithm is proposed to obtain the best value of idle insert in the known sequence. In the next section, we describe the symbols definition. In Section 3, the special case of common due date is presented. Applied theorems in the proposed algorithm are introduced, in Section 4. In Section 5, the proposed algorithm, named idle insert algorithm, is presented. The computational results are reported and compared with those results obtained by a complete enumeration method, in Section 6. Section 7 is a remarking conclusion.

2. Symbols definition To explain theorems and associated relationships, general symbols are defined as follows and hereafter the terms of ‘‘job’’ and ‘‘parts’’ have the same meaning. The number of jobs in a known sequence is n, in which processing

1434

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

time and due date of job i are presented by pi and di, respectively. All jobs have two types of due date: equal and common due date. The former is known as a prior and the latter is resulting from the final problem solving. Completion time and the difference between completion time and due date are presented by Ci and Li respectively. In a single machine scheduling, earliness (Ei) and tardiness (Ti) of job i, maximum earliness (Emax), maximum tardiness (Tmax), and the sum of maximum earliness and tardiness (ETmax) in each sequence are obtained as follows: Ei ¼ maxð0; d i  C i Þ;

ð1Þ

T i ¼ maxð0; C i  d i Þ;

ð2Þ

Emax ¼ maxfEi g;

ð3Þ

T max ¼ maxfT i g;

ð4Þ

ET max ¼ Emax þ T max ;

ð5Þ

16i6n

16i6n

id is the time of incremental idle insert in a sequence. Fig. 1 depicts three different sets of jobs considering Emax and Tmax in a single machine-scheduling problem with illegal idle insert. Suppose that a job with Tmax and another job with Emax are assigned in the position of CT and CE in the sequence, respectively. The maximum tardiness of set C, the minimum earliness of set C, and the maximum earliness of set A are presented by max TC, min EC and max EA, respectively. Optimal scheduling of a known sequence with the objective function of ETmax with idle insert and illegal idle insert are presented by n/1/OI/ETmax and n/1/O/ETmax, respectively. In this paper, two problems are studied; the value of the best idle insert and the best position of idle insert.

3. Special case of common due date Following lemmas are corresponding with the same due dates of jobs versus a known sequence. These due dates may be assumed as input (same known due date) or output (same unknown due date) that are called equal and common due date.

A

B CE

C CT

Fig. 1. A set of jobs.

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1435

Lemma 1. In the problem n/1/O/ETmax, the best common due date is assigned in each position within time space between the minimum completion time (Cmin) and the maximum completion time (Cmax). Proof. If jobs 1–n are arranged in which they have the completion times C1, C2, . . . , Cn, then following states are investigated. (1) C1 < d < Cn: If common due date is between C1(Cmin) and Cn(Cmax), then the first job and the last job have the maximum earliness and maximum tardiness, respectively. By considering the job position with the maximum earliness and maximum tardiness, in the first and the last position in sequence respectively, equations Emax = d  C1 and Tmax = Cn  d are obtained resulting the following equation. ET max ¼ Emax þ T max ¼ C n  C 1 ;

ð6Þ

ETmax is a constant value due to the constant value of completion time for the first and the last job. (2) d 6 C1: If due date is before C1 then all jobs have tardiness whose value is calculated by equation Tmax = Cn  d. Thus, ETmax is given by ET max ¼ Emax þ T max ¼ C n  d:

ð7Þ

Since Cn  d is bigger than Cn  C1, then a worse solution than 1 is obtained. (3) d P Cn: If due date is after Cn then all jobs are earliness whose value is calculated by equation Emax = d  C1. Thus ETmax is given by Emax þ T max ¼ d  C 1 :

ð8Þ

Since d  C1 is bigger than Cn  C1, then a worse solution than 1 is obtained. Hence the best common due date is related with 1, i.e. it is positioned between completion time of the first job (C1) and completion time of the last job (Cn). The objective function is same for each due date between C1 and Cn. h Lemma 2. In the problem n/1/OI/ETmax with equal due date by considering idle insert, the objective function value is improved if d is greater than Cn. Proof. Feasible states of due date are investigated as follows: (1) d 6 C1: In this state, all jobs with any sequence have tardiness and the maximum tardiness is corresponding with the last job.

1436

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

8i;

Ci  d < Cn  d ) T i < T n;

T max ¼ T n :

ð9Þ

ðT 0max Þ

increases by id value, thus if Since the obtained maximum tardiness id is positioned before or after d then the objective function ETmax will be increased. T 0max ¼ T max þ id > T max :

ð10Þ

(2) C1 < d < Cn: In this state, the following equations are given for the maximum earliness and tardiness. 8i;

d  C 1 < d  C i ) Emax ¼ E1 ;

ð11Þ

8i;

C i  d < C n  d ) T max ¼ T n :

ð12Þ

If id is positioned before C1, Tmax will be increased and Emax is decreased as T 0max ¼ T max þ id and E0max ¼ Emax  id, respectively. The new objective function will be equal to the old objective function. ET 0max ¼ E0max þ T 0max ¼ Emax þ T max :

ð13Þ

Thus, the objective function remains constant. Now, if id is positioned after d and before Cn, then it causes increasing the maximum tardiness and constant of the maximum earliness, i.e. T 0max ¼ T max þ id, E0max ¼ Emax . Finally, the new objective function will be increased by ET 0max ¼ Emax þ T max þ id. In other word, this id inserting changes the objective function. The above state is also occurred when id is positioned before d and after C1. Thus in this state, the objective function cannot be improved by id inserting. (3) d P Cn: In this state, all jobs have earliness, which their values are obtained from equation Emax = d  C1 and the maximum tardiness is zero. An increase in id before C1 improves the objective function by the d  Cn value, i.e. E0max ¼ Emax  id, Tmax = 0. Since an increase in id is bigger than d  Cn, then job n converts into a job being tardiness. If id = d  Cn, then the maximum earliness will be obtained as follows: En ¼ d  C n :

ð14Þ

If id > d  Cn, then En = 0, Tn > 0. In this state, the problem is changed to 2. h Lemma 3. In the problem n/1/OI/ETmax, the best common due date is assigned after the completion time of the first job. In this case, the objective value is only improved when d is greater than C1 and the best value of idle insert is assigned before C1.

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1437

Proof. Feasible states of due date is investigated as follows: (1) C1 < d < Cn: In this state, if id is increased before the first job, then the objective function remains constant, because an increase of the maximum tardiness is equal to the maximum earliness reduction, i.e. T 0max ¼ T max þ id, E0max ¼ Emax id. Finally, the obtained objective function does not change by id inserting. ET 0max ¼ E0max þ T 0max ¼ Emax þ T max ¼ ET max : ð15Þ If id is increased in a position before Cn and after C1, then the objective function increases. Since the maximum tardiness and the maximum earliness are equal to T 0max ¼ T max þ id and E0max ¼ Emax respectively, then the obtained objective function by id inserting is given by ET 0max ¼ Emax þ id > ET max : ð16Þ (2) d 6 C1: In this state, all jobs have tardiness; therefore id increment causes an increase of the objective function. Then the new objective function is obtained as follows: ET 0max ¼ T 0max ¼ T max þ id > ET max :

ð17Þ

(3) d P Cn: In this state, all jobs have earliness (Tmax = 0). If id positions before the sequence start (before C1), then the maximum earliness will be reduced, i.e. E0max ¼ Emax  id. However, if an increase of id exceeds from a threshold value, then earliness of job n changes to tardiness, i.e. T 0max > 0, E0n ¼ 0. This value is shown by id > d  Cn, i.e. an increase of id according to the above equation results tardiness and this increase does not improve the objective function. Thus, the objective function improves at most at d  Cn by an increase of id before starting the job sequence. Hence, an increase of id only improves the objective function in state 3. h

4. Lemmas applied in the proposed algorithm In this section, some lemmas that are the basis of the proposed algorithm are presented. This section also provides an answer to this question; ‘‘when does the idle insert improve the objective function of the sequence?’’ Lemma 4. In the problem n/1/OI/ETmax, if a job with Emax is positioned before a job with Tmax, then the idle insert does not improve the objective function. Proof. It is supposed that a known sequence with n jobs is existed. k is a job that id immediately inserts after it. id value at least is increased into a set of A, B, and C.

1438

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

if i > k ) C 0i ¼ C i þ id;

8i:

ð18Þ

(1) Adding id in set A: The same job with Tmax remains. The tardiness is only increased, i.e. T 0max ¼ T max þ id. Job with Emax may remain the same job or change to another job. So, Emax value will reduce at most at id i.e. E0max P Emax  id:

ð19Þ

Hence, the following equation is presented. E0max þ T 0max ¼ ET 0max P Emax þ T max þ id  id ) ET 0max P ET max :

ð20Þ

(2) Adding id in set B: The same job with Tmax remains. The tardiness is only increased, i.e. T 0max ¼ T max þ id. However, the same job with Emax remains, i.e. E0max ¼ Emax . Hence, the following equation is presented. E0max þ T 0max ¼ Emax þ T max þ id ) ET 0max P ET max :

ð21Þ

(3) Adding id in set C: A job with Tmax may remain the same job or change to another job, i.e. T 0max P T max . The same job with Emax remains, i.e. E0max ¼ Emax . To summarize these three states, it results the following equation: E0max þ T 0max P Emax þ T max þ id ) ET 0max P ET max :

ð22Þ

By considering the three mentioned states, it is concluded that an increase of the idle insert will not improve the objective function. h Lemma 5. In the problem n/1/OI/ETmax, if a job with Tmax is positioned before a job with Emax and idle insert is considered in the set B, then the idle insert may improve the objective function. Proof. An increase of the idle insert is considered in the following sets: (1) Adding id in set A: With increasing idle insert in set A, the same job with Tmax remains. The tardiness is only increased, i.e. T 0max ¼ T max þ id. A job with Emax may remain the same job or change to another job. So, Emax value will reduce at most at id, i.e. E0max P Emax  id. Thus, the following changes are considered in the objective function resulting the following equation: ET 0max ¼ E0max þ T 0max P Emax þ T max ) ET 0max P ET max :

ð23Þ

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1439

(2) Adding id in set B: With increasing idle insert in set B, a job with Tmax and job with Emax may remain the same jobs or change to another jobs, i.e. T 0max P T max and E0max P Emax  id. Thus, the following equation is concluded. ET 0max ¼ E0max þ T 0max P Emax þ T max  id ) ET 0max P ET max :

ð24Þ

It can be concluded that the objective function is improved in this state. (3) Adding id in set C: With increasing idle insert in set C, a job with Tmax may remain the same job or change to another job, i.e. T 0max P T max . The same job with Emax remains, i.e. E0max ¼ Emax resulting Eq. (23). By considering the three mentioned states, it is concluded that an increase of the idle insert may only improve the objective function in state 2. h According to Lemmas 4 and 5, the following notes may be considered for the idle insert in the sequence. Note 1. In the problem n/1/OI/ETmax, if the whole jobs in a known sequence do not have earliness (they have tardiness bigger than or equal zero), then the objective function may not be improved by considering the idle insert. This is a special case of Lemma 4 with Emax = 0, in which the objective function is converted into Tmax (ETmax = Emax + Tmax = Tmax). Thus, the value of Tmax should be minimized. The reason is that any idle insert does not reduce the completion time of any part and consequently Tmax is not reduced. Note 2. In the problem n/1/OI/ETmax, if the whole jobs in a known sequence have earliness, then the objective function is improved by considering the idle insert. This is a special case of Lemma 5 with Tmax =0 such that the objective function is converted into Emax (ETmax = Emax + Tmax = Emax). Thus, the value of Emax should be minimized. If the value of the minimum earliness of a sequence is represented by min E, then the earliness of the whole jobs is obviously reduced by the value of min E and consequently Emax is reduced. Following note and Lemma 6 investigate the position and the amount of idle insert. Note 3. In the problem n/1/OI/ETmax, the best objective function may be obtained by adding the idle insert in several positions of a sequence. The best improvement due to idle insert is not always obtained by entering idle insert in one particular position of the sequence. However, multiple idle insert is sometimes needed. For instance, five jobs with processing times 6, 1, 2, 3, and 6 as well as due dates 4, 9, 12, 17, and 28 are considered. Fig. 2 shows a sequence

1440

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450 Tmax=2 A E1=2 B E2=3 C E3=2 D Emax=10

Fig. 2. Inserting idle insert in different positions.

Table 2 Calculation of the maximum earliness and the maximum tardiness Position of idle insert

Best idle insert

Tmax

Emax

Objective function value

A B C D

4 5 7 5

2 2 2 2

6 5 3 5

8 7 5 7

of 1–2–3–4–5, in which the first job has the maximum tardiness (i.e. Tmax = 2) and the final job has the maximum earliness (i.e. Emax = 10). However, the jobs between these two jobs have earliness equal to 2, 3, and 5, respectively. Now, consider the idle insert in one position. Table 2 shows the best value of idle insert. While if idle insert is entered in several points, then idle insert increases 2, 1, 2, and 5 in position A, B, C, and D respectively resulting Tmax = 2, Emax = 0, and ETmax = 2. It means that better objective function value is obtained by inserting idle insert in multiple positions. Thus, the assumption of single idle insert is dismissed in all conditions. Lemma 6. In the problem n/1/OI/ETmax, the existence of a range for the idle insert does not occasionally eliminate the optimum solution. By considering Lemma 6, due to idle insert with various values from the beginning until the end of a range, same improvements are obtained in the objective function value. Thus, the minimum value of a range (i.e. beginning point) is searched in the idle insert algorithm. Proof. As it is proved formerly, if a job with Tmax is positioned before a job with Emax, it can be expected that by adding id between these two jobs, better objective function value is achieved. If i is the position of idle insert, by increasing id, Emax reduces, i.e. E0max < Emax . Hence, the objective function ETmax improves and ET 0max < ET max . It is supposed that an earliness E1 is existed before position i. Then, Emax reduces to E1 after adding id. Also, by increasing idle insert by ii value, Tmax value does not increase and Emax remains equal to E1. Thus, the following equation is concluded. Emax  E1 6 id 6 ii ) ET 0max ¼ E0max ¼ T max : In other word, the objective function remains constant.

ð25Þ h

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1441

The use of Lemmas 7–11 is in the idle insert algorithm. These lemmas are used for considering or non-considering idle insert and determining the value of idle insert. Lemma 7. In the problem n /1/I/ ETmax, if a job with Tmax is positioned before a job with Emax, then four-limit points exist that the idle insert will not be bigger than the minimum of these limits. These limits are as follows: Emax  max EA ;

min EC þ T max ;

T max  max T C ;

Emax :

ð26Þ

Proof. By considering the idle insert, only through reducing Emax, the objective function may be improved. This reduction is possible until max EA value, because the maximum earliness of set A cannot be reduced and the entry of idle insert into set A does not improve the objective function. By considering this matter, any of the following limits is considered. (1) id 6 Emax  max EA: If id > Emax  max EA then Emax loses the property of the maximum earliness and the maximum earliness positioned in set A, i.e. E0max ¼ max EA and a job with Emax is positioned before a job with Tmax. Thus, increasing idle insert may not improve the objective function further. Hence, Emax  max EA is a limit point. (2) id 6 min EC + Tmax: If id > min EC + Tmax then Tmax loses the property of the maximum tardiness and the minimum earliness of set C converts into the maximum tardiness, i.e. T 0max ¼ min EC and a job with Tmax is positioned after a job with Emax. Thus, an increase of the idle insert may not improve the objective function. Hence, min EC + Tmax is a limit point. (3) id 6 Tmax  max TC: If id > Tmax  max TC then the maximum tardiness of set C is converted into the maximum earliness of the given sequence, i.e. T 0max ¼ max T C . Thus, a job with Tmax is positioned after a job with Emax. An increase of the idle insert may not improve the objective function. Hence, Tmax  max TC is a limit point. (4) id 6 Emax: If id > Emax, this means that an idle insert bigger than the maximum earliness is considered. The objective function cannot be improved more than Emax and the maximum improvement will be equal Emax. In this case, the whole earliness of sequence is converted into zero and any earliness does not exist as well as Tmax remains constant at the same value. It may be possible that idle insert causes further Emax and the objective function ETmax (it is converted into Tmax) does not deteriorate. Hence, Emax is a limit point. Since these four limit points must observe, then the idle insert must be equal or smaller than their minimum values, i.e.:

1442

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

id 6 fEmax  max EA ; min EC þ T max ; T max  max T C ; Emax g:



ð27Þ

Lemma 8. In the problem n /1/I/ETmax, if a job with Tmax is positioned before a job with Emax and the maximum earliness except to a job with Emax is positioned before a job with Tmax, then the position of the idle insert is immediately located before the job with Emax and the value of idle insert is given by id ¼ minfðEmax  max EA Þ; ðmin EC þ T max Þ; ðT max  max T C Þ; Emax g: ð28Þ Proof. In this state, id may only insert between jobs with Emax and Tmax and the maximum improvement in the objective function will be equal Emax  max EA, because if id = Emax  max EA then the new objective function is obtained as follows: ET 0max ¼ ET max  id ¼ ET max  ðEmax  max EA Þ:

ð29Þ

By increasing further mentioned id value, a job with Emax positions before a job with Tmax. Thus, the objective function cannot be improved. Furthermore, according to the previous lemma, the following equation is concluded. id 6 min fEmax  max EA ; min EC þ T max ; T max  max T C ; Emax g:

ð30Þ

Hence, the final result is obtained by considering Eqs. (29) and (30) as follows: id ¼ minfEmax  max EA ; min EC þ T max ; T max  max T C ; Emax g:

ð31Þ

If this id is assigned to a position except than a position of immediately before a job with Emax. Another tardiness may find as T00 that exists after position of id inserting. Therefore Tmax  T00 > Emax  max EA. In this state, id at id1 is positioned before a job with T00 . Furthermore, the remainder of id at position Emax  max EA  id1 immediately before a job with Emax, in which any tardiness does not exist between a job with Tmax and a job with Emax and after mentioned position (i.e. immediately before a job with Emax). For simplifying, since it has not any effect on the objective function improving, then a position for inserting id is selected and single id is used instead of multiplying idle insert in position of immediately before a job with Emax. h Lemma 9. In the problem n /1/I/ETmax, if tardiness T 0 is existed after an entry point of id that must be increased before earliness E, the following equation holds. id 6 minfðT max T 0 Þ; ðE  the maximum earliness before id pointÞg:

ð32Þ

Proof. If a tardiness as T 0 is existed, then the following equation is obtained. ðT max  T 0 Þ < ðE  maximum earliness before id placeÞ;

ð33Þ

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1443

where id > Tmax  T 0 . Therefore, it results T 0max > T max and ET 0max > ET max and consequently id inserting does not improve the objective function, as shown in Eq. (34). id 6 T max  T 0 :

ð34Þ

Further, the objective function can be improved in a mentioned position (E  maximum earliness before position id). id ¼ minfðT max  T 0 Þ; ðE  maximum earliness before id placeÞg:

 ð35Þ

Lemma 10. In the problem n/1/I/ETmax, if a job with Tmax is positioned before a job with Emax and a job with the maximum earliness except to a job with Emax is positioned between a job with Tmax and a job with Emax (i.e. the set B), then id is immediately increased before the first earliness which is bigger than max EA. Proof. If id increases after it, e.g. in a place immediately before job with 00 00 00 earliness E , then it may be E > E and id at value E  E can insert in a 00 position immediately before E subject to observation of 4-limit point and as the same value improvement is done in the objective function. minfðmax EA  E0 Þ; ðT max  T 0 Þg > minfðE  E00 Þ; ðT max  T 0 Þg:

ð36Þ

Therefore, the allowable improvement value in the objective function is reduced. However, if it does not exist in place immediately before it and id inserts in a preceding position, it will not cause the objective function rather improvement, because the first earliness is bigger than max EA, which must reduce, is E. Since, it has not any effect on the objective function improving, a position for inserting id is selected and single id is used instead of multi-idle inserts. h Lemma 11. In the problem n/1/I/ETmax, there are several conditions must be satisfied. If a job with Tmax is positioned before a job with Emax, then the idle insert between two jobs with Emax and a job with Tmax improves the objective function, and from allowable point for inserting the idle insert onward only existing earliness, then increased idle insert must be equal or smaller than the difference between the minimum of earliness and Tmax and the difference between the maximum earliness after id point and the maximum earliness before id point. Proof. If id is not equal or smaller than min Ei + Tmax, i.e. id > min Ei + Tmax. Thus, the obtained objective function from inserting id will be ET 0max ¼ ET max  id. The obtained maximum tardiness from inserting idle insert will be T 0max ¼ T max þ ðid  ðmin Ei þ T max ÞÞ. Thus, it can be concluded that T 0max > T max . Finally, the new objective function follows the equation ET 0max P ET max . If by increasing Tmax, Emax is reduced, then increasing id

1444

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

does not create any negative or positive effect on the objective function. If the maximum earliness after and before id inserting position are represented with max Ea and max Eb, respectively then id value must be equal or smaller than max Ea  max Eb, because if id, which is bigger than max Ea  max Eb, inserts then Emax cannot reduce further than max Eb. Thus, id in this position must be equal or smaller than the minimum of max Ea  max Eb and consequently minimum earliness after position id. h

5. Idle insert algorithm In this section, the steps of the proposed algorithm are listed as follows: Step 1. Calculate the earliness and tardiness of each job. Step 2. If all jobs have earliness, then start from the first job having earliness and add the idle insert at the minimum amount of the earliness of the corresponding job, the least amount of the earliness after the job, and the deviation between the maximum earliness after the job and the maximum earliness before the job. After adding idle insert in all positions of the sequence, go to step 15. Step 3. If all jobs do not have earliness, then find a job with the maximum earliness (Emax) and a job with maximum tardiness (Tmax). If a job with Tmax is positioned before a job with Emax, then go to step 4. Otherwise, go to step 5. Step 4. If all jobs have tardiness, then the objective function cannot be improved and go to step 15. Step 5. Find the maximum earliness except Emax and name it as E 0 . If a job with E 0 is before a job with Tmax, then add idle insert before a job with Emax immediately at the minimum amount of a 4-limit point and then go to step 15. Otherwise, go to step 6. Step 6. If an earliness, which is greater than max EA, is between a job with Tmax and a job with Emax, then add the idle insert before a job with Emax immediately at the minimum amount of a 4-limit point and then go to step 15. Otherwise, go to step 7. Step 7. Select the position of the first job having earliness for adding the idle insert, which is greater than the maximum amount of maximum earliness before this position and max EA. If this position was selected before, then go to the next position. Step 8. If tardiness is not existed between a position for adding the idle insert and a job with Emax, then calculate the deviation between all earliness and Tmax. Then allocate the deviation between the maximum earliness after adding id position and the maximum earliness before

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

Step 9.

Step 10.

Step 11. Step 12.

Step 13. Step 14.

Step 15.

1445

id position in set D. Find the minimum member of set D. If this member is less than zero, then change it to zero and go to step 10. Otherwise, go to step 9. Calculate the deviation between all tardiness after the position adding idle insert and Tmax and then assign them to set B (i.e. set B contains Tmax  Ti) and finally go to step 12. If the least member of set D is smaller than a 4-limit point, then add the idle insert at the amount of the least member of set D and go to step 1. Otherwise, go to step 11. Increase the idle insert at the minimum of a 4-limit point or before a job with Emax; then go to step 15. If set B is not existed one member less than difference between E (i.e. E is earliness immediately after the point of idle inserting) and max EA (i.e. this difference is named as d), then go to step 13. Otherwise, go to step 14. If d is less than a 4-limit point, then add the idle insert at d and go to step 1. Otherwise, go to step 11. If the least member of set B is less than a 4-limit point, then add the idle insert at the least amount of set B and go to step 1. Otherwise, go to step 11. Stop.

6. Efficiency of the proposed algorithm To show the efficiency of the idle insert algorithm in a single machine scheduling, it is necessary to design problems showing the strength or weakness of the proposed algorithm. In this section, a set of problems [15] is solved and the computational results are presented. 6.1. Design of the problem Many researchers have used random samples for test problems in the field of job earliness and tardiness. These researchers have considered two significant factors in these problems. The first factor is tardiness presented by s. This factor specifies the proportion average of jobs due dates to the sum of processing times, in single machine problem. Ow and Morton [9], Kim and Yano [16], Yano and Kim [11] and James and Buchanan [14] have considered the above two factors and presented the following equation for s. d ¼ ð1  sÞ

n X j¼1

pj :

ð37Þ

1446

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

In the above equation, d is the average due dates of jobs. Processing times and s are known as a priori and finally d is obtained. The second factor is a range of due date. According to Zegordi et al. [10], processing times are generated by an  is obtained by knowuniform distribution in a range [5, 25]. Mean due date (d) ing s as shown in Eq. (37). Then, the due dates of jobs are defined by an uniform distribution presented as follows:   R=2Þ; dð1  þ R=2Þ: ½dð1 ð38Þ In the above equation, R is the range of due date and its value is known. Ow and Morton [9] and Zegordi et al. [10] have considered s = 0.2, 1.6 and R = 0.6, 1.6. These standard values are used by most researches. Researchers use these values for generating test problems at random. 6.2. Design of experiments To show the efficiency of idle insert algorithm, four different types of problems are generated by combining two factors of tardiness and range of due date. These four types are first with s = 0.2, R = 1.6, second with s = 0.6, R = 1.6, third with s = 0.2, R = 0.6 and fourth with s = 0.6, R = 0.6. In each type, problems in sizes 7, 15, 20, 25, 40, 60, 100, 150, 200, 250, 300, 350, 400, 500, 600, 800 and 1000 are considered. Fifteen iterations of each size in every type are solved. Thus, 255 problems (15 · 7 = 255) for each type and 1020 problems for four types (4 · 255 = 1020) are generated. These problems are solved by a personal computer, Pentium IV 1.2 GHz Processor. 6.3. Computational results Tables 3–6 show the computational results for type one, two, three, and four, respectively. The content of ‘‘time average of idle insert algorithm’’ is the arithmetic mean of 15 iterations. The arithmetic mean of 15 iterations of complete computation is presented in column ‘‘time average of complete computation’’. In Table 3 and 5 out of 255 problems obtain a solution in time higher than 0.001 s. Other problems obtain a solution in time equal or smaller than 0.001 s by using idle insert algorithm. In Tables 4–6, the number of 8, 3, and 3 problems, respectively, from 255 problems obtain a solution in time higher than 0.001 s showing the unique strength of idle insert algorithm. As shown in Table 4, the average of complete numeration of running time is increasing from 7 until 1000 jobs. For instance in 1000 jobs, 1545.94 s is spent for complete numeration. As the time of complete numeration increases, the idle insert algorithm would be more necessary. Thus, as the number of jobs is more increased, this algorithm presents more self-efficiency in reduction of computational time. In Tables 5 and 6, fast increment of complete numeration time is illustrated beside increment of the number of jobs like Tables 3 and 4.

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1447

Table 3 Computational results of the idle insert algorithm in type 1 (s = 0.2, R = 1.6) Number of jobs

Number of problems

7 15 20 25 40 60 100 150 200 250 300 350 400 500 600 800 1000

15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15

Total

255

Time average of algorithm running (s)

Time average of complete computation running (s)

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

0.00 0.01 0.02 0.06 0.23 0.88 3.72 13.73 28.32 56.00 105.28 167.09 228.19 425.83 739.48 1820.34 3352.21

Table 4 Computational results of the idle insert algorithm in type 2 (s = 0.6, R = 1.6) Number of jobs

Number of problems

7 15 20 25 40 60 100 150 200 250 300 350 400 500 600 800 1000

15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15

Total

255

Time average of algorithm running (s)

Time average of complete computation running (s)

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

0.00 0.00 0.00 0.02 0.10 0.34 1.65 5.50 14.08 27.80 46.64 74.26 96.76 186.58 326.34 790.16 1545.94

1448

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

Table 5 Computational results of the idle insert algorithm in type 3 (s = 0.2, R = 0.6) Number of jobs

Number of problems

7 15 20 25 40 60 100 150 200 250 300 350 400 500 600 800 1000

15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15

Total

255

Time average of algorithm running (s)

Time average of complete computation running (s)

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

0.00 0.00 0.02 0.04 0.13 0.47 2.45 7.83 18.88 36.42 64.51 100.82 133.76 269.30 466.42 1124.68 2229.48

Table 6 Computational results of the idle insert algorithm in type 4 (s = 0.6, R = 0.6) Number of jobs

Number of problems

7 15 20 25 40 60 100 150 200 250 300 350 400 500 600 800 1000

15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15

Total

255

Time average of algorithm running (s)

Time average of complete computation running (s)

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

0.00 0.00 0.00 0.03 0.06 0.22 1.73 3.63 8.62 16.42 30.89 48.78 60.64 124.08 206.40 496.98 976.19

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

1449

In the comparison between computational times generated for the four types, it is concluded that the average of complete numeration time has following relation: type 1 > type 3 > type 2 > type 4. In all problems, Lemma 1 is confirmed. Therefore, the increase of idle insert improves the objective function in any problem. In every type (with constant s and R), complete numeration time is increased when the number of jobs increases. This matter also occurs by reduction of s. Computational time of complete numeration is also increased with constant amount of s and increasing R. Thus, computational time of complete numeration has a reverse relation with s and a direct relation with R. Hence, the problem is simplified with increasing s. This case occurs among the problems with constant amount of s and reducing R. As the problem is more complicated, the efficiency of the algorithm is seen more clearly. d increases when s reduces and upper bound of range of uniform distribution for due date generation is increased. Hence, the bigger due date is generated. Thus, current Emax is bigger than the last. Since, the computational time of complete numeration has a direct relation with value of Emax, then the computational time of complete numeration has a reverse relation with s, because in each point of sequence for complete numeration, values between zero and Emax are evaluated. The upper bound of range of uniform distribution for due date generation is also increased when R increases. According to the mentioned illustration about reducing s, the computational time of complete numeration is increased.

7. Conclusion In this paper, the objective function is to minimize the sum of maximum earliness and tardiness (ETmax). This objective can be adapted by production systems and the optimal scheduling is presented for single machine with maximum earliness and tardiness considering an idle insert algorithm. Taking into account of the efficiency of the proposed algorithm, solving the scheduling problem in single machines (n/1/I/ETmax) would be very simplified. For evaluating the efficiency of the idle insert algorithm, 1020 problems in four types were designated and then solved. Generally, by increasing the problem size, the algorithm meets a strong increment in computational time. This barrier almost exists in large-sized problems. However, the solved problems in the idle insert algorithm, the mentioned barrier is not observed. As seen in all types of problems generated for evaluating the efficiency of the idle insert algorithm, the problem size of 150 jobs was solved in acceptable time. However, this time is only for increasing the idle insert in one sequence. For increasing the idle insert in a number of feasible sequences it is needed to spend more time.

1450

R. Tavakkoli-Moghaddam et al. / Appl. Math. Comput. 167 (2005) 1430–1450

Other applications of this objective function ETmax is in other types of sequencing problems such as job shop, flow shop, and so forth.

References [1] K.R. Baker, Introduction to Sequencing and Scheduling, John Wiley, NY, 1974. [2] S. French, Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop, Ellis Horwood Limited, Chichester, 1986. [3] M. Ben-daya, M. Al-fawzan, A simulated annealing approach for the one-machine mean tardiness scheduling problem, European Journal of Operational Research 93 (1996) 61–67. [4] H. Emmons, One-machine sequencing to minimize certain function of job tardiness, Operation Research 17 (1969) 605–612. [5] T. Sen, B.N. Borah, On the single-machine scheduling problem with tardiness penalties, Journal of the Operational Research Society 42 (1991) 695–702. [6] J.E. Holsenback, R.M. Russell, A heuristic algorithm for sequencing on one machine to minimize total tardiness, Journal of the Operational Research Society 43 (1992) 53–62. [7] S.S. Panwalker, M.L. Smith, C.P. Koulamas, A heuristic for the single machine tardiness problem, European Journal of Operational Research Society 70 (1993) 304–310. [8] A. Islam, M. Oksioglu, A tabu search approach for the single machine mean tardiness problem, Journal of the Operational Research Society 48 (1997) 751–755. [9] P.S. Ow, T.E. Morton, The single machine early/tardy problem, Management Science 35 (1989) 177–191. [10] S.H. Zegordi, K. Itoh, T. Enkawa, A knowledgeable simulated annealing scheme for the early/ tardy flow shop scheduling problem, International Journal of Production Research 33 (1995) 1449–1466. [11] C.A. Yano, Y.D. Kim, Algorithms for a class of single-machine weighted tardiness and earliness problems, European Journal of Operational Research 52 (1991) 167–175. [12] W. Szwarc, S.K. Mukhopadhyay, Optimal timing schedules in earliness–tardiness single machine sequencing, Naval Research Logistics 42 (1995) 1109–1114. [13] P. Dileepan, Common due date scheduling problem with separate earliness and tardiness penalties, Computer and Operational Research 20 (1993) 179–184. [14] R.J.W. James, J.T. Buchanan, A neighborhood scheme with a compressed solution space for the early/tardy scheduling problem, European Journal of Operational Research 102 (1997) 513–527. [15] M.R. Amin-Nayeri, G. Moslehi, Optimal algorithm for single machine sequencing to minimize early/tardy cost, Esteghlal, Isfahan University of Technology 1 (2000) 35–48. [16] Y.D. Kim, C.A. Yano, Minimizing mean tardiness and earliness in single-machine scheduling problems with unequal due date, Naval Research Logistics 41 (1994) 913–933.