SlideShare uma empresa Scribd logo
1 de 112
Baixar para ler offline
All Minimal and Maximal Open Single Machine
Scheduling Problems are Polynomially Solvable

               Harmen W. Bouma
                   1345982

                 April 8, 2009
Master’s Thesis Operations Research

Supervisor: Prof. Sc.D. B. Goldengorin

  Co-assessor: Prof. dr. G. Sierksma
All Minimal and Maximal Open Single Machine
     Scheduling Problems are Polynomially Solvable

                               H.W. Bouma




                                 Abstract

In this thesis, Boolean Linear Programming (BLP) models are presented for
three single machine scheduling problems with equal-length jobs and different
release dates, and it is proven that they are polynomially solvable. The objec-
tive of the first problem, in which preemption is allowed, is to minimize the
total weighted completion time. The objective of the other two problems is to
minimize the total weighted tardiness. The second problem is preemptive, the
third is not. To this date, the complexity status of these problems has remained
open. The open complexity status was mentioned by Labetoulle et al. [21] in
1984.
    The BLP models are based on the Assignment Problem formulation, which
is a well-known polynomially solvable problem in combinatorial optimization.
The Assignment Problem can be used to solve many problems, including for
example the single machine scheduling problems in which the total weighted
tardiness is minimized and in which all jobs have unit processing times and
different release dates. In order to solve the three problems mentioned above
only preoptimized permutations are incorporated into the Assignment Problem
formulation. The proof that the problems are polynomially solvable is based on
the notion of Total Dual Integrality.
Keywords: (Non-)preemptive scheduling; Equal-length jobs; Release dates; Weighted
completion time; Weighted tardiness; Total dual integrality.
Preface
Since the fifties of the twentieth century Scheduling Theory has been a popular
research area. In the early years pioneers came up with algorithms to solve
simple job scheduling problems. In the years that followed, many algorithms
and heuristics were found to solve both basic and more complicated problems.
Nowadays, the complexity status of many basic scheduling problems is known,
although there are still some problems with an open complexity status.
    In this thesis I will show that three of these open problems are polynomially
solvable. Two of the problems are about finding a preemptive schedule in a
single machine setting where the jobs have equal processing times and different
release dates. The objectives are to minimize the total weighted completion
time and the total weighted tardiness, respectively. The third problem is the
non-preemptive version of the total weighted tardiness problem. All problems
will be modeled as Assignment Problems with side constraints.
    The thesis is organized as follows. In Chapter 1 an overview of single ma-
chine scheduling problems is given and some basic concepts of computational
complexity and Integer Linear Programming are discussed. In Chapter 2 the
problems are defined and an informal description of 1|pmtn; pj = 2; rj | wj Cj
is presented which motivates the use of the Assignment Problem formulation.
A similar approach is used for the other open problems. Chapter 3 contains
a discussion of problems that are modeled as a variation on the Assignment
Problem as well. In Chapter 4, the Boolean Linear Programming (BLP) model
for the problem 1|pmtn; pj = 2; rj | wj Cj is given and it is proven that the
corresponding system of equations is Totally Dual Integral. This implies that
the problem is polynomially solvable. In Chapter 5 these results are generalized
to the case pj = p. In Chapter 6 the BLP models are presented for the total
weighted tardiness scheduling problems and it is proven that they are also poly-
nomially solvable. In Chapter 7 some computational results are presented and
Chapter 8 contains recommendations for future research and a short summary.
    I wish to thank my supervisor Prof. Sc.D. B. Goldengorin for giving me the
opportunity to do this research. He advanced the idea of solving the problem
by a model based on the Assignment Problem. I would like to thank him for
his support and advice he provided me with during my research. Furthermore,
I would like to thank Prof. dr. G. Sierksma, who was willing to be co-assessor
of this research project, and Guido Diepen of Paragon Decision Technology for
his technical support with AIMMS.

Groningen,

Harmen Bouma
Contents

1 Introduction                                                                  13
  1.1 Single Machine Scheduling Problems . . . . . . . . . . . . . . . . 14
  1.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . . 16
  1.3 Overview of Complexity Status of Single Machine Scheduling
       Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
       1.3.1 Open Problems . . . . . . . . . . . . . . . . . . . . . . . . 20
       1.3.2 Related Problems . . . . . . . . . . . . . . . . . . . . . . . 21
  1.4 Linear and Integer Programming . . . . . . . . . . . . . . . . . . 23
       1.4.1 Total Unimodularity and Total Dual Integrality . . . . . . 24

2 Problem Formulation                                                                            27
  2.1 Minimizing the Total Weighted Completion Time          .   .   .   .   .   .   .   .   .   27
      2.1.1 The Assignment Model . . . . . . . . . .         .   .   .   .   .   .   .   .   .   28
  2.2 Minimizing the Total Weighted Tardiness . . . .        .   .   .   .   .   .   .   .   .   31
      2.2.1 The Preemptive Problem . . . . . . . . .         .   .   .   .   .   .   .   .   .   31
      2.2.2 The Non-Preemptive Problem . . . . . . .         .   .   .   .   .   .   .   .   .   32
  2.3 Outline of the Proof . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   33

3 Variations on the Assignment Problem                                                           35
  3.1 Finding Subdigraphs with Prescribed Degrees . . . . . . . .                    . . .       35
  3.2 A Polynomial Solvable Case of the Axial Three-Dimensional                      As-
      signment Model . . . . . . . . . . . . . . . . . . . . . . . . .               . . .       36
  3.3 The Imbalanced Time Minimizing Assignment Problem . .                          . . .       38
  3.4 Resource-Constrained Assignment Scheduling . . . . . . . .                     . . .       38

4 Minimizing the Total Weighted Completion Time when p = 2 41
  4.1 The Number of Time Intervals between the First and Second Part
      of a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
  4.2 The Primal Model . . . . . . . . . . . . . . . . . . . . . . . . . . 42
      4.2.1 BLP Model . . . . . . . . . . . . . . . . . . . . . . . . . . 43
      4.2.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
      4.2.3 Integer and LP Relaxations . . . . . . . . . . . . . . . . . 44
      4.2.4 Total Unimodularity . . . . . . . . . . . . . . . . . . . . . 45
  4.3 The Dual Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
      4.3.1 Model Formulation . . . . . . . . . . . . . . . . . . . . . . 46
      4.3.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
  4.4 Total Dual Integrality . . . . . . . . . . . . . . . . . . . . . . . . 49
      4.4.1 Integrality of Solutions to the Dual Problem . . . . . . . . 50

                                        7
4.4.2 A Polynomial Time Algorithm         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    53
   4.5   Optimality Conditions . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    57
         4.5.1 Complementary Slackness . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    57
         4.5.2 Example . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    58
         4.5.3 Optimality Conditions . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    59

5 Minimizing the Total Weighted Completion Time when pj = p                                                    63
  5.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                    63
  5.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . .                                       65
      5.2.1 A Polynomial Time Algorithm . . . . . . . . . . . . . . .                                          65
  5.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                  67

6 Minimizing the Total Weighted Tardiness                                                                      69
  6.1 The Preemptive Case . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   69
      6.1.1 Computational Complexity . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   70
      6.1.2 A Polynomial Time Algorithm . .                .   .   .   .   .   .   .   .   .   .   .   .   .   70
      6.1.3 Example . . . . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   71
  6.2 The Non-Preemptive Case . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   71
      6.2.1 The Model . . . . . . . . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   72
      6.2.2 Computational Complexity . . . .               .   .   .   .   .   .   .   .   .   .   .   .   .   73
      6.2.3 A Polynomial Time Algorithm . .                .   .   .   .   .   .   .   .   .   .   .   .   .   73
      6.2.4 Examples . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   74

7 Computational Results                                                                                         75

8 Summary and Concluding Remarks                                                                                81

A Complexity Results for Single Machine Problems                                                               85

B Proofs from Chapters 5 and 6                                                                                 87
  B.1 The Dual Model of Chapter 5 . . . . .        . . . . .           .   .   .   .   .   .   .   .   .   .   87
      B.1.1 Integrality of the Dual Optimal        Solution            .   .   .   .   .   .   .   .   .   .   89
  B.2 The Dual Model of Section 6.2 . . . .        . . . . .           .   .   .   .   .   .   .   .   .   .   92
      B.2.1 Total Dual Integrality . . . . .       . . . . .           .   .   .   .   .   .   .   .   .   .   93

C Instances used for Computational Results                                                                     97

D List of Symbols and Abbreviations                                                                            103




                                        8
List of Figures

 1.1   The EDD and optimal schedule for an instance of 1|rj |Lmax . . .              19
 1.2   The preemptive WSPT and the optimal schedule for an instance
       of 1|pmtn; rj | wj Cj . . . . . . . . . . . . . . . . . . . . . . . . .       20

 3.1   Graphical representation of a special case of the three-dimensional
       assignment model. . . . . . . . . . . . . . . . . . . . . . . . . . .         37
 3.2   Graphical representation of the multidimensional assignment prob-
       lem for 1|pmtn; pj = 2; rj | wj Cj with n = 3. . . . . . . . . . .            37

 4.1   Schedule S1 , where d ∈ {2, 4, 6, . . .}, 0 < λ < 1 . . . . . . . . . . .     55
 4.2   Schedule S2 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . .    55
 4.3   Schedule S3 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . .    56
 4.4   Schedule S4 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . .    56
 4.5   Schedule S5 , where d1 ∈ {2, 4, 6, . . .}, d2 , d3 ∈ {3, 5, 7, . . .}, d2 >
       d1 , d3 > d2 , 0 < λ < 1. . . . . . . . . . . . . . . . . . . . . . . . .     56
 4.6   Schedule S6 , d1 ∈ {2, 4, 6, . . .}, d2 , d3 ∈ {3, 5, 7, . . .}, d2 > d1 ,
       d3 > d2 , 0 < λ < 1. . . . . . . . . . . . . . . . . . . . . . . . . . .      57

 7.1   The differences in terms of percentages       between the optimal val-
       ues of the problems 1|pmtn; pj = p; rj |      wj Cj and 1|pj = p; rj | wj Cj . 78
 7.2   The differences in terms of percentages       between the optimal val-
       ues of the problems 1|pmtn; pj = p; rj |      wj Tj and 1|pj = p; rj | wj Tj . 79




                                         9
List of Tables

 1.1   Overview of complexity results of problems that are related to
       the open problems that are solved in this thesis. . . . . . . . . .                                         26

 2.1   The cost matrix W , representing the costs of assigning job                                   parts
       to time intervals. . . . . . . . . . . . . . . . . . . . . . . .                              . . . .       30
 2.2   The cost matrix W , representing the costs of assigning job                                   parts
       to time intervals when     wj Tj is the objective. . . . . . .                                . . . .       32

 4.1   The way in which dual variables p, q and s correspond to the
       rows and columns of the cost matrix W . . . . . . . . . . . . . . .                                         48
 4.2   Cost matrix W adjusted by the dual variables. . . . . . . . . . .                                           49

 7.1   CPU time in seconds and optimal solutions for the problem 1|pmtn; pj =
       p; rj | wj Cj , for p = 2. . . . . . . . . . . . . . . . . . . . . . . . 75
 7.2   CPU time in seconds and optimal solutions for the problem 1|pmtn; pj =
       p; rj | wj Cj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 76
 7.3   CPU time in seconds and optimal solutions 1|pmtn; pj = p; rj | wj Tj ,
       for p = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
 7.4   CPU time in seconds and optimal solutions for the problem 1|pmtn; pj =
       p; rj | wj Tj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 77
 7.5   CPU time in seconds and optimal solutions 1|pj = p; rj | wj Tj ,
       for p = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
 7.6   CPU time in seconds and optimal solutions for the problem 1|pj =
       p; rj | wj Tj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 78
 7.7   Optimal solutions for the problem 1|pj = p; rj | wj Cj . . . . . . 78

 8.1   The problems that are solved in this thesis and problems that are
       closely related to them. . . . . . . . . . . . . . . . . . . . . . . .                                      83

 C.1   Instances   with   20 jobs and p = 2. .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 97
 C.2   Instances   with   50 jobs and p = 2. .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 98
 C.3   Instances   with   100 jobs and p = 2.    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 99
 C.4   Instances   with   50 jobs and p = 3. .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 100
 C.5   Instances   with   30 jobs and p = 4. .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   . 101




                                        11
Chapter 1

Introduction

In many manufacturing and service industries planning and scheduling belong
to the day-to-day activities. Whether it is about a copy shop holder who needs
to determine which order to print first, or the type of aircraft that should be
assigned to a particular flight, the decisions made can substantially affect the
efficiency or profitability of a company.

    Consider for example a copy shop holder, who serves several business clients.
Some orders are urgent, while others are not. A report that is just finished and
should be presented the following morning has higher priority for a firm than
the quarterly staff magazine. The urgency of an order is given by the difference
between the deadline of an order and the point in time at which the order actu-
ally comes in at the copy shop. This is the so-called time window. Furthermore,
each order has a different processing time, depending on its size, its quality etc.
Last but not least, each order has a certain weight. When the copy shop holder
does not meet a deadline, the client receives a discount based on the amount
of delay and the weight of the order. Naturally, urgent and large orders have
higher weights than low priority and small jobs. Given all orders, the copy shop
holder would like to determine the printing schedule such that the total amount
of discount is as small as possible.

    Now consider the airline company. It needs to assign airplanes to flights such
that none of the flights is canceled. The cost of assigning a certain type of air-
craft to a particular flight is known in advance. Each flight is characterized by
a departure and arrival time and by the expected number of passengers. Each
airplane has a certain capacity. Obviously, it is desirable that an airplane has
sufficient capacity to carry all passengers, since otherwise a certain amount of
revenue is missed. On the other hand, when there is overcapacity the revenues
may not be sufficient to cover the flight’s costs. Given the departure and ar-
rival time, the cost of a flight, the expected number of passengers per flight and
the revenue per passenger, the airline is interested in assigning its airplanes to
flights such that total profits are maximized.

    These examples show that scheduling problems arise frequently in prac-
tice and often involve the core business of a company. Therefore, considerable
amounts of attention have been paid to scheduling techniques in literature for

                                       13
over fifty years. Pinedo [28] defines scheduling as the allocation of limited re-
sources to activities that have to be done over time. This allocation needs to
be such that a company optimizes its objectives and achieves its goals. In the
examples stated above, the photocopiers in the copy shop and the fleet of the
airline company are the resources. The activities are the orders and the flights.
The objectives are to minimize the total amount of discount and to maximize
profits, respectively.

    Scheduling techniques rely heavily on mathematical models, exact algo-
rithms and heuristics. For many problems efficient algorithms have been found
to solve the problems to optimality. However, there are still many problems
that have not been solved yet. In this thesis suitable models for three of these
unsolved scheduling problems will be presented. In Chapter 2 the problem is
formulated and in Chapter 3 some background information is given about the
modeling techniques that are used in Chapters 4 to 6. In the remainder of the
Introduction an overview of scheduling problems is given in which only one type
of resource is involved, the so-called single machine models. Furthermore, the
concept of computational complexity and the mathematical techniques that are
used in this thesis are shortly discussed.


1.1     Single Machine Scheduling Problems
Most of the scheduling problems that were solved during the fifties of the twen-
tieth century involved only one machine. Although single machine problems do
not arise frequently in practice, a study of them is valuable for two reasons.
Firstly, the solution methods for single machine models provide insights into
solution techniques that could be used in more complex situations with sev-
eral machines. Secondly, in many production settings there is one stage that
is crucial for the overall performance of a schedule. This stage is called the
bottleneck. Optimizing the schedule for the bottleneck, which could well be a
single machine, then optimizes the schedule for the entire problem (Chen, Potts
and Woeginger [11]).

    In a single machine model there is a certain resource which is generally
referred to as a ‘machine’. This resource is needed to fulfill a number of tasks,
usually called ‘jobs’. The machine can only handle one job at a time. Each job
may have different characteristics, such as the time that is needed to complete
a job or the point in time at which a job becomes available for processing.
Finally, there is an objective that has to be optimized. For example, one might
be interested in minimizing the total number of tardy jobs, or the point in time
at which all jobs are completed.
    Most types of scheduling problems can be described by a triple α|β|γ which is
widely used in the literature and was introduced by Graham et al. [17]. Here, α
describes the machine environment, β the job characteristics and γ the objective
criterion to be minimized. Hence, for single machine models it follows that
α = 1. An overview of several job characteristics and objective criteria is given
below. It should be noted that this overview is not exhaustive. However, it is
sufficient to define most basic scheduling problems.



                                       14
Job Characteristics. Assume that there are n jobs to be scheduled and let
the subscript j refer to a particular job. Examples of job characteristics are:

 Processing time (pj ). The time that is needed to fully process job j.

 Release date (rj ). The time at which job j becomes available for processing.

 Due date (dj ). The time at which job j is committed to be completed. When
     this due date is not met, a penalty is incurred. When the due date must
     be met at all costs, it can replaced by a (strict) deadline Dj .

 Weight (wj ). The weight of a job, which is a priority factor. It reflects the
     importance of job j relative to other jobs.

 Preemption (pmtn). When preemption is allowed, a job can be removed from
     a machine before it is fully processed. At a later stage it can then be
     resumed. In case of preemption, processing that has already been done is
     not lost.

 Precedence constraints (prec). When a job cannot be processed before an-
     other job is completed, the problem is subject to so-called precedence
     constraints. Precedence constraints can be depicted by acyclic graphs,
     where each node is a job and each arc a precedence constraint. When
     the graph consists of chains, prec is replaced by chains in the β-field.
     Similarly, when the precedence constraints can be represented by a series-
     parallel graph, prec is replaced by sp-graph.

    It should be noted that pj only appears in the β-field when pj = p, i.e.,
when all processing times are equal. In general, wj and dj do not appear at all
in the β-field since it is clear from the objective whether there are weights and
due dates. This is not the case for strict deadlines Dj . Note that it could well
be that the β-field is empty.

Objective Criteria. Let the time at which job j is finished be denoted by
Cj , the completion time of job j. Define the lateness Lj and the tardiness Tj of
job j as follows:

                           Lj   = Cj − dj ,
                           Tj   = max{Cj − dj , 0}.

The lateness of job j indicates the amount of time that a job is delayed. Note
that a negative value implies that a job is early. The tardiness indicates the
amount of delay of a job, and is zero when a job is early or exactly in time.
   Furthermore, let
                                     1 if Cj > dj
                            Uj =
                                     0 otherwise.
When job j is delayed Uj is one, otherwise it is zero. This criterion can be
used to count the number of tardy jobs. However, the amount of delay is not
expressed by it.
   The objective criteria can now be given by:

                                       15
Makespan (Cmax = maxj Cj ). The makespan is the maximum completion
    time, or the time at which all jobs are processed. When the makespan is
    minimized, the schedule tends to finish processing as early as possible.
 Total completion time ( j Cj ). This objective sums the completion time of
     all jobs. Minimizing the total completion time can be used as a surrogate
     for minimizing the total Work-In-Process, since it tends to finish each job
     as quickly as possible.
 Total weighted completion time ( j wj Cj ). This objective sums the completion
     time of all jobs, after they have been adjusted for their weights. When
     total weighted completion time is minimized it becomes advantageous to
     finish jobs with high weights early relative to jobs with low weights. The
     total weighted completion time can be used to minimize the total value of
     the Work-In-Process.
 Maximum lateness (Lmax = maxj Lj ). The maximum lateness records the
    largest delay in a schedule. The maximum lateness objective minimizes
    in a way the worst performance of a schedule, since all delays are kept as
    small as possible.
 Total number of tardy jobs ( j Uj ). This objective counts the number of tardy
     jobs. Minimizing the number of tardy jobs can be used to maximize the
     percentage of on-time deliveries.
 Total weighted number of tardy jobs ( j wj Uj ). This objective counts the cu-
     mulative weight of all tardy jobs. This objective can be used to maximize
     the percentage of on-time deliveries adjusted for their weights.
 Total tardiness ( j Tj ). The total tardiness criterion sums all delays. Minimiz-
     ing the total tardiness may be preferable to minimizing the total number
     of tardy jobs. When the total number of tardy jobs is minimized, some
     jobs may get seriously delayed in order to keep the number of tardy jobs
     low. This in turn may lead to unacceptable situations in practice and does
     not occur when the total tardiness objective is used.
 Total weighted tardiness ( j wj Tj ). The total weighted tardiness sums the
     total amount of tardiness adjusted for the weights of the jobs. It can be
     used when some delays are more expensive than other delays.


