Research Article  Open Access
Jianbo Qian, George Steiner, "Scheduling with Learning Effects and/or TimeDependent Processing Times to Minimize the Weighted Number of Tardy Jobs on a Single Machine", Mathematical Problems in Engineering, vol. 2013, Article ID 972358, 9 pages, 2013. https://doi.org/10.1155/2013/972358
Scheduling with Learning Effects and/or TimeDependent Processing Times to Minimize the Weighted Number of Tardy Jobs on a Single Machine
Abstract
We consider single machine scheduling problems with learning/deterioration effects and timedependent processing times, with due date assignment consideration, and our objective is to minimize the weighted number of tardy jobs. By reducing all versions of the problem to an assignment problem, we solve them in O(n^{4}) time. For some important special cases, the time complexity can be improved to be O(n^{2}) using dynamic programming techniques.
1. Introduction
Traditionally, the processing times of jobs in scheduling problems were fixed, regardless of the jobs' positions in the schedule or their starting times. In recent years, however, more and more researchers are investigating scheduling problems with variable processing times of two types: learning/deterioration effects and timedependent processing times.
Learning Effect. As early as in the 1930s, Wright [1] noticed that in the aircraft industry the working costs per unit decreased with an increasing production output. He formulated the socalled 80% hypothesis, stating that with every redoubling of output the unit processing time decreases by 20%. This learning effect has a large impact on mass production. For example, it was reported that, in the semiconductor industry, the efficiency gains cause the price to drop by 10–30% [2]. Recently, new proof of the impact of learning effects from a new carassembly plant was presented in [3].
Learning effects are important for production problems involving significant level of human activities, such as machine setup, machine cleaning, machine maintenance, machine failure removal, machine operating and controlling, machine data reading/understanding/interpretation, and all kinds of handwork. They are especially important when the production environment changes. Such changes may include, among others, investments in new machines or replacement of equipment, new workers, workflow changes, and the acceptance of new jobs. Even small changes to the production environment like a software update, a new design of the format of important documents, and a new organization of the spare parts depot cause learning effects. Every time a worker needs to get used to a new circumstance, a learning experience will occur. Since there are usually high levels of such human involvement in scheduling environments which change frequently, and these activities are subject to learning, it is important to consider learning effects on scheduling problems [4].
Biskup [5] proposed the following model: where and , respectively, represent the actual processing time and “normal’’ processing time (i.e., without learning effect) of the job at the th position in the scheduling sequence and represents the rate of learning. It is easy to verify that if , it corresponds to the aforementioned 80% hypothesis.
If , then the model captures the effect of process deterioration [6]. Many researchers used an equivalent model , where represents the position of job in the schedule. Mosheiov [7] investigated scheduling problems with learning effects described by (1) on parallel machines and Mosheiov and Sidney [8] studied more general learning functions. Scheduling on parallel machines with a more general form of learning effect was studied in [9]. A comprehensive survey about the learning effect in scheduling problems can be found in [10]. Further reviews of scheduling models with positional effects and learning were presented in [11–13].
TimeDependent Processing Time. In some other practical situations, the actual processing time of a job depends on its starting time. For example, Gupta et al. [14] modeled a multiple loan repayment problem in financial management as a scheduling problem with timedependent processing times. In steel production, steel ingots are to be heated to the required temperature before rolling can begin. The time taken to heat depends on the size and current temperature of the ingot, which further depends on the amount of time the ingot has been waiting to be processed in. Another example is in forestfire fighting, where the time required to control a fire is longer if the start of the fire fighting effort is delayed [15]. Some other empirical applications exist in hospital emergency room scheduling and crime scene response scheduling for police [16, 17].
The concept of timedependent processing times was introduced by Browne and Yechiali [18]. One of the most commonly used models is where also denotes the “normal’’ processing time, is a constant, and denotes the starting time of the job in the th position. If , then it reflects deteriorating processing time. Mosheiov presented a shape policy and a shape policy, respectively, in [17, 19] for scheduling deteriorating jobs. Some researchers used positiondependent [20]. However, the problem usually becomes significantly harder in most of those cases. Gawiejnowicz gives a comprehensive exposition of timedependent models [21].
The two types of variable processing times defined above were usually considered separately. Lee [22] was the first to consider them simultaneously. Wang [23] proposed the following combined model: where , , , and all have the same meaning as before. This was followed by studies by Wang [24], Wang and Cheng [25], Wang et al. [26], Wang and Cheng [27], and Koulamas et al. [28].
This model reflects, for example, the following practical scenario: an operator obtains additional skills by learning from experience; at the same time, the machine that he/she operates may be subjected to wear and tear, that is, deteriorates with time [13]. A recent review by Janiak et al. focused on a variety of models with these types of combined effects [12].
We can see that each of the above discussed cases of variable processing times is a special case of this general model. If , we have the learning effect problem; if , we have the timedependent processing time problem.
The general problem we study in this paper may be stated as follows: independent, nonpreemptive jobs, , are available for processing at time zero and are to be processed on a single machine. A schedule is defined by a job sequence , where represents the job that is in the th position in for . The processing time of the job at position is defined by (3). Our objective is to determine a schedule which minimizes a general unified cost function that is the sum of scheduling costs, expressed by using positional penalties. This unified cost function can be formulated as follows: where is a positional, jobindependent penalty for any job scheduled in the th position for , represents the normal processing time of the job in position , is a variable index to be determined, and is the scheduling penalty, for example, for tardiness, incurred by jobs scheduled in the last positions. Our model is adapted from [29], where Leyvand et al. proposed a unified framework for scheduling problems with controllable processing time and solved it using an algorithm for general linear assignment in time. The unified objective function above is also a generalization of scheduling functions studied in [30].
We will use and extend the standard threefield notation introduced by Graham et al. [31] for scheduling problems. The field describes the machine environment. For example, if 1 appears in the field, it means that we deal with a singlemachine scheduling problem. The field defines the jobprocessing characteristics and constraints. The field contains the optimizing criteria (for ease of presentation, shown in a symbolic fashion without including the summation indices).
The paper is organized as follows. In Section 2, we present an () optimization algorithm to determine the optimal schedule for the unifiedproblem. In Section 3, we present a group of scheduling problems, where the objective function includes costs for the total weighted number of tardy jobs, makespan, and due date assignment. We show that, for three different due date assignment methods, the objective can be reformulated as a special case of (4), which enables us to solve all these problems in () time. Using dynamic programming techniques, we improve this time complexity to be () for some important special cases in Section 4. The last section contains a summary and our concluding remarks.
2. The Unified Problem
We show in this section that our problem can be solved in time by solving a linear assignment problem. First we consider the case when is given. For , , let us define as
Our sequencing problem then reduces to the classical linear assignment problem of finding which minimizes . Since the calculation of the assignment costs depends on , we denote this assignment problem by . It is well known that a linear assignment problem can be solved in () time (see [32]).
Therefore, we have the following result.
Lemma 1. The optimal sequence, denoted by , can be obtained by solving a linear assignment problem requiring time for fixed .
The results of our analysis are summarized as shown in Algorithm 1.

