• 沒有找到結果。

不確定數據下新排程理論研究專書

N/A
N/A
Protected

Academic year: 2021

Share "不確定數據下新排程理論研究專書"

Copied!
327
0
0

加載中.... (立即查看全文)

全文

(1)

不確定數據下新排程理論研究專書

計畫類別: 個別型計畫 計畫編號: NSC93-2416-H-002-011- 執行期間: 93 年 08 月 01 日至 94 年 07 月 31 日 執行單位: 國立臺灣大學工商管理學系 計畫主持人: 賴聰乾 計畫參與人員: Yuri N. Sotskov 報告類型: 精簡報告 處理方式: 本計畫可公開查詢

中 華 民 國 94 年 9 月 30 日

(2)

period. count, between. fractions. 11794. font of .16666 entries).

STABILITY AND UNCERTAINTY

IN SEQUENCING AND

SCHEDULING

Yuri SOTSKOV

Nadezhda SOTSKOVA

Tsung-Chyan LAI

(3)
(4)
(5)
(6)

The idea of our approach to scheduling problem with uncertain numerical data arose in Minsk (Belarus) at the Institute of Engineering Cybernetics of the National Academy of Sciences of Belarus when the first author investigated stability of an optimal schedule. This approach was developed further in Magdeburg (Germany) at the Institute of Mathe-matical Optimization of the Magdeburg University of Otto fon Guericke where the second author wrote her PhD thesis ”Optimal scheduling with uncertainty in the numerical data on the basis of stability analysis”.

Of course, the ideas and even scientific results based on the common ideas are only necessary but not sufficient for writing a book. What one needs else in order to write a book is time. And such a time (and not only) was ensured by the National Scientific Council of Taiwan (Project NSC ). Due to this project, the book was completed in 2005 in Taipei (Taiwan) when and where the first author worked as a visiting Professor at the Department of Industrial and Business Management of the National Taiwan University. It was the second stay of the first author at the National Taiwan University as a visiting Professor. The first one was in 1997 also under support of the National Scientific Council of Taiwan (Project NSC ). Both NSC projects were headed by the third author obtaining a lot of theoretical results on the topic of the book together with the first and second authors in the time period from 1997 till 2005.

What is this book about? It is about sequencing and scheduling (as it follows from the book title). In contrast to many other books and surveys devoted to sequencing and scheduling (see [Bak74, BESW93, Bru95, GLLRK79, CMM67, LLRKS93, LLP97, Pin95a, SH99, TSS94] among others), we focus on stability and uncertainty of an optimal schedule and scheduling.

One can say that schedules arise everywhere if only people want to organize their activities currently or in the future time. In this book, schedule is considered as a mathe-matical (abstract) object and so it does not matter where the schedule is used. Scheduling is considered as optimal sequencing of the given activities over time.

We can also say that this book is about time in the following senses. First, a schedule defines a time interval when each activity has to be realized. Second, input data for a scheduling problem may include processing times, release time, due dates, and other time parameters which a decision maker has to take into account while constructing a schedule. Third, scheduling algorithm needs time to be realized, and realization time is one of the most important attribute of a scheduling algorithm. Now it is clear, that to construct efficient (polynomial-time) algorithms is unlikely for the most scheduling problems since they are NP-hard with only a few exceptions. Forth, decision-making in production scheduling has to be realized within a time.

(7)

In order to outline the approach considered in this book, we discuss a connection between time necessary for solving scheduling problem, and time used for the practical realization of a schedule. What is the role of time in a practical scheduling process? Real time is not a resource which we can manage. Moreover, we are forced to consider time as independent of us and that having only one direction for changing. So, we can use all the available information about the activities, which are already realized, along with results obtained for the scheduling process, but we cannot look into the future of the realization of the process under consideration.

In this book, we propose to take into account that unit of time may have different ”price” while solving a scheduling problem. More exactly, we propose to distinguish several time intervals in a scheduling process. At the preliminary stage, there more time for decision-making (and so the ”price” of time unit may be low), but often there is no enough information to get right (optimal) solution. In other words, at the preliminary stage, it is necessary to find a solution of the scheduling problem provided that input data are uncertain. Later, at the on-line stage, there are often available essentially more information for a decision-maker (situation under consideration becomes more certain), but there is often no enough time for using this information in order to construct an optimal schedule. The main idea of the approach, that we propose in this book, is to be better prepared for the on-line stage of scheduling (when the ”price” of time unit will be high) due to using partial solution obtained at the preliminary stage of scheduling (when the ”price” of time unit was low).

This book describes a method how to deal with uncertainty arising in practical schedul-ing. In contrast to stochastic model ([Pin95a]) and fuzzy model ([SH99]), we assume that in spite of the uncertain input data, the desired schedule has to fix the unique place in the desired sequence for each activity.

The scheme of the method proposed in this book is as follows. It is proposed to decompose original scheduling problem into two (or more) sequential scheduling problems. At the preliminary stage, a set of potentially optimal schedules has to be constructed under conditions of the uncertain numerical input data. More exactly, only lower and upper bounds for the activity durations are assumed to be known at the preliminary stage.

In contrast to stochastic model, the probability distribution of the random activity duration is unknown. For solving scheduling problem with uncertain numerical data we propose to use a stability analysis of an optimal schedule to variations of numerical input data. Since the ”price” of time is not high at the preliminary stage, one can use even time-consuming algorithms for solving scheduling problem with uncertain numerical input data. At the subsequent stages (such as on-line stage or stage of schedule realization), it is necessary to choose a schedule which has to be realized in an optimal way, i.e., such a schedule which is optimal for the actual processing times of the given activities. Note that to solve scheduling problem at the on-line stage, one need only efficient (polynomial-time) algorithms.

It should be noted that the method and model described in this book aims to com-plement but not replace other methods and models to deal with uncertainty arising in sequencing and scheduling. E.g., a stochastic model is very useful when one has enough information to characterize the probability distributions of random activity durations and there is rather large number of realizations of similar processes, but it may have a limited

(8)

significance for a small number of realizations of the process.

We have also to emphasize that in this book random activity duration is due to external forces in contrast to scheduling problems with controllable durations (see [CJK98, DK95, IMN87, IN86, Str95]), when the objective is to determine optimally the durations (which are under control of a decision maker) and the schedule at the same time.

Another related yet different model is used for the hoist scheduling (see articles [CCP98, LW91] among others). Hoist scheduling problems arise in chemical, electro-plating and medical industries, where the objective is to minimize the cycle time of a repetitive process. Due to the nature of the chemical process, the activity durations have to be strictly controlled by a decision maker within given lower and upper bounds.

The focus of this book has to be mostly theory oriented. The book is written in the theorem-proof format. Claims are formulated as theorems, lemmas and corollaries. Some claims are printed in italics but have no titles. Each claim is given with complete proof with only a few exceptions for some well-known results which proofs can be found in the most books on scheduling.

The main chapter of this book is Chapter 3 which contains the description od the method for solving scheduling problem with uncertain numerical data. Chapters 1 and 2 are auxiliary. Chapter 1 deals with stability radius of an optimal schedule which means the largest independent variations of the activity durations such that this schedule re-mains optimal. Within the book, we widely use mixed graphs for modeling scheduling environment. Chapter 2 contains results on stability analysis of the optimal and approx-imate solution of the Boolean programming problem. The results on stability radius are used in Chapter 3 for solving scheduling problem with uncertain numerical input data. Chapter 3 present some complexity results for problems considered in Chapters 1, 2 and 3, and includes computational results for those problems from Chapters 1 and 3 that are NP-hard.

Four chapters are written mainly as independent one of another. To this end, a short abstract and the main notations are given at the beginning of each chapter, and a summary, remarks and bibliographic notes are given at the end of each chapter. The independence of the chapters implies some repetitions in definitions, notations and ar-gumentation. In each chapter, we use the notations which are suitable for the problem under consideration. We try to save the most notations (for criterion, stability radius and variable data) to be similar for the whole book. We hope that this will not imply any ambiguity for reader, since cross-references between different chapters of the book are used mainly on the level of final results (theorems, lemmas and corollaries) presented in a chapter.

We would not have been able to write this book in the present form and in the present time without many people helped us. During the last more than ten years that we worked on the results presented in this book, we have received support of many people from the United Institute of Informatics Problems of the National Academy of Sciences of Belarus (Minsk), the Magdeburg University of Otto fon Guericke (Magdeburg), and the National Taiwan University (Taipei).

The second author wrote her PhD thesis under the supervision of Prof. Dr. Frank Werner, and it is a great pleasure for us to express our gratitude to him for his very fruitful participating in the scientific research which results are presented in this book. We acknowledge Georgii Andreev from the United Institute of Informatics Problems for

(9)