1.2     Computational Complexity
One of the most important questions in scheduling theory concerns the complex-
ity status of a problem. The complexity status roughly describes the relation-
ship between the size of a problem and the computation time that is needed to
solve that problem. The problem size is determined by the input data and it is
generally assumed that the input data is binary encoded. The following can be
found in any textbook on Complexity Theory (see e.g. Garey and Johnson [14]).

   For problem size n, let TA (n) denote the worst-case time complexity when
a problem is solved by algorithm A. That is, TA (n) is the maximum number of
computational steps, over all input sizes n, that are required for the execution

                                       16
of algorithm A. When the computational complexity is determined, it is crucial
to look at the order of the function TA (n). Consider for example algorithm A1
with TA1 (n) = 0.5n2 and algorithm A2 with TA2 (n) = 5n. Although algorithm
A1 is faster than algorithm A2 for 1 ≤ n ≤ 9 and equally fast for n = 10,
algorithm A2 is faster for all n > 10. This has to do with asymptotic growth
and is caused by the fact that TA2 (n) is of lower order than TA1 (n).
    Given two functions F (n) and G(n), with n ∈ N, the order of F (n) is said
to be lower than or equal to the order of G(n) if
                       F (n) ≤ K · G(n)     for all n > n0 ,
where K and n0 are two positive constants. When the order of F is lower than
or equal to the order of G, it is denoted F = O(G). Hence TA1 (n) is O(n2 ) and
TA2 (n) is O(n).

    The worst-case time complexity of an algorithm is important in order to
determine whether it is efficient or not. Complexity theory is used to classify
algorithms either as efficient or inefficient. Any O(P )-algorithm, where P is
a polynomial in the problem size, is an efficient algorithm. All problems that
can be solved by an O(P )-algorithm are said to be polynomially solvable and
belong to the class P. A problem is said to be pseudo-polynomially solvable,
when the running time is polynomial in the numerical value of the input (using
unary encoding), but non-polynomial with respect to binary encoding.
    Problems which can only be solved by non-polynomial algorithms belong to
the class N P. It has been shown that the majority of the problems belonging
to this class are equivalent to each other. This implies the following: if an effi-
cient algorithm could be developed that solves one problem in this class, it can
be used to solve all problems that are in this class. Conversely, when it can
be proven that no such algorithm possibly exists for one of these problems, it
immediately follows that no efficient algorithm exists for any problem in this
class. These problems are called NP-complete. A more formal definition will
be given below. However, it is necessary to introduce the difference between
optimization and recognition problems first.

   An optimization problem is concerned with the solution that actually min-
imizes (maximizes) a certain objective function. A recognition problem deals
with the question whether or not there exists a certain instance such that the
objective function is at most (at least) k, where k is an arbitrary constant.
Hence, a recognition problem can be answered by YES or NO. An instance of a
recognition problem is a YES instance if the answer to this problem is YES, and
a NO instance if it is NO. Note that the optimization problem can be solved by
repetitive application of the recognition problem. To define NP-complete and
NP-hard problems the following is needed as well:

   A problem P1 polynomially reduces to a problem P2 if some polynomial-time
algorithm that solves P1 uses the algorithm for solving P2 at unit cost. Here,
at unit cost means that the algorithm for P2 requires unit time to execute.
From this definition the following property arises: If P1 polynomially reduces
to P2 and some polynomial-time algorithm solves P2 , then some polynomial
time-algorithm solves P1 .



                                       17
A special form of problem reduction is called problem transformation. A
problem P1 polynomially transforms to problem P2 if for every instance I1 of
problem P1 an instance I2 of problem P2 can be constructed in polynomial time
such that I1 is a YES instance of P1 if and only if I2 is a YES instance of P2 .

   Now, a recognition problem P1 is said to be NP-complete if
  1. P1 ∈ N P, and
  2. all other problems in the class N P polynomially transform to P1 .
    A recognition problem P1 is said to be NP-hard if all other problems in
the class N P polynomially reduce to P1 . Note that this class of problems is
broader than the class NP-complete, because it includes the class N P as well
as problems that are not in this class.
    Note that these definitions of NP-completeness and NP-hardness are based
on the assumption of binary encoded problem sizes. A problem that is NP-
complete or NP-hard could well be pseudo-polynomially solvable. When a
problem is NP-complete with respect to unary encoding as well, it is said to
be strongly NP-complete. A similar result holds for strongly NP-hard problems
(see e.g. Leung [24]). For a more detailed description of computational com-
plexity, the reader is referred to Garey and Johnson [14] or Leung [24].



1.3     Overview of Complexity Status of Single Ma-
        chine Scheduling Models
Many single machine models have already been shown to be (pseudo-)polyno-
mially solvable or NP-hard. On a website, Brucker and Knust [10] keep track
of the complexity results of scheduling problems. Problems that were solved in
the fifties of the previous century are for example

                       1||Lmax     and      1||   wj Cj .

In the first problem (Jackson [18]) the objective is to find a schedule that min-
imizes the maximum lateness. The β-field is empty, which implies that all jobs
have different processing times and due dates, but that preemption is not al-
lowed and there are no release dates, precedence constraints, etcetera. This
problem is solved by the Earliest Due Date (EDD) first rule, which orders all
jobs by their due date (from low to high) and schedules them accordingly. This
algorithm runs in O(n2 ).
    In 1|| wj Cj (Smith [33]) the schedule that minimizes the total weighted
completion time needs to be determined. All jobs have different processing times
and weights. This problem is solved by the Weighted Shortest Processing Time
(WSPT) first rule, where job j is scheduled before job k if
                                   wj   wk
                                      >    .
                                   pj   pk

The WSPT algorithm has running time O(n log(n)).



                                      18
Another example of a scheduling problem that is polynomially solvable is

                             1|pj = p; rj |     wj Cj .

In this problem the schedule that minimizes the total weighted completion time
needs to be determined. All jobs have the same processing time and different
release dates. The problem can be solved by a dynamic programming algorithm
that was introduced by Baptiste [4]. The time complexity of the algorithm is
O(n7 ).
    Examples of problems that are NP-hard are:

                    1|rj |Lmax   and     1|pmtn; rj |        wj Cj .

The problem 1|rj |Lmax is a generalization of the problem 1||Lmax . In this
problem, the jobs have different release dates, processing times and due dates.
In Lenstra, Rinnooy Kan and Brucker [23], it is proven that this problem is
strongly NP-hard. To see why the EDD rule does not necessarily solve this
problem to optimality, consider the following example:

                            job j    1      2   3        4
                            pj       4      1   6        4
                            rj       0      0   1        3
                            dj      13     14   7       11


The EDD schedule is depicted in Figure 1.1a. It is not difficult to see that
Lmax = L3 = L4 = 3. In Figure 1.1b, the optimal schedule is depicted, with
Lmax = L1 = L2 = 2.




Figure 1.1: (a) The EDD schedule with Lmax = 3. (b) The optimal schedule
with Lmax = 2.

    Now consider the problem 1|pmtn; rj | wj Cj , which is a generalization of
1|| wj Cj . A possible approach for this problem would be to check whether
the preemptive version of the WSPT rule leads to an optimal solution. This
rule compares the ratios of the weight of a job and the remaining processing
time for all available jobs and schedules the job with highest ratio first. When
a new job is released, or when a job is finished, this procedure is repeated until
all jobs are processed. However, the preemptive WSPT rule does not always
lead to an optimal solution. Consider the following example:

                                         19
job j     1    2    3
                                  pj        2    3    4
                                  rj        0    1    2
                                  wj        1    4   10


The preemptive WSPT schedule is depicted in Figure 1.2a and has objective
value    wj Cj = 101. However, the optimal schedule is depicted in Figure 1.2b
and has objective value    wj Cj = 98. The proof that 1|pmtn; rj | wj Cj is
strongly NP-hard is given in Labetoulle et al. [21].




Figure 1.2: (a) The preemptive WSPT schedule with                wj Cj = 101. (b) The
optimal schedule with   wj Cj = 98.

   In Appendix A a complete overview of the complexity status of single ma-
chine problems is given.

1.3.1    Open Problems
Although the complexity status of most single machine scheduling problems is
known, there still exist problems with an open complexity status. This means
that it is not known whether they are polynomially solvable or not. One of these
problems is the preemptive equal-length job scheduling problem with release
dates 1|pmtn; pj = p; rj | wj Cj , in which the total weighted completion time is
minimized. This problem is similar to two of the problems that were discussed in
the preceding paragraph, namely 1|pj = p; rj | wj Cj and 1|pmtn; rj | wj Cj .
The non-preemptive problem 1|pj = p; rj | wj Cj , which is an easier case
of the open problem, is polynomially solvable. It can be shown that this is
the case for all easier cases of the open problem. Therefore, 1|pmtn; pj =
p; rj | wj Cj is said to be minimal open. The problem 1|pmtn; rj | wj Cj is
slightly harder than the open problem, since the processing times of the jobs may
differ. As was already indicated, this problem is strongly NP-hard. However,
1|pmtn; pj = p; rj | wj Cj is not maximal open, which implies that there are
harder cases that are not known to be NP-hard. Consider for example the open
problem with strict deadlines, 1|pmtn; pj = p; rj ; Dj | wj Cj . This problem
is harder than the open problem under consideration and its complexity status
is open as well. The problem can be solved by the model presented in Chapter 5.

   Two problems that are very similar to 1|pmtn; pj = p; rj |         wj Cj are

           1|pmtn; pj = p; rj |     wj Tj       and 1|pj = p; rj |   wj Tj .


                                            20
In both problems the total weighted tardiness is minimized instead of the to-
tal weighted completion time. The first problem allows for preemption, the
second does not. According to the website of Brucker and Knust [10], the non-
preemptive problem is both minimal and maximal open. This implies that all
easier problems are polynomially solvable and all harder cases are NP-hard.
Apparently, Brucker and Knust do not regard the preemptive problem as an
easier or harder case. This is in agreement with a observation in Pinedo [29],
which says that allowing preemptions usually simplifies the analysis of a prob-
lem, but not always. On the website of Brucker and Knust [10] it is also stated
that the preemptive problem is maximal open, but not minimal. However, it
will be shown in the following section that all easier problems (i.e., with equal
job weights or without release dates) are known to be polynomially solvable.
Since 1|pj = p; rj | wj Tj is not regarded as an easier problem, this implies
that 1|pmtn; pj = p; rj | wj Tj must be minimal open as well.

1.3.2    Related Problems
In this paragraph an overview of problems that are related to the open problems
introduced in Section 1.3.1 is given. It should be noted that some complexity
results have been obtained for the general class of problems with objective func-
tion fmax = maxj {fj (Cj )}. Here fj is a monotone, non-decreasing cost func-
tion. Both the (weighted) completion time and the (weighted) tardiness can be
described by such functions fj . In Table 1.1, the overview is given schematically.

    As was already shown at the beginning of Section 1.3, the problem 1|| wj Cj
(Smith [33]) is polynomially solvable. The same result holds true for 1||fmax ,
which can be solved by the EDD rule. When the objective is replaced by the to-
tal (weighted) tardiness, the problem becomes (strongly) NP-hard (Lawler [20],
Du and Leung [12]). However, Lawler [20] shows that there exists a pseudo-
polynomial algorithm to solve 1|| wj Tj if the weighting of jobs is agreeable.
This is the case when pi < pj implies that wi ≥ wj . Note that it immediately
follows that the equal weight problem 1|| Tj is also pseudo-polynomially solv-
able.
    The simplified total weighted tardiness problem in which the jobs have equal
lengths, 1|pj = p| wj Tj , is polynomially solvable. The schedule for this prob-
lem can be divided into parts of length p. At each of these time intervals, a
job is scheduled. For each job and time interval combination the corresponding
costs are known. By means of the Assignment Problem, which is polynomially
solvable and discussed in more detail in Chapter 2, the optimal assignment of
jobs to time intervals can be easily found.
    When release dates are added to the polynomially solvable problems 1||Lmax
and 1|| Cj , they both become strongly NP-hard. This is shown by Lenstra
et al. [23]. From the fact that 1|| Tj is NP-hard it immediately follows that
1|rj | Tj is NP-hard as well. An example of 1|rj |Lmax is given at the beginning
of Section 1.3. Note that the problem 1|rj |Cmax is polynomially solvable, since
every non-delay schedule is optimal. A schedule is called non-delay if a machine
is not kept idle while one or more jobs are available for processing.

    When the scheduling problems with release dates are relaxed by the assump-
tion of equal processing times pj = p, they become polynomially solvable when

                                        21
Lmax and wj Cj are minimized. The latter problem was solved by Baptiste [4].
Simons [32] showed that the problem P |pj = p; rj |Lmax is polynomially solv-
able. Here, P stands for m parallel machines, which is a generalization of the
single machine problem. It immediately follows that 1|pj = p; rj |Lmax is poly-
nomially solvable as well. The problem in which the total weighted tardiness is
minimized for equal-length jobs with different release dates is one of the open
problems that is solved in this thesis. The version with equal job weights as well
as the version with unit processing times pj = 1 are polynomially solvable. The
former case is proven by Baptiste [4], the latter can be solved by the Assignment
Problem (see Chapter 2 for a discussion of the Assignment Problem). Hence,
the model of Baptiste [4] solves the equal-length job scheduling problem with
release dates when the total weighted completion time or the total tardiness
is minimized, but not when the total weighted tardiness is minimized. This is
caused by the fact that the model only holds true when the function (fi − fj )
is monotone. This implies that either

                 (fi − fj )(t1 ) ≥ (fi − fj )(t2 ) ∀t1 ∀t2 > t1   or

                   (fi − fj )(t1 ) ≤ (fi − fj )(t2 ) ∀t1 ∀t2 > t1 .
When fj (t) = wj max{0, t − dj } it can be shown that (fi − fj ) is not monotone.
Consider, for example, the case with d1 = 2, d2 = 3, w1 = 1 and w2 = 10. It
follows that (f1 − f2 )(2) = 0, (f1 − f2 )(3) = 1 and (f1 − f2 )(4) = −8. Hence
(f1 − f2 )(2) < (f1 − f2 )(3) but (f1 − f2 )(2) > (f1 − f2 )(4).

   Now consider the scheduling problem in which jobs have different release
dates, are subject to precedence constraints and where preemption is allowed.
Baker et al. [2] present an algorithm that solves the problem
1|prec; pmpn; rj |fmax in polynomial time. However, the counterparts in which
the total completion time and the total tardiness are minimized are NP-hard,
which follows from Lenstra and Rinnooy Kan [22]. Baptiste et al. [5] show
that the relaxed problem 1|prec; pmpn; pj = p; rj | Cj has a non-preemptive
optimal schedule, and can therefore be solved by the algorithm developed by
Simons [32] that solves 1|prec; pj = p; rj | Cj in polynomial time.

    Let us now return to the problems without precedence constraints. Baker
et al. [2] give a polynomial time algorithm that solves 1|pmtn; rj |fmax . However,
both        1|pmtn; rj | wj Cj       (Labetoulle      et     al.      [21])     and
1|pmtn; rj | wj Tj are strongly NP-hard. Because 1|| wj Tj is strongly NP-
hard, it follows directly that 1|pmtn; rj | wj Tj is strongly NP-hard as well.
Now look at the problem in which the total completion time and not the total
weighted completion time is minimized: 1|pmtn; rj | Cj . This problem is poly-
nomially       solvable   (Baker      [1]).          Likewise,      the     problem
1|pmtn; pj = p| wj Cj is polynomially solvable. Since all jobs are released
at the same time the optimal schedule is non-preemptive. Therefore, the result-
ing problem is just a special case of 1|| wj Cj , which is polynomially solvable.
However, when release dates are added it is not known whether the resulting
problem is polynomially solvable or not. In conclusion we have that there ex-
ist algorithms that solve 1|pmtn; pj = p| wj Cj , 1|pj = p; rj | wj Cj and
1|pmtn; pj = p; rj | Cj in polynomial time, but that none of these algorithms
solves the problem when respectively release dates, preemption or unequal job

                                         22
weights are added to the problem.

    Now consider the scheduling problems in which the total weighted tardi-
ness has to be minimized. The problem 1|pmtn; rj | Tj is NP-hard. This
follows directly from the NP-hardness of 1|| Tj ; the addition of preemp-
tion and/or release dates does not simplify the problem. However, when the
jobs have equal processing times the problem becomes easier. The problem
1|pmtn; pj = p| wj Tj is equivalent to 1|pj = p| wj Tj since preemption
is not advantageous when the release dates are equal. It has already been
shown that this problem is polynomially solvable. Furthermore, Tian, Ng and
Cheng [34] show that 1|pmtn; pj = p; rj | Tj is polynomially solvable. The
fact that their model does not solve the problems in which the total weighted
tardiness or the total weighted completion time is minimized, is a direct conse-
quence of the addition of job weights. In a note, Goldengorin [16] shows why
the introduction of job weights gives rise to difficulties. He states that although
it might be locally optimal to preempt job j in favor of job k, it does not mean
that this leads to a globally optimal solution. To put it differently, it often is
optimal to interrupt job j by job k only if job j can be completed before a
critical point in time t0 . Otherwise, job j should not be interrupted by job k.
This restriction does not hold true when the total tardiness is minimized. In
that case, when it is locally optimal to preempt job j in favor of job k, it imme-
diately follows that it is globally optimal as well. Summarizing, it follows that
1|pmtn; pj = p| wj Tj and 1|pmtn; pj = p; rj | Tj are polynomially solvable,
but that 1|pj = p; rj | wj Tj and 1|pmtn; pj = p; rj | wj Tj are open problems.

    A problem that is related to the preemptive open problems that are solved
in this thesis is 1|pmtn; pj = p; rj | wj Uj . When Uj does not denote the total
weighted number of tardy jobs, but the total weighted throughput that has to
be maximized, i.e.,
                                       0 if Cj > dj
                              Uj =
                                       1 otherwise,
the problem is polynomially solvable (Baptiste et al. [6]). However, when
   wj Uj denotes the weighted number of tardy jobs that needs to be mini-
mized, the problem can be seen as a special case of 1|pmtn; pj = p; rj | wj Tj
(see Chapter 6) and can be solved accordingly.


1.4     Linear and Integer Programming
Many decision problems - like the scheduling problems of the preceding section -
can be modeled by Linear Programming (LP) models. An LP model consists of
an objective function and a number of constraints which are all linear functions
of the decision variables. When the decision variables can only take integer val-
ues, the resulting model is called an Integer Linear Programming (ILP) model.
Similarly, when the decision variables can only take boolean values (i.e., 0 or 1),
the model is called a Boolean Linear Programming (BLP) model.

   The LP model that will be used in this thesis has the form

                            min{wx | Ax ≥ b, x ≥ 0},

                                        23
where A is a m × n-matrix, w and x are vectors in Rn and b is a vector in Rm .

    Every LP model has a dual, which is a LP model itself. The original LP
model is called the primal model. When the primal model is a minimization
problem, the dual is a maximization problem and vice versa. Each decision
variable (constraint) of the primal model corresponds to a constraint (decision
variable) of the dual model. The dual of the primal LP model presented above
is given by
                            max{yb | yA ≤ w, y ≥ 0},
where y is a vector in Rm . By the strong duality theorem of Linear Programming
(see e.g. Schrijver [30]), the optimal solution of the primal model is equal to the
optimal solution of the corresponding dual model, provided that both solutions
are feasible and bounded. A nice relation between the optimal solutions of the
primal and dual model is called Complementary Slackness (CS), which states
that x and y are both optimal solutions (provided that they are feasible) if and
only if

                          yi (ai x − bi ) = 0 for all i,
                        (wj − yAj )xj = 0 for all j.

Here, ai denotes the ith row of A and Aj the jth column of A.

    It is generally known that LP models are polynomially solvable. However,
ILP models are NP-complete. Therefore, no efficient algorithms are known to
solve ILP problems. A possible way to solve an ILP model is by solving the
corresponding LP relaxation. That is, the model is solved without the restriction
of integrality. When the optimal solution of the LP relaxation appears to be
integer, it is the optimal solution to the ILP model as well. However, this occurs
only in certain special cases and sometimes just by coincidence.

