Acessibilidade / Reportar erro

A note on scheduling on a single processor with variable speed

Abstracts

Alidaee and Ahmadian considered a single machine scheduling problem with varying processing times, and presented a polynomial algorithm that minimizes the sum of absolute deviations of jobs' completion times from a common due date. In this short note we remark that it is possible to eliminate one of the algorithm steps, therefore obtaining a more efficient procedure. We also show that the approach used can easily be generalized to the problem with different weights for earliness and tardiness.

scheduling; variable speed; common due date


Alidaee e Ahmadian analisaram um problema de sequenciamento com um único processador e tempos de processamento variáveis, tendo apresentado um algoritmo que minimiza a soma dos desvios absolutos dos tempos de finalização das tarefas face a uma data de entrega comum. Neste artigo é estabelecido que um dos procedimentos desse algoritmo pode ser eliminado, sendo assim possível obter um procedimento mais eficiente. A abordagem utilizada é também generalizada ao problema com ponderações diferentes consoante o trabalho é concluído antes ou após a sua data de entrega.

sequenciamento; velocidade variável; data de entrega comum


A note on scheduling on a single processor with variable speed

Jorge M. S. Valente* * Corresponding author / autor para quem as correspondências devem ser encaminhadas ; Rui A. F. S. Alves

Faculdade de Economia, Universidade do Porto, Portugal, jvalente@fep.up.pt

ABSTRACT

Alidaee and Ahmadian considered a single machine scheduling problem with varying processing times, and presented a polynomial algorithm that minimizes the sum of absolute deviations of jobs' completion times from a common due date. In this short note we remark that it is possible to eliminate one of the algorithm steps, therefore obtaining a more efficient procedure. We also show that the approach used can easily be generalized to the problem with different weights for earliness and tardiness.

Keywords: scheduling; variable speed; common due date.

RESUMO

Alidaee e Ahmadian analisaram um problema de sequenciamento com um único processador e tempos de processamento variáveis, tendo apresentado um algoritmo que minimiza a soma dos desvios absolutos dos tempos de finalização das tarefas face a uma data de entrega comum. Neste artigo é estabelecido que um dos procedimentos desse algoritmo pode ser eliminado, sendo assim possível obter um procedimento mais eficiente. A abordagem utilizada é também generalizada ao problema com ponderações diferentes consoante o trabalho é concluído antes ou após a sua data de entrega.

Palavras-chave: sequenciamento; velocidade variável; data de entrega comum.

1. Introduction

Alidaee & Ahmadian (1996) consider a single machine scheduling problem with variable processing times that was introduced by Gawiejnowicz (1996). In this problem the speed of the machine is variable and depends on the number of jobs that have already been processed. The speed of the machine is described by a function v, which varies in the interval [0,1]. The speed starts from an initial value and changes after the completion of each job. After a certain number of jobs have been executed, the speed reaches one of its limit values (either 0 or 1). At that time, the machine stops for a certain amount of time before resuming the processing of the remaining jobs (with the speed v again assuming values in the interval [0,1]).

Formally, the model can be stated as follows. A set N = {1,...,n} of independent jobs, each consisting of a single operation, must be processed without preemption on a single machine. Let v: {1,...,n} ® [0,1] be a function that specifies the speed of the machine (at the beginning of the jth job) according to the number of already executed jobs. It is assumed that the speed of the machine does not change while a job is being processed. Let k be the number of jobs that can be executed without breaking the work of the machine, i.e., up to the time the speed reaches an end value. Therefore, the machine must stop after k jobs are executed. Let pj denote the processing requirement of job j, j=1,...,n, and let tb be the length of each processor break. Assuming that tb is constant, we can also assume, without loss of generality, that tb = 0. Let s = ([1],...,[n]) be a sequence of the n jobs where [l] denotes the lth job in s and let (i) represent the ith position in the sequence s. The relative processing time of the jth job in the sequence s is then , for j = 1,...,n.

The case where the speed of the machine depends not only on the number of jobs it has already processed, but also on the job currently being processed, was also considered in Alidaee & Ahmadian (1996). In that case, associated with each job j Î N there is a speed function vj: {1,...,n} ® [0,1], where vj(i) denotes the speed of the processor when processing job j in the ith position. One of the objective functions considered by Alidaee and Ahmadian was the sum of deviations of the jobs' completion times from a common due date, which can be stated as follows: find a sequence s and a common due date d, i.e., a schedule (s,d), that minimizes TET(s,d) = |C[j] – d|, the total earliness and tardiness. Alidaee & Ahmadian (1996) presented an O(n2log n) algorithm for the problem where the speed depends only on the number of previously processed jobs, and a O(n4) procedure for the case where the speed also depends on the job itself.

In this short note we first remark that one of the steps included in the procedures proposed by Alidaee & Ahmadian (1996) can be eliminated. This leads to improved algorithms with time complexities of O(nlog n) and O(n3). We then show that the procedures presented by Alidaee and Ahmadian can easily be extended to the problem with different weights for earliness and tardiness, which can be stated as follows: find a sequence s and a common due date d, i.e., a schedule (s,d), that minimizes the total weighted earliness and tardiness TWET(s,d) = [h(d – Cj)+ + w(Cj – d)+], where h and w are, respectively, the earliness and tardiness cost per unit time.

2. Sum of absolute deviations of the jobs' completion times