his qualified help in programming and testing our algorithms. We would like to thank Natalja M. Leshchenko from the same institute for her new results on flow shop problem with uncertain numerical data included in Chapter 3 of this book before defending her PhD thesis.

Special thanks go to Nina Sotskova and Ivan Mihov for their enthusiasm, faith and love which were of great help for us during the period of writing this book. We have benefitted in many ways from their advices.

We would like to gratefully acknowledge the collaborators of the Department of Indus-trial and Business Management of the National Taiwan University for their good attitude and for creating the optimal atmosphere for our research and writing this book.

As it was already mentioned, the first and third authors obtained financial support from the National Scientific Council of Taiwan. Along with this support, the first author was partially supported by INTAS (project 03-51-5501) and by ISTC (project B-986).

Minsk, Magdeburg, Taipei November 2005

Yuri Sotskov Nadezhda Sotskova Tsung-Chyan Lai

(10)

Introduction 1

1 Stability Radius of an Optimal Schedule 7

1.1 Mixed Graphs for Modeling General Shop . . . 8

1.2 Regular Criterion . . . 15

1.3 Maximum Flow Time (Makespan) . . . 18

1.4 Mean Flow Time . . . 31

1.5 Stability of an Optimal Line Balance . . . 39

1.6 Comments and References . . . 57

2 Stability Analysis in Boolean Programming 67 2.1 Stability Region . . . 68

2.2 Extreme Values and Bounds of Stability Radius . . . 74

2.3 Approximate and Exact Value of Stability Radius . . . 82

2.4 Polynomial Algorithms for Calculating Stability Radius . . . 91

2.5 Min-Max Criterion . . . 97

2.6 Comments and References . . . 101

3 General and Job Shops with Uncertain Processing Times 107 3.1 Minimal Solution . . . 108

3.2 Relative Stability Radius . . . 118

3.3 Algorithms for Problem G/ai≤ pi≤ bi/Cmax . . . 125

3.4 Dominance Relations . . . 139

3.5 Characterization of a Solution . . . 145

3.6 Algorithms for Problems J /ai≤ pi≤ bi/Φ . . . 169

3.7 Comments and References . . . 180

4 Two-Machine Scheduling with Uncertain Processing Intervals 183 4.1 Flow Shop with Uncertain Processing Times . . . 183

4.2 Job Shop with Uncertain Processing Times . . . 205

4.3 Flow Shop with Limited Machine Availability . . . 212

4.4 Job Shop with Limited Machine Availability . . . 228

4.5 Flow Shop with Bounded Setup Times . . . 242

4.6 Comments and References . . . 253

(11)

5 Complexity and Computational Results 257

5.1 Calculation of the Stability Radius . . . 257

5.2 Experimental Design and Results . . . 262

5.3 Remarks on the Stability Radii . . . 272

5.4 Problems J /ai≤ pi≤ bi/Φ, Φ ∈ {Cmax,PCi} . . . 273

5.5 Remarks on the Scheduling Problems with Uncertainty . . . 277

5.6 Comments and References . . . 279

Conclusions 287

Index 290

Bibliography 293

Zusammenfassung (Summary in German) 307

(12)

Sequencing and scheduling problems arise in the most decision-making processes in man-ufacturing, transport, logistics, computer technology, service industries, education, sport, TV, broadcasting, information-processing, etc. Scheduling concerns the allocation of the given tasks (jobs) to the given resources (machines) over time. In real life, the ma-chines and jobs may take different forms, e.g., mama-chines in a workshop and operations in a production process, runways at an airport and take-offs and landings, crews at the constructions site and stages in the construction project, processing units in a computing environment and executions of computer programs, teachers at the university and stu-dent groups, etc. Jobs may differ one from another by priorities, release times, due dates, processing times and type of machine which can process it. Practical scheduling is a decision-making process that has a goal to reach specified objective via better sequencing jobs, decreasing machine idle times, completing jobs just-in-time, reducing machine setup times, and so on.

Mathematical problems arising in sequencing and scheduling are studied in the frame-work of scheduling theory. Modern scheduling theory contains two main parts, based on deterministic or stochastic models. Deterministic models are introduced for scheduling en-vironments (see [All97, BDP96, LLRKS93, TSS94] among many other papers and books) in which the processing time (duration) of each job processed by a machine is supposed to be given in advance (i.e., before applying a scheduling procedure) and assumed to be a constant during realization of a schedule. Often in real life however, exact numerical data are not known in advance, and difficulties arise when some job processing times (which were assumed in advance) will vary due to a change in a dynamic environment. Even if all the job processing times are fixed in advance, one is forced to take into account errors within the practical realization of a schedule, the precision of the equipment for calculating the processing times, round-off errors in the calculation of a schedule on the computer, machine breakdowns, additionally arriving jobs with high priority and so on. The inadequacy of a deterministic scheduling problem in modeling real-world situations was emphasized in several publications, e.g., in [ML93, PL94, Pin95a].

More general scheduling settings have been considered using a stochastic model (see [CCLe95, pp. 33-59], [Pin95a]), where job processing time is assumed to be a random variable with a known probability distribution. However in practice, difficulties may still arise in some scenarios. First, one may not have enough prior information to characterize the probability distribution of a random processing time. Second, even if the probability distributions of all the random processing times are known a priori, these distributions are really useful for a large number of realizations of similar scheduling environments but can be of little practical sense for a unique realization or for a small number of similar

(13)

realizations.

In this book, a model of one of the more realistic scheduling scenarios is considered: It is assumed that in a realization of a schedule the job processing time may take any real value between the lower and upper bounds, which are given before applying a scheduling procedure. Obviously, a deterministic model is a special case of the model under consid-eration (namely, if lower and upper bounds are given equal for a processing time). The model considered can also be interpreted as a stochastic one under ‘strict uncertainty’, when there is no sufficient a priori information about the probability distribution of a random processing time (or more precisely, it is only known that the random processing time will fall between the given lower and upper bounds with probability one). In spite of obvious practical importance, the model under such a strict uncertainty attracts a very limited attention in the OR literature so far. Almost all the known results for scheduling problem with uncertain numerical data are presented in this book.

Next, we introduce this model more formally. We consider a multi-stage processing system (for brevity, a shop), which consists of a set of machines M = {M1, M2, . . . , Mm}

that have to process a set of the given jobs J = {J1, J2, . . . , Jn}. For a shop under

consideration, there are assumed five conditions which follow.

Condition 1: At any time, each machine Mk ∈ M either processes one job from set

J or is idle.

Condition 2: At any time, each job Ji ∈ J either is processed by one machine from

set M, waits for processing or is completed.

Condition 3: Machine order (Mi1, Mi2, . . . , Mini) for processing each job Ji ∈ J, called (technological) route of job Ji, is fixed before scheduling.

The processing of a job Ji ∈ J by a machine Mik ∈ M at the stage k ∈ {1, 2, . . . , ni} of the technological route is called an operation denoted as Oik. Let QJ denote the set of all

operations for processing all the jobs from set J : QJ = {Q

ik : Ji ∈ J, k = 1, 2, . . . , ni}.

Condition 3 means that processing of a job from set J includes processing of the given set of operations in the fixed order, provided that distribution of operations QJ to machines from set M is fixed via technological routes of jobs J .

If the technological routes are given the same for all the jobs from set J , e.g., (M1, M2, . . . , Mm), then we have a flow shop, otherwise (if the technological routes may

be given differently for different jobs), we have a job shop. In the former case, each job has to be processed once by each machine, while in the latter case, both repetitions and absence of a machine in the technological route of a job are allowed. In both cases each op-eration is assigned to a certain machine, and the technological route (Mi1, Mi2, . . . , Mini) of job Ji ∈ J defines linearly ordered operations (a sequence) (Oi1, Oi2, . . . , Oini) such that operation Oik has to be processed by machine Mik ∈ M . For a flow shop, the equality ni = m holds for each job Ji ∈ J, while in the general case of a job shop, the value ni

may be smaller or larger than m or equal to m for a job Ji from set J . Since a flow shop

is special case of a job shop, all the results obtained for a job shop hold for a flow shop as well.

(14)

Condition 4: Preemptions of an operation are forbidden.

Condition 4 means that in any (feasible) schedule, operation Oij ∈ QJ being started

at time sij has to be processed up to its completion time cij = sij+ pij, where pij denotes

the processing time (duration) of operation Oij.

Let QJk denote the set of all operations from set QJ, QJk ⊆ QJ, which have to be

processed by machine Mk ∈ M . In a deterministic model, the processing times pij are

known in advance for all operations Oij, Ji ∈ J, j = 1, 2, . . . , ni. Therefore, a schedule

may be defined as a set of starting times sij (or completion times cij) of all operations

QJ provided that Conditions 1 - 4 hold. Such a set of starting (or completion) times of