1.4.1    Total Unimodularity and Total Dual Integrality
The set of all possible solutions to a LP model is a polyhedron. The polyhedron
P corresponding to the model presented above is

                         P = {x ∈ Rn | Ax ≥ b, x ≥ 0}.

Polyhedra are closed, convex sets. To define what a face of a polyhedron is, we
need the following:

    A hyperplane is a set of the form Hw,d = {x ∈ Rn | wx = d}, where w ∈ Rn
is a nonzero row vector and d ∈ R. The hyperplane Hw,d is a supporting hy-
perplane of P if max{wx | x ∈ P } = d.

    Now, F is called a face of P if F = P or F = P ∩ H for some supporting
hyperplane H of P . Furthermore, a point p ∈ P is a vertex of P if {p} is a face
of P (see e.g. Schrijver [30]).
    A polyhedron P is said to be integral, if each face of P contains integral
vectors (see e.g. Schrijver [30]). In that case, there always exists an optimal
solution to the corresponding LP relaxation that is integral. This is very useful

                                        24
when one is trying to solve an ILP model. When the polyhedron is integral, it
suffices to solve the LP relaxation corresponding to the ILP model.
    Sometimes it is possible to tell from the properties of the constraint matrix
A that the polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} is integral for each integral
vector b. This is the case if and only if A is Totally Unimodular (TU). A matrix
A is called TU if each subdeterminant of A is 0, 1, or −1. In particular, each
entry of A is 0, 1, or −1. There exist polynomial time algorithms to check
whether A is TU (see e.g. Schrijver [30]).
    However, when the constraint matrix A is not TU, the integrality of the
polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} for a particular integral vector
b can still be guaranteed by the notion of Total Dual Integrality (TDI). The
system Ax ≥ b, x ≥ 0 is TDI if the dual has an integral optimal solution y for
each integral vector w for which the maximum is finite. Furthermore, it can be
shown that when Ax ≥ b, x ≥ 0 is a TDI system, and when b is integral, the
polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} is integral (see e.g. Schrijver [30]).
    The difference between a TDI system in which A is not TU, and a TDI
system in which A is TU, is that in the former case an integral optimal solution
is only guaranteed when w is an integer vector, while in the latter case this
restriction is not needed.

    The concepts of Total Unimodularity and Total Dual Integrality are very
useful to determine the complexity status of ILP problems. As was already
indicated, ILP problems are in general NP-complete. However, when the con-
straint matrix is TU, or when the system Ax ≥ b, x ≥ 0 is TDI, there exists
an optimal solution to the LP relaxation that is an optimal solution to the ILP
model as well. In case of a Total Unimodularity, the optimal solution of the LP
relaxation that is found by a regular LP solver is integral. In case of Total Dual
Integrality, this does not need to be the case. However, in that case the frac-
tional optimal solution can be used to construct an integral optimal solution.
Furthermore, there exists sophisticated solvers (e.g. CPLEX) that make use of
presolvers such that an ILP is solved very efficiently in case of TDI.




                                       25
Table 1.1: Overview of complexity results of problems that are related to the open problems that are solved in this thesis.
 1||fmax                in P       1|| wj Cj                        in P       1|| wj Tj (*)                  NP-hard
                                                                               1|| Tj (**)                    NP-hard
                                                                               1|pj = p| wj Tj                in P
 1|rj |Lmax             NP-hard 1|rj | Cj                           NP-hard 1|rj | Tj                         NP-hard
 1|rj |Cmax             in P       1|pj = p; rj | wj Cj             in P       1|pj = p; rj | wj Tj           open
 1|pj = p; rj |Lmax     in P                                                   1|pj = 1; rj | wj Tj           in P
                                                                               1|pj = p; rj | Tj              in P
 1|pmtn; prec; rj |fmax in P       1|pmtn; prec; rj | Cj            NP-hard 1|pmtn; prec; rj | Tj             NP-hard
                                   1|pmtn; prec; pj = p; rj | Cj in P          1|pmtn; prec; pj = p; rj | Tj NP-hard
                                   1|prec; pj = p; rj | Cj          in P       1|prec; pj = p; rj | Tj        NP-hard
                                                                               1|prec; pj = p| Tj             NP-hard
                                    1|pmtn; rj | wj Cj              NP-hard    1|pmtn; rj | wj Tj             NP-hard
                                    1|pmtn; rj | Cj                 in P       1|pmtn; rj | Tj                NP-hard
                                    1|pmtn; pj = p; rj | wj Cj      open       1|pmtn; pj = p; rj | wj Tj     open
                                    1|pmtn; pj = p| wj Cj           in P       1|pmtn; pj = p| wj Tj          in P
                                                                               1|pmtn; pj = p; rj | Tj        in P
                                                                               (*) Pseudo-polynomially solvable for special cases
                                                                               (**) Pseudo-polynomially solvable
Chapter 2

Problem Formulation

In this chapter the three scheduling problems that are solved in this thesis will
be defined. By means of an example, a motivation is given for the use of the AP
formulation. In Section 2.3 the structure of the proof of polynomial solvability
will be explained.


2.1     Minimizing the Total Weighted Completion
        Time
Consider the problem 1|pmtn; pj = p; rj | wj Cj , in which n jobs with process-
ing time p have to be scheduled. Each job j has a certain release date rj and
cannot be finished before rj + p. Without loss of generality, assume that the
release dates are such that r1 ≤ r2 ≤ . . . ≤ rn . Furthermore, assume that all
entries are nonnegative integers and that there exists a schedule without idle
time, i.e., the machine remains busy until all jobs are completed. It immedi-
ately follows from the assumption of integral entries that in an optimal schedule
preemption occurs only at unit points in time. Hence, the time horizon can be
divided into pn time intervals of unit length and each job j needs to be assigned
to p of these time intervals.

   This problem presented above is an open problem. At the website of D¨rr [13]
                                                                       u
two attempts are presented to solve the (more general) problem

                          1|pmtn; pj = p; rj |   wj Cj .

The first is a LP model (Baptiste et al. [8]), the second is a dynamic program-
ming model (Baptiste et al. [7]) for the special case when p > max rj . The LP
model will be shortly discussed below.

The BLP Model. Let the indices be given by
 j ∈ {1, 2, . . . , n},
 a ∈ {0, 1, 2, . . . , n − 1},
 t ∈ {0, 1, 2, . . . , T }.



                                        27
Let the boolean decision variable xjt denote how much of job j is completed
at time t. The BLP model reads

                                  min           wj txjt
                                          j,t


                                    T
     subject to                     t=0 xjt       = 1            j = 1, . . . , n
                     j≥i   t<ri +(a+1)p xjt       ≤ a            a = 0, . . . , n − 1
                                                                 i = 1, . . . , n − a + 1
                                          xjt     ∈       {0, 1} for all j, t.
The first set of constraints states that every job should eventually be fully
processed. The second set states that in an interval strictly less than (a + 1)p
time units at most a jobs that are released at or after the starting time of that
interval can be entirely executed and completed.
    Baptiste et al. [8] show that the polyhedron determined by the LP relaxation
contains vertices which are not integral. Therefore, it cannot be assured that
the optimal solution of the LP relaxation is integral. Although this is not a
proof that the LP relaxation does not solve the problem in polynomial time,
another observation could be made that explain the incorrectness of the model.
    The LP relaxation of the model presented above allows for solutions that
do not correspond to a feasible schedule. Consider for example the case with
n = p = 3 and rj = j − 1. A feasible solution is given by

                                                                      1
                    x13 = x19 = x26 = x29 = x35 = x37 =                 ,
                                                                      2
and all other variables are zero. Hence, after 2 time units nothing of job 1 is
                                                                   1
produced yet, but after 3 time units it is already processed for 1 2 time units. Al-
though Baptiste et al. [8] mention this example and show that it is not optimal,
they do not say anything about the infeasibility of the corresponding schedule.
In the models presented in Chapters 4 to 6, all feasible solutions - integral and
fractional - correspond to feasible schedules.


2.1.1     The Assignment Model
In order to show that the problem

                           1|pmtn; pj = p; rj |            wj Cj

is polynomially solvable the problem is modeled as an Assignment Problem (AP)
with additional constraints. The AP is widely discussed in the literature and
can be found in most textbooks on combinatorial optimization and integer lin-
ear programming (see e.g. Sierksma [31]). The first polynomial time algorithm
for the AP was suggested by Kuhn [19]. The AP can be formulated as follows:

    Consider two sets U and V , both containing T elements and a cost matrix
W where wjt is the cost of assigning element j ∈ U to t ∈ V . An assignment
is a permutation π = (π(1), π(2), . . . , π(T )) of V in which the jth element of
U is assigned to element tj = π(j) from V . An optimal assignment minimizes

                                           28
T
  j=1   wjπ(j) . The Assignment Problem can be stated as a BLP model as follows:
                                          T       T
                                  min                 wjt xjt
                                        j=1 t=1

                                  T
                 subject to       j=1   xjt       = 1      t = 1, . . . , T
                                  T
                                  t=1   xjt       = 1      j = 1, . . . , T
                                        xjt       ∈ {0, 1} for all j, t.
When the boolean constraint is replaced by

                                      0 ≤ xjt ≤ 1,

the LP relaxation is obtained. Since the constraint matrix of the AP is TU (see
e.g. Sierksma [31]), there always exists an integral optimal solution to the LP
relaxation. This implies that the AP is polynomially solvable.

   In order to illustrate how to use the AP formulation for the problem
1|pmtn; pj = p; rj | wj Cj , consider the following example for the special case
with p = 2.

Example. Let there be 5 jobs with processing time 2 that have to be sched-
uled. The release dates and weights of the jobs are given in the following table:


                              job j   1       2       3    4     5
                              rj      0       1       2    3     4
                              wj      1       3       7   16    33


Processing of the jobs starts at time 0 and is finished at time T = 10. Hence,
there are 10 unit time intervals to which the jobs have to be assigned. Since
the processing time of each job is 2, they can be divided into two parts such
that each of the ten evolving job parts is assigned to exactly one time interval.
It should be noted that when job j is released at time rj , the first part can be
assigned to time interval rj + 1 or any later time interval. The second part can
only be processed at time interval rj + 2 or at any later time interval.

    Now consider the AP in which ten job parts have to be assigned to ten time
intervals against minimum costs, where the costs of assigning each job part j to
a certain time interval t are given in Table 2.1.
    Here, 1.1 denotes the first part of job 1, 2.1 the first part of job 2, etcetera.
Since the objective value of the scheduling problem,       wj Cj , depends on the
completion time of the jobs, it follows that the assignment of the first part of a
job to a certain time interval does not come with any costs. However, since a
job can not be processed before it is released and since processing has to start
before the final time interval T , the costs for t < rj + 1 and t = T are set to
infinity. Consequently, the first part of a job will never be assigned to one of
these intervals.
    If the second part of a job is assigned to time interval t the costs are wj t.
As the second part of a job cannot be processed before time interval rj + 2, it

                                              29
Table 2.1: The cost matrix W , representing the costs of assigning job parts to
time intervals.
                                   Time Intervals t
                1    2    3     4    5      6      7      8     9     10
           1.1 0∗    0    0     0    0      0      0      0     0     ∞
      J 2.1 ∞ 0∗          0     0    0      0      0      0     0     ∞
       o 3.1 ∞ ∞ 0              0    0      0      0∗     0     0     ∞
      b 4.1 ∞ ∞ ∞              0     0      0      0     0∗     0     ∞
      p 5.1 ∞ ∞ ∞ ∞                  0      0      0      0     0∗    ∞
       a 1.2 ∞ 2          3     4    5      6      7      8     9    10∗
                           ∗
       r 2.2 ∞ ∞ 9             12    15    18     21     24    27     30
       t 3.2 ∞ ∞ ∞ 28∗ 35                  42     49     56    63     70
       s 4.2 ∞ ∞ ∞ ∞ 80∗                   96     112 128 144 160
           5.2 ∞ ∞ ∞ ∞               ∞ 198∗ 231 264 297 330


follows that the corresponding costs can be set to infinity as well.

   An optimal solution for the Assignment Problem is given by the asterisks in
Table 2.1. Note that, although the resulting schedule

                           S = (1, 2, 2, 3, 4, 5, 3, 4, 5, 1)

is feasible, the objective value corresponding to this schedule ( wj Cj = 493)
is not equal to the objective value of the AP, which is 325. The reason for this
difference is that in the AP the first parts of jobs 3, 4 and 5 are scheduled after
their second parts, which has a positive effect on the costs, but which should
not be possible in a correct model.

    It is not difficult to see that the schedule S cannot be optimal; it is possible
to assign job 3 to the 4th and 6th time interval and to assign job 5 to the 7th and
9th interval. The completion time of job 5 does not change by this operation
while the completion time of job 3 decreases. Hence, the resulting schedule is
better than S.
    A natural question that comes to mind is whether the solution of the AP
can be used to construct an optimal solution of the scheduling problem under
consideration. A possible way to do this would be the following:
  1. Let the sequence in which the second job parts are scheduled be as in the
     optimal solution of the AP.
  2. Starting at time interval 1, assign each first job part that was originally
     scheduled after its second part to the time interval right before this second
     part. Note that the second job part and all subsequent job parts move to
     the next time interval.
  3. Repeat step 2 until all first job parts are scheduled before the correspond-
     ing second job parts.
Applying these steps to the solution of the example leads to the schedule

                          S = (1, 2, 2, 3, 3, 4, 4, 5, 5, 1)

                                          30
with objective value 460. Unfortunately, it can be shown that S is not optimal
either. It is not difficult to see that interchanging jobs 4 and 5 leads to a better
schedule.

    Although the AP formulation clearly does not lead to an optimal solution
of the problem 1|pmtn; pj = 2; rj | wj Cj , the example shows that this formu-
lation could be used when additional constraints are added which ensure that
the second part of a job can not be processed before its first part. However,
it is desirable to maintain the nice properties of the AP that assure an inte-
gral optimal solution of the LP relaxation. In general, these nice properties are
destroyed when side constraints are added to the AP. In the literature, there
can be found many examples that have to contend with these difficulties. A
selection of them is treated in Chapter 3. However, first the other two open
problems are formulated.


2.2     Minimizing the Total Weighted Tardiness
The open problems in which the total weighted tardiness is minimized consist
of a preemptive and a non-preemptive version. They are very similar to the
problem defined in Section 2.1 as will be shown below.

2.2.1    The Preemptive Problem
Consider the problem 1|pmtn; pj = p; rj | wj Tj , in which n jobs with process-
ing time p have to be scheduled. Each job has a certain release date and due
date and can not be finished before rj + p. Without loss of generality, assume
that the release dates are such that r1 ≤ r2 ≤ . . . ≤ rn . Furthermore, assume
that all entries are nonnegative integers and that there exists a schedule without
idle time intervals, i.e., all pn time intervals will be assigned without any time
interval remaining idle. This implies that at least one job is released at time
zero and all jobs are completed at time T = pn.

    Just like the problem 1|pmtn; pj = p; rj | wj Cj , this is an open problem.
It should be noted that the problems are very similar. To see this, consider the
example of Section 2.1.1 with due dates. Recall that in this example p = 2.

Example

                           job j   1   2    3    4    5
                           rj      0   1    2    3    4
                           wj      1   3    7   16   33
                           dj      5   8    7    7    6


A similar cost matrix as depicted in Table 2.1 can be constructed. Note that in
this case, assigning the second part of job j to time interval t does only come
with any costs if dj > t.
   An optimal solution to the AP is given by the asterisks in Table 2.2. The
corresponding optimal value is 5. This solution leads to the following schedule

                                       31
Table 2.2: The cost matrix W , representing the costs            of assigning job parts to
time intervals when   wj Tj is the objective.
                                    Time Intervals t
                    1   2     3     4   5     6   7              8     9   10
               1.1 0∗   0     0     0   0     0   0              0     0   ∞
          J 2.1 ∞ 0∗          0     0   0     0   0              0     0   ∞
          o 3.1 ∞ ∞ 0∗              0   0     0   0              0     0   ∞
          b 4.1 ∞ ∞ ∞ 0                 0     0   0              0    0∗   ∞
          p 5.1 ∞ ∞ ∞ ∞ 0∗                    0   0               0    0   ∞
          a 1.2 ∞ 0           0     0   0     1   2              3     4    5∗
           r 2.2 ∞ ∞ 0              0   0     0   0              0∗    3    6
           t 3.2 ∞ ∞ ∞ 0∗               0     0   0               7   14   21
           s 4.2 ∞ ∞ ∞ ∞ 0                    0 0∗               16   32   48
               5.2 ∞ ∞ ∞ ∞ ∞ 0∗ 33                               66   99   132


(1, 2, 3, 3, 5, 5, 4, 2, 4, 1). Note that the AP schedules the second part of job 4 be-
fore its first part. Therefore, the corresponding objective value is not equal to the
total weighted tardiness, which is in fact 37. This schedule is not optimal. By in-
spection, it is possible to find the better schedule (1, 1, 3, 3, 5, 5, 4, 4, 2, 2) with ob-
jective value 22.

   Although the AP does not lead to an optimal solution of the problem
1|pmpn; pj = p; rj | wj Tj , the example shows that the AP formulation can
be used when extra constraints are added that ensure that the job parts are
scheduled in the right order.

2.2.2     The Non-Preemptive Problem
Consider the problem 1|pj = p; rj | wj Tj , in which n jobs with processing
time p have to be scheduled. Each job has a certain release date and due date.
Without loss of generality, assume that jobs are ordered by their release date,
r1 ≤ r2 ≤ . . . ≤ rn and that there is always a job available for processing. When
this assumption does not hold, the problem can be split up into two separate
problems. Furthermore, assume that all entries are nonnegative integers. Just
as in the preemptive case, the time horizon can be divided into time intervals of
unit length. However, since preemption is not allowed, it should be noted that
an optimal schedule might contain idle time intervals. Consider for example the
following instance with p = 2:
                                   job j    1        2   3
                                   rj       0        1   4
                                   dj       8        3   6
                                   wj       1        1   1

It is not difficult to see that the schedule
                              2     2            3       3   1   1
with objective value 0 is optimal, and that no optimal schedule with less idle
time exists.

                                            32
Note that the maximum number of idle time intervals is (n−1)(p−1). To see
this, consider the case in which the machine remains idle during the first (p − 1)
time intervals before it starts processing job j = 2. When this job is completed,
the machine remains idle for another p − 1 time units until it starts processing
job j = 3. This can be repeated until job j = n is completed and processing of
job j = 1 is started. It follows that all job parts have to be assigned to time
intervals t = 1, . . . , T , where T = (n − 1)(p − 1) + np.

    This is an open problem. In Chapter 6 it is shown that it can be solved by
the AP with side constraints. The cost matrix is similar to the one in Table
2.2. Since there are more time intervals than job parts, the constraints of the
AP require that each time interval is assigned at most (but not exactly) one job
part. The side constraints require that as soon as the first job part is scheduled,
all other job parts are scheduled successively and in the right order.


2.3     Outline of the Proof
In order to prove that the preemptive problems discussed in this thesis are
polynomially solvable the following line of reasoning is used:
    First, a crucial property for any optimal preemptive schedule is introduced.
This property is used to formulate a BLP model. Then, it is shown that the
constraint matrix corresponding to this BLP model is not Totally Unimodu-
lar. Therefore, it can not be concluded directly that the polyhedron determined
by the LP relaxation is integral. Nevertheless, it can be proven that the sys-
tem of (in)equalities determined by the LP relaxation is Totally Dual Integral.
Since the LP relaxation is polynomially solvable, this directly implies that the
corresponding scheduling problem is polynomially solvable.
    The proof of Total Dual Integrality is based on the dual of the LP relax-
ation. After the dual is formulated, it is proven that it always has an integral
optimal solution. Since all job weights are assumed to be integral, it then im-
mediately follows from the definition of Total Dual Integrality that the system
of (in)equalities determined by the LP relaxation is Totally Dual Integral.

    The model for the non-preemptive problem in which total weighted tardiness
is minimized is based on its preemptive counterpart. Since preemption is not
allowed, many constraints can be simplified. Following the same line of reasoning
as in the preemptive case, it can be easily proven that the resulting system of
(in)equalities is Totally Dual Integral.




                                       33
Chapter 3

Variations on the
Assignment Problem

In this chapter four problems will be discussed that can be modeled using the
framework of the Assignment Problem. From the examples it follows that the
nice properties of the AP are not always preserved when extra constraints are
added; the first two problems are polynomially solvable, the others are not.