If is not known, then we have to enumerate all and run Algorithm 1 repeatedly as a subroutine (see Algorithm 2).

From Lemma 1, we can get the following result easily.
Theorem 2. Algorithm 2 solves the problem in time.
In the next section, we present various applications of our general approach to solve a large set of important scheduling problems with variable processing times.
3. Applications to Solve Scheduling Problems
Let be the completion time of the th job in the processing sequence whose processing time varies according to (3). The following crucial equality is given in [23].
Lemma 3. Assuming that the jobs are processed from time zero and there is no idle time between them, then where by definition.
Define for and . Then (6) above can be rewritten as
3.1. Minimizing the Total Weighted Number of Tardy Jobs with Due Date Assignment
In this section, we show how our unified method can be used to minimize the total weighted number of tardy jobs with due date assignment decisions and variable processing times.
Since the solution of due date assignment problems also includes the determination of the due dates, a schedule for these problems is defined by a job sequence and a due date assignment vector , and our objective is to determine the schedule which minimizes various objective functions defined in the subsections below. Therefore, to also show their dependence on the due dates, we redefine from (4) as . Cases will be considered by providing special forms of .
Our objective is to find a job sequence and a set of due dates to minimize a cost function that includes the costs of tardiness, due date assignment, and makespan. For the CON, SLK, and DIF due date assignment methods, it is given by where is a nonnegative parameter representing the cost of one unit of due date, is a nonnegative parameter representing the cost of one unit of makespan, is the cost of job being tardy, and is the tardiness indicator variable; that is, if and otherwise.
It is easy to see that the jobs are processed from time zero and there is no idle time between them; that is, the condition of Lemma 3 is satisfied for all the due date assignment methods. Therefore, (6) holds in all cases. Next we show that, under an optimal due date assignment strategy, the scheduling cost can be reduced to the format of (4) for all of them. We present results with different due date assignment methods, including CON, DIF, and SLK, to minimize total weighted number of tardy jobs.
In the following subsections, we will reduce the scheduling problem for each due date assignment method to the format of (4), which means that they can all be solved in time. For any sequence , let us define set as the set of early (or ontime) jobs under an optimal due date assignment strategy and define the set of tardy jobs by . Then the following lemma from [33] is applicable to our problems (we omit the proof since it is rather straightforward).
Lemma 4. There is an optimal schedule in which the corresponding sequences before set .
Let denote the number of early jobs in the optimal schedule, and then we have .
DIF Due Date Assignment Method. By Lemma 4, we can schedule the early jobs before all the tardy jobs. For job , if it is early, its due date is at least as large as its completion time. Therefore, the optimal assignment strategy is to let , for . On the other hand, if job is tardy, then we can set its due date as early as possible; that is, let for , since the job tardiness cost does not depend on the amount of tardiness. From (8) and (9), we have
We can see that this is indeed in the format of (4), where
This equation becomes simpler if there is only learning effect or only timedependent processing times. If there is only learning effect, we have ; therefore in (7) is reduced to for every . Thus the equation above becomes
On the other hand, if there is only timedependent processing time effect, we have ; therefore, becomes . Thus the equation above becomes
CON Due Date Assignment Method. It can be easily seen that the optimal strategy is to assign as the common due date for all . From (8) and (9), we have
We can see that this is indeed the format of (4), where
If there is only learning effect, we have ; therefore is reduced to for every . Thus the equation above becomes
On the other hand, if there is only timedependent processing time effect, we have ; therefore, becomes . Thus the equation above becomes
SLK Due Date Assignment Method. Let . We know from [34] that the optimal common slack value is . From (8) and (9), we have
We can see that this is indeed in the format of (4), where
If there is only learning effect, we have ; therefore is reduced to . Thus the equation above becomes
On the other hand, if there is only timedependent processing time effect, we have ; therefore, becomes . Thus the equation above becomes
Application of the Unified Optimization Algorithm. According to the analysis above, the objective function (9) can be written in the format of (4) for all three due date assignment methods, and thus we can present the following optimization algorithm to solve the problem for the weighted number of tardy jobs objective (see Algorithm 3).
By Theorem 2, we have the following result for Algorithm 3.
Theorem 5. Algorithm 3 solves the , problems for in time.
It is easy to verify that if, instead of the makespan, we consider the total completion time in the objective of Theorem 5, that is, we replace with , the same arguments hold. The only difference is that, in the definition of , we use instead of . Therefore, we also state the following result.
Theorem 6. The , problems for are solvable in time.
In the next two sections, we omit the makespan considerations; that is, . The objective function (9) now becomes
3.2. Faster Algorithms for Cases with TimeDependent Processing Times Only
In this section, we present quadratictime algorithms for cases without learning effect ( in (3)) or makespan considerations () using dynamic programming techniques. In this case (7) becomes
Our method is to give the recursive relation for the optimal scheduling cost, which contains a term times, some coefficient. To this end, we need to rewrite in (8) and in terms of the 's as follows:
For the ease of the following summation calculation, we change it to the following form: where we changed the order of summation for the second equality.
Since the perunit due date assignment cost is the same for each job in (22) and the order of tardy jobs is immaterial, we can assume that the early jobs are always sequenced in SPT order. Thus, we sort the jobs into SPT order and decide which job is to be early or tardy in a backward fashion. For the sake of simplicity, suppose they are already sorted in this way.
Notice that in (24) and (26), the coefficient of is dependent only on the number of early jobs after job . In fact, has a “weight’’ of (in other words, it contributes “times’’) in the calculation of , and it has a “weight’’ of (in other words, it contributes “times’’) in the summation .
This enables us to design the following backward dynamic programming. Define to be the minimum cost of scheduling jobs s.t. of them are early, for and . We have the following set of boundary conditions for all cases when all jobs are tardy: and another boundary condition when :
Now we describe the recursive functions to calculate for the three due date assignment methods.
DIF. If job is early, then there will be early jobs among . The optimal due date for job is . By (22) and (26), is counted “times.’’ Therefore otherwise, when job is tardy, the optimal due date for job is 0; thus Therefore, we have the following recursive equation:
CON. By the due date assignment rule, each job is assigned the same due date, which is the sum of the processing times of all the early jobs. Therefore, if job is early, then it will be counted times. Thus by (22) and (24) and the fact that there are early jobs after job ; otherwise, when job is tardy, Therefore, we have the following recursive equation:
SLK. From [34], we know that the optimal common slack value is , where is the number of early jobs. In other words, the last early job does not contribute to the due date assignment cost, but the other ones (the first ) do. If job is early and , then by (22) and (24) and the fact that there are early jobs after job ; if job is early and , then it is the last early job and thus that is, if job is tardy, we have Therefore, we have the following recursive equation: for , and (for ) From the analysis above, we can present Algorithms 4 and 5.