operations QJ defines a unique sequence for processing operations QJ

k by each machine

Mk, k = 1, 2, . . . , m. Thus, a schedule uniquely defines m sequences (unique sequence of

operations QJ

k for each machine Mk∈ M ).

The objective of a scheduling problem is to find such a schedule (i.e., to find such m sequences of operations QJk on machines Mk, k = 1, 2, . . . , m) for which the value of the

given objective function Φ(C1, C2, . . . , Cn) is minimal. Hereafter, the equality Ci = cini holds, and so Ci is equal to the completion time of job Ji ∈ J.

If function Φ(C1, C2, . . . , Cn) is a non-decreasing one, such a criterion is called regular

[LLRKS93]. In scheduling theory, the most popular regular criteria are minimization of maximum flow time (makespan)

Φ(C1, C2, . . . , Cn) = max{Ci : Ji ∈ J} = Cmax,

and minimization of mean flow time

Φ(C1, C2, . . . , Cn) = n X i=1 Ci = X Ci.

Scheduling problems are usually classified by a triplet α/β/γ (see [LLRKS93]). The α field describes the machine environment and usually contains a single entry (type of processing system) or double entries (type of system and number of machines). The β field provides details of the processing characteristics and may contain no entries, a single entry, or multiple entries (number of jobs, restriction on the processing times, etc.). The γ field contains the objective function to be minimized and it usually contains a single entry. Using such a three-field notation, the deterministic job shop problems considered in Chapter 1 are denoted by J //Cmax and J //PCi for the job shop and by F //Cmax and

F //PC

i for the flow shop. Hereafter, symbols J and F are used to indicate job shop

and flow shop, respectively.

Job shop problem is NP-hard for all criteria considered in scheduling theory [LLRKS93] even for small number of machines and jobs. For example, the following problems are unary NP-hard: F 3//Cmax, F 3//PCi, J 3/pij = 1/Cmax and J 2/pij ∈ {1, 2}/Cmax (see

[GJS76, LRKB77, LRK79]). Problems F /n = 3/Cmax, F /n = 3/PCi, J 3/n = 2/Cmax

and J 3/n = 2/PC

i are binary NP-hard (see [BKS99, Sot91a, SS95]). To solve practically

a job shop problem even with moderate numbers of machines and jobs one needs to develop very complicated algorithms. In 1963, job shop problem J 10/n = 10/Cmax with

(15)

spite of the large efforts to solve this test problem optimally, it remains unsolved almost 25 years. The first brunch and bound algorithm capable to solve this problem was published only in 1989 (see [CP89]). The optimal schedule with Cmax = 930 for this famous problem

is given in Table 2.

Table 1: Job routes and operation durations for test problem J 10/n = 10/Cmax

Route of job J1 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 Operation durations 29 78 9 36 49 11 62 56 44 21 Route of job J2 M1 M3 M5 M10 M4 M2 M7 M6 M8 M9 Operation durations 43 90 75 11 69 28 46 46 72 30 Route of job J3 M2 M1 M4 M3 M9 M6 M8 M7 M10 M5 Operation durations 91 85 39 74 90 10 12 89 45 33 Route of job J4 M2 M3 M1 M5 M7 M9 M8 M4 M10 M6 Operation durations 81 95 71 99 9 52 85 98 22 43 Route of job J5 M3 M1 M2 M6 M4 M5 M9 M8 M10 M7 Operation durations 14 6 22 61 26 69 21 49 72 53 Route of job J6 M3 M2 M6 M4 M9 M10 M1 M7 M5 M8 Operation durations 84 2 52 95 48 72 47 65 6 25 Route of job J7 M2 M1 M4 M3 M7 M6 M10 M9 M8 M5 Operation durations 46 37 61 13 32 21 32 89 30 55 Route of job J8 M3 M1 M2 M6 M5 M7 M9 M10 M8 M4 Operation durations 31 86 46 74 32 88 19 48 36 79 Route of job J9 M1 M2 M4 M6 M3 M10 M7 M8 M5 M9 Operation durations 76 69 76 51 85 11 40 89 26 74 Route of job J10 M2 M1 M3 M7 M9 M10 M6 M4 M5 M8 Operation durations 85 13 61 7 64 76 47 52 90 45

In turn, the job shop problem J //Φ is a special case of a general shop problem G//Φ, in which arbitrary precedence constraints may be given on the set of operations. Hereafter, G indicates general shop, and Φ denotes any regular criterion: Φ = Φ(C1, C2, . . . , Cn). So,

a general shop is defined via partially ordered set of the given operations. For a general shop, notion of a job may lose its sense, e.g., for Cmax criterion, and one can use more

simple notation of operations as follows.

Let Q = {1, 2, . . . , q} denote the set of all operations which have to be processed in a general shop, and Qk denote the set of all operations from set Q, Qk ⊆ Q, which have to

be processed by machine Mk ∈ M . If i ∈ Qk, then the non-negative real value pi denotes

the processing time of operation i by machine Mk ∈ M .

Since a job shop is a special case of a general shop, we can use the above general shop notations for job shop and flow shop as follows. Let QJidenote all the operations belonging to job Ji ∈ J. Using general shop notations, we assume that job J1 has the operations

{1, 2, . . . , n1} = QJ1, job J2 has the operations {n1 + 1, n1+ 2, . . . , n1+ n2} = QJ2, and

so on, job Jn has the operations

{ n−1 X j=1 nj + 1, n−1 X j=1 nj+ 2, . . . , n X j=1 nj = q} = QJn.

(16)

Table 2: Optimal schedule for test problem J 10/n = 10/Cmax

Job sequence on machine M1 J9 J2 J1 J7 J4 J5 J10 J8 J6 J3

Operation completion time 76 119 148 185 256 262 275 361 408 493

Job sequence on machine M2 J4 J6 J7 J10 J9 J5 J3 J8 J1 J2

Operation completion time 81 86 132 217 286 308 399 445 523 665

Job sequence on machine M3 J6 J4 J5 J8 J2 J7 J10 J9 J1 J3

Operation completion time 84 179 193 224 314 327 388 506 532 606

Job sequence on machine M4 J6 J7 J9 J5 J3 J1 J2 J4 J10 J8

Operation completion time 233 294 370 396 532 568 637 735 787 892

Job sequence on machine M5 J4 J2 J5 J6 J8 J1 J9 J7 J10 J3

Operation completion time 355 430 499 505 551 617 694 753 877 920

Job sequence on machine M6 J6 J5 J9 J7 J8 J1 J10 J3 J2 J4

Operation completion time 138 369 421 442 519 628 675 709 799 842

Job sequence on machine M7 J7 J4 J10 J6 J9 J8 J1 J2 J3 J5

Operation completion time 359 368 395 473 557 645 707 753 842 895

Job sequence on machine M8 J4 J6 J5 J9 J7 J3 J1 J8 J2 J10

Operation completion time 505 530 579 668 698 721 777 813 885 930

Job sequence on machine M9 J6 J4 J5 J10 J7 J3 J8 J9 J1 J2

Operation completion time 281 420 441 520 609 699 718 792 836 915

Job sequence on machine M10 J6 J2 J7 J9 J10 J5 J8 J4 J3 J1

Operation completion time 353 441 474 517 593 669 766 788 887 908

After such an enumeration of operations

QJ = {Oij, Ji ∈ J, j = 1, 2, . . . , ni}

we obtain one-to-one correspondence between operations of sets QJ and Q (operations

of sets QJk and Qk). E.g., linearly ordered set of operations of job J1 is denoted as

(O1,1, O1,2, . . . , O1n1) using job shop notations, and that is denoted as (1, 2, . . . , n1) using general shop notations. Where it is possible, we use general shop notations (since it is more simple), otherwise, we use job shop notations. Such a principe of ‘rational sufficiency’ is used within the whole book. Some adjectives which may be omitted are given in parenthesis, e.g., (undirected) edge and (directed) arc.

Assumption, which is usually used in scheduling theory, that durations of all the operations are given in advance (before scheduling) and cannot change during realization of a schedule often restricts usefulness of scheduling theory for practise. In Chapter 1, we present known results on the calculation of the stability radius of an optimal schedule for general and job shops. The stability radius denotes the largest quantity of independent variations of the operation durations such that the given schedule remains optimal. The main attention is paid to the results on a stability analysis which are used further in Chapter 3 and Chapter 5. Some other approaches to stability analysis and related results are briefly discussed in the last section of Chapter 1.

Chapter 3 deals with a mathematical model for scheduling scenarios in which the processing time of each operation i ∈ Q is uncertain before applying a scheduling procedure and may take any value between a given lower bound ai ≥ 0 and an upper

(17)

bound bi ≥ ai. More precisely, in Chapter 3 we consider the general shop problem when