3.1       Finding Subdigraphs with Prescribed De-
          grees
The following is a special case of the problem discussed in Bang-Jensen and
Gutin [3, p. 142]. Let there be a directed weighted graph D. Suppose one
would like to identify the minimum cost subgraph of D, if one exists, with
prescribed degrees on the vertices. This could be of interest for example when
the cheapest cycle factor of D is required. This problem can be stated as follows:
   Given the weighted graph D = (V, A) with V = {v1 , v2 , . . . , vn } and inte-
gers a1 , a2 , . . . , an , b1 , b2 , . . . , bn , find the cheapest subgraph D = (V, A∗ ) of D
which satisfies d+ (vi ) = ai and d− (vi ) = bi for each i = 1, 2, . . . , n, or show
                        D                           D
that no such subdigraph exists. Here, d+ (vi ) and d− (vi ) denote the out- and,
                                                         D           D
respectively, in-degree of vertex i in subgraph D .

   This problem can be formulated as a BLP model as follows. Let wij denote
the weight of arc (i, j). Assume that ai ≤ d+ (vi ) and bi ≤ d− (vi ) for all
                                                 D               D
                          n         n
i ∈ {1, 2, . . . , n} and i=1 ai =  i=1 bi . Furthermore, define the following
decision variable:
                                   1 if (i, j) ∈ A∗
                            xij =
                                   0 otherwise.

The model reads:
                                          n    n
                                    min             wij xij
                                          i=1 j=1


                                              35
subject to            j:(i,j)∈A xij    = ai     i = 1, . . . , n
                                       i:(i,j)∈A xij    = bj     j = 1, . . . , n
                                                 xij    ∈ {0, 1} for all i, j.
This is a special case of the AP since many possible assignments are excluded
beforehand (only existing arcs can be included in the subdigraph). One could
also say that extra constraints which ensure that xij = 0 when (i, j) ∈ A need
                                                                       /
to be added to the AP. Note also that ai and bj are not necessarily equal to one.
Bang-Jensen and Gutin [3] show that this problem can be solved in polynomial
time.


3.2        A Polynomial Solvable Case of the Axial
           Three-Dimensional Assignment Model
The following is taken from Gilbert and Hofstra [15]. Consider the problem in
which there are p jobs, q workers and r machines, p ≤ q ≤ r. Each job has to
be assigned to a worker and a machine, but each worker and each machine can
be assigned to at most one job. Suppose the cost of assigning job i to worker j
and machine k can be expressed as the cost of assigning job i to worker j plus
the cost of assigning job j to machine k, i.e., wijk = wij + wjk . This problem
can be formulated by means of the (two-dimensional) Assignment Problem.

    Define the following decision variables:

                                  1     if job i is assigned to worker j
                      xij =
                                  0     otherwise,

for i = 1, . . . , p and j = 1, . . . , q,

                                1 if worker j is assigned to machine k
                   yjk =
                                0 otherwise,

for j = 1, . . . , q and k = 1, . . . , r,

                                   0     if worker j is assigned a job
                         zj =
                                   1     otherwise.

The BLP model can now be formulated as:
                                   p      q                q   r
                            min               wij xij +             wjk xjk
                                  i=1 j=1                 j=1 k=1
                                            q
                subject to                  j=1 xij     = 1            i = 1, . . . , k
                                       p
                                       i=1 xij + zj     = 1            j = 1, . . . , q
                                      r
                                      k=1 yjk + zj      = 1            j = 1, . . . , q
                                            q
                                            j=1 yjk     ≤ 1            k = 1, . . . , r
                                       xij , yjk , zj   ∈ {0, 1}       for all i, j, k.
   In Figure 3.1 the two-dimensional representation of this problem is given.
Note that the cells in the upper left quadrant correspond to the variables xij ,
which assign jobs to workers. The cells in the lower right quadrant correspond to

                                                   36
the variables yjk , which assign workers to machines. The cells on the diagonal
of the lower left quadrant correspond to the zj variables. All black cells are
infeasible. Since this problem is now formulated as a classical AP, it immediately
follows that it is polynomially solvable.




Figure 3.1: Graphical representation of a special case of the three-dimensional
assignment model.

    A suggestion would be to use this formulation for the problem
1|pmtn; pj = 2; rj | wj Cj , by assigning each first job part to a certain time
interval and each time interval to another (idle) time interval. This second time
interval can then be assigned to a second job part. A graphical representation
with a possible assignment is given in Figure 3.2 for n = 3.




Figure 3.2: Graphical representation of the multidimensional assignment prob-
lem for 1|pmtn; pj = 2; rj | wj Cj with n = 3.

    However, it appears that this model does not prevent the second part of a job
to be scheduled before the first part. Therefore, it has no advantages compared
to the classical AP formulation. In fact, it is worse because the number of
variables is increased.

                                       37
3.3     The Imbalanced Time Minimizing Assign-
        ment Problem
This problem is taken from M¨ller, Camozzato and Bassi de Ara´jo [27]. Con-
                              u                                 u
sider the problem of assigning n jobs to m machines, n > m, each job with
a distinct processing time for each machine. One job is assigned to exactly
one machine and each machine is assigned to at least one job. Hence, this is
the problem R||Cmax , where R stands for unrelated parallel machines, with the
constraint that each machine performs at least one job.

   Let pij denote the processing time of job j on machine i. Define the following
decision variable:
                           1 if job j is assigned to machine i
                 xij =
                           0 otherwise.

Furthermore, let t be a positive integer. The BLP model is given by:

                                     min Z = t
                                  m
              subject to          i=1  xij    = 1        j = 1, . . . , n
                                  n
                                  j=1  xij    ≥ 1        i = 1, . . . , m
                               n
                               j=1 pij xij    ≤ t        i = 1, . . . , m
                                       xij    ∈ {0, 1}   for all i, j.
Constraint 1 assures that every job is assigned to exactly one machine. The
second constraint assures that every machine is assigned to at least one job.
The third constraint imposes that every machine finishes processing not later
than time t, which is the time to be minimized.
    Note that this problem is equivalent to the recognition problem where the
question is posed whether there exists a feasible schedule for R||Cmax such that
the maximum completion time is at most t. This question can be answered
by YES or NO. If there is a polynomial time algorithm that solves the latter
problem, it can be applied iteratively for smaller and smaller values of t until the
answer is NO. The solution to the former problem is then equal to the solution
to the latter problem where t is chosen such that the answer is just YES.
    However, this problem is proven to be NP-hard. It is already difficult to
solve the model for relatively short instances.


3.4     Resource-Constrained Assignment Schedul-
        ing
The following is taken from Mazzola and Neebe [26]. Consider the problem in
which personnel has to be scheduled to tasks. There are often departmental
resource constraints involving characteristics such as budgetary considerations,
degree of technical training of department personnel, or rank of personnel. Be-
sides minimizing the total time required to handle all tasks by the personnel,
these constraints have to be taken into account. Suppose that n workers i have
to be assigned to n jobs j. The time needed for worker i to complete job j
is denoted by wij . The cost incurred by department k, k ∈ {1, . . . , s}, when

                                         38
worker i is assigned to job j is denoted by rijk . The budget of department k
is denoted by bk . Similar to the AP, let xij be the decision variable indicating
whether worker i is assigned to job j or not. The Assignment Problem with
Side Constraints (APSC) is given by:
                                      n     n
                                min             wij xij
                                      i=1 j=1
                                      n
           subject to                 i=1 xij     = 1        j = 1, . . . , n
                                      n
                                      j=1 xij     ≥ 1        i = 1, . . . , n
                          n      n
                          i=1    j=1 rijk xij     ≤ bk       k = 1, . . . , s
                                          xij     ∈ {0, 1}   for all i, j.
The APSC is shown to be NP-complete.
    Lieshout and Volgenant [25] consider the case with only one side constraint
(k = 1). For some special cases, this problem is polynomially solvable. However,
in general, the addition of one side constraint already results in a NP-complete
problem.




                                          39
Chapter 4

Minimizing the Total
Weighted Completion Time
when p = 2

In this chapter, the BLP model for the problem 1|pmtn; pj = 2; rj | wj Cj
will be presented, as well as its Integer and LP relaxations. By means of the
dual problem, it will be shown that the system of (in)equalities determined
by the LP relaxation is TDI. The immediate consequence is that the problem
1|pmtn; pj = 2; rj | wj Cj is polynomially solvable. The chapter will be con-
cluded with the optimality conditions that evolve from Complementary Slack-
ness.


4.1      The Number of Time Intervals between the
         First and Second Part of a Job
Consider the following simple example with 2 jobs, r1 = 0, r2 = 1 and
p = 2. Depending on the job weights either the schedule (1, 2, 2, 1) or (1, 1, 2, 2)
is optimal. The feasible schedule (1, 2, 1, 2) can never be optimal since (1, 1, 2, 2)
has a strictly better objective value irrespective of the weights. It appears that,
when it is profitable to interrupt job 1, job 2 is fully processed before job 1 is
resumed. A generalization of this result is given in Theorem 1.

Theorem 4.1 In an optimal schedule of the problem 1|pmtn; pj = 2; rj | wj Cj ,
there are either zero or an even number of time intervals between the intervals
to which the first and second part of a particular job are assigned.

   Proof: By contradiction. Suppose a schedule S - in which there is an odd
number of time intervals between the first and second part of job j - is optimal.
Hence, we have that job j is interrupted by some job k, but job j is completed
before job k is fully processed. Note that job k does not need to interrupt job
j directly. It might be that some other jobs are fully processed after the first
part of job j and before the first part of job k.

                                         41
Suppose part 1 of job j is scheduled at time interval t, its second part is
scheduled at time interval t + d, d ∈ {2, 4, 6, . . .}, and part 1 of job k is sched-
uled somewhere in between at time interval t + c, c ∈ {1, 3, 5, . . .}, c < d. Now
interchange the positions of part 2 of job j and part 1 of job k. All other jobs
remain in the same position. Note that the number of time intervals between
the first and second part of job j is now zero or even. Call the new schedule
S . The total weighted completion time of all jobs completed before job j is not
affected by the interchange, nor is the total weighted completion time of the jobs
finished after job j. Since the weighted completion time of job j is strictly less in
schedule S than in schedule S, it follows that S cannot be optimal. This com-
pletes the proof of the theorem.

    Theorem 4.1 appears to be crucial for the implementation of the side con-
straints in the AP formulation. It makes it possible to formulate the extra
constraints such that the system of (in)equalities remains TDI.

    It should be noted that Theorem 4.1 is a direct consequence of Lemma 2.1 in-
troduced by Tian et al. [34].                 This lemma states that in a
p-active schedule, job i is either fully processed before job j is started, or job i
is interrupted by job j and not resumed before job j is completed. This implies
that if job i is interrupted, it is interrupted for p = 2 or a multiple of p time
units. Note that a preemptive schedule is p-active if no job’s completion time
can be advanced without postponing the completion time of some other job. It
is not difficult to show that an optimal preemptive schedule is p-active when
the total weighted completion time is minimized.



4.2      The Primal Model
The following indices, parameters and decision variables are used in the BLP
model.

   Indices
 j ∈ {1, . . . , n}              job index;
 t ∈ {1, . . . , T }             time index;
 k ∈ {1, 3, 5, . . . , T − 1}    the set of all odd time indices;
 l ∈ {2, 4, 6, . . . , T − 2}    the set of all even time indices up to and
                                 including T − 2.

    Parameters
 wjt cost of part 1 of job j when it is processed at time interval t;
 wjt cost of part 2 of job j when it is processed at time interval t;
 rj    release date of job j.

   In the BLP model the regular weight wj will not be used. Instead, wjt and
wjt are introduced. They are defined as:

                                0 for all j, for T − 1 ≥ t ≥ rj + 1
                   wjt =
                                ∞ otherwise.

                                            42
wj t   for all j, for t ≥ rj + 2
                         wjt =
                                         ∞      otherwise.
   Decision Variables

                     1 if job j’s first part is assigned to time interval t
         xjt =
                     0 otherwise.

                   1 if job j’s second part is assigned to time interval t
        xjt =
                   0 otherwise.

   Furthermore, the following subsets of time intervals, Tk and Ul , are used.

    Tk = {1, 3, 5, . . . , k}       The subset of odd time intervals up to and including
                                    interval k;
    Ul = {2, 4, 6, . . . , l}       The subset of even time intervals up to and including
                                    interval l.

4.2.1     BLP Model
The BLP model can now be formulated as:

                                                 n    T                      n   T
                                   min                      wjt xjt +                wjt xjt
                                                j=1 t=1                  j=1 t=1
                               T
        subject to                 xjt     ≥ 1            j = 1, . . . , n                      (4.1)
                           t=1
                               T
                                   xjt     ≥ 1            j = 1, . . . , n                      (4.2)
                           t=1
                    n
                         xjt + xjt         = 1            t = 1, . . . , T                      (4.3)
                   j=1

                xjt −          xj,t+1      ≥ 0            j = 1, . . . , n                      (4.4)
        t∈Tk            t∈Tk
                                                       k = 1, 3, 5, . . . , T − 1
                xjt −          xj,t+1      ≥ 0            j = 1, . . . , n                      (4.5)
         t∈Ul           t∈Ul
                                                      l = 2, 4, 6, . . . , T − 2
                           xjt , xjt       ∈    {0, 1}     j = 1, . . . , n t = 1, . . . , T.   (4.6)

    Constraints (4.1) and (4.2) ensure that each first respectively second part
of a job is processed for the duration of at least one time interval. Constraints
(4.3) take care of the fact that each time interval is assigned to exactly one job
part. Since the number of job parts is equal to the number of time intervals,
it immediately follows from (4.1) and (4.2) that each job part is assigned to
exactly one time interval. This can be seen as follows:
    Suppose xjt = 1 and xj t = 1 are part of a feasible solution. Constraint (4.1)
                             ˆ
is satisfied for job j. However, by constraints (4.1), (4.2) and (4.3) there are

                                                     43
T − 1 job parts that have to be assigned to the remaining T − 2 time intervals.
Since at most one job part can be assigned to each time interval by constraints
(4.3), this contradicts the feasibility of xjt = 1 and xj t = 1.
                                                          ˆ
    Constraints (4.4) and (4.5) together assure that one cannot start processing
the second part of a job before the first part is processed. Furthermore, they
assure that the number of time intervals that lies between the processing of the
first and second part of a job is either zero or even; when part 1 is assigned to
time interval t, part 2 can only be assigned to time interval t+d, d ∈ {1, 3, 5, . . .}.
Constraints (4.6) are boolean constraints.

4.2.2     Example
Consider the example of Chapter 2.


                             job j     1     2    3     4     5
                             rj        0     1    2     3     4
                             wj        1     3    7    16    33


   The optimal solution is given by


              x11 = 1,    x29 = 1,         x33 = 1,      x47 = 1,     x55 = 1,
              x12 = 1,    x2,10 = 1,       x34 = 1,      x48 = 1,     x56 = 1,


and all other variables are zero. Hence, it follows that

                                (1, 1, 3, 3, 5, 5, 4, 4, 2, 2)

is the optimal schedule and the objective value              wj Cj is 386.

4.2.3     Integer and LP Relaxations
Consider the BLP model presented in Section 4.2.1. Note that constraints (4.6)
may be replaced by

                          xjt , xjt   ∈ Z+            for all j, t.               (4.7)

Constraints (4.7) require that the decision variables are non-negative integers.
Note that it is sufficient to require that the decision variables are non-negative;
it is not necessary to add xjt , xjt ≤ 1. By constraints (4.3), we already have
that the decision variables xjt and xjt can not take any value larger than one.
When (4.6) is replaced by (4.7), an ILP model is obtained.
    From the ILP, it immediately follows that the LP relaxation is obtained
when constraints (4.6) are replaced by

                             xjt , xjt ≥ 0        for all j, t.

From now on, the LP relaxation will be denoted by (P).

                                             44
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable

Mais conteúdo relacionado

Mais procurados

Applied Stochastic Processes
Applied Stochastic ProcessesApplied Stochastic Processes
Applied Stochastic Processeshuutung96
 
Hub location models in public transport planning
Hub location models in public transport planningHub location models in public transport planning
Hub location models in public transport planningsanazshn
 
The Dissertation
The DissertationThe Dissertation
The Dissertationphooji
 
Optimal decision making for air traffic slot allocation in a Collaborative De...
Optimal decision making for air traffic slot allocation in a Collaborative De...Optimal decision making for air traffic slot allocation in a Collaborative De...
Optimal decision making for air traffic slot allocation in a Collaborative De...Stefano Pacchiega
 
Stochastic Processes in R
Stochastic Processes in RStochastic Processes in R
Stochastic Processes in RTomas Gonzalez
 
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...Francisco Javier Franco Espinoza
 
Thesis: Slicing of Java Programs using the Soot Framework (2006)
Thesis:  Slicing of Java Programs using the Soot Framework (2006) Thesis:  Slicing of Java Programs using the Soot Framework (2006)
Thesis: Slicing of Java Programs using the Soot Framework (2006) Arvind Devaraj
 
Calculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsCalculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsA Jorge Garcia
 
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...Alexander Zhdanov
 
Classical mechanics
Classical mechanicsClassical mechanics
Classical mechanicshue34
 
Location In Wsn
Location In WsnLocation In Wsn
Location In Wsnnetfet
 

Mais procurados (14)

thesis
thesisthesis
thesis
 
Applied Stochastic Processes
Applied Stochastic ProcessesApplied Stochastic Processes
Applied Stochastic Processes
 
Hub location models in public transport planning
Hub location models in public transport planningHub location models in public transport planning
Hub location models in public transport planning
 
Thesis lebanon
Thesis lebanonThesis lebanon
Thesis lebanon
 
The Dissertation
The DissertationThe Dissertation
The Dissertation
 
Optimal decision making for air traffic slot allocation in a Collaborative De...
Optimal decision making for air traffic slot allocation in a Collaborative De...Optimal decision making for air traffic slot allocation in a Collaborative De...
Optimal decision making for air traffic slot allocation in a Collaborative De...
 
Stochastic Processes in R
Stochastic Processes in RStochastic Processes in R
Stochastic Processes in R
 
Quantum mechanics
Quantum mechanicsQuantum mechanics
Quantum mechanics
 
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...
MSc Thesis_Francisco Franco_A New Interpolation Approach for Linearly Constra...
 
Thesis: Slicing of Java Programs using the Soot Framework (2006)
Thesis:  Slicing of Java Programs using the Soot Framework (2006) Thesis:  Slicing of Java Programs using the Soot Framework (2006)
Thesis: Slicing of Java Programs using the Soot Framework (2006)
 
Calculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsCalculus Research Lab 2: Integrals
Calculus Research Lab 2: Integrals
 
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...
Efficiency Optimization of Realtime GPU Raytracing in Modeling of Car2Car Com...
 
Classical mechanics
Classical mechanicsClassical mechanics
Classical mechanics
 
Location In Wsn
Location In WsnLocation In Wsn
Location In Wsn
 

Semelhante a All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable

3016 all-2007-dist
3016 all-2007-dist3016 all-2007-dist
3016 all-2007-distNYversity
 
Reading Materials for Operational Research
Reading Materials for Operational Research Reading Materials for Operational Research
Reading Materials for Operational Research Derbew Tesfa
 
Stochastic Programming
Stochastic ProgrammingStochastic Programming
Stochastic ProgrammingSSA KPI
 
Szalas cugs-lectures
Szalas cugs-lecturesSzalas cugs-lectures
Szalas cugs-lecturesHanibei
 
Ric walter (auth.) numerical methods and optimization a consumer guide-sprin...
Ric walter (auth.) numerical methods and optimization  a consumer guide-sprin...Ric walter (auth.) numerical methods and optimization  a consumer guide-sprin...
Ric walter (auth.) numerical methods and optimization a consumer guide-sprin...valentincivil
 
Fundamentals of computational fluid dynamics
Fundamentals of computational fluid dynamicsFundamentals of computational fluid dynamics
Fundamentals of computational fluid dynamicsAghilesh V
 
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...Alejandro Angulo
 
Lecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determinationLecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determinationErnst Schrama
 
SocioTechnical-systems-sim
SocioTechnical-systems-simSocioTechnical-systems-sim
SocioTechnical-systems-simRub Afonso
 