In this section we remark that it is possible to improve the efficiency of the algorithms proposed by Alidaee & Ahmadian (1996) by eliminating one of their steps. Alidaee & Ahmadian (1996) first presented an algorithm with complexity O(nlog n) for the problem where the speed depends only on the number of previously processed jobs, and the number of early and on time jobs (and therefore the number of late jobs) is given. The problem where once again the number of early and on time jobs is given, but the speed depends also on the job itself, was formulated as a transportation problem, and can therefore be solved in O(n3) time. Alidaee & Ahmadian (1996) then proposed that the general problems, where the number of early and on time jobs is not given, could be solved by simply running the above algorithms for all the n possible values for the number of early and on time jobs, and choosing the best of those n schedules. This resulted in procedures with complexity O(n2log n) and O(n4).

We now remark that there always exists an optimal schedule with a certain number of early and on time jobs, so that only that number needs to be considered in the search for an optimal schedule. It is well known that the due date must coincide with the completion time of a job, and that no unforced idle time should be inserted between the jobs (see, for instance, Baker & Scudder (1990)). Let B denote the set of jobs that complete before or at the common due date d and A denote the set of jobs that complete after d. The following result was proved by Baker & Scudder (1990) and states the number of jobs that will be early or on time in one (possibly not unique) optimal schedule.

Theorem 1 (Baker & Scudder) There exists an optimal schedule where |B| = é n/2 ù, i.e., é n/2 ù jobs are completed early or on time.

Theorem 1 shows that in the search for an optimal solution it suffices to consider schedules with é n/2 ù early or on time jobs, so the problems with speed dependent on the number of processed jobs only, and with speed also dependent on the particular job being processed, can therefore be solved in time O(nlog n) and O(n3), respectively.

3. Weighted earliness and tardiness

3.1 Speed depends only on the number of previously processed jobs

We now show that the approach used in Alidaee & Ahmadian (1996) can be adapted to the problem with a total weighted earliness and tardiness objective function. Once more the due date must coincide with the completion time of a job, and that no unforced idle time should be inserted between the jobs (see, for instance, Baker & Scudder (1990)). We first consider the number of jobs that will be early or on time in an optimal schedule. Again let B denote the set of jobs that complete before or at the common due date d and A denote the set of jobs that complete after d. The following result was also proved by Baker & Scudder (1990), and states the number of jobs that will be early or on time in one (possibly not unique) optimal schedule.

Theorem 2 (Baker & Scudder) There exists an optimal schedule where |B| = and therefore |A| = , i.e., jobs are completed early or on time and jobs are completed late.

Theorem 2 allows us to consider only schedules with early or on time jobs. Please recall that [l] denotes the lth job in the sequence s, while v(i) represents the speed of the machine when processing the job in the ith position in s. The objective function can now be written as:

Note that only the value of p[j] depends on the job sequence. The remaining values in the previous equations, which we will call the positional weights, and denote by D(j), are independent of the job sequence. These positional weights D(j) are

for the early and on time jobs and

for the tardy jobs.

Theorem 3 An optimal solution can be obtained by successively assigning the unscheduled job with the smallest value of p to the free position with the largest value of D until all jobs have been scheduled.

Proof. The proof is identical to the proof of Proposition 1 in Alidaee & Ahmadian (1996). The objective function can be seen as a scalar product of two vectors, and it is known that such a product is minimised by matching the largest elements in one vector with the smallest elements in the other vector.

The TWET problem can therefore be solved in O(nlog n) time, since sorting the jobs and the positional weights requires O(nlog n) time, and the final assignment of jobs to positions can be done in O(n) time.

3.2 Speed also depends on the job being processed

The approach presented in Alidaee & Ahmadian (1996) for the TET problem when the speed also depends on the job being processed can once again be adapted to the TWET objective function. That approach involves a transformation to an assignment problem. The processing time of a job is variable, since it depends on the job's position in the sequence, while theorem 2 applies when the processing times are constant. However, since for any given sequence s the processing times are indeed constant, it is clear that even in this case theorem 2 is still valid. Furthermore, it's still true that not only the due date must coincide with the completion time of a job, but also no unforced idle time should be inserted.

The contribution of job j to TWET is if it is scheduled in the ith position and i < , i.e., if j is early or on time. If job j is tardy and it is scheduled in the ith position (i > ), its contribution will be . We can now define an n ´ n matrix , composed of two matrices e and t as follows,

where

e is an ´ n matrix representing the contributions of the n jobs to the objective function when they are early or on time, and t is an (n – ) ´ n matrix representing the contributions of the n jobs to TWET when they are tardy. The ijth element of e is equal to and the ijth element of t is equal to .

The TWET problem can then clearly be solved as an assignment problem that has Q as its matrix, and an optimal solution can therefore be obtained in O(n3) time.

Recebido em 02/2003; aceito em 09/2003

Received February 2003; accepted September 2003

  • (1) Alidaee, B. & Ahmadian, A. (1996). Scheduling on a single processor with variable speed. Information Processing Letters, 60, 189-193.
  • (2) Baker, K. & Scudder, G. D. (1990). Sequencing with earliness and tardiness penalties: A review. Operations Research, 38, 22-36.
  • (3) Gawiejnowicz, S. (1996). A note on scheduling on a single processor with speed dependent on a number of executed jobs. Information Processing Letters, 57, 297-300.
  • *
    Corresponding author / autor para quem as correspondências devem ser encaminhadas
  • Publication Dates

    • Publication in this collection
      13 Feb 2004
    • Date of issue
      Dec 2003

    History

    • Accepted
      Sept 2003
    • Received
      Feb 2003
    Sociedade Brasileira de Pesquisa Operacional Rua Mayrink Veiga, 32 - sala 601 - Centro, 20090-050 Rio de Janeiro RJ - Brasil, Tel.: +55 21 2263-0499, Fax: +55 21 2263-0501 - Rio de Janeiro - RJ - Brazil
    E-mail: sobrapo@sobrapo.org.br