the structural input data are fixed, while only a lower bound ai ≥ 0 and an upper bound

bi ≥ ai for the processing time of operation i ∈ Q, are given as numerical input data

before applying a scheduling procedure, i.e., the following condition holds.

Condition 5: The actual processing time pi of operation i ∈ Q may take any real

value between given lower and upper bounds, i.e.

ai ≤ pi ≤ bi, i ∈ Q. (1)

It should be noted that while Conditions 1, 2, 3 and 4 are commonly used in the modern scheduling theory, Condition 5 is rather new for the OR literature. The main aim of this book is to introduce Condition 5 into some settings of scheduling problems.

A general shop problem which satisfies Conditions 1 - 5 is denoted by G/ai≤ pi≤ bi/Φ.

On the one hand, problem G/ai≤ pi≤ bi/Φ can be considered as a stochastic general shop

problem under ‘strict uncertainty’, when there is no prior information about probability distributions of the random processing times. On the other hand, if ai = bi for each

operation i ∈ Q, problem G/ai≤ pi≤ bi/Φ turns out to be a deterministic general shop

problem G//Φ.

Problem G/ai≤ pi≤ bi/Φ seems to be rather realistic, at least, it is not restrictive:

Even if there is no prior information on the possible perturbations of the processing times pi, one can consider 0 as lower bound of pi and a sufficiently large number (e.g., the

planning horizon) as upper bound for pi. It should be noted that for a flow shop problem

fixing the structural input data means only to fix the number n of jobs and the number m of machines. Consequently, any two flow shop problems with the same number n of jobs and the same number m of machines, i.e., problems F m/n = k/Φ may differ one from another only in their processing times.

Since problem G//Φ is a special case of problem G/ai≤ pi≤ bi/Φ, then NP-hardness of

problem G//Φ implies NP-hardness of problem G/ai≤ pi≤ bi/Φ. Some non-trivial results

concerning complexity of problem G/ai≤ pi≤ bi/Φ are presented in Chapter 5. The last

chapter includes computational results of the calculation of the stability radii of optimal schedules for randomly generated job shop problems, when the objective is to minimize mean or maximum flow times. We test algorithms coded in Fortran-77 for a stability analysis, in which an optimal schedule has already been constructed and the question is to determine such maximal variations of the operation processing times, which do not destroy schedule optimality. We present also computational results for solving randomly generated problems J /ai≤ pi≤ bi/Cmax and J /ai≤ pi≤ bi/PCi.

For the convenience of a reader, common notations are summarized in Table 5.11 at the end of Chapter 5 (page 286). Along with common notations, we summarize general shop notations in Table 1.3 at the end of Chapter 1 (page 65). Notations for simple assembly line balancing problem are also given in Table 1.3. Job shop notations are given in Table 4.34 at the end of Chapter 3 (page 256). Notations used for Boolean programming are summarized in Table 2.1 at the end of Chapter 2 (page 105). In Conclusions, we summarize the known results and outline some topics for future research.

(18)

Stability Radius of an Optimal

Schedule

The usual assumption that the processing times of all the operations are exactly known before scheduling restricts practical aspects of the modern scheduling theory since it is often not valid for real-world processes. The main part of this chapter (i.e., Sections 1.1 - 1.4) is devoted to the results obtained for the stability analysis of an optimal sched-ule which may help to extend the significance of scheduling theory for some production scheduling problems.

The terms ‘stability analysis’, ‘sensitivity analysis’ or ‘postoptimal analysis’ are used for the phase of an algorithm at which a solution of an optimization problem has already been found, and additional calculations are performed in order to investigate how this solution depends on the numerical input data. In this chapter, we prove some results on job shop and general shop scheduling problems for the calculation of the stability radius of an optimal schedule, when the objective is to minimize mean or maximum flow time. Stability radius of an optimal schedule denotes the largest quantity of independent vari-ations of the processing times of the opervari-ations such that this schedule remains optimal. The extreme values of the stability radius are considered in detail.

The results presented in this chapter on the stability analysis may be considered as an investigation of scheduling problems with uncertain numerical data, when the aim is to study the influence of round-off errors or changes of the processing times on the property of a schedule to be optimal. The main reason for performing a stability analysis is that in most practical cases the processing times of the operations are inexact or uncertain before applying a scheduling procedure. In such cases a stability analysis is necessary to investigate the credibility of an optimal schedule at hand.

On the one hand, if possible errors of the processing times are larger than the stability radius of an optimal schedule, this schedule may not be the best in a practical realization and there is not much sense in large efforts to construct an optimal schedule: It may be more advisable to restrict the scheduling procedure to the construction of an approximate or heuristic solution. On the other hand, this is not the case when each possible change of the processing time is less than or equal to the stability radius of an optimal schedule: An a priori constructed optimal schedule will remain optimal (the best) in the practical realization as well.

(19)

Another reason for calculating the stability radius is connected with the need to solve a set of similar scheduling problems. In reality the main characteristics of a shop (such as the number of machines, the technological routes, the range of variations of the pro-cessing times and so on) do not change quickly, and it may be possible to use previous computations of an optimal schedule for solving a new similar scheduling problem.

Since the majority of scheduling problems is NP-hard, enumeration schemes such as branch-and-bound are often used for finding an optimal schedule. To this end, it is necessary to construct a solution tree, which is often huge. Unfortunately, most of the information contained in the solution tree, is lost after having solved the problem. In such a situation the stability radius of the optimal schedule constructed gives the possibility to use a part of this information for solving further similar scheduling problems.

It is well-known that different scheduling problems may be represented as extremal problems on mixed (disjunctive) graphs. The only requirement for such a representation is the prohibition of operation preemptions (see Condition 4 at page 3 in Introduction). In Section 1.1, we describe the mixed (disjunctive) graphs to represent the input data of the general shop problem G//Φ. A small example of a job shop problem illustrates the disjunctive graph approach.

In Section 1.2, we describe some results concerning the calculation of the stability radius of an optimal schedule for problem G//Φ via the reduction to a non-linear math-ematical programming problem. The calculation of the stability radius along with char-acterizations of its extreme values for problems G//Cmax and G//PCi are considered in

Sections 1.3 and 1.4, respectively. In Section 1.5 we derived bounds and exact value of the stability radii of an optimal line balance for simple assembly line balancing problem. In Section 1.6, we survey related approaches to the stability analysis in combinatorial optimization.

1.1

Mixed Graphs for Modeling General Shop

We consider a general shop in which the given partially ordered set of operations Q = {1, 2, . . . , q} has to be processed by the set of machines M = {M1, M2, . . . , Mm}. It is

assumed that each operation j ∈ Q is assigned to one machine from set M , and at any time each machine can process at most one operation (see Condition 1 at page 2). Let pj

denote the processing time (duration) of operation j ∈ Q, and cj denote the completion

time of operation j. Operation preemptions are not allowed (Condition 4 at page 3): If an operation j starts at time sj, its processing is not interrupted until operation j is completed

(up to time cj = sj + pj). The problem of finding an optimal schedule minimizing the

given objective function Φ of job completion times is denoted as G//Φ. In this book, only regular criteria are considered, i.e., it is assumed that function Φ(C1, C2, . . . , Cn) is

non-decreasing where Ci is the completion time of job Ji.

Set of operations Q is partially ordered by precedence constraints →. Given two operations i ∈ Q and j ∈ Q, notation i → j means that operation i is a predecessor of operation j. In other words, if i → j, then inequality

ci+ pj ≤ cj (1.1)

(20)

Let Qk be a set of operations processed by machine Mk ∈ M, and {Qk : k =

1, 2, . . . , m} be a partition of set Q, i.e.