In summary, we have the following results.
Theorem 7. Algorithm 4 solves the problems for in time. Algorithm 5 solves the problem in time.
Proof. The correctness of the algorithms follows from (24)–(40) and the preceding discussion. For the time complexity, we note that, in both algorithms, the outer recursion takes time, and the inner recursion on also takes time. Therefore, the total time complexity is .
3.3. Faster Algorithms for Cases with Learning Effect Only
In this section, we present quadratictime algorithms for cases without timedependent effect ( in (3)), or makespan consideration (), using forward dynamic programming techniques. In this case, we have from (7)
As in the previous section, our method is to give the recursive relation for the optimal scheduling costs, which contain the term times, some coefficient. To this end, we need to rewrite in (8) in terms of as follows:
Similarly to the discussion in the previous section, we can assume that the early jobs are already sequenced in SPT order. Our goal is to decide which job is to be early or tardy in a forward fashion this time.
Notice that, in (42), the coefficient of is dependent only on the number of early jobs before job . This enables us to design the following forward dynamic programming algorithms.
CON. Define to be the minimum cost of scheduling jobs s.t. of them are early, for . We have the following set of boundary conditions when jobs are all tardy: for , and
If job is early, then its processing time gets counted in the (common) due date of every job, that is, times, and thus by (22) and (42) and the fact that there are early jobs before job ; otherwise, job is tardy, and we have Therefore, we have the following recursive equation:
SLK. As in the previous section, we know from [34] that the optimal common slack value is , where is the number of early jobs. In other words, the last early job does not contribute to the due date assignment cost, but the other ones (the first ) do. Due to this special property, we do not have the same direct recursive equations as in the CON case. However, we can still utilize those recursive equations to get a set of recursive equations for the SLK case.
Let be the minimum cost to schedule jobs of s.t. job is the last early one. By the above discussion and definition of in the CON part (in which the due date assignment cost for the early jobs is calculated recursively), we have for . We define and the minimum cost to schedule jobs is given by
From the analysis above, we are ready to present Algorithm 6.