Optimization in scilab
Optimization in scilabOptimization in scilab
Optimization in scilabScilab
 
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...ssuserfa7e73
 
Derya_Sezen_POMDP_thesis
Derya_Sezen_POMDP_thesisDerya_Sezen_POMDP_thesis
Derya_Sezen_POMDP_thesisDerya SEZEN
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_noteshamza239523
 
Compiled Report
Compiled ReportCompiled Report
Compiled ReportSam McStay
 

Semelhante a All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable (20)

3016 all-2007-dist
3016 all-2007-dist3016 all-2007-dist
3016 all-2007-dist
 
Reading Materials for Operational Research
Reading Materials for Operational Research Reading Materials for Operational Research
Reading Materials for Operational Research
 
Stochastic Programming
Stochastic ProgrammingStochastic Programming
Stochastic Programming
 
Applied Math
Applied MathApplied Math
Applied Math
 
Szalas cugs-lectures
Szalas cugs-lecturesSzalas cugs-lectures
Szalas cugs-lectures
 
Ric walter (auth.) numerical methods and optimization a consumer guide-sprin...
Ric walter (auth.) numerical methods and optimization  a consumer guide-sprin...Ric walter (auth.) numerical methods and optimization  a consumer guide-sprin...
Ric walter (auth.) numerical methods and optimization a consumer guide-sprin...
 
Fundamentals of computational fluid dynamics
Fundamentals of computational fluid dynamicsFundamentals of computational fluid dynamics
Fundamentals of computational fluid dynamics
 
thesis
thesisthesis
thesis
 
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...2004 zuckerberg   a set theoretic approach to lifting procedures for 0-1 inte...
2004 zuckerberg a set theoretic approach to lifting procedures for 0-1 inte...
 
Lecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determinationLecture notes on planetary sciences and orbit determination
Lecture notes on planetary sciences and orbit determination
 
Discontinuous Galerkin Timestepping for Nonlinear Parabolic Problems
Discontinuous Galerkin Timestepping for Nonlinear Parabolic ProblemsDiscontinuous Galerkin Timestepping for Nonlinear Parabolic Problems
Discontinuous Galerkin Timestepping for Nonlinear Parabolic Problems
 
SocioTechnical-systems-sim
SocioTechnical-systems-simSocioTechnical-systems-sim
SocioTechnical-systems-sim
 
Optimization in scilab
Optimization in scilabOptimization in scilab
Optimization in scilab
 
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...
(Springer optimization and its applications 37) eligius m.t. hendrix, boglárk...
 
Non omniscience
Non omniscienceNon omniscience
Non omniscience
 
Derya_Sezen_POMDP_thesis
Derya_Sezen_POMDP_thesisDerya_Sezen_POMDP_thesis
Derya_Sezen_POMDP_thesis
 
final_version
final_versionfinal_version
final_version
 
Transport
TransportTransport
Transport
 
Francois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notesFrancois fleuret -_c++_lecture_notes
Francois fleuret -_c++_lecture_notes
 
Compiled Report
Compiled ReportCompiled Report
Compiled Report
 

Mais de SSA KPI

Germany presentation
Germany presentationGermany presentation
Germany presentationSSA KPI
 
Grand challenges in energy
Grand challenges in energyGrand challenges in energy
Grand challenges in energySSA KPI
 
Engineering role in sustainability
Engineering role in sustainabilityEngineering role in sustainability
Engineering role in sustainabilitySSA KPI
 
Consensus and interaction on a long term strategy for sustainable development
Consensus and interaction on a long term strategy for sustainable developmentConsensus and interaction on a long term strategy for sustainable development
Consensus and interaction on a long term strategy for sustainable developmentSSA KPI
 
Competences in sustainability in engineering education
Competences in sustainability in engineering educationCompetences in sustainability in engineering education
Competences in sustainability in engineering educationSSA KPI
 
Introducatio SD for enginers
Introducatio SD for enginersIntroducatio SD for enginers
Introducatio SD for enginersSSA KPI
 
DAAD-10.11.2011
DAAD-10.11.2011DAAD-10.11.2011
DAAD-10.11.2011SSA KPI
 
Talking with money
Talking with moneyTalking with money
Talking with moneySSA KPI
 
'Green' startup investment
'Green' startup investment'Green' startup investment
'Green' startup investmentSSA KPI
 
From Huygens odd sympathy to the energy Huygens' extraction from the sea waves
From Huygens odd sympathy to the energy Huygens' extraction from the sea wavesFrom Huygens odd sympathy to the energy Huygens' extraction from the sea waves
From Huygens odd sympathy to the energy Huygens' extraction from the sea wavesSSA KPI
 
Dynamics of dice games
Dynamics of dice gamesDynamics of dice games
Dynamics of dice gamesSSA KPI
 
Energy Security Costs
Energy Security CostsEnergy Security Costs
Energy Security CostsSSA KPI
 
Naturally Occurring Radioactivity (NOR) in natural and anthropic environments
Naturally Occurring Radioactivity (NOR) in natural and anthropic environmentsNaturally Occurring Radioactivity (NOR) in natural and anthropic environments
Naturally Occurring Radioactivity (NOR) in natural and anthropic environmentsSSA KPI
 
Advanced energy technology for sustainable development. Part 5
Advanced energy technology for sustainable development. Part 5Advanced energy technology for sustainable development. Part 5
Advanced energy technology for sustainable development. Part 5SSA KPI
 
Advanced energy technology for sustainable development. Part 4
Advanced energy technology for sustainable development. Part 4Advanced energy technology for sustainable development. Part 4
Advanced energy technology for sustainable development. Part 4SSA KPI
 
Advanced energy technology for sustainable development. Part 3
Advanced energy technology for sustainable development. Part 3Advanced energy technology for sustainable development. Part 3
Advanced energy technology for sustainable development. Part 3SSA KPI
 
Advanced energy technology for sustainable development. Part 2
Advanced energy technology for sustainable development. Part 2Advanced energy technology for sustainable development. Part 2
Advanced energy technology for sustainable development. Part 2SSA KPI
 
Advanced energy technology for sustainable development. Part 1
Advanced energy technology for sustainable development. Part 1Advanced energy technology for sustainable development. Part 1
Advanced energy technology for sustainable development. Part 1SSA KPI
 
Fluorescent proteins in current biology
Fluorescent proteins in current biologyFluorescent proteins in current biology
Fluorescent proteins in current biologySSA KPI
 
Neurotransmitter systems of the brain and their functions
Neurotransmitter systems of the brain and their functionsNeurotransmitter systems of the brain and their functions
Neurotransmitter systems of the brain and their functionsSSA KPI
 

Mais de SSA KPI (20)

Germany presentation
Germany presentationGermany presentation
Germany presentation
 
Grand challenges in energy
Grand challenges in energyGrand challenges in energy
Grand challenges in energy
 
Engineering role in sustainability
Engineering role in sustainabilityEngineering role in sustainability
Engineering role in sustainability
 
Consensus and interaction on a long term strategy for sustainable development
Consensus and interaction on a long term strategy for sustainable developmentConsensus and interaction on a long term strategy for sustainable development
Consensus and interaction on a long term strategy for sustainable development
 
Competences in sustainability in engineering education
Competences in sustainability in engineering educationCompetences in sustainability in engineering education
Competences in sustainability in engineering education
 
Introducatio SD for enginers
Introducatio SD for enginersIntroducatio SD for enginers
Introducatio SD for enginers
 
DAAD-10.11.2011
DAAD-10.11.2011DAAD-10.11.2011
DAAD-10.11.2011
 
Talking with money
Talking with moneyTalking with money
Talking with money
 
'Green' startup investment
'Green' startup investment'Green' startup investment
'Green' startup investment
 
From Huygens odd sympathy to the energy Huygens' extraction from the sea waves
From Huygens odd sympathy to the energy Huygens' extraction from the sea wavesFrom Huygens odd sympathy to the energy Huygens' extraction from the sea waves
From Huygens odd sympathy to the energy Huygens' extraction from the sea waves
 
Dynamics of dice games
Dynamics of dice gamesDynamics of dice games
Dynamics of dice games
 
Energy Security Costs
Energy Security CostsEnergy Security Costs
Energy Security Costs
 
Naturally Occurring Radioactivity (NOR) in natural and anthropic environments
Naturally Occurring Radioactivity (NOR) in natural and anthropic environmentsNaturally Occurring Radioactivity (NOR) in natural and anthropic environments
Naturally Occurring Radioactivity (NOR) in natural and anthropic environments
 
Advanced energy technology for sustainable development. Part 5
Advanced energy technology for sustainable development. Part 5Advanced energy technology for sustainable development. Part 5
Advanced energy technology for sustainable development. Part 5
 
Advanced energy technology for sustainable development. Part 4
Advanced energy technology for sustainable development. Part 4Advanced energy technology for sustainable development. Part 4
Advanced energy technology for sustainable development. Part 4
 
Advanced energy technology for sustainable development. Part 3
Advanced energy technology for sustainable development. Part 3Advanced energy technology for sustainable development. Part 3
Advanced energy technology for sustainable development. Part 3
 
Advanced energy technology for sustainable development. Part 2
Advanced energy technology for sustainable development. Part 2Advanced energy technology for sustainable development. Part 2
Advanced energy technology for sustainable development. Part 2
 
Advanced energy technology for sustainable development. Part 1
Advanced energy technology for sustainable development. Part 1Advanced energy technology for sustainable development. Part 1
Advanced energy technology for sustainable development. Part 1
 
Fluorescent proteins in current biology
Fluorescent proteins in current biologyFluorescent proteins in current biology
Fluorescent proteins in current biology
 
Neurotransmitter systems of the brain and their functions
Neurotransmitter systems of the brain and their functionsNeurotransmitter systems of the brain and their functions
Neurotransmitter systems of the brain and their functions
 

Último

ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 

Último (20)

YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 