Q = m [ k=1 Qk, Qk6= ∅, and Qk \ Ql= ∅, if k 6= l, k = 1, 2, . . . , m, l = 1, 2, . . . , m.

We can say that the above partition defines capacity constraints. Since at any time each machine Mk ∈ M can process at most one operation (Condition 1) and operation

preemptions are not allowed (Condition 4), the two inclusions i ∈ Qk and j ∈ Qk imply

one of the following inequalities:

ci+ pj ≤ cj or cj + pi ≤ ci. (1.2)

For the case of a job shop problem J //Φ, along with the above partition, set of operations Q is also partitioned into n chains (linearly ordered sets)

Q = n [ i=1 QJi, QJi 6= ∅, and QJi\QJj = ∅, if i 6= j, i = 1, 2, . . . , n, j = 1, 2, . . . , n (1.3) where each chain includes set QJi of operations for processing job J

i, 1 ≤ i ≤ n. This

chain represents the technological route of job Ji. For a job shop all sets QJi are a priori

known.

For problem G//Φ, the processing time pi of each operation i ∈ Q is fixed before

scheduling, and therefore a schedule of operations Q on machines M may be defined by the completion times ci or by the starting times si = ci− pi of all the operations i ∈ Q.

If the operation processing times are not fixed before scheduling (see Condition 5 at page 6), it is not possible to define si and ci for all operations i ∈ Q. Therefore, in the

general case of problem G/ai≤ pi≤ bi/Φ, the goal is to determine a processing sequence of

the set of operations Qk on each machine Mk∈ M = {M1, M2, . . . , Mm}. Such a set of m

sequences satisfying both the given precedence constraints (1.1) and capacity constraints (1.2) may be considered as a schedule for problem G/ai≤ pi≤ bi/Φ. The general shop

problem is to find such a schedule, which minimizes the value of the given non-decreasing objective function Φ(C1, C2, . . . , Cn).

A mixed (or disjunctive) graph is often introduced to model a deterministic scheduling problem. We follow this approach and represent the structural input data for a general shop problem by means of a mixed graph G = (Q, A, E), where

• set Q of operations is the set of vertices;

• precedence constraints (1.1) are represented by the set of non-transitive (directed, conjunctive) arcs A: If operation i has to be processed before operation j starts, i. e., i → k holds and there is no other operation k that i → k and k → j, then arc (i, j) has to belong to set A:

A = {(i, j) : i → j, i ∈ Q, j ∈ Q,

(21)

• capacity constraints (1.2) are represented by the set E of (undirected) edges [i, j] connecting unordered operations i and j, which have to be processed by the same machine:

E = {[i, j] : i ∈ Qk, j ∈ Qk, k = 1, 2, . . . , m, i 6→ j, j 6→ i}.

For a deterministic problem G//Φ, the processing times pi of all operations i ∈ Q

are known before scheduling, and we can associate a non-negative weight pi with each

vertex i ∈ Q in the mixed graph G = (Q, A, E) constructed for problem G//Φ. As a result we obtain the weighted mixed graph G(p) = (Q(p), A, E), which represents both the structural and numerical input data for general shop scheduling problem G//Φ.

For solving problem G//Φ using mixed graph G, it is necessary to replace edge [i, j] ∈ E by an arc incident to the same vertices i and j. Indeed due to Condition 1, if edge [i, j] belongs to set E, then for pair of operations i and j there exist two possibilities: To complete operation i ∈ Qk before operation j ∈ Qk starts on their common machine

Mk ∈ M and to provide the first inequality from (1.2) (in this case edge [i, j] has to be

replaced by arc (i, j)), or to complete operation j before operation i starts and to provide the second inequality from (1.2) (in this case edge [i, j] has to be replaced by arc (j, i)).

In scheduling theory, for the same purposes as a mixed graph G = (Q, A, E), so-called disjunctive graph is often used. We denote

E∗ = [

[i,j]∈E

{(i, j), (j, i)}.

The term ‘disjunctive graph’ is associated with the choice of one of the above two possi-bilities for each pair of arcs {(i, j), (j, i)} ⊆ E∗ called disjunctive arcs. It means that for solving problem G//Φ using disjunctive graph (Q, A, E∗) one of these arcs must be added to a subset Es ⊂ E∗ of chosen arcs and the other one must be rejected from disjunctive

graph (Q, A, E∗):

(*) Arc (i, j) belongs to set Es if and only if (j, i) ∈ E∗\Es.

In terms of a mixed graph G = (Q, A, E), the above choice of arc (i, j) from set E∗ is equivalent to replacement edge [i, j] ∈ E by arc (i, j). If such a replacement (choice, respectively) is done for each edge [i, j] ∈ E (for each pair of disjunctive arcs {(i, j), (j, i)} ⊂ E∗), then we obtain the same set of arcs E

s. As a result, mixed graph

G = (Q, A, E) (disjunctive graph (Q, A, E∗)) is transformed to the same resulting digraph Gs= (Q, A ∪ Es, ∅).

Not each of such subsets Es may be feasible for constructing a schedule for problem

G//Φ since set of chosen arcs Es may cause a contradiction, i.e., arc set A ∪ Es may

implies that ‘some operations have to be started before they are completed’. Every time an arc (i, j) is chosen, all disjunctive arcs that are made redundant due to the transitive and antireflexive nature of the precedence relations, should be excluded. It is easy to convince that a feasible schedule s is defined by a subset Es ⊂ E∗ such that along with

the above condition (*) the following condition (**) is satisfied:

(22)

In what follows, we use mainly terminology based on mixed graph modeling. The adjective ‘feasible’ is usually omitted before ‘schedule’. Digraph Gs = (Q, A ∪ Es, ∅)

generated from mixed graph G = (Q, A, E) via orienting all the edges of set E is called feasible if and only if Gs contains no circuit. Let Λ(G) = {G1, G2, . . . , Gλ} be set of all

feasible digraphs Gs = (Q, A ∪ Es, ∅). In other words, digraphs Gs = (Q, A ∪ Es, ∅) is

generated from disjunctive graph G = (Q, A, E∗) and satisfies both conditions (*) and (**). We need the following definition.

Definition 1.1 A schedule is called semiactive if no operation i ∈ Q can start earlier without delaying the processing of some other operation from set Q and/or without altering the processing sequence of operations on any of the machines M .

For solving problem G//Φ, we can restrict ourselves by considering only set S of all the semiactive schedules since it is easy to prove the following claim.

Lemma 1.1 If objective function Φ(C1, C2, . . . , Cn) is non-decreasing one, then it is

suf-ficient to consider only semiactive schedules while solving problem G//Φ.

Proof. Let there exist schedule s which is optimal for problem G//Φ. If schedule s belongs to set S, it is done. Otherwise, we can construct semiactive schedule s0 ∈ S from schedule s by starting each operation as early as possible without delaying the processing of other operations from set Q and without altering the processing sequence of operations on any of the machines M . Since operation preemptions are forbidden, completion time of each operation i ∈ Q at schedule s0 is less or equal to that at schedule s. Since objective function Φ(C1, C2, . . . , Cn) is non-decreasing, optimality of schedule s implies optimality

of semiactive schedule s0.

3 Next, we show that there exists a one-to-one correspondence between all semiactive schedules S = {1, 2, . . . , λ} constructed for problem G//Φ and all circuit-free digraphs Λ(G) = {G1, G2, . . . , Gλ} generated from the mixed graph G by orienting all the edges

from set E. In other words, we prove the following claim.

Lemma 1.2 Each feasible digraph Gs = (Q, A ∪ Es, ∅), Gs ∈ Λ(G), uniquely defines a

semiactive schedule s ∈ S for problem G//Φ, and vice versa.

Proof. On the one hand, given a vector p = (p1, p2, . . . , pq) of the operation processing

times, a feasible digraph Gs = (Q, A ∪ Es, ∅), Gs ∈ Λ(G), defines the weighted digraph

Gs(p) = (Q(p), A ∪ Es, ∅) which uniquely defines the earliest completion time ci(s) of each

operation i ∈ Q. Consequently, weighted digraph Gs(p) defines the unique semiactive

schedule

s = (c1(s), c2(s), . . . , cq(s)).

On the other hand, each semiactive schedule s ∈ S defines m sequences of operations Qk on machines Mk, k = 1, 2, . . . , m. These m sequences define unique digraph Gs(p) ∈

Λ(G).

(23)

In what follows, we call digraph Gs and weighted digraph Gs(p) optimal if and only

if schedule s ∈ S is optimal. Due to Lemma 1.2, we can use a digraph Gs ∈ Λ(G) and

an optimal digraph Gs instead of a schedule s ∈ S and an optimal schedule s. Digraph

Gs∈ Λ(G) uniquely defines a set of m sequences for processing operations Qk by machine

Mk∈ M = {M1, M2, . . . , Mm}, and vice versa. Note that digraph Gs is more appropriate

in stability analysis and in solving problem G/ai≤ pi≤ bi/Φ since it is ‘more stable’ than

schedule s with respect to variations of operation durations. Note also that the starting and completion times of the operations Q, the value of the objective function and other characteristics of a semiactive schedule s, corresponding to an acyclic weighted digraph Gs(p), can be easily determined using longest path calculations.

Given a fixed vector p = (p1, p2, . . . , pq) of the operation processing times, in order

to construct an optimal schedule for problem G//Φ using mixed graph model, one may enumerate (explicitly or implicitly) feasible digraphs G1(p), G2(p), . . . , Gλ(p) generated by

orienting all edges of the mixed graph G and selecting an optimal digraph, i.e., a feasible digraph with minimal value of the objective function. Unfortunately, the number λ of such feasible digraphs (i.e., the number of semiactive schedules) grows exponentially in the edge number |E|, and an overall enumeration of feasible digraphs is practically impossible for large numbers of jobs and machines. For example, mixed graph G = (Q, A, E) constructed for test job shop problem J 10/n = 10/Cmax presented in Table 1 at page 4 has the

following parameters: |Q| = 100, |A| = 90 and |E| = 450. (Hereafter |Q| denotes the number of elements in the set Q.) Therefore, the whole number of digraphs (with and without circuits) generated by this mixed graph is equal to 2450. Of course, the cardinality

of set Λ(G) of circuit-free digraphs is less than 2|E|, but a procedure for testing whether a digraph is circuit-free or not takes also running time.

Nevertheless, for our computational experiments presented in Chapter 5, we use an explicit enumeration of feasible digraphs for rather small job shop problems in order to calculate the stability radii for all the optimal schedules.

Although problem G//Φ is unary NP-hard for any given regular criterion Φ con-sidered in scheduling theory, the running time of calculating an optimal schedule s = (c1(s), c2(s), . . . , cq(s)) may be restricted by an O(q2)-algorithm after having constructed

an optimal digraph Gs(p). Thus, the main difficulty of problem G//Φ (in terms of the

disjunctive graph approach) is to construct an optimal digraph Gs = (Q, A ∪ Es, ∅), i.e.,

to define the best set Es of arcs generated by orienting the edges of set E. Due to the

particular importance of set Es, it is called a signature of a schedule s. Each feasible

digraph Gs = (Q, A ∪ Es, ∅) is uniquely defined by its signature, i.e., by set of arcs Es

which replace set of edges E.

As it was noted in [BDP96], the disjunctive graph model “has mostly replaced the so-lution representation by Gantt charts as described in [Gan19]”. We can give the following comments to elaborate this kind of preference. First, while a Gantt chart is useful for the graphical presentation of a particular solution, the mixed graph model is suitable for the whole scheduling process from the initial mixed graph G(p) (representing the input data) until a final digraph Gs (representing a solution s ∈ S) has been found. Second, a Gantt

chart is a representation of one particular situation when there are no changes both in the a priori known processing times and in the calculated starting times. However, such a situation is ‘ideal’ (at least, it occurs rather seldom in real life). Thus, a Gantt chart seems to be more appropriate ‘after realization’ of the process (when all the processing

(24)

times, starting times and completion times are known) while ‘before realization’ a mixed graph G(p) and a digraph Gs seem to be more useful, since they are stable with respect

to possible changes of the above ‘times’. Third, while a Gantt chart is simply a picture in the plane, a digraph is a mathematical (i.e., abstract) object and can assume different graphical presentations. In particular, one can view a Gantt chart as a diagram of the weighted digraph Gs(p) in the plane.

Mixed Graph for a Job Shop Problem

Next, we show how a mixed graph model may be introduced in the case of a job shop problem, when job operation is presented as Oij.

To present the structural input data for job shop problem J //Φ, one can also use the following mixed graph (QJ, AJ, EJ), where

• QJ = {O ij : Ji ∈ J, j = 1, 2, . . . , ni}, • AJ = {(O ij, Oi,j+1) : Ji ∈ J, j = 1, 2, . . . , ni− 1}, • EJ = {[O ij, Ouv] : Oij ∈ Qk, Ouv ∈ Qk, Ji 6= Ju}.

The set of arcs AJ defines precedence constraints (i.e., technological routes) as follows.

Since each job Ji ∈ J may be processed by at most one machine from set M at a time

(Condition 2 at page 2) and technological route is fixed for each job (Condition 3 at page 2), operation Oij has to be completed before operation Oi,j+1 (1 ≤ j ≤ ni− 1) starts:

cij ≤ si,j+1. The route of job Ji ∈ J defines linearly ordered operations (a sequence)

(Oi1, Oi2, . . . , Oini). At the stage k ∈ {1, 2, . . . , ni} of the technological route of job Ji, operation Oik has to be processed by machine Mik ∈ M.

The set of edges EJ defines capacity constraints as follows. Set QJ

k is the set of

operations which has to be processed by machine Mk ∈ M . Since any machine Mk ∈ M

can process at most one operation at a time (Condition 1 at page 2) and operation preemptions are not allowed (Condition 4 at page 3), operation Oij ∈ QJk has to precede

operation Ouv∈ QJk or vice versa: cij ≤ suv or cuv ≤ sij.

Since a job shop is a special case of a general shop, one can also use the notations of a general shop for the job shop as well, assuming that the first job J1 consists of

the set of operations {1, 2, . . . , n1} = QJ1, the second job J2 of the operations {n1 +

1, n1 + 2, . . . , n1 + n2} = QJ2, and so on, the last job Jn of the operations {Pn−1j=1nj +

1,Pn−1

j=1 nj + 2, . . . ,Pnj=1nj = q} = QJn. It is often more convenient to use the following

notation for the above operation enumeration. Let w(i) = Pi−1

k=0nk and n0 = 0. Then

job J1 consists of the ordered operations (w(1) + 1, w(1) + 2, . . . , w(1) + n1), job J2 of the

ordered operations (w(2) + 1, w(2) + 2, . . . , w(2) + n2), and so on, job Jn of the ordered

operations (w(n) + 1, w(n) + 2, . . . , w(n) + nn).

Due to this enumeration of operation for problem J //Φ one can use the mixed graph G = (Q, A, E) with Q = n [ i=1 QJi

for modeling a job shop similarly as for a general shop. We consider a small example to demonstrate the above notations.

(25)

Example 1.1 Figure 1.1 shows an example of a weighted mixed graph (QJ, AJ, EJ) con-structed for a job shop problem J 4/n = 3/Φ with three jobs J = {J1, J2, J3} and four

machines M = {M1, M2, M3, M4}. For the example of a job shop, one can use Oij as

operation notation. Operation processing times are presented near corresponding vertices in Figure 1.1.

For this example of problem J 4/n = 3/Φ, set of operations Q is {O1,1, O1,2, . . . , O3,3},

job J1 consists of the ordered set of operations {O1,1, O1,2, O1,3}, job J2 of operations

{O2,1, O2,2}, job J3 of operations {O3,1, O3,2, O3,3}. Machine M1 has to process operations

O1,1 and O3,3, machine M2 operations O1,2 and O3,2, machine M3 operations O1,3 and

O2,2, and machine M4 operations O2,1 and O3,1.

                - -- -O1,1 O1,2 O1,3 O2,1 O2,2 O3,1 O3,2 O3,3 J1 J2 J3 p1,1 = 77 p1,2 = 69 p1,3 = 35 p2,1 = 28 p2,2 = 93 p3,1 = 16 p3,2 = 10 p3,3 = 86

Figure 1.1: Mixed graph (QJ, AJ, EJ) and processing times for the problem J 4/n = 3/Φ

The objective in problem J 4/n = 3/Φ is to sequence optimally the four sets of opera-tions Q1 = {O1,1, O3,3}, Q2 = {O1,2, O3,2}, Q3 = {O1,3, O2,2} and Q4 = {O2,1, O3,1}.

Since a job shop is a special case of a general shop, one can use general shop notation for this example as well. Thus, set of operations QJ may be denoted as Q = {1, 2, . . . , 8}

using notations for a general shop. Set {1, 2, 3} denotes set of operations QJ1 for process-ing job J1, {4, 5} = QJ2 and {6, 7, 8} = QJ3.

There are 24 = 16 possible digraphs which can be generated from the mixed graph

G = (Q, A, E) constructed for this example J 4/n = 3/Φ, and 12 of them are feasible since they have no circuits. The maximal weight of a path in the weighted digraph Gs(p)

(called critical weight) defines the makespan Cmax = max{cni(s) : Ji ∈ J} of schedule s ∈ S. The path in Gs(p) with a critical weight is called a critical path.

It is easy to see that there are two optimal digraphs for makespan criterion Cmax with

the following length of a critical path (length of an optimal schedule): Cmax = 181. Thus,

this example of problem J 4/n = 3/Φ has two optimal semiactive schedules for makespan criterion Φ = Cmax.

For the mean flow time criterion, this example of problem J 4/n = 3/PC

i has one

optimal digraph with the optimal valuePC

i =PJi∈J cni(s) = 465 of the objective function Φ =PC

i.

The digraph G1 ∈ Λ(G) = {G1, G2, . . . , G12}, represented in Figure 1.2, is optimal

(26)

E2 = {(1, 8), (5, 3), (6, 4), (7, 2)} is optimal for criterion Cmax, but it is not optimal for criterion PC i.                 s  ? - -- -1 2 3 4 5 6 7 8 c1 = 77 c2 = 146 c3 = 181 c4 = 28 c5 = 121 c6 = 44 c7 = 54 c8 = 163

Figure 1.2: Digraph G1= (Q, A ∪ E1, ∅) which is optimal for both criteria Cmax and PCi

1.2

Regular Criterion

If operation durations, which are given before applying a scheduling procedure, may vary in the realization of a schedule, it is not enough to construct only an optimal digraph Gs∈ Λ(G) for solving problem G//Φ. It is also important to analyze the question of how

much the durations of the operations may vary so that the digraph Gs remains optimal.

In the following sections of this chapter, we present some results for the stability ball of an optimal digraph Gs(p), i.e., a closed ball in the space of the numerical input data such

that within this ball a schedule s remains optimal. Section ?? contains a formal definition of the stability radius, which is the maximal value of the radius of such a stability ball. Example 1.1 is used to demonstrate the notations and results.

In the rest of this chapter the main question is as follows. How can one vary the processing times pi, i ∈ Q, simultaneously, such that a given schedule s ∈ S, which is

optimal for problem G//Φ with processing times pi, i ∈ Q, remains optimal for the new

processing times, and how can one calculate the largest quantity of such simultaneous and independent variations of the processing times?

Note that any variation pi ± ,  > 0, of a processing time pi in the problem G//Φ

implies change of at least one completion time ci(s) of operation i ∈ Q in any feasible

semiactive schedule s = (c1(s), . . . , ci(s), . . . , cq(s)) ∈ S and, as a result, schedule s has to

be transformed to another schedule: (. . . , ci(s) + , . . .) or (. . . , ci(s) − , . . .) in order to

be feasible. However, the optimal digraph Gs(p) = (Q(p), A ∪ Es, ∅) for the new problem

G//Φ obtained due to such a variation of the processing time pi may remain the same if

 is sufficiently small. A signature Es of an optimal schedule s is essentially more stable.

It should be noted that it is often more important to keep in mind not the calendar times when the operations have to be started and have to be completed, but only m optimal sequences in which the operations Qk, k = 1, 2, . . . , m, have to be processed on machine

(27)

This chapter is devoted to the stability of an optimal digraph Gs(p) which represents

an optimal solution to problem G//Φ. The above question may be concretized as follows. Under which largest simultaneous and independent changes in the components of the vector p = (p1, p2, . . . , pq) of operation processing times, digraph Gs(p) remains optimal?

Next, we introduce these notions in a formal way.

Let Rqbe the space of all q-dimensional real vectors p with the maximum (Chebyshev)

metric: The distance d(p, p0) between the vectors p ∈ Rq and p0 = (p10, p02, . . . , p0q) ∈ Rq is defined as follows:

d(p, p0) = max

i∈Q |pi− p 0

i|, (1.4)

where |pi− p0i| denotes the absolute value of the difference pi− p0i.

Let Rq+ be the space of all q-dimensional non-negative real vectors: Rq+ = {x = (x1, x2, . . . , xq) : xi ≥ 0, i ∈ Q}.

Let schedule s ∈ S be optimal for the problem G//Φ with the non-negative real vector p ∈ Rq+⊂ Rq of the processing times.

Definition 1.2 The closed ball O%(p) with radius % ∈ R1+ and center p ∈ R q

+ in the space

of q-dimensional real vectors Rq is called a stability ball of schedule s ∈ S (of digraph Gs∈ Λ(G)) if for any vector p0 ∈ O%(p) ∩ Rq+ of the processing times schedule s (digraph

Gs(p0)) remains optimal. The maximum value %s(p) of radius % of a stability ball O%(p)

of schedule s (of digraph Gs) is called the stability radius of schedule s (of digraph Gs):

%s(p) = max{% ∈ R1+ : If p 0 ∈ O

%(p) ∩ Rq+, digraph Gs is optimal}.

We denote the stability radius by %s(p) for an arbitrarily given regular criterion. For

criterion Cmax, the stability radius is denoted by%bs(p), and for criterion

PC

i by %s(p). In

what follows, we use whenever appropriate the notion “stability radius of optimal digraph Gs∈ Λ(G)” instead of “stability radius of optimal schedule s ∈ S”.

Due to the maximum metric, the set O%(p) ∩ R q

+ is a polytope for any positive % ∈ R1+.

Definition 1.2 implies a general approach for calculating %s(p), which is discussed in

the second part of this section for any regular criterion Φ, and which is concretized for Φ = Cmax and for Φ =PCi in Section 1.3 and in Section 1.4, respectively. Formulas for

calculating the stability radius for the makespan criterion and the characterization of the extreme values of%bs(p) are proven in Section 1.3. The same questions for the mean flow

time criterion are considered in Section 1.4.

Next, calculation of the stability radius %s(p) is reduced to solving a non-linear

pro-gramming problem. We give this reduction for the general shop problem G//Φ provided that set of all operations Q = {1, 2, . . . , q} is partitioned into n linearly ordered subsets of operations QJi defining the technological routes of jobs J

i ∈ J = {J1, J2, . . . , Jn} (see

(1.3)). It should be noted that partition (1.3) does not course any restriction on the generality of problem G//Φ, since one can assume that |QJi| = 1 for any job J

i ∈ J, i.e.,

each job may consist of only one operation, and as a result any precedence constraints may be given on the set of operations Q.

We denote by {µ} the set of vertices which form a path µ in the digraph Gk and by

lp(µ) the weight of this path:

lp(µ) = X

i∈[µ]

(28)

Let operation ji ∈ QJi ⊆ Q be the last operation of job Ji, 1 ≤ i ≤ n, in the technological

route, and ˜Hi

k denote the set of all paths in the digraph Gk = (Q, A ∪ Ek, ∅) ∈ Λ(G)

ending in vertex ji ∈ QJi ⊆ Q. Obviously, the completion time Ci(k) = cji(k) of job Ji at the schedule k ∈ S is equal to value maxµ∈ ˜Hi

kl

p(µ) of the largest weight of a path in the

set ˜Hi

k. While calculating cji(k), Ji ∈ J, it is sufficient to consider only a subset of set ˜H

i k

due to the following dominance relation defined on the set of paths.

Definition 1.3 The path µ ∈ ˜Hi

s is called dominant if there is no path ν ∈ ˜Hsi such that

{µ} is a proper subset of set {ν}: {µ} ⊂ {ν}. Otherwise, if set {µ} is a proper subset of set {ν}, path µ is dominated by path ν.

The dominance relation given in Definition 1.3 is a strict order binary relation since transitivity and antireflexivity hold. Let Hi

k denote the set of all dominant paths in set

˜

Hki. Since pi ≥ 0 for all i ∈ Q, we obtain

Ci(k) = cji(k) = max

µ∈Hi k

lp(µ).

Thus, the value of the objective function Φ(C1, C2, . . . , Cn) for the schedule s =

(c1(s), c2(s), . . . , cq(s)) ∈ S may be calculated as follows:

Φ(max µ∈H1 s lp(µ), max µ∈H2 s lp(µ), . . . , max µ∈Hn s lp(µ)).

Therefore, a schedule s = (c1(s), c2(s), . . . , cq(s)) ∈ S is optimal for problem G//Φ

with regular criterion Φ if and only if

Φ(max µ∈H1 s lp(µ), max µ∈H2 s lp(µ), . . . , max µ∈Hn s lp(µ)) = min k=1,2,...,λΦ(maxν∈H1 k lp(ν), max ν∈H2 k lp(ν), . . . , max ν∈Hn k lp(ν)) (1.5) For brevity, we denote

Φps = Φ(max µ∈H1 s lp(µ), max µ∈H2 s lp(µ), . . . , max µ∈Hn s lp(µ)).

Let SΦ(p) ⊆ S denote the set of all optimal semiactive schedules for problem G//Φ with vector p = (p1, p2, . . . , pq) ∈ Rq+ of the operation processing times and let inclusion

s ∈ SΦ(p) hold. From Definition 1.2 it follows that

%s(p) = inf{d(p, x) : x ∈ Rq+, s /∈ SΦ(x)}. (1.6)

From (4.17) and (1.6) it follows that, in order to calculate %s(p), it is sufficient to

calculate the optimal value of the objective function f (x1, x2, . . . , xq) of the following

non-linear programming problem:

Minimize f (x1, x2, . . . , xq) = max

i=1,2,...,q|xi− pi| (1.7)

subject to

(29)

xi ≥ 0, i = 1, 2, . . . , q. (1.9)

If condition (1.8) is not satisfied for any vector x ∈ Rq+, then digraph Gs(p) is optimal for

all vectors x ∈ Rq+ of the processing times: s ∈ SΦ(x), x ∈ Rq, and we obtain

(

Φx

s ≤ min{Φxk : k = 1, 2, . . . , λ; k 6= s},

xi ≥ 0, i = 1, 2, . . . , q.

In this case, we say that the stability radius is infinitely large. To indicate that stability radius is infinitely large we write:

%s(p) = ∞.

In all other cases, there exists an optimal value f∗ of the objective function of problem (1.7)-(1.9):

f∗ = inf max

i=1,2,...,q|xi− pi|,

where the infimum is taken over all vectors x satisfying conditions (1.8) and (1.9). To find the value f∗, it is sufficient to calculate solution x0 = (x0

1, x02, . . . , x0q) of the following

problem (1.10)-(1.12) which is obtained from problem (1.7)-(1.9) due to replacement the sign > in inequality (1.8) by the sign ≥:

Minimize f (x1, x2, . . . , xq) = max i=1,2,...,q|xi− pi| (1.10) subject to Φxs ≥ min{Φx k : k = 1, 2, . . . , λ; k 6= s}, (1.11) xi ≥ 0, i = 1, 2, . . . , q. (1.12)

It is clear that the following equalities hold

f∗ = max

i=1,2,...,q|x 0

i − pi| = d(x0, p) = %s(p)

and for any small  > 0, there exists a vector x = (x1, x2, . . . , xq) ∈ Rq+ such that

d(x, p) = %

s(p) +  and s 6∈ SΦ(x).

It may occur that vector p is itself a solution to the non-linear programming problem (1.10)-(1.12). In the latter case, equalities

%s(p) = d(p, p) = 0

hold and it means that the optimal digraph Gs(p) is unstable: For any small real  > 0,

there exists a vector p0 ∈ Rq+ such that s 6∈ SΦ(p0) and d(p, p0) = .

If vector p is not a solution to the problem (1.10)-(1.12), we have %s(p) > 0 and the

optimal digraph Gs(p) is stable.

1.3

Maximum Flow Time (Makespan)

The best studied case of a general shop problem G//Φ (and that of job shop and flow shop problems) is the one with Φ = Cmax, where the objective is to find an optimal schedule

(30)

a minimum value of the maximum flow time max{ci(s) : i ∈ Q} among all semiactive

schedules S. In this section, the stability radius of a solution to problem G//Φ with Φ = Cmax is considered.

Let ˜Hk ( ˜H, respectively) be the set of all paths in digraph Gk(p) ∈ Λ(G) (in digraph

(Q, A, ∅)) constructed for the general shop problem G//Cmax. Let H and Hk denote the

set of all dominant paths in digraph (Q, A, ∅) and that in digraph Gk ∈ Λ(G), respectively

(see Definition 1.3). Thus, we can write

Hk = {ν ∈ ˜Hk : Inclusion {ν} ⊂ {µ} does not hold for any path µ ∈ ˜Hk}.

The set H ⊆ ˜H is defined similarly. The value of maxni=1Ci of a schedule s is given by the

weight of the maximum-weight path (called critical path) in the weighted digraph Gs(p).

Obviously, at least one critical path in Gs(p) is dominant and for any path µ ∈ H, there

exists a path ν ∈ Hs that dominates path µ or inclusion µ ∈ Hs holds. Thus, equality

(4.17) for problem G//Cmax is converted to the following one:

max

µ∈Hs

lp(µ) = min

k=1,2,...,λ maxν∈Hk

lp(ν). (1.13)

Therefore, a schedule s = (c1(s), c2(s), . . . , cq(s)) ∈ S is optimal for problem G//Cmax

with makespan criterion if and only if equality (1.13) holds.

Zero Stability Radius

Let Hk(p) denote the set of all critical dominant paths in the weighted digraph

Gk(p), Gk ∈ Λ(G). Obviously, we have Hk(p) ⊆ Hk. To prove the necessary and

suf-ficient conditions for equality %bs(p) = 0 we need the following auxiliary claim.

Lemma 1.3 There exists a real  > 0 such that the set Hk\Hk(p) contains no critical path

of digraph Gk∈ P (G) for any vector of processing times p = (p1, p2, . . . , pq) ∈ O(p)∩Rq+,

i.e.

Hk(p) ⊆ Hk(p).

Proof. We calculate the positive real number

k = min ν∈Hk\Hk(p)

lkp− lp(ν)

2q . (1.14)

Hereafter lkp denotes critical weight of digraph Gk ∈ P (G) which defines the value of the

objective function Cmax for schedule k with the vector p of the processing times:

lkp = max

µ∈Hk

lp(µ) (1.15)

For any real , which satisfies the inequalities 0 <  < k, the difference in the right side

of equality (1.14) remains positive when vector p is replaced by any vector p ∈ O(p)∩Rq+.

Indeed, the number of vertices in any path ν in digraph Gk is at most equal to q and,

therefore, the difference lkp− lp(ν) may not be ’overcome’ by a vector p if d(p, p) <  k.

(31)

Theorem 1.1 For an optimal schedule s ∈ SΦ(p), Φ = Cmax, of the problem G//Cmax,

equality%bs(p) = 0 holds if and only if there exists another optimal schedule k ∈ S

Φ(p), k 6=

s, and there exists a path µ∗ ∈ Hs(p) such that there does not exist a path ν∗ ∈ Hk(p) with

{µ∗} ⊆ {ν}.

Proof. Sufficiency. We have to show that if the conditions of the theorem are satisfied, then we have %bs(p) <  for any given  > 0.

To this end, we construct a vector p∗ = (p∗1, p∗2, . . . , p∗q) with the components p∗i =

(

pi+ ∗, if i ∈ {µ∗}

pi otherwise,

where ∗ = min{k, s, } with s and k defined as in (1.14). If maxν∈Hkl

p∗(ν) =

lp∗0), then due to Lemma 1.3 and the inequalities p

i ≥ pi, i ∈ Q, we obtain lp∗(ν0) = max ν∈Hk(p) lp∗(ν) = lp(ν∗) + ∗|{µ∗} ∩ {ν∗}| = lp∗ ) + ∗|{µ∗} ∩ {ν∗}|. (1.16)

Since {µ∗} ⊆ {ν∗} does not hold for any ν∈ H

k(p), the inequality

|{µ∗} ∩ {ν∗}| < |{µ∗}| holds and we can continue (1.16) in the following way:

lp(µ∗) + ∗|{µ∗} ∩ {ν∗}| < lp

) + ∗|{µ∗}| = lp∗

) = max

µ∈Hs

lp∗(µ). Thus, we obtain lpk∗ < lsp∗ and s /∈ SΦ(p), which imply

b

%s(p) <  because of d(p, p∗) =

∗ ≤ .

Necessity. We prove necessity by contradiction. Suppose that %bs(p) = 0 but the

conditions of the theorem are not satisfied. We consider two cases i) and ii) of violating these conditions.