In summary, we have the following result.
Theorem 8. Algorithm 6 solves the problems for in time.
Proof. The correctness of the algorithms follows from the analysis before them. For the time complexity, we note that, in both algorithms, the outer recursion takes time, and the inner recursion also takes time. Therefore, the total time complexity is .
4. Summary and Concluding Remarks
We considered single machine scheduling problems with learning/deterioration effects and timedependent processing times, with due date assignment considerations and with the objective to minimize the weighted number of tardy jobs. We gave polynomialtime solutions for all problems considered. It remains an open question whether there exists a time algorithm for the DIF due date assignment method with learning effect only. Another challenge is to design a time algorithm for the case of , that is, to consider the makespan.
Conflict of Interests
The authors declares that there is no conflict of interests regarding the publication of this paper.
Acknowledgment
This research was supported in part by Discovery Grant 179808 by the Natural Sciences and Engineering Research Council of Canada.
References
 T. P. Wright, “Factors affecting the cost of airplanes,” Journal of Aeronautical Sciences, vol. 3, pp. 122–128, 1936. View at: Publisher Site  Google Scholar
 G. K. Webb, “Integrated circuit (IC) pricing,” Journal of High Technology Management Research, vol. 5, no. 2, pp. 247–260, 1994. View at: Publisher Site  Google Scholar
 C. SáenzRoyo and V. SalasFumás, “Learning to learn and productivity growth: evidence from a new carassembly plant,” Omega, vol. 41, no. 2, pp. 336–344, 2013. View at: Publisher Site  Google Scholar
 S. Gawiejnowicz, “A note on scheduling on a single processor with speed dependent on a number of executed jobs,” Information Processing Letters, vol. 57, no. 6, pp. 297–300, 1996. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 D. Biskup, “Singlemachine scheduling with learning considerations,” European Journal of Operational Research, vol. 115, no. 1, pp. 173–178, 1999. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 V. S. Gordon, C. N. Potts, V. A. Strusevich, and J. D. Whitehead, “Single machine scheduling models with deterioration and learning: handling precedence constraints via priority generation,” Journal of Scheduling, vol. 11, no. 5, pp. 357–370, 2008. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 G. Mosheiov, “Parallel machine scheduling with a learning effect,” Journal of the Operational Research Society, vol. 52, no. 10, pp. 1165–1169, 2001. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 G. Mosheiov and J. B. Sidney, “Note on scheduling with general learning curves to minimize the number of tardy jobs,” Journal of the Operational Research Society, vol. 56, no. 1, pp. 110–112, 2005. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 D. Okołowski and S. Gawiejnowicz, “Exact and heuristic algorithms for parallelmachine scheduling with de Jong's learning effect,” Computers and Industrial Engineering, vol. 59, no. 2, pp. 272–279, 2010. View at: Publisher Site  Google Scholar
 D. Biskup, “A stateoftheart review on scheduling with learning effects,” European Journal of Operational Research, vol. 188, no. 2, pp. 315–329, 2008. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 A. Janiak and R. Rudek, “Scheduling problems with position dependent job processing times,” in Scheduling in Computer and Manufacturing Systems, A. Janiak, Ed., pp. 26–38, Wydawnictwa Komunikacji i Łączności, Wroclaw, Poland, 2006. View at: Google Scholar
 A. Janiak, T. Krysiak, and R. Trela, “Scheduling problems with learning and ageing effects: a survey,” Decision Making in Manufacturing and Services, vol. 5, no. 12, pp. 19–36, 2011. View at: Google Scholar  Zentralblatt MATH  MathSciNet
 K. Rustogi and V. A. Strusevich, “Simple matching vs linear assignment in scheduling models with positional effects: a critical review,” European Journal of Operational Research, vol. 222, no. 3, pp. 393–407, 2012. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 S. K. Gupta, A. S. Kunnathur, and K. Dandapani, “Optimal repayment policies for multiple loans,” Omega, vol. 15, no. 4, pp. 323–330, 1987. View at: Publisher Site  Google Scholar
 N. P. Rachaniotis and C. P. Pappis, “Scheduling firefighting tasks using the concept of ‘deteriorating jobs’,” Canadian Journal of Forest Research, vol. 36, no. 3, pp. 652–658, 2006. View at: Publisher Site  Google Scholar
 A. S. Kunnathur and S. K. Gupta, “Minimizing the makespan with late start penalties added to processing times in a single facility scheduling problem,” European Journal of Operational Research, vol. 47, no. 1, pp. 56–64, 1990. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 G. Mosheiov, “∧shaped policies to schedule deteriorating jobs,” Journal of the Operational Research Society, vol. 47, no. 9, pp. 1184–1191, 1996. View at: Publisher Site  Google Scholar
 S. Browne and U. Yechiali, “Scheduling deteriorating jobs on a single processor,” Operations Research, vol. 38, no. 3, pp. 495–498, 1990. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 G. Mosheiov, “Vshaped policies for scheduling deteriorating jobs,” Operations Research, vol. 39, no. 6, pp. 979–991, 1991. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 T. C. E. Cheng, Q. Ding, and B. M. T. Lin, “A concise survey of scheduling with timedependent processing times,” European Journal of Operational Research, vol. 152, no. 1, pp. 1–13, 2004. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 S. Gawiejnowicz, TimeDependent Scheduling, Springer, Berlin, Germany, 2008. View at: MathSciNet
 W. C. Lee, “A note on deteriorating jobs and learning in singlemachine scheduling problems,” International Journal of Business and Economics, vol. 3, no. 1, pp. 83–89, 2004. View at: Google Scholar
 J.B. Wang, “A note on scheduling problems with learning effect and deteriorating jobs,” International Journal of Systems Science, vol. 37, no. 12, pp. 827–833, 2006. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 J.B. Wang, “Singlemachine scheduling problems with the effects of learning and deterioration,” Omega, vol. 35, no. 4, pp. 397–402, 2007. View at: Publisher Site  Google Scholar
 X. Wang and T. C. E. Cheng, “Singlemachine scheduling with deteriorating jobs and learning effects to minimize the makespan,” European Journal of Operational Research, vol. 178, no. 1, pp. 57–70, 2007. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 L. Y. Wang, J. B. Wang, W. J. Guo, X. Huang, and E. M. Feng, “Two singlemachine scheduling problems with the effects of deterioration and learning,” International Journal of Advanced Manufacturing Technology, vol. 46, no. 5–8, pp. 715–720, 2007. View at: Publisher Site  Google Scholar
 J.B. Wang and T. C. E. Cheng, “Scheduling problems with the effects of deterioration and learning,” AsiaPacific Journal of Operational Research, vol. 24, no. 2, pp. 245–261, 2007. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 C. Koulamas, S. Gupta, and G. J. Kyparisis, “A unified analysis for the singlemachine scheduling problem with controllable and noncontrollable variable job processing times,” European Journal of Operational Research, vol. 205, no. 2, pp. 479–482, 2010. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 Y. Leyvand, D. Shabtay, and G. Steiner, “A unified approach for scheduling with convex resource consumption functions using positional penalties,” European Journal of Operational Research, vol. 206, no. 2, pp. 301–312, 2010. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 J. Qian and G. Steiner, “Fast algorithms for scheduling with learning effects and timedependent processing times on a single machine,” European Journal of Operational Research, vol. 225, no. 3, pp. 547–551, 2013. View at: Publisher Site  Google Scholar  MathSciNet
 R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. H. G. R. Kan, “Optimization and approximation in deterministic sequencing and scheduling: a survey,” Annals of Discrete Mathematics, vol. 5, pp. 287–326, 1979. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, PrenticeHall, Englewood Cliffs, NJ, USA, 1982. View at: MathSciNet
 D. Shabtay and G. Steiner, “Two due date assignment problems in scheduling a single machine,” Operations Research Letters, vol. 34, no. 6, pp. 683–691, 2006. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 D. Shabtay and G. Steiner, “Optimal due date assignment and resource allocation to minimize the weighted number of tardy jobs on a single machine,” Manufacturing and Service Operations Management, vol. 9, no. 3, pp. 332–350, 2007. View at: Publisher Site  Google Scholar
Copyright
Copyright © 2013 Jianbo Qian and George Steiner. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.