All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomially Solvable

  • 1. All Minimal and Maximal Open Single Machine Scheduling Problems are Polynomially Solvable Harmen W. Bouma 1345982 April 8, 2009
  • 2. Master’s Thesis Operations Research Supervisor: Prof. Sc.D. B. Goldengorin Co-assessor: Prof. dr. G. Sierksma
  • 3. All Minimal and Maximal Open Single Machine Scheduling Problems are Polynomially Solvable H.W. Bouma Abstract In this thesis, Boolean Linear Programming (BLP) models are presented for three single machine scheduling problems with equal-length jobs and different release dates, and it is proven that they are polynomially solvable. The objec- tive of the first problem, in which preemption is allowed, is to minimize the total weighted completion time. The objective of the other two problems is to minimize the total weighted tardiness. The second problem is preemptive, the third is not. To this date, the complexity status of these problems has remained open. The open complexity status was mentioned by Labetoulle et al. [21] in 1984. The BLP models are based on the Assignment Problem formulation, which is a well-known polynomially solvable problem in combinatorial optimization. The Assignment Problem can be used to solve many problems, including for example the single machine scheduling problems in which the total weighted tardiness is minimized and in which all jobs have unit processing times and different release dates. In order to solve the three problems mentioned above only preoptimized permutations are incorporated into the Assignment Problem formulation. The proof that the problems are polynomially solvable is based on the notion of Total Dual Integrality. Keywords: (Non-)preemptive scheduling; Equal-length jobs; Release dates; Weighted completion time; Weighted tardiness; Total dual integrality.
  • 4.
  • 5. Preface Since the fifties of the twentieth century Scheduling Theory has been a popular research area. In the early years pioneers came up with algorithms to solve simple job scheduling problems. In the years that followed, many algorithms and heuristics were found to solve both basic and more complicated problems. Nowadays, the complexity status of many basic scheduling problems is known, although there are still some problems with an open complexity status. In this thesis I will show that three of these open problems are polynomially solvable. Two of the problems are about finding a preemptive schedule in a single machine setting where the jobs have equal processing times and different release dates. The objectives are to minimize the total weighted completion time and the total weighted tardiness, respectively. The third problem is the non-preemptive version of the total weighted tardiness problem. All problems will be modeled as Assignment Problems with side constraints. The thesis is organized as follows. In Chapter 1 an overview of single ma- chine scheduling problems is given and some basic concepts of computational complexity and Integer Linear Programming are discussed. In Chapter 2 the problems are defined and an informal description of 1|pmtn; pj = 2; rj | wj Cj is presented which motivates the use of the Assignment Problem formulation. A similar approach is used for the other open problems. Chapter 3 contains a discussion of problems that are modeled as a variation on the Assignment Problem as well. In Chapter 4, the Boolean Linear Programming (BLP) model for the problem 1|pmtn; pj = 2; rj | wj Cj is given and it is proven that the corresponding system of equations is Totally Dual Integral. This implies that the problem is polynomially solvable. In Chapter 5 these results are generalized to the case pj = p. In Chapter 6 the BLP models are presented for the total weighted tardiness scheduling problems and it is proven that they are also poly- nomially solvable. In Chapter 7 some computational results are presented and Chapter 8 contains recommendations for future research and a short summary. I wish to thank my supervisor Prof. Sc.D. B. Goldengorin for giving me the opportunity to do this research. He advanced the idea of solving the problem by a model based on the Assignment Problem. I would like to thank him for his support and advice he provided me with during my research. Furthermore, I would like to thank Prof. dr. G. Sierksma, who was willing to be co-assessor of this research project, and Guido Diepen of Paragon Decision Technology for his technical support with AIMMS. Groningen, Harmen Bouma
  • 6.
  • 7. Contents 1 Introduction 13 1.1 Single Machine Scheduling Problems . . . . . . . . . . . . . . . . 14 1.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . . 16 1.3 Overview of Complexity Status of Single Machine Scheduling Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3.1 Open Problems . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3.2 Related Problems . . . . . . . . . . . . . . . . . . . . . . . 21 1.4 Linear and Integer Programming . . . . . . . . . . . . . . . . . . 23 1.4.1 Total Unimodularity and Total Dual Integrality . . . . . . 24 2 Problem Formulation 27 2.1 Minimizing the Total Weighted Completion Time . . . . . . . . . 27 2.1.1 The Assignment Model . . . . . . . . . . . . . . . . . . . 28 2.2 Minimizing the Total Weighted Tardiness . . . . . . . . . . . . . 31 2.2.1 The Preemptive Problem . . . . . . . . . . . . . . . . . . 31 2.2.2 The Non-Preemptive Problem . . . . . . . . . . . . . . . . 32 2.3 Outline of the Proof . . . . . . . . . . . . . . . . . . . . . . . . . 33 3 Variations on the Assignment Problem 35 3.1 Finding Subdigraphs with Prescribed Degrees . . . . . . . . . . . 35 3.2 A Polynomial Solvable Case of the Axial Three-Dimensional As- signment Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 The Imbalanced Time Minimizing Assignment Problem . . . . . 38 3.4 Resource-Constrained Assignment Scheduling . . . . . . . . . . . 38 4 Minimizing the Total Weighted Completion Time when p = 2 41 4.1 The Number of Time Intervals between the First and Second Part of a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 The Primal Model . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2.1 BLP Model . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.3 Integer and LP Relaxations . . . . . . . . . . . . . . . . . 44 4.2.4 Total Unimodularity . . . . . . . . . . . . . . . . . . . . . 45 4.3 The Dual Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.1 Model Formulation . . . . . . . . . . . . . . . . . . . . . . 46 4.3.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4 Total Dual Integrality . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Integrality of Solutions to the Dual Problem . . . . . . . . 50 7
  • 8. 4.4.2 A Polynomial Time Algorithm . . . . . . . . . . . . . . . 53 4.5 Optimality Conditions . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5.1 Complementary Slackness . . . . . . . . . . . . . . . . . . 57 4.5.2 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.5.3 Optimality Conditions . . . . . . . . . . . . . . . . . . . . 59 5 Minimizing the Total Weighted Completion Time when pj = p 63 5.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2 Computational Complexity . . . . . . . . . . . . . . . . . . . . . 65 5.2.1 A Polynomial Time Algorithm . . . . . . . . . . . . . . . 65 5.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6 Minimizing the Total Weighted Tardiness 69 6.1 The Preemptive Case . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.1.1 Computational Complexity . . . . . . . . . . . . . . . . . 70 6.1.2 A Polynomial Time Algorithm . . . . . . . . . . . . . . . 70 6.1.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 The Non-Preemptive Case . . . . . . . . . . . . . . . . . . . . . . 71 6.2.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.2.2 Computational Complexity . . . . . . . . . . . . . . . . . 73 6.2.3 A Polynomial Time Algorithm . . . . . . . . . . . . . . . 73 6.2.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7 Computational Results 75 8 Summary and Concluding Remarks 81 A Complexity Results for Single Machine Problems 85 B Proofs from Chapters 5 and 6 87 B.1 The Dual Model of Chapter 5 . . . . . . . . . . . . . . . . . . . . 87 B.1.1 Integrality of the Dual Optimal Solution . . . . . . . . . . 89 B.2 The Dual Model of Section 6.2 . . . . . . . . . . . . . . . . . . . 92 B.2.1 Total Dual Integrality . . . . . . . . . . . . . . . . . . . . 93 C Instances used for Computational Results 97 D List of Symbols and Abbreviations 103 8
  • 9. List of Figures 1.1 The EDD and optimal schedule for an instance of 1|rj |Lmax . . . 19 1.2 The preemptive WSPT and the optimal schedule for an instance of 1|pmtn; rj | wj Cj . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1 Graphical representation of a special case of the three-dimensional assignment model. . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Graphical representation of the multidimensional assignment prob- lem for 1|pmtn; pj = 2; rj | wj Cj with n = 3. . . . . . . . . . . 37 4.1 Schedule S1 , where d ∈ {2, 4, 6, . . .}, 0 < λ < 1 . . . . . . . . . . . 55 4.2 Schedule S2 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . . 55 4.3 Schedule S3 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . . 56 4.4 Schedule S4 , where d1 , d2 ∈ {1, 3, 5, . . .}, 0 < λ < 1. . . . . . . . . 56 4.5 Schedule S5 , where d1 ∈ {2, 4, 6, . . .}, d2 , d3 ∈ {3, 5, 7, . . .}, d2 > d1 , d3 > d2 , 0 < λ < 1. . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6 Schedule S6 , d1 ∈ {2, 4, 6, . . .}, d2 , d3 ∈ {3, 5, 7, . . .}, d2 > d1 , d3 > d2 , 0 < λ < 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 57 7.1 The differences in terms of percentages between the optimal val- ues of the problems 1|pmtn; pj = p; rj | wj Cj and 1|pj = p; rj | wj Cj . 78 7.2 The differences in terms of percentages between the optimal val- ues of the problems 1|pmtn; pj = p; rj | wj Tj and 1|pj = p; rj | wj Tj . 79 9
  • 10.
  • 11. List of Tables 1.1 Overview of complexity results of problems that are related to the open problems that are solved in this thesis. . . . . . . . . . 26 2.1 The cost matrix W , representing the costs of assigning job parts to time intervals. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2 The cost matrix W , representing the costs of assigning job parts to time intervals when wj Tj is the objective. . . . . . . . . . . 32 4.1 The way in which dual variables p, q and s correspond to the rows and columns of the cost matrix W . . . . . . . . . . . . . . . 48 4.2 Cost matrix W adjusted by the dual variables. . . . . . . . . . . 49 7.1 CPU time in seconds and optimal solutions for the problem 1|pmtn; pj = p; rj | wj Cj , for p = 2. . . . . . . . . . . . . . . . . . . . . . . . 75 7.2 CPU time in seconds and optimal solutions for the problem 1|pmtn; pj = p; rj | wj Cj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 76 7.3 CPU time in seconds and optimal solutions 1|pmtn; pj = p; rj | wj Tj , for p = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.4 CPU time in seconds and optimal solutions for the problem 1|pmtn; pj = p; rj | wj Tj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 77 7.5 CPU time in seconds and optimal solutions 1|pj = p; rj | wj Tj , for p = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.6 CPU time in seconds and optimal solutions for the problem 1|pj = p; rj | wj Tj , with p = 3 and p = 4. . . . . . . . . . . . . . . . . 78 7.7 Optimal solutions for the problem 1|pj = p; rj | wj Cj . . . . . . 78 8.1 The problems that are solved in this thesis and problems that are closely related to them. . . . . . . . . . . . . . . . . . . . . . . . 83 C.1 Instances with 20 jobs and p = 2. . . . . . . . . . . . . . . . . . . 97 C.2 Instances with 50 jobs and p = 2. . . . . . . . . . . . . . . . . . . 98 C.3 Instances with 100 jobs and p = 2. . . . . . . . . . . . . . . . . . 99 C.4 Instances with 50 jobs and p = 3. . . . . . . . . . . . . . . . . . . 100 C.5 Instances with 30 jobs and p = 4. . . . . . . . . . . . . . . . . . . 101 11
  • 12.
  • 13. Chapter 1 Introduction In many manufacturing and service industries planning and scheduling belong to the day-to-day activities. Whether it is about a copy shop holder who needs to determine which order to print first, or the type of aircraft that should be assigned to a particular flight, the decisions made can substantially affect the efficiency or profitability of a company. Consider for example a copy shop holder, who serves several business clients. Some orders are urgent, while others are not. A report that is just finished and should be presented the following morning has higher priority for a firm than the quarterly staff magazine. The urgency of an order is given by the difference between the deadline of an order and the point in time at which the order actu- ally comes in at the copy shop. This is the so-called time window. Furthermore, each order has a different processing time, depending on its size, its quality etc. Last but not least, each order has a certain weight. When the copy shop holder does not meet a deadline, the client receives a discount based on the amount of delay and the weight of the order. Naturally, urgent and large orders have higher weights than low priority and small jobs. Given all orders, the copy shop holder would like to determine the printing schedule such that the total amount of discount is as small as possible. Now consider the airline company. It needs to assign airplanes to flights such that none of the flights is canceled. The cost of assigning a certain type of air- craft to a particular flight is known in advance. Each flight is characterized by a departure and arrival time and by the expected number of passengers. Each airplane has a certain capacity. Obviously, it is desirable that an airplane has sufficient capacity to carry all passengers, since otherwise a certain amount of revenue is missed. On the other hand, when there is overcapacity the revenues may not be sufficient to cover the flight’s costs. Given the departure and ar- rival time, the cost of a flight, the expected number of passengers per flight and the revenue per passenger, the airline is interested in assigning its airplanes to flights such that total profits are maximized. These examples show that scheduling problems arise frequently in prac- tice and often involve the core business of a company. Therefore, considerable amounts of attention have been paid to scheduling techniques in literature for 13
  • 14. over fifty years. Pinedo [28] defines scheduling as the allocation of limited re- sources to activities that have to be done over time. This allocation needs to be such that a company optimizes its objectives and achieves its goals. In the examples stated above, the photocopiers in the copy shop and the fleet of the airline company are the resources. The activities are the orders and the flights. The objectives are to minimize the total amount of discount and to maximize profits, respectively. Scheduling techniques rely heavily on mathematical models, exact algo- rithms and heuristics. For many problems efficient algorithms have been found to solve the problems to optimality. However, there are still many problems that have not been solved yet. In this thesis suitable models for three of these unsolved scheduling problems will be presented. In Chapter 2 the problem is formulated and in Chapter 3 some background information is given about the modeling techniques that are used in Chapters 4 to 6. In the remainder of the Introduction an overview of scheduling problems is given in which only one type of resource is involved, the so-called single machine models. Furthermore, the concept of computational complexity and the mathematical techniques that are used in this thesis are shortly discussed. 1.1 Single Machine Scheduling Problems Most of the scheduling problems that were solved during the fifties of the twen- tieth century involved only one machine. Although single machine problems do not arise frequently in practice, a study of them is valuable for two reasons. Firstly, the solution methods for single machine models provide insights into solution techniques that could be used in more complex situations with sev- eral machines. Secondly, in many production settings there is one stage that is crucial for the overall performance of a schedule. This stage is called the bottleneck. Optimizing the schedule for the bottleneck, which could well be a single machine, then optimizes the schedule for the entire problem (Chen, Potts and Woeginger [11]). In a single machine model there is a certain resource which is generally referred to as a ‘machine’. This resource is needed to fulfill a number of tasks, usually called ‘jobs’. The machine can only handle one job at a time. Each job may have different characteristics, such as the time that is needed to complete a job or the point in time at which a job becomes available for processing. Finally, there is an objective that has to be optimized. For example, one might be interested in minimizing the total number of tardy jobs, or the point in time at which all jobs are completed. Most types of scheduling problems can be described by a triple α|β|γ which is widely used in the literature and was introduced by Graham et al. [17]. Here, α describes the machine environment, β the job characteristics and γ the objective criterion to be minimized. Hence, for single machine models it follows that α = 1. An overview of several job characteristics and objective criteria is given below. It should be noted that this overview is not exhaustive. However, it is sufficient to define most basic scheduling problems. 14
  • 15. Job Characteristics. Assume that there are n jobs to be scheduled and let the subscript j refer to a particular job. Examples of job characteristics are: Processing time (pj ). The time that is needed to fully process job j. Release date (rj ). The time at which job j becomes available for processing. Due date (dj ). The time at which job j is committed to be completed. When this due date is not met, a penalty is incurred. When the due date must be met at all costs, it can replaced by a (strict) deadline Dj . Weight (wj ). The weight of a job, which is a priority factor. It reflects the importance of job j relative to other jobs. Preemption (pmtn). When preemption is allowed, a job can be removed from a machine before it is fully processed. At a later stage it can then be resumed. In case of preemption, processing that has already been done is not lost. Precedence constraints (prec). When a job cannot be processed before an- other job is completed, the problem is subject to so-called precedence constraints. Precedence constraints can be depicted by acyclic graphs, where each node is a job and each arc a precedence constraint. When the graph consists of chains, prec is replaced by chains in the β-field. Similarly, when the precedence constraints can be represented by a series- parallel graph, prec is replaced by sp-graph. It should be noted that pj only appears in the β-field when pj = p, i.e., when all processing times are equal. In general, wj and dj do not appear at all in the β-field since it is clear from the objective whether there are weights and due dates. This is not the case for strict deadlines Dj . Note that it could well be that the β-field is empty. Objective Criteria. Let the time at which job j is finished be denoted by Cj , the completion time of job j. Define the lateness Lj and the tardiness Tj of job j as follows: Lj = Cj − dj , Tj = max{Cj − dj , 0}. The lateness of job j indicates the amount of time that a job is delayed. Note that a negative value implies that a job is early. The tardiness indicates the amount of delay of a job, and is zero when a job is early or exactly in time. Furthermore, let 1 if Cj > dj Uj = 0 otherwise. When job j is delayed Uj is one, otherwise it is zero. This criterion can be used to count the number of tardy jobs. However, the amount of delay is not expressed by it. The objective criteria can now be given by: 15
  • 16. Makespan (Cmax = maxj Cj ). The makespan is the maximum completion time, or the time at which all jobs are processed. When the makespan is minimized, the schedule tends to finish processing as early as possible. Total completion time ( j Cj ). This objective sums the completion time of all jobs. Minimizing the total completion time can be used as a surrogate for minimizing the total Work-In-Process, since it tends to finish each job as quickly as possible. Total weighted completion time ( j wj Cj ). This objective sums the completion time of all jobs, after they have been adjusted for their weights. When total weighted completion time is minimized it becomes advantageous to finish jobs with high weights early relative to jobs with low weights. The total weighted completion time can be used to minimize the total value of the Work-In-Process. Maximum lateness (Lmax = maxj Lj ). The maximum lateness records the largest delay in a schedule. The maximum lateness objective minimizes in a way the worst performance of a schedule, since all delays are kept as small as possible. Total number of tardy jobs ( j Uj ). This objective counts the number of tardy jobs. Minimizing the number of tardy jobs can be used to maximize the percentage of on-time deliveries. Total weighted number of tardy jobs ( j wj Uj ). This objective counts the cu- mulative weight of all tardy jobs. This objective can be used to maximize the percentage of on-time deliveries adjusted for their weights. Total tardiness ( j Tj ). The total tardiness criterion sums all delays. Minimiz- ing the total tardiness may be preferable to minimizing the total number of tardy jobs. When the total number of tardy jobs is minimized, some jobs may get seriously delayed in order to keep the number of tardy jobs low. This in turn may lead to unacceptable situations in practice and does not occur when the total tardiness objective is used. Total weighted tardiness ( j wj Tj ). The total weighted tardiness sums the total amount of tardiness adjusted for the weights of the jobs. It can be used when some delays are more expensive than other delays. 1.2 Computational Complexity One of the most important questions in scheduling theory concerns the complex- ity status of a problem. The complexity status roughly describes the relation- ship between the size of a problem and the computation time that is needed to solve that problem. The problem size is determined by the input data and it is generally assumed that the input data is binary encoded. The following can be found in any textbook on Complexity Theory (see e.g. Garey and Johnson [14]). For problem size n, let TA (n) denote the worst-case time complexity when a problem is solved by algorithm A. That is, TA (n) is the maximum number of computational steps, over all input sizes n, that are required for the execution 16
  • 17. of algorithm A. When the computational complexity is determined, it is crucial to look at the order of the function TA (n). Consider for example algorithm A1 with TA1 (n) = 0.5n2 and algorithm A2 with TA2 (n) = 5n. Although algorithm A1 is faster than algorithm A2 for 1 ≤ n ≤ 9 and equally fast for n = 10, algorithm A2 is faster for all n > 10. This has to do with asymptotic growth and is caused by the fact that TA2 (n) is of lower order than TA1 (n). Given two functions F (n) and G(n), with n ∈ N, the order of F (n) is said to be lower than or equal to the order of G(n) if F (n) ≤ K · G(n) for all n > n0 , where K and n0 are two positive constants. When the order of F is lower than or equal to the order of G, it is denoted F = O(G). Hence TA1 (n) is O(n2 ) and TA2 (n) is O(n). The worst-case time complexity of an algorithm is important in order to determine whether it is efficient or not. Complexity theory is used to classify algorithms either as efficient or inefficient. Any O(P )-algorithm, where P is a polynomial in the problem size, is an efficient algorithm. All problems that can be solved by an O(P )-algorithm are said to be polynomially solvable and belong to the class P. A problem is said to be pseudo-polynomially solvable, when the running time is polynomial in the numerical value of the input (using unary encoding), but non-polynomial with respect to binary encoding. Problems which can only be solved by non-polynomial algorithms belong to the class N P. It has been shown that the majority of the problems belonging to this class are equivalent to each other. This implies the following: if an effi- cient algorithm could be developed that solves one problem in this class, it can be used to solve all problems that are in this class. Conversely, when it can be proven that no such algorithm possibly exists for one of these problems, it immediately follows that no efficient algorithm exists for any problem in this class. These problems are called NP-complete. A more formal definition will be given below. However, it is necessary to introduce the difference between optimization and recognition problems first. An optimization problem is concerned with the solution that actually min- imizes (maximizes) a certain objective function. A recognition problem deals with the question whether or not there exists a certain instance such that the objective function is at most (at least) k, where k is an arbitrary constant. Hence, a recognition problem can be answered by YES or NO. An instance of a recognition problem is a YES instance if the answer to this problem is YES, and a NO instance if it is NO. Note that the optimization problem can be solved by repetitive application of the recognition problem. To define NP-complete and NP-hard problems the following is needed as well: A problem P1 polynomially reduces to a problem P2 if some polynomial-time algorithm that solves P1 uses the algorithm for solving P2 at unit cost. Here, at unit cost means that the algorithm for P2 requires unit time to execute. From this definition the following property arises: If P1 polynomially reduces to P2 and some polynomial-time algorithm solves P2 , then some polynomial time-algorithm solves P1 . 17
  • 18. A special form of problem reduction is called problem transformation. A problem P1 polynomially transforms to problem P2 if for every instance I1 of problem P1 an instance I2 of problem P2 can be constructed in polynomial time such that I1 is a YES instance of P1 if and only if I2 is a YES instance of P2 . Now, a recognition problem P1 is said to be NP-complete if 1. P1 ∈ N P, and 2. all other problems in the class N P polynomially transform to P1 . A recognition problem P1 is said to be NP-hard if all other problems in the class N P polynomially reduce to P1 . Note that this class of problems is broader than the class NP-complete, because it includes the class N P as well as problems that are not in this class. Note that these definitions of NP-completeness and NP-hardness are based on the assumption of binary encoded problem sizes. A problem that is NP- complete or NP-hard could well be pseudo-polynomially solvable. When a problem is NP-complete with respect to unary encoding as well, it is said to be strongly NP-complete. A similar result holds for strongly NP-hard problems (see e.g. Leung [24]). For a more detailed description of computational com- plexity, the reader is referred to Garey and Johnson [14] or Leung [24]. 1.3 Overview of Complexity Status of Single Ma- chine Scheduling Models Many single machine models have already been shown to be (pseudo-)polyno- mially solvable or NP-hard. On a website, Brucker and Knust [10] keep track of the complexity results of scheduling problems. Problems that were solved in the fifties of the previous century are for example 1||Lmax and 1|| wj Cj . In the first problem (Jackson [18]) the objective is to find a schedule that min- imizes the maximum lateness. The β-field is empty, which implies that all jobs have different processing times and due dates, but that preemption is not al- lowed and there are no release dates, precedence constraints, etcetera. This problem is solved by the Earliest Due Date (EDD) first rule, which orders all jobs by their due date (from low to high) and schedules them accordingly. This algorithm runs in O(n2 ). In 1|| wj Cj (Smith [33]) the schedule that minimizes the total weighted completion time needs to be determined. All jobs have different processing times and weights. This problem is solved by the Weighted Shortest Processing Time (WSPT) first rule, where job j is scheduled before job k if wj wk > . pj pk The WSPT algorithm has running time O(n log(n)). 18
  • 19. Another example of a scheduling problem that is polynomially solvable is 1|pj = p; rj | wj Cj . In this problem the schedule that minimizes the total weighted completion time needs to be determined. All jobs have the same processing time and different release dates. The problem can be solved by a dynamic programming algorithm that was introduced by Baptiste [4]. The time complexity of the algorithm is O(n7 ). Examples of problems that are NP-hard are: 1|rj |Lmax and 1|pmtn; rj | wj Cj . The problem 1|rj |Lmax is a generalization of the problem 1||Lmax . In this problem, the jobs have different release dates, processing times and due dates. In Lenstra, Rinnooy Kan and Brucker [23], it is proven that this problem is strongly NP-hard. To see why the EDD rule does not necessarily solve this problem to optimality, consider the following example: job j 1 2 3 4 pj 4 1 6 4 rj 0 0 1 3 dj 13 14 7 11 The EDD schedule is depicted in Figure 1.1a. It is not difficult to see that Lmax = L3 = L4 = 3. In Figure 1.1b, the optimal schedule is depicted, with Lmax = L1 = L2 = 2. Figure 1.1: (a) The EDD schedule with Lmax = 3. (b) The optimal schedule with Lmax = 2. Now consider the problem 1|pmtn; rj | wj Cj , which is a generalization of 1|| wj Cj . A possible approach for this problem would be to check whether the preemptive version of the WSPT rule leads to an optimal solution. This rule compares the ratios of the weight of a job and the remaining processing time for all available jobs and schedules the job with highest ratio first. When a new job is released, or when a job is finished, this procedure is repeated until all jobs are processed. However, the preemptive WSPT rule does not always lead to an optimal solution. Consider the following example: 19
  • 20. job j 1 2 3 pj 2 3 4 rj 0 1 2 wj 1 4 10 The preemptive WSPT schedule is depicted in Figure 1.2a and has objective value wj Cj = 101. However, the optimal schedule is depicted in Figure 1.2b and has objective value wj Cj = 98. The proof that 1|pmtn; rj | wj Cj is strongly NP-hard is given in Labetoulle et al. [21]. Figure 1.2: (a) The preemptive WSPT schedule with wj Cj = 101. (b) The optimal schedule with wj Cj = 98. In Appendix A a complete overview of the complexity status of single ma- chine problems is given. 1.3.1 Open Problems Although the complexity status of most single machine scheduling problems is known, there still exist problems with an open complexity status. This means that it is not known whether they are polynomially solvable or not. One of these problems is the preemptive equal-length job scheduling problem with release dates 1|pmtn; pj = p; rj | wj Cj , in which the total weighted completion time is minimized. This problem is similar to two of the problems that were discussed in the preceding paragraph, namely 1|pj = p; rj | wj Cj and 1|pmtn; rj | wj Cj . The non-preemptive problem 1|pj = p; rj | wj Cj , which is an easier case of the open problem, is polynomially solvable. It can be shown that this is the case for all easier cases of the open problem. Therefore, 1|pmtn; pj = p; rj | wj Cj is said to be minimal open. The problem 1|pmtn; rj | wj Cj is slightly harder than the open problem, since the processing times of the jobs may differ. As was already indicated, this problem is strongly NP-hard. However, 1|pmtn; pj = p; rj | wj Cj is not maximal open, which implies that there are harder cases that are not known to be NP-hard. Consider for example the open problem with strict deadlines, 1|pmtn; pj = p; rj ; Dj | wj Cj . This problem is harder than the open problem under consideration and its complexity status is open as well. The problem can be solved by the model presented in Chapter 5. Two problems that are very similar to 1|pmtn; pj = p; rj | wj Cj are 1|pmtn; pj = p; rj | wj Tj and 1|pj = p; rj | wj Tj . 20
  • 21. In both problems the total weighted tardiness is minimized instead of the to- tal weighted completion time. The first problem allows for preemption, the second does not. According to the website of Brucker and Knust [10], the non- preemptive problem is both minimal and maximal open. This implies that all easier problems are polynomially solvable and all harder cases are NP-hard. Apparently, Brucker and Knust do not regard the preemptive problem as an easier or harder case. This is in agreement with a observation in Pinedo [29], which says that allowing preemptions usually simplifies the analysis of a prob- lem, but not always. On the website of Brucker and Knust [10] it is also stated that the preemptive problem is maximal open, but not minimal. However, it will be shown in the following section that all easier problems (i.e., with equal job weights or without release dates) are known to be polynomially solvable. Since 1|pj = p; rj | wj Tj is not regarded as an easier problem, this implies that 1|pmtn; pj = p; rj | wj Tj must be minimal open as well. 1.3.2 Related Problems In this paragraph an overview of problems that are related to the open problems introduced in Section 1.3.1 is given. It should be noted that some complexity results have been obtained for the general class of problems with objective func- tion fmax = maxj {fj (Cj )}. Here fj is a monotone, non-decreasing cost func- tion. Both the (weighted) completion time and the (weighted) tardiness can be described by such functions fj . In Table 1.1, the overview is given schematically. As was already shown at the beginning of Section 1.3, the problem 1|| wj Cj (Smith [33]) is polynomially solvable. The same result holds true for 1||fmax , which can be solved by the EDD rule. When the objective is replaced by the to- tal (weighted) tardiness, the problem becomes (strongly) NP-hard (Lawler [20], Du and Leung [12]). However, Lawler [20] shows that there exists a pseudo- polynomial algorithm to solve 1|| wj Tj if the weighting of jobs is agreeable. This is the case when pi < pj implies that wi ≥ wj . Note that it immediately follows that the equal weight problem 1|| Tj is also pseudo-polynomially solv- able. The simplified total weighted tardiness problem in which the jobs have equal lengths, 1|pj = p| wj Tj , is polynomially solvable. The schedule for this prob- lem can be divided into parts of length p. At each of these time intervals, a job is scheduled. For each job and time interval combination the corresponding costs are known. By means of the Assignment Problem, which is polynomially solvable and discussed in more detail in Chapter 2, the optimal assignment of jobs to time intervals can be easily found. When release dates are added to the polynomially solvable problems 1||Lmax and 1|| Cj , they both become strongly NP-hard. This is shown by Lenstra et al. [23]. From the fact that 1|| Tj is NP-hard it immediately follows that 1|rj | Tj is NP-hard as well. An example of 1|rj |Lmax is given at the beginning of Section 1.3. Note that the problem 1|rj |Cmax is polynomially solvable, since every non-delay schedule is optimal. A schedule is called non-delay if a machine is not kept idle while one or more jobs are available for processing. When the scheduling problems with release dates are relaxed by the assump- tion of equal processing times pj = p, they become polynomially solvable when 21
  • 22. Lmax and wj Cj are minimized. The latter problem was solved by Baptiste [4]. Simons [32] showed that the problem P |pj = p; rj |Lmax is polynomially solv- able. Here, P stands for m parallel machines, which is a generalization of the single machine problem. It immediately follows that 1|pj = p; rj |Lmax is poly- nomially solvable as well. The problem in which the total weighted tardiness is minimized for equal-length jobs with different release dates is one of the open problems that is solved in this thesis. The version with equal job weights as well as the version with unit processing times pj = 1 are polynomially solvable. The former case is proven by Baptiste [4], the latter can be solved by the Assignment Problem (see Chapter 2 for a discussion of the Assignment Problem). Hence, the model of Baptiste [4] solves the equal-length job scheduling problem with release dates when the total weighted completion time or the total tardiness is minimized, but not when the total weighted tardiness is minimized. This is caused by the fact that the model only holds true when the function (fi − fj ) is monotone. This implies that either (fi − fj )(t1 ) ≥ (fi − fj )(t2 ) ∀t1 ∀t2 > t1 or (fi − fj )(t1 ) ≤ (fi − fj )(t2 ) ∀t1 ∀t2 > t1 . When fj (t) = wj max{0, t − dj } it can be shown that (fi − fj ) is not monotone. Consider, for example, the case with d1 = 2, d2 = 3, w1 = 1 and w2 = 10. It follows that (f1 − f2 )(2) = 0, (f1 − f2 )(3) = 1 and (f1 − f2 )(4) = −8. Hence (f1 − f2 )(2) < (f1 − f2 )(3) but (f1 − f2 )(2) > (f1 − f2 )(4). Now consider the scheduling problem in which jobs have different release dates, are subject to precedence constraints and where preemption is allowed. Baker et al. [2] present an algorithm that solves the problem 1|prec; pmpn; rj |fmax in polynomial time. However, the counterparts in which the total completion time and the total tardiness are minimized are NP-hard, which follows from Lenstra and Rinnooy Kan [22]. Baptiste et al. [5] show that the relaxed problem 1|prec; pmpn; pj = p; rj | Cj has a non-preemptive optimal schedule, and can therefore be solved by the algorithm developed by Simons [32] that solves 1|prec; pj = p; rj | Cj in polynomial time. Let us now return to the problems without precedence constraints. Baker et al. [2] give a polynomial time algorithm that solves 1|pmtn; rj |fmax . However, both 1|pmtn; rj | wj Cj (Labetoulle et al. [21]) and 1|pmtn; rj | wj Tj are strongly NP-hard. Because 1|| wj Tj is strongly NP- hard, it follows directly that 1|pmtn; rj | wj Tj is strongly NP-hard as well. Now look at the problem in which the total completion time and not the total weighted completion time is minimized: 1|pmtn; rj | Cj . This problem is poly- nomially solvable (Baker [1]). Likewise, the problem 1|pmtn; pj = p| wj Cj is polynomially solvable. Since all jobs are released at the same time the optimal schedule is non-preemptive. Therefore, the result- ing problem is just a special case of 1|| wj Cj , which is polynomially solvable. However, when release dates are added it is not known whether the resulting problem is polynomially solvable or not. In conclusion we have that there ex- ist algorithms that solve 1|pmtn; pj = p| wj Cj , 1|pj = p; rj | wj Cj and 1|pmtn; pj = p; rj | Cj in polynomial time, but that none of these algorithms solves the problem when respectively release dates, preemption or unequal job 22
  • 23. weights are added to the problem. Now consider the scheduling problems in which the total weighted tardi- ness has to be minimized. The problem 1|pmtn; rj | Tj is NP-hard. This follows directly from the NP-hardness of 1|| Tj ; the addition of preemp- tion and/or release dates does not simplify the problem. However, when the jobs have equal processing times the problem becomes easier. The problem 1|pmtn; pj = p| wj Tj is equivalent to 1|pj = p| wj Tj since preemption is not advantageous when the release dates are equal. It has already been shown that this problem is polynomially solvable. Furthermore, Tian, Ng and Cheng [34] show that 1|pmtn; pj = p; rj | Tj is polynomially solvable. The fact that their model does not solve the problems in which the total weighted tardiness or the total weighted completion time is minimized, is a direct conse- quence of the addition of job weights. In a note, Goldengorin [16] shows why the introduction of job weights gives rise to difficulties. He states that although it might be locally optimal to preempt job j in favor of job k, it does not mean that this leads to a globally optimal solution. To put it differently, it often is optimal to interrupt job j by job k only if job j can be completed before a critical point in time t0 . Otherwise, job j should not be interrupted by job k. This restriction does not hold true when the total tardiness is minimized. In that case, when it is locally optimal to preempt job j in favor of job k, it imme- diately follows that it is globally optimal as well. Summarizing, it follows that 1|pmtn; pj = p| wj Tj and 1|pmtn; pj = p; rj | Tj are polynomially solvable, but that 1|pj = p; rj | wj Tj and 1|pmtn; pj = p; rj | wj Tj are open problems. A problem that is related to the preemptive open problems that are solved in this thesis is 1|pmtn; pj = p; rj | wj Uj . When Uj does not denote the total weighted number of tardy jobs, but the total weighted throughput that has to be maximized, i.e., 0 if Cj > dj Uj = 1 otherwise, the problem is polynomially solvable (Baptiste et al. [6]). However, when wj Uj denotes the weighted number of tardy jobs that needs to be mini- mized, the problem can be seen as a special case of 1|pmtn; pj = p; rj | wj Tj (see Chapter 6) and can be solved accordingly. 1.4 Linear and Integer Programming Many decision problems - like the scheduling problems of the preceding section - can be modeled by Linear Programming (LP) models. An LP model consists of an objective function and a number of constraints which are all linear functions of the decision variables. When the decision variables can only take integer val- ues, the resulting model is called an Integer Linear Programming (ILP) model. Similarly, when the decision variables can only take boolean values (i.e., 0 or 1), the model is called a Boolean Linear Programming (BLP) model. The LP model that will be used in this thesis has the form min{wx | Ax ≥ b, x ≥ 0}, 23
  • 24. where A is a m × n-matrix, w and x are vectors in Rn and b is a vector in Rm . Every LP model has a dual, which is a LP model itself. The original LP model is called the primal model. When the primal model is a minimization problem, the dual is a maximization problem and vice versa. Each decision variable (constraint) of the primal model corresponds to a constraint (decision variable) of the dual model. The dual of the primal LP model presented above is given by max{yb | yA ≤ w, y ≥ 0}, where y is a vector in Rm . By the strong duality theorem of Linear Programming (see e.g. Schrijver [30]), the optimal solution of the primal model is equal to the optimal solution of the corresponding dual model, provided that both solutions are feasible and bounded. A nice relation between the optimal solutions of the primal and dual model is called Complementary Slackness (CS), which states that x and y are both optimal solutions (provided that they are feasible) if and only if yi (ai x − bi ) = 0 for all i, (wj − yAj )xj = 0 for all j. Here, ai denotes the ith row of A and Aj the jth column of A. It is generally known that LP models are polynomially solvable. However, ILP models are NP-complete. Therefore, no efficient algorithms are known to solve ILP problems. A possible way to solve an ILP model is by solving the corresponding LP relaxation. That is, the model is solved without the restriction of integrality. When the optimal solution of the LP relaxation appears to be integer, it is the optimal solution to the ILP model as well. However, this occurs only in certain special cases and sometimes just by coincidence. 1.4.1 Total Unimodularity and Total Dual Integrality The set of all possible solutions to a LP model is a polyhedron. The polyhedron P corresponding to the model presented above is P = {x ∈ Rn | Ax ≥ b, x ≥ 0}. Polyhedra are closed, convex sets. To define what a face of a polyhedron is, we need the following: A hyperplane is a set of the form Hw,d = {x ∈ Rn | wx = d}, where w ∈ Rn is a nonzero row vector and d ∈ R. The hyperplane Hw,d is a supporting hy- perplane of P if max{wx | x ∈ P } = d. Now, F is called a face of P if F = P or F = P ∩ H for some supporting hyperplane H of P . Furthermore, a point p ∈ P is a vertex of P if {p} is a face of P (see e.g. Schrijver [30]). A polyhedron P is said to be integral, if each face of P contains integral vectors (see e.g. Schrijver [30]). In that case, there always exists an optimal solution to the corresponding LP relaxation that is integral. This is very useful 24
  • 25. when one is trying to solve an ILP model. When the polyhedron is integral, it suffices to solve the LP relaxation corresponding to the ILP model. Sometimes it is possible to tell from the properties of the constraint matrix A that the polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} is integral for each integral vector b. This is the case if and only if A is Totally Unimodular (TU). A matrix A is called TU if each subdeterminant of A is 0, 1, or −1. In particular, each entry of A is 0, 1, or −1. There exist polynomial time algorithms to check whether A is TU (see e.g. Schrijver [30]). However, when the constraint matrix A is not TU, the integrality of the polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} for a particular integral vector b can still be guaranteed by the notion of Total Dual Integrality (TDI). The system Ax ≥ b, x ≥ 0 is TDI if the dual has an integral optimal solution y for each integral vector w for which the maximum is finite. Furthermore, it can be shown that when Ax ≥ b, x ≥ 0 is a TDI system, and when b is integral, the polyhedron P = {x ∈ Rn | Ax ≥ b, x ≥ 0} is integral (see e.g. Schrijver [30]). The difference between a TDI system in which A is not TU, and a TDI system in which A is TU, is that in the former case an integral optimal solution is only guaranteed when w is an integer vector, while in the latter case this restriction is not needed. The concepts of Total Unimodularity and Total Dual Integrality are very useful to determine the complexity status of ILP problems. As was already indicated, ILP problems are in general NP-complete. However, when the con- straint matrix is TU, or when the system Ax ≥ b, x ≥ 0 is TDI, there exists an optimal solution to the LP relaxation that is an optimal solution to the ILP model as well. In case of a Total Unimodularity, the optimal solution of the LP relaxation that is found by a regular LP solver is integral. In case of Total Dual Integrality, this does not need to be the case. However, in that case the frac- tional optimal solution can be used to construct an integral optimal solution. Furthermore, there exists sophisticated solvers (e.g. CPLEX) that make use of presolvers such that an ILP is solved very efficiently in case of TDI. 25
  • 26. Table 1.1: Overview of complexity results of problems that are related to the open problems that are solved in this thesis. 1||fmax in P 1|| wj Cj in P 1|| wj Tj (*) NP-hard 1|| Tj (**) NP-hard 1|pj = p| wj Tj in P 1|rj |Lmax NP-hard 1|rj | Cj NP-hard 1|rj | Tj NP-hard 1|rj |Cmax in P 1|pj = p; rj | wj Cj in P 1|pj = p; rj | wj Tj open 1|pj = p; rj |Lmax in P 1|pj = 1; rj | wj Tj in P 1|pj = p; rj | Tj in P 1|pmtn; prec; rj |fmax in P 1|pmtn; prec; rj | Cj NP-hard 1|pmtn; prec; rj | Tj NP-hard 1|pmtn; prec; pj = p; rj | Cj in P 1|pmtn; prec; pj = p; rj | Tj NP-hard 1|prec; pj = p; rj | Cj in P 1|prec; pj = p; rj | Tj NP-hard 1|prec; pj = p| Tj NP-hard 1|pmtn; rj | wj Cj NP-hard 1|pmtn; rj | wj Tj NP-hard 1|pmtn; rj | Cj in P 1|pmtn; rj | Tj NP-hard 1|pmtn; pj = p; rj | wj Cj open 1|pmtn; pj = p; rj | wj Tj open 1|pmtn; pj = p| wj Cj in P 1|pmtn; pj = p| wj Tj in P 1|pmtn; pj = p; rj | Tj in P (*) Pseudo-polynomially solvable for special cases (**) Pseudo-polynomially solvable
  • 27. Chapter 2 Problem Formulation In this chapter the three scheduling problems that are solved in this thesis will be defined. By means of an example, a motivation is given for the use of the AP formulation. In Section 2.3 the structure of the proof of polynomial solvability will be explained. 2.1 Minimizing the Total Weighted Completion Time Consider the problem 1|pmtn; pj = p; rj | wj Cj , in which n jobs with process- ing time p have to be scheduled. Each job j has a certain release date rj and cannot be finished before rj + p. Without loss of generality, assume that the release dates are such that r1 ≤ r2 ≤ . . . ≤ rn . Furthermore, assume that all entries are nonnegative integers and that there exists a schedule without idle time, i.e., the machine remains busy until all jobs are completed. It immedi- ately follows from the assumption of integral entries that in an optimal schedule preemption occurs only at unit points in time. Hence, the time horizon can be divided into pn time intervals of unit length and each job j needs to be assigned to p of these time intervals. This problem presented above is an open problem. At the website of D¨rr [13] u two attempts are presented to solve the (more general) problem 1|pmtn; pj = p; rj | wj Cj . The first is a LP model (Baptiste et al. [8]), the second is a dynamic program- ming model (Baptiste et al. [7]) for the special case when p > max rj . The LP model will be shortly discussed below. The BLP Model. Let the indices be given by j ∈ {1, 2, . . . , n}, a ∈ {0, 1, 2, . . . , n − 1}, t ∈ {0, 1, 2, . . . , T }. 27
  • 28. Let the boolean decision variable xjt denote how much of job j is completed at time t. The BLP model reads min wj txjt j,t T subject to t=0 xjt = 1 j = 1, . . . , n j≥i t<ri +(a+1)p xjt ≤ a a = 0, . . . , n − 1 i = 1, . . . , n − a + 1 xjt ∈ {0, 1} for all j, t. The first set of constraints states that every job should eventually be fully processed. The second set states that in an interval strictly less than (a + 1)p time units at most a jobs that are released at or after the starting time of that interval can be entirely executed and completed. Baptiste et al. [8] show that the polyhedron determined by the LP relaxation contains vertices which are not integral. Therefore, it cannot be assured that the optimal solution of the LP relaxation is integral. Although this is not a proof that the LP relaxation does not solve the problem in polynomial time, another observation could be made that explain the incorrectness of the model. The LP relaxation of the model presented above allows for solutions that do not correspond to a feasible schedule. Consider for example the case with n = p = 3 and rj = j − 1. A feasible solution is given by 1 x13 = x19 = x26 = x29 = x35 = x37 = , 2 and all other variables are zero. Hence, after 2 time units nothing of job 1 is 1 produced yet, but after 3 time units it is already processed for 1 2 time units. Al- though Baptiste et al. [8] mention this example and show that it is not optimal, they do not say anything about the infeasibility of the corresponding schedule. In the models presented in Chapters 4 to 6, all feasible solutions - integral and fractional - correspond to feasible schedules. 2.1.1 The Assignment Model In order to show that the problem 1|pmtn; pj = p; rj | wj Cj is polynomially solvable the problem is modeled as an Assignment Problem (AP) with additional constraints. The AP is widely discussed in the literature and can be found in most textbooks on combinatorial optimization and integer lin- ear programming (see e.g. Sierksma [31]). The first polynomial time algorithm for the AP was suggested by Kuhn [19]. The AP can be formulated as follows: Consider two sets U and V , both containing T elements and a cost matrix W where wjt is the cost of assigning element j ∈ U to t ∈ V . An assignment is a permutation π = (π(1), π(2), . . . , π(T )) of V in which the jth element of U is assigned to element tj = π(j) from V . An optimal assignment minimizes 28
  • 29. T j=1 wjπ(j) . The Assignment Problem can be stated as a BLP model as follows: T T min wjt xjt j=1 t=1 T subject to j=1 xjt = 1 t = 1, . . . , T T t=1 xjt = 1 j = 1, . . . , T xjt ∈ {0, 1} for all j, t. When the boolean constraint is replaced by 0 ≤ xjt ≤ 1, the LP relaxation is obtained. Since the constraint matrix of the AP is TU (see e.g. Sierksma [31]), there always exists an integral optimal solution to the LP relaxation. This implies that the AP is polynomially solvable. In order to illustrate how to use the AP formulation for the problem 1|pmtn; pj = p; rj | wj Cj , consider the following example for the special case with p = 2. Example. Let there be 5 jobs with processing time 2 that have to be sched- uled. The release dates and weights of the jobs are given in the following table: job j 1 2 3 4 5 rj 0 1 2 3 4 wj 1 3 7 16 33 Processing of the jobs starts at time 0 and is finished at time T = 10. Hence, there are 10 unit time intervals to which the jobs have to be assigned. Since the processing time of each job is 2, they can be divided into two parts such that each of the ten evolving job parts is assigned to exactly one time interval. It should be noted that when job j is released at time rj , the first part can be assigned to time interval rj + 1 or any later time interval. The second part can only be processed at time interval rj + 2 or at any later time interval. Now consider the AP in which ten job parts have to be assigned to ten time intervals against minimum costs, where the costs of assigning each job part j to a certain time interval t are given in Table 2.1. Here, 1.1 denotes the first part of job 1, 2.1 the first part of job 2, etcetera. Since the objective value of the scheduling problem, wj Cj , depends on the completion time of the jobs, it follows that the assignment of the first part of a job to a certain time interval does not come with any costs. However, since a job can not be processed before it is released and since processing has to start before the final time interval T , the costs for t < rj + 1 and t = T are set to infinity. Consequently, the first part of a job will never be assigned to one of these intervals. If the second part of a job is assigned to time interval t the costs are wj t. As the second part of a job cannot be processed before time interval rj + 2, it 29
  • 30. Table 2.1: The cost matrix W , representing the costs of assigning job parts to time intervals. Time Intervals t 1 2 3 4 5 6 7 8 9 10 1.1 0∗ 0 0 0 0 0 0 0 0 ∞ J 2.1 ∞ 0∗ 0 0 0 0 0 0 0 ∞ o 3.1 ∞ ∞ 0 0 0 0 0∗ 0 0 ∞ b 4.1 ∞ ∞ ∞ 0 0 0 0 0∗ 0 ∞ p 5.1 ∞ ∞ ∞ ∞ 0 0 0 0 0∗ ∞ a 1.2 ∞ 2 3 4 5 6 7 8 9 10∗ ∗ r 2.2 ∞ ∞ 9 12 15 18 21 24 27 30 t 3.2 ∞ ∞ ∞ 28∗ 35 42 49 56 63 70 s 4.2 ∞ ∞ ∞ ∞ 80∗ 96 112 128 144 160 5.2 ∞ ∞ ∞ ∞ ∞ 198∗ 231 264 297 330 follows that the corresponding costs can be set to infinity as well. An optimal solution for the Assignment Problem is given by the asterisks in Table 2.1. Note that, although the resulting schedule S = (1, 2, 2, 3, 4, 5, 3, 4, 5, 1) is feasible, the objective value corresponding to this schedule ( wj Cj = 493) is not equal to the objective value of the AP, which is 325. The reason for this difference is that in the AP the first parts of jobs 3, 4 and 5 are scheduled after their second parts, which has a positive effect on the costs, but which should not be possible in a correct model. It is not difficult to see that the schedule S cannot be optimal; it is possible to assign job 3 to the 4th and 6th time interval and to assign job 5 to the 7th and 9th interval. The completion time of job 5 does not change by this operation while the completion time of job 3 decreases. Hence, the resulting schedule is better than S. A natural question that comes to mind is whether the solution of the AP can be used to construct an optimal solution of the scheduling problem under consideration. A possible way to do this would be the following: 1. Let the sequence in which the second job parts are scheduled be as in the optimal solution of the AP. 2. Starting at time interval 1, assign each first job part that was originally scheduled after its second part to the time interval right before this second part. Note that the second job part and all subsequent job parts move to the next time interval. 3. Repeat step 2 until all first job parts are scheduled before the correspond- ing second job parts. Applying these steps to the solution of the example leads to the schedule S = (1, 2, 2, 3, 3, 4, 4, 5, 5, 1) 30
  • 31. with objective value 460. Unfortunately, it can be shown that S is not optimal either. It is not difficult to see that interchanging jobs 4 and 5 leads to a better schedule. Although the AP formulation clearly does not lead to an optimal solution of the problem 1|pmtn; pj = 2; rj | wj Cj , the example shows that this formu- lation could be used when additional constraints are added which ensure that the second part of a job can not be processed before its first part. However, it is desirable to maintain the nice properties of the AP that assure an inte- gral optimal solution of the LP relaxation. In general, these nice properties are destroyed when side constraints are added to the AP. In the literature, there can be found many examples that have to contend with these difficulties. A selection of them is treated in Chapter 3. However, first the other two open problems are formulated. 2.2 Minimizing the Total Weighted Tardiness The open problems in which the total weighted tardiness is minimized consist of a preemptive and a non-preemptive version. They are very similar to the problem defined in Section 2.1 as will be shown below. 2.2.1 The Preemptive Problem Consider the problem 1|pmtn; pj = p; rj | wj Tj , in which n jobs with process- ing time p have to be scheduled. Each job has a certain release date and due date and can not be finished before rj + p. Without loss of generality, assume that the release dates are such that r1 ≤ r2 ≤ . . . ≤ rn . Furthermore, assume that all entries are nonnegative integers and that there exists a schedule without idle time intervals, i.e., all pn time intervals will be assigned without any time interval remaining idle. This implies that at least one job is released at time zero and all jobs are completed at time T = pn. Just like the problem 1|pmtn; pj = p; rj | wj Cj , this is an open problem. It should be noted that the problems are very similar. To see this, consider the example of Section 2.1.1 with due dates. Recall that in this example p = 2. Example job j 1 2 3 4 5 rj 0 1 2 3 4 wj 1 3 7 16 33 dj 5 8 7 7 6 A similar cost matrix as depicted in Table 2.1 can be constructed. Note that in this case, assigning the second part of job j to time interval t does only come with any costs if dj > t. An optimal solution to the AP is given by the asterisks in Table 2.2. The corresponding optimal value is 5. This solution leads to the following schedule 31
  • 32. Table 2.2: The cost matrix W , representing the costs of assigning job parts to time intervals when wj Tj is the objective. Time Intervals t 1 2 3 4 5 6 7 8 9 10 1.1 0∗ 0 0 0 0 0 0 0 0 ∞ J 2.1 ∞ 0∗ 0 0 0 0 0 0 0 ∞ o 3.1 ∞ ∞ 0∗ 0 0 0 0 0 0 ∞ b 4.1 ∞ ∞ ∞ 0 0 0 0 0 0∗ ∞ p 5.1 ∞ ∞ ∞ ∞ 0∗ 0 0 0 0 ∞ a 1.2 ∞ 0 0 0 0 1 2 3 4 5∗ r 2.2 ∞ ∞ 0 0 0 0 0 0∗ 3 6 t 3.2 ∞ ∞ ∞ 0∗ 0 0 0 7 14 21 s 4.2 ∞ ∞ ∞ ∞ 0 0 0∗ 16 32 48 5.2 ∞ ∞ ∞ ∞ ∞ 0∗ 33 66 99 132 (1, 2, 3, 3, 5, 5, 4, 2, 4, 1). Note that the AP schedules the second part of job 4 be- fore its first part. Therefore, the corresponding objective value is not equal to the total weighted tardiness, which is in fact 37. This schedule is not optimal. By in- spection, it is possible to find the better schedule (1, 1, 3, 3, 5, 5, 4, 4, 2, 2) with ob- jective value 22. Although the AP does not lead to an optimal solution of the problem 1|pmpn; pj = p; rj | wj Tj , the example shows that the AP formulation can be used when extra constraints are added that ensure that the job parts are scheduled in the right order. 2.2.2 The Non-Preemptive Problem Consider the problem 1|pj = p; rj | wj Tj , in which n jobs with processing time p have to be scheduled. Each job has a certain release date and due date. Without loss of generality, assume that jobs are ordered by their release date, r1 ≤ r2 ≤ . . . ≤ rn and that there is always a job available for processing. When this assumption does not hold, the problem can be split up into two separate problems. Furthermore, assume that all entries are nonnegative integers. Just as in the preemptive case, the time horizon can be divided into time intervals of unit length. However, since preemption is not allowed, it should be noted that an optimal schedule might contain idle time intervals. Consider for example the following instance with p = 2: job j 1 2 3 rj 0 1 4 dj 8 3 6 wj 1 1 1 It is not difficult to see that the schedule 2 2 3 3 1 1 with objective value 0 is optimal, and that no optimal schedule with less idle time exists. 32
  • 33. Note that the maximum number of idle time intervals is (n−1)(p−1). To see this, consider the case in which the machine remains idle during the first (p − 1) time intervals before it starts processing job j = 2. When this job is completed, the machine remains idle for another p − 1 time units until it starts processing job j = 3. This can be repeated until job j = n is completed and processing of job j = 1 is started. It follows that all job parts have to be assigned to time intervals t = 1, . . . , T , where T = (n − 1)(p − 1) + np. This is an open problem. In Chapter 6 it is shown that it can be solved by the AP with side constraints. The cost matrix is similar to the one in Table 2.2. Since there are more time intervals than job parts, the constraints of the AP require that each time interval is assigned at most (but not exactly) one job part. The side constraints require that as soon as the first job part is scheduled, all other job parts are scheduled successively and in the right order. 2.3 Outline of the Proof In order to prove that the preemptive problems discussed in this thesis are polynomially solvable the following line of reasoning is used: First, a crucial property for any optimal preemptive schedule is introduced. This property is used to formulate a BLP model. Then, it is shown that the constraint matrix corresponding to this BLP model is not Totally Unimodu- lar. Therefore, it can not be concluded directly that the polyhedron determined by the LP relaxation is integral. Nevertheless, it can be proven that the sys- tem of (in)equalities determined by the LP relaxation is Totally Dual Integral. Since the LP relaxation is polynomially solvable, this directly implies that the corresponding scheduling problem is polynomially solvable. The proof of Total Dual Integrality is based on the dual of the LP relax- ation. After the dual is formulated, it is proven that it always has an integral optimal solution. Since all job weights are assumed to be integral, it then im- mediately follows from the definition of Total Dual Integrality that the system of (in)equalities determined by the LP relaxation is Totally Dual Integral. The model for the non-preemptive problem in which total weighted tardiness is minimized is based on its preemptive counterpart. Since preemption is not allowed, many constraints can be simplified. Following the same line of reasoning as in the preemptive case, it can be easily proven that the resulting system of (in)equalities is Totally Dual Integral. 33
  • 34.
  • 35. Chapter 3 Variations on the Assignment Problem In this chapter four problems will be discussed that can be modeled using the framework of the Assignment Problem. From the examples it follows that the nice properties of the AP are not always preserved when extra constraints are added; the first two problems are polynomially solvable, the others are not. 3.1 Finding Subdigraphs with Prescribed De- grees The following is a special case of the problem discussed in Bang-Jensen and Gutin [3, p. 142]. Let there be a directed weighted graph D. Suppose one would like to identify the minimum cost subgraph of D, if one exists, with prescribed degrees on the vertices. This could be of interest for example when the cheapest cycle factor of D is required. This problem can be stated as follows: Given the weighted graph D = (V, A) with V = {v1 , v2 , . . . , vn } and inte- gers a1 , a2 , . . . , an , b1 , b2 , . . . , bn , find the cheapest subgraph D = (V, A∗ ) of D which satisfies d+ (vi ) = ai and d− (vi ) = bi for each i = 1, 2, . . . , n, or show D D that no such subdigraph exists. Here, d+ (vi ) and d− (vi ) denote the out- and, D D respectively, in-degree of vertex i in subgraph D . This problem can be formulated as a BLP model as follows. Let wij denote the weight of arc (i, j). Assume that ai ≤ d+ (vi ) and bi ≤ d− (vi ) for all D D n n i ∈ {1, 2, . . . , n} and i=1 ai = i=1 bi . Furthermore, define the following decision variable: 1 if (i, j) ∈ A∗ xij = 0 otherwise. The model reads: n n min wij xij i=1 j=1 35
  • 36. subject to j:(i,j)∈A xij = ai i = 1, . . . , n i:(i,j)∈A xij = bj j = 1, . . . , n xij ∈ {0, 1} for all i, j. This is a special case of the AP since many possible assignments are excluded beforehand (only existing arcs can be included in the subdigraph). One could also say that extra constraints which ensure that xij = 0 when (i, j) ∈ A need / to be added to the AP. Note also that ai and bj are not necessarily equal to one. Bang-Jensen and Gutin [3] show that this problem can be solved in polynomial time. 3.2 A Polynomial Solvable Case of the Axial Three-Dimensional Assignment Model The following is taken from Gilbert and Hofstra [15]. Consider the problem in which there are p jobs, q workers and r machines, p ≤ q ≤ r. Each job has to be assigned to a worker and a machine, but each worker and each machine can be assigned to at most one job. Suppose the cost of assigning job i to worker j and machine k can be expressed as the cost of assigning job i to worker j plus the cost of assigning job j to machine k, i.e., wijk = wij + wjk . This problem can be formulated by means of the (two-dimensional) Assignment Problem. Define the following decision variables: 1 if job i is assigned to worker j xij = 0 otherwise, for i = 1, . . . , p and j = 1, . . . , q, 1 if worker j is assigned to machine k yjk = 0 otherwise, for j = 1, . . . , q and k = 1, . . . , r, 0 if worker j is assigned a job zj = 1 otherwise. The BLP model can now be formulated as: p q q r min wij xij + wjk xjk i=1 j=1 j=1 k=1 q subject to j=1 xij = 1 i = 1, . . . , k p i=1 xij + zj = 1 j = 1, . . . , q r k=1 yjk + zj = 1 j = 1, . . . , q q j=1 yjk ≤ 1 k = 1, . . . , r xij , yjk , zj ∈ {0, 1} for all i, j, k. In Figure 3.1 the two-dimensional representation of this problem is given. Note that the cells in the upper left quadrant correspond to the variables xij , which assign jobs to workers. The cells in the lower right quadrant correspond to 36
  • 37. the variables yjk , which assign workers to machines. The cells on the diagonal of the lower left quadrant correspond to the zj variables. All black cells are infeasible. Since this problem is now formulated as a classical AP, it immediately follows that it is polynomially solvable. Figure 3.1: Graphical representation of a special case of the three-dimensional assignment model. A suggestion would be to use this formulation for the problem 1|pmtn; pj = 2; rj | wj Cj , by assigning each first job part to a certain time interval and each time interval to another (idle) time interval. This second time interval can then be assigned to a second job part. A graphical representation with a possible assignment is given in Figure 3.2 for n = 3. Figure 3.2: Graphical representation of the multidimensional assignment prob- lem for 1|pmtn; pj = 2; rj | wj Cj with n = 3. However, it appears that this model does not prevent the second part of a job to be scheduled before the first part. Therefore, it has no advantages compared to the classical AP formulation. In fact, it is worse because the number of variables is increased. 37
  • 38. 3.3 The Imbalanced Time Minimizing Assign- ment Problem This problem is taken from M¨ller, Camozzato and Bassi de Ara´jo [27]. Con- u u sider the problem of assigning n jobs to m machines, n > m, each job with a distinct processing time for each machine. One job is assigned to exactly one machine and each machine is assigned to at least one job. Hence, this is the problem R||Cmax , where R stands for unrelated parallel machines, with the constraint that each machine performs at least one job. Let pij denote the processing time of job j on machine i. Define the following decision variable: 1 if job j is assigned to machine i xij = 0 otherwise. Furthermore, let t be a positive integer. The BLP model is given by: min Z = t m subject to i=1 xij = 1 j = 1, . . . , n n j=1 xij ≥ 1 i = 1, . . . , m n j=1 pij xij ≤ t i = 1, . . . , m xij ∈ {0, 1} for all i, j. Constraint 1 assures that every job is assigned to exactly one machine. The second constraint assures that every machine is assigned to at least one job. The third constraint imposes that every machine finishes processing not later than time t, which is the time to be minimized. Note that this problem is equivalent to the recognition problem where the question is posed whether there exists a feasible schedule for R||Cmax such that the maximum completion time is at most t. This question can be answered by YES or NO. If there is a polynomial time algorithm that solves the latter problem, it can be applied iteratively for smaller and smaller values of t until the answer is NO. The solution to the former problem is then equal to the solution to the latter problem where t is chosen such that the answer is just YES. However, this problem is proven to be NP-hard. It is already difficult to solve the model for relatively short instances. 3.4 Resource-Constrained Assignment Schedul- ing The following is taken from Mazzola and Neebe [26]. Consider the problem in which personnel has to be scheduled to tasks. There are often departmental resource constraints involving characteristics such as budgetary considerations, degree of technical training of department personnel, or rank of personnel. Be- sides minimizing the total time required to handle all tasks by the personnel, these constraints have to be taken into account. Suppose that n workers i have to be assigned to n jobs j. The time needed for worker i to complete job j is denoted by wij . The cost incurred by department k, k ∈ {1, . . . , s}, when 38
  • 39. worker i is assigned to job j is denoted by rijk . The budget of department k is denoted by bk . Similar to the AP, let xij be the decision variable indicating whether worker i is assigned to job j or not. The Assignment Problem with Side Constraints (APSC) is given by: n n min wij xij i=1 j=1 n subject to i=1 xij = 1 j = 1, . . . , n n j=1 xij ≥ 1 i = 1, . . . , n n n i=1 j=1 rijk xij ≤ bk k = 1, . . . , s xij ∈ {0, 1} for all i, j. The APSC is shown to be NP-complete. Lieshout and Volgenant [25] consider the case with only one side constraint (k = 1). For some special cases, this problem is polynomially solvable. However, in general, the addition of one side constraint already results in a NP-complete problem. 39
  • 40.
  • 41. Chapter 4 Minimizing the Total Weighted Completion Time when p = 2 In this chapter, the BLP model for the problem 1|pmtn; pj = 2; rj | wj Cj will be presented, as well as its Integer and LP relaxations. By means of the dual problem, it will be shown that the system of (in)equalities determined by the LP relaxation is TDI. The immediate consequence is that the problem 1|pmtn; pj = 2; rj | wj Cj is polynomially solvable. The chapter will be con- cluded with the optimality conditions that evolve from Complementary Slack- ness. 4.1 The Number of Time Intervals between the First and Second Part of a Job Consider the following simple example with 2 jobs, r1 = 0, r2 = 1 and p = 2. Depending on the job weights either the schedule (1, 2, 2, 1) or (1, 1, 2, 2) is optimal. The feasible schedule (1, 2, 1, 2) can never be optimal since (1, 1, 2, 2) has a strictly better objective value irrespective of the weights. It appears that, when it is profitable to interrupt job 1, job 2 is fully processed before job 1 is resumed. A generalization of this result is given in Theorem 1. Theorem 4.1 In an optimal schedule of the problem 1|pmtn; pj = 2; rj | wj Cj , there are either zero or an even number of time intervals between the intervals to which the first and second part of a particular job are assigned. Proof: By contradiction. Suppose a schedule S - in which there is an odd number of time intervals between the first and second part of job j - is optimal. Hence, we have that job j is interrupted by some job k, but job j is completed before job k is fully processed. Note that job k does not need to interrupt job j directly. It might be that some other jobs are fully processed after the first part of job j and before the first part of job k. 41
  • 42. Suppose part 1 of job j is scheduled at time interval t, its second part is scheduled at time interval t + d, d ∈ {2, 4, 6, . . .}, and part 1 of job k is sched- uled somewhere in between at time interval t + c, c ∈ {1, 3, 5, . . .}, c < d. Now interchange the positions of part 2 of job j and part 1 of job k. All other jobs remain in the same position. Note that the number of time intervals between the first and second part of job j is now zero or even. Call the new schedule S . The total weighted completion time of all jobs completed before job j is not affected by the interchange, nor is the total weighted completion time of the jobs finished after job j. Since the weighted completion time of job j is strictly less in schedule S than in schedule S, it follows that S cannot be optimal. This com- pletes the proof of the theorem. Theorem 4.1 appears to be crucial for the implementation of the side con- straints in the AP formulation. It makes it possible to formulate the extra constraints such that the system of (in)equalities remains TDI. It should be noted that Theorem 4.1 is a direct consequence of Lemma 2.1 in- troduced by Tian et al. [34]. This lemma states that in a p-active schedule, job i is either fully processed before job j is started, or job i is interrupted by job j and not resumed before job j is completed. This implies that if job i is interrupted, it is interrupted for p = 2 or a multiple of p time units. Note that a preemptive schedule is p-active if no job’s completion time can be advanced without postponing the completion time of some other job. It is not difficult to show that an optimal preemptive schedule is p-active when the total weighted completion time is minimized. 4.2 The Primal Model The following indices, parameters and decision variables are used in the BLP model. Indices j ∈ {1, . . . , n} job index; t ∈ {1, . . . , T } time index; k ∈ {1, 3, 5, . . . , T − 1} the set of all odd time indices; l ∈ {2, 4, 6, . . . , T − 2} the set of all even time indices up to and including T − 2. Parameters wjt cost of part 1 of job j when it is processed at time interval t; wjt cost of part 2 of job j when it is processed at time interval t; rj release date of job j. In the BLP model the regular weight wj will not be used. Instead, wjt and wjt are introduced. They are defined as: 0 for all j, for T − 1 ≥ t ≥ rj + 1 wjt = ∞ otherwise. 42
  • 43. wj t for all j, for t ≥ rj + 2 wjt = ∞ otherwise. Decision Variables 1 if job j’s first part is assigned to time interval t xjt = 0 otherwise. 1 if job j’s second part is assigned to time interval t xjt = 0 otherwise. Furthermore, the following subsets of time intervals, Tk and Ul , are used. Tk = {1, 3, 5, . . . , k} The subset of odd time intervals up to and including interval k; Ul = {2, 4, 6, . . . , l} The subset of even time intervals up to and including interval l. 4.2.1 BLP Model The BLP model can now be formulated as: n T n T min wjt xjt + wjt xjt j=1 t=1 j=1 t=1 T subject to xjt ≥ 1 j = 1, . . . , n (4.1) t=1 T xjt ≥ 1 j = 1, . . . , n (4.2) t=1 n xjt + xjt = 1 t = 1, . . . , T (4.3) j=1 xjt − xj,t+1 ≥ 0 j = 1, . . . , n (4.4) t∈Tk t∈Tk k = 1, 3, 5, . . . , T − 1 xjt − xj,t+1 ≥ 0 j = 1, . . . , n (4.5) t∈Ul t∈Ul l = 2, 4, 6, . . . , T − 2 xjt , xjt ∈ {0, 1} j = 1, . . . , n t = 1, . . . , T. (4.6) Constraints (4.1) and (4.2) ensure that each first respectively second part of a job is processed for the duration of at least one time interval. Constraints (4.3) take care of the fact that each time interval is assigned to exactly one job part. Since the number of job parts is equal to the number of time intervals, it immediately follows from (4.1) and (4.2) that each job part is assigned to exactly one time interval. This can be seen as follows: Suppose xjt = 1 and xj t = 1 are part of a feasible solution. Constraint (4.1) ˆ is satisfied for job j. However, by constraints (4.1), (4.2) and (4.3) there are 43
  • 44. T − 1 job parts that have to be assigned to the remaining T − 2 time intervals. Since at most one job part can be assigned to each time interval by constraints (4.3), this contradicts the feasibility of xjt = 1 and xj t = 1. ˆ Constraints (4.4) and (4.5) together assure that one cannot start processing the second part of a job before the first part is processed. Furthermore, they assure that the number of time intervals that lies between the processing of the first and second part of a job is either zero or even; when part 1 is assigned to time interval t, part 2 can only be assigned to time interval t+d, d ∈ {1, 3, 5, . . .}. Constraints (4.6) are boolean constraints. 4.2.2 Example Consider the example of Chapter 2. job j 1 2 3 4 5 rj 0 1 2 3 4 wj 1 3 7 16 33 The optimal solution is given by x11 = 1, x29 = 1, x33 = 1, x47 = 1, x55 = 1, x12 = 1, x2,10 = 1, x34 = 1, x48 = 1, x56 = 1, and all other variables are zero. Hence, it follows that (1, 1, 3, 3, 5, 5, 4, 4, 2, 2) is the optimal schedule and the objective value wj Cj is 386. 4.2.3 Integer and LP Relaxations Consider the BLP model presented in Section 4.2.1. Note that constraints (4.6) may be replaced by xjt , xjt ∈ Z+ for all j, t. (4.7) Constraints (4.7) require that the decision variables are non-negative integers. Note that it is sufficient to require that the decision variables are non-negative; it is not necessary to add xjt , xjt ≤ 1. By constraints (4.3), we already have that the decision variables xjt and xjt can not take any value larger than one. When (4.6) is replaced by (4.7), an ILP model is obtained. From the ILP, it immediately follows that the LP relaxation is obtained when constraints (4.6) are replaced by xjt , xjt ≥ 0 for all j, t. From now on, the LP relaxation will be denoted by (P). 44