i) Assume that there does not exist another optimal makespan schedule: SΦ(p) = {s}.

Then we calculate the real number

0 = 1

2qmin{l

p

t − lps : t = 1, 2, . . . , λ; t 6= s}.

Since s is the only optimal makespan schedule, we have 0 > 0. For any positive real

 < 0, the difference lp

t − lps remains strictly positive when vector p is replaced by an

arbitrary vector p0 ∈ O(p) ∩ R+q. So we can conclude that digraph Gs remains optimal

for any such vector p0 of the processing times. Therefore, we have

b

%s(p) ≥  > 0 which

contradicts the assumption%bs(p) = 0.

ii) Assume that |SΦ(p)| > 1 and for any schedule k ∈ SΦ(p), k 6= s, and for any path µ∗ ∈ Hs(p), there exists a path νk∗ ∈ Hk(p) such that {µ∗} ⊆ {νk∗}. In this case we can

take any  that satisfies the inequalities

0 <  < minn min k∈φmax(p)k, 1 2qmin{l p t − lps : t = 1, 2, . . . , λ; t 6∈ S Φ (p)}o.

數據

Table 1: Job routes and operation durations for test problem J 10/n = 10/C max
Table 2: Optimal schedule for test problem J 10/n = 10/C max
Figure 1.2: Digraph G 1 = (Q, A ∪ E 1 , ∅) which is optimal for both criteria C max and P C i
Figure 1.3: Mixed graph G = (Q, A, E) for Example 1.2
+7

參考文獻

相關文件

In this paper we establish, by using the obtained second-order calculations and the recent results of [23], complete characterizations of full and tilt stability for locally

In this paper we establish, by using the obtained second-order calculations and the recent results of [25], complete characterizations of full and tilt stability for locally

The case where all the ρ s are equal to identity shows that this is not true in general (in this case the irreducible representations are lines, and we have an infinity of ways

In this work, for a locally optimal solution to the NLSDP (2), we prove that under Robinson’s constraint qualification, the nonsingularity of Clarke’s Jacobian of the FB system

Miroslav Fiedler, Praha, Algebraic connectivity of graphs, Czechoslovak Mathematical Journal 23 (98) 1973,

專案執 行團隊

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in

• For some non-strongly convex functions, we provide rate analysis of linear convergence for feasible descent methods. • The key idea is to prove an error bound